@eventcatalog/core 5.0.0-beta.8 → 5.0.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/LICENSE +234 -134
- package/README.md +5 -5
- package/dist/analytics/analytics.cjs +18 -3
- package/dist/analytics/analytics.d.cts +1 -1
- package/dist/analytics/analytics.d.ts +1 -1
- package/dist/analytics/analytics.js +3 -2
- package/dist/analytics/log-build.cjs +157 -76
- package/dist/analytics/log-build.d.cts +2 -2
- package/dist/analytics/log-build.d.ts +2 -2
- package/dist/analytics/log-build.js +7 -5
- package/dist/analytics/studio-usage.cjs +90 -0
- package/dist/analytics/studio-usage.d.cts +5 -0
- package/dist/analytics/studio-usage.d.ts +5 -0
- package/dist/analytics/studio-usage.js +10 -0
- package/dist/analytics/telemetry.cjs +42 -0
- package/dist/analytics/telemetry.d.cts +20 -0
- package/dist/analytics/telemetry.d.ts +20 -0
- package/dist/analytics/telemetry.js +8 -0
- package/dist/catalog-runtime.cjs +1 -1
- package/dist/{chunk-RFIXKATC.js → chunk-4G7FSRPN.js} +35 -42
- package/dist/{chunk-AWOO63ME.js → chunk-AD7CL772.js} +11 -4
- package/dist/chunk-CA6WCQ2T.js +54 -0
- package/dist/chunk-CPW6G62V.js +17 -0
- package/dist/{chunk-PU25TOOJ.js → chunk-JZN4RSMF.js} +1 -1
- package/dist/{chunk-4W55ZOOS.js → chunk-NEAVAFSJ.js} +66 -35
- package/dist/{chunk-C6T2AAFR.js → chunk-NIVST4WY.js} +9 -3
- package/dist/{chunk-ENAG6UH7.js → chunk-NKNOXQ62.js} +1 -6
- package/dist/{chunk-AYNZXUB5.js → chunk-OX6TSVHY.js} +5 -5
- package/dist/{chunk-36RYTYT5.js → chunk-PD7KTSYN.js} +1 -1
- package/dist/{chunk-RDIZJ7UT.js → chunk-RE7UTPWH.js} +1 -1
- package/dist/chunk-S5GWAUG5.js +29 -0
- package/dist/{chunk-T4G3VVZ4.js → chunk-YQGRMDRB.js} +4 -2
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/docs/api/02-config.md +57 -7
- package/dist/docs/development/00-why-eventcatalog.md +11 -11
- package/dist/docs/development/01-fundamentals.md +20 -13
- package/dist/docs/development/01-getting-started/configuration-overview.md +2 -2
- package/dist/docs/development/01-getting-started/installation.md +9 -1
- package/dist/docs/development/_getting-started.mdx +1 -1
- package/dist/docs/development/ask-your-architecture/01-intro.md +5 -5
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/01-what-is-eventcatalog-assistant.md +0 -4
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/02-configuration.md +15 -3
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/03-bring-your-own-tools.md +0 -3
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/_category_.json +1 -1
- package/dist/docs/development/ask-your-architecture/02-llms.txt.md +1 -1
- package/dist/docs/development/ask-your-architecture/{05-skills/01-introduction.md → 03-install-skills.md} +57 -7
- package/dist/docs/development/ask-your-architecture/03-mcp-server/_category_.json +1 -1
- package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +86 -33
- package/dist/docs/development/ask-your-architecture/03-mcp-server/introduction.md +14 -4
- package/dist/docs/development/ask-your-architecture/03-schemas.txt.md +1 -1
- package/dist/docs/development/ask-your-architecture/04-agents/_category_.json +1 -1
- package/dist/docs/development/authentication/01-introduction.md +2 -23
- package/dist/docs/development/authentication/02-enabling-authentication.md +0 -20
- package/dist/docs/development/authentication/07-rbac-middleware.md +0 -2
- package/dist/docs/development/authentication/providers/03-setting-up-github.md +0 -2
- package/dist/docs/development/authentication/providers/03a-setting-up-google.md +0 -2
- package/dist/docs/development/authentication/providers/04-setting-up-azure-ad.md +0 -2
- package/dist/docs/development/authentication/providers/05-setting-up-okta.md +0 -3
- package/dist/docs/development/authentication/providers/06-setting-up-auth0.md +0 -2
- package/dist/docs/development/bring-your-own-documentation/01-introduction.md +0 -4
- package/dist/docs/development/bring-your-own-documentation/custom-pages/01-introduction.md +0 -3
- package/dist/docs/development/bring-your-own-documentation/custom-pages/02-adding-custom-docs.md +0 -17
- package/dist/docs/development/bring-your-own-documentation/custom-pages/03-components.md +0 -4
- package/dist/docs/development/bring-your-own-documentation/custom-pages/04-owners.md +0 -2
- package/dist/docs/development/bring-your-own-documentation/resource-docs/01-introduction.md +1 -3
- package/dist/docs/development/bring-your-own-documentation/resource-docs/02-adding-resource-docs.md +1 -4
- package/dist/docs/development/bring-your-own-documentation/resource-docs/03-categories.md +0 -2
- package/dist/docs/development/bring-your-own-documentation/resource-docs/04-versioning.md +1 -3
- package/dist/docs/development/components/components/11-flow.md +17 -0
- package/dist/docs/development/components/components/15-nodegraph.md +43 -10
- package/dist/docs/development/components/components/18-remote-schema.md +1 -4
- package/dist/docs/development/components/custom-components/07-reference.md +14 -0
- package/dist/docs/development/customization/02-themes.md +0 -5
- package/dist/docs/development/customization/03-search.md +1 -1
- package/dist/docs/development/customization/05-custom-pages-and-api-routes/01-introduction.md +0 -2
- package/dist/docs/development/customization/05-custom-pages-and-api-routes/04-reference.md +7 -1
- package/dist/docs/development/customization/05-resource-sidebar.md +1 -1
- package/dist/docs/development/customization/09-embed-eventcatalog.md +20 -25
- package/dist/docs/development/deployment/hosting-options.md +7 -2
- package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/05-fix-common-problems.md +16 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/reference/03-rules.md +31 -1
- package/dist/docs/development/developer-tools/eventcatalog-linter/reference/05-supported-resources.md +1 -1
- package/dist/docs/development/governance/architecture-change-detection/01-introduction.md +0 -10
- package/dist/docs/development/governance/architecture-change-detection/06-pipeline-gates.md +0 -4
- package/dist/docs/development/guides/97-architecture-graph.md +1 -1
- package/dist/docs/development/guides/99-adding-analytics.md +0 -7
- package/dist/docs/development/guides/domains/03-model-subdomains.md +2 -2
- package/dist/docs/development/guides/domains/04-add-resources-to-domains/01-add-systems-to-domains.md +3 -1
- package/dist/docs/development/guides/domains/04-add-resources-to-domains/02-add-services-to-domains.md +5 -1
- package/dist/docs/development/guides/domains/04-add-resources-to-domains/03-add-messages-to-domains.md +2 -2
- package/dist/docs/development/guides/domains/04-add-resources-to-domains/05-add-entities-to-domains.md +1 -1
- package/dist/docs/development/guides/domains/04-add-resources-to-domains/06-domain-resources-page.md +40 -0
- package/dist/docs/development/guides/domains/06-visualize-domains/01-domain-diagram.md +89 -0
- package/dist/docs/development/guides/domains/06-visualize-domains/_category_.json +1 -2
- package/dist/docs/development/guides/domains/09-reference.md +4 -4
- package/dist/docs/development/guides/owners/automated-teams-and-users/create-your-own-connector.md +0 -2
- package/dist/docs/development/guides/owners/automated-teams-and-users/sync-from-github.md +0 -3
- package/dist/docs/development/guides/owners/automated-teams-and-users/sync-from-microsoft-entra.md +0 -2
- package/dist/docs/development/guides/resources/adrs/03-linking-resources.md +8 -0
- package/dist/docs/development/guides/resources/adrs/06-reference.md +4 -4
- package/dist/docs/development/guides/resources/agents/11-reference.md +1 -1
- package/dist/docs/development/guides/resources/data/04-reference.md +1 -1
- package/dist/docs/development/guides/resources/data-products/07-reference.md +1 -1
- package/dist/docs/development/guides/resources/entities/05-entity-maps.md +1 -1
- package/dist/docs/development/guides/resources/entities/06-reference.md +2 -2
- package/dist/docs/development/guides/resources/flows/01-introduction.md +11 -1
- package/dist/docs/development/guides/resources/flows/03-model-flow-steps.md +65 -6
- package/dist/docs/development/guides/resources/flows/05-explore-flows.md +112 -0
- package/dist/docs/development/guides/resources/flows/06-reference.md +25 -4
- package/dist/docs/development/guides/resources/messages/01-what-are-messages.md +19 -0
- package/dist/docs/development/guides/resources/messages/04-message-channels/01-introduction.md +16 -0
- package/dist/docs/development/guides/resources/messages/04-message-channels/05-reference.md +2 -1
- package/dist/docs/development/guides/resources/messages/10-reference.md +6 -3
- package/dist/docs/development/guides/resources/schemas/04-explore-schemas/01-schema-explorer.md +2 -2
- package/dist/docs/development/guides/resources/schemas/04-explore-schemas/02-fields-explorer.md +0 -9
- package/dist/docs/development/guides/resources/schemas/05-schema-api.md +0 -3
- package/dist/docs/development/guides/resources/schemas/06-schema-mcp.md +11 -3
- package/dist/docs/development/guides/resources/services/04-add-resources-to-services/03-add-entities-to-services.md +1 -1
- package/dist/docs/development/guides/resources/services/05-resources-page.md +50 -0
- package/dist/docs/development/guides/resources/services/08-reference.md +2 -1
- package/dist/docs/development/guides/systems/01-introduction.md +1 -1
- package/dist/docs/development/guides/systems/02-create-system.md +2 -2
- package/dist/docs/development/guides/systems/03-add-resources-to-systems.md +35 -9
- package/dist/docs/development/guides/systems/04-model-relationships-and-actors.md +5 -3
- package/dist/docs/development/guides/systems/05-system-context-maps.md +39 -22
- package/dist/docs/development/guides/systems/06-reference.md +4 -4
- package/dist/docs/development/license/01-license-file.md +151 -0
- package/dist/docs/development/license/_category_.json +12 -0
- package/dist/docs/development/license-keys/_category_.json +3 -3
- package/dist/docs/development/license-keys/integrations.md +7 -37
- package/dist/docs/development/license-keys/license-validation.md +4 -0
- package/dist/docs/development/license-keys/overview.md +5 -1
- package/dist/docs/development/license-keys/plans.md +4 -2
- package/dist/docs/development/studio/01-introduction.md +60 -0
- package/dist/docs/development/studio/02-create-a-canvas.md +103 -0
- package/dist/docs/development/studio/03-set-up-persistent-storage.md +59 -0
- package/dist/docs/development/studio/04-collaborate-on-a-canvas.md +78 -0
- package/dist/docs/development/studio/05-connect-your-agent.md +102 -0
- package/dist/docs/development/studio/06-run-studio-in-production.md +54 -0
- package/dist/docs/development/studio/07-reference.md +294 -0
- package/dist/docs/development/studio/_category_.json +12 -0
- package/dist/docs/development/upgrading/v5.md +345 -0
- package/dist/docs/federation/00-overview.md +2 -8
- package/dist/docs/federation/01-first-federation.md +6 -18
- package/dist/docs/federation/explanation/how-it-works.md +0 -4
- package/dist/docs/federation/explanation/lockfile-and-cache.md +0 -4
- package/dist/docs/federation/explanation/mvp-status-and-feedback.md +0 -4
- package/dist/docs/federation/explanation/ownership-and-references.md +0 -4
- package/dist/docs/federation/how-to/configure-github-sources.md +6 -5
- package/dist/docs/federation/how-to/configure-validation-rules.md +0 -4
- package/dist/docs/federation/how-to/run-in-ci.md +2 -9
- package/dist/docs/federation/how-to/share-assets-and-components.md +0 -4
- package/dist/docs/federation/how-to/use-local-sources.md +0 -4
- package/dist/docs/federation/legacy-federation/00-introduction.md +4 -22
- package/dist/docs/federation/legacy-federation/01-installation.md +7 -58
- package/dist/docs/federation/legacy-federation/02-plugin-configuration.md +3 -21
- package/dist/docs/federation/legacy-federation/03-examples.md +3 -5
- package/dist/docs/federation/legacy-federation/04-configuration.md +3 -8
- package/dist/docs/federation/legacy-federation/05-setup-team-catalog.md +3 -6
- package/dist/docs/federation/reference/cli.md +2 -8
- package/dist/docs/federation/reference/configuration.md +0 -4
- package/dist/docs/federation/reference/diagnostic-rules.md +0 -5
- package/dist/docs/federation/reference/generated-output.md +0 -4
- package/dist/docs/federation/reference/supported-content.md +0 -4
- package/dist/docs/federation/reference/troubleshooting.md +0 -14
- package/dist/docs/plugins/02-generators.md +1 -1
- package/dist/docs/plugins/amazon-apigateway/00-intro.md +3 -28
- package/dist/docs/plugins/amazon-apigateway/01-installation.md +4 -56
- package/dist/docs/plugins/amazon-apigateway/02-plugin-configuration.md +1 -6
- package/dist/docs/plugins/apicurio/00-intro.md +2 -31
- package/dist/docs/plugins/apicurio/01-installation.md +2 -26
- package/dist/docs/plugins/apicurio/02-plugin-configuration.md +5 -13
- package/dist/docs/plugins/apicurio/03-features.md +1 -3
- package/dist/docs/plugins/asyncapi/00-intro.md +2 -28
- package/dist/docs/plugins/asyncapi/01-installation.md +3 -54
- package/dist/docs/plugins/asyncapi/02-plugin-configuration.md +2 -1
- package/dist/docs/plugins/aws-glue-registry/00-intro.md +4 -32
- package/dist/docs/plugins/aws-glue-registry/00a-installation.md +3 -53
- package/dist/docs/plugins/azure-schema-registry/00-intro.md +4 -32
- package/dist/docs/plugins/azure-schema-registry/01-installation.md +6 -33
- package/dist/docs/plugins/azure-schema-registry/02-plugin-configuration.md +1 -14
- package/dist/docs/plugins/azure-schema-registry/04-examples.md +0 -2
- package/dist/docs/plugins/backstage/00-overview.md +1 -7
- package/dist/docs/plugins/backstage/01-get-started.md +6 -15
- package/dist/docs/plugins/backstage/06-configuration.md +2 -8
- package/dist/docs/plugins/confluent-schema-registry/00-intro.md +2 -29
- package/dist/docs/plugins/confluent-schema-registry/01-installation.md +2 -26
- package/dist/docs/plugins/eventbridge/00-intro.md +0 -4
- package/dist/docs/plugins/eventbridge/00a-installation.md +1 -87
- package/dist/docs/plugins/eventbridge/03-api.md +2 -20
- package/dist/docs/plugins/github/00-intro.md +0 -31
- package/dist/docs/plugins/github/01-installation.md +2 -34
- package/dist/docs/plugins/graphql/00-intro.md +0 -30
- package/dist/docs/plugins/graphql/01-installation.md +1 -53
- package/dist/docs/plugins/graphql/02-plugin-configuration.md +0 -1
- package/dist/docs/plugins/hookdeck/01-intro.md +1 -1
- package/dist/docs/plugins/openapi/00-intro.md +0 -30
- package/dist/docs/plugins/openapi/01-installation.md +1 -57
- package/dist/docs/plugins/openapi/02-plugin-configuration.md +0 -5
- package/dist/docs/plugins/openapi/03-features.md +0 -4
- package/dist/eventcatalog-config-file-utils.cjs +34 -41
- package/dist/eventcatalog-config-file-utils.d.cts +56 -58
- package/dist/eventcatalog-config-file-utils.d.ts +56 -58
- package/dist/eventcatalog-config-file-utils.js +1 -1
- package/dist/eventcatalog.cjs +408 -281
- package/dist/eventcatalog.config.d.cts +26 -15
- package/dist/eventcatalog.config.d.ts +26 -15
- package/dist/eventcatalog.js +46 -27
- package/dist/features.cjs +36 -49
- package/dist/features.d.cts +1 -3
- package/dist/features.d.ts +1 -3
- package/dist/features.js +4 -6
- package/dist/federation/federate.cjs +37 -44
- package/dist/federation/federate.js +5 -5
- package/dist/federation/source-provider.js +2 -2
- package/dist/generate.cjs +37 -42
- package/dist/generate.js +4 -4
- package/dist/resolve-catalog-dependencies.cjs +34 -41
- package/dist/resolve-catalog-dependencies.js +2 -2
- package/dist/runtime-dependencies/@eventcatalog__visualiser__studio-fonts.css.mjs +3 -0
- package/dist/runtime-dependencies/@eventcatalog__visualiser__studio.css.mjs +3 -0
- package/dist/runtime-dependencies/@eventcatalog__visualiser__studio.mjs +3 -0
- package/dist/runtime-dependencies/htmlparser2.mjs +3 -0
- package/dist/runtime-dependencies/manifest.json +5 -1
- package/dist/runtime-dependencies/react-syntax-highlighter__dist__cjs__create-element.js.mjs +3 -0
- package/dist/utils/child-process-signals.cjs +53 -0
- package/dist/utils/child-process-signals.d.cts +19 -0
- package/dist/utils/child-process-signals.d.ts +19 -0
- package/dist/utils/child-process-signals.js +6 -0
- package/dist/utils/cli-logger.cjs +1 -1
- package/dist/utils/cli-logger.js +2 -2
- package/dist/utils/license-status.cjs +11 -4
- package/dist/utils/license-status.d.cts +3 -2
- package/dist/utils/license-status.d.ts +3 -2
- package/dist/utils/license-status.js +1 -1
- package/eventcatalog/astro.config.mjs +21 -1
- package/eventcatalog/integrations/config-loader.mjs +56 -58
- package/eventcatalog/integrations/skip-startup-reload.mjs +31 -0
- package/eventcatalog/integrations/stable-dependency-order.mjs +29 -0
- package/eventcatalog/integrations/storage.mjs +20 -0
- package/eventcatalog/integrations/studio-server.mjs +4 -1
- package/eventcatalog/src/components/CatalogGraph/CatalogForceGraph.tsx +39 -0
- package/eventcatalog/src/components/ChatPanel/ChatPanel.tsx +2 -0
- package/eventcatalog/src/components/Homepage/CatalogDashboard.astro +342 -0
- package/eventcatalog/src/components/MDX/NodeGraph/AstroNodeGraph.tsx +60 -4
- package/eventcatalog/src/components/MDX/NodeGraph/NodeGraph.astro +5 -1
- package/eventcatalog/src/components/NavigationProgress.astro +7 -0
- package/eventcatalog/src/components/SchemaExplorer/ApiContentViewer.tsx +2 -0
- package/eventcatalog/src/components/SchemaExplorer/ExamplesViewer.tsx +2 -0
- package/eventcatalog/src/components/SchemaExplorer/SchemaCodeModal.tsx +2 -0
- package/eventcatalog/src/components/SchemaExplorer/SchemaContentViewer.tsx +2 -0
- package/eventcatalog/src/components/Search/SearchDataLoader.astro +16 -28
- package/eventcatalog/src/components/Search/SearchModal.tsx +2 -10
- package/eventcatalog/src/components/Search/search-utils.ts +26 -0
- package/eventcatalog/src/components/Seo.astro +5 -1
- package/eventcatalog/src/components/Settings/AssistantSettingsForm.tsx +53 -48
- package/eventcatalog/src/components/Settings/GeneralSettingsForm.tsx +183 -178
- package/eventcatalog/src/components/Settings/LicenseSettings.tsx +140 -31
- package/eventcatalog/src/components/Settings/LlmAccessSettingsForm.tsx +40 -35
- package/eventcatalog/src/components/Settings/LogoUpload.tsx +1 -1
- package/eventcatalog/src/components/Settings/McpSettingsForm.tsx +9 -8
- package/eventcatalog/src/components/Settings/Row.tsx +7 -4
- package/eventcatalog/src/components/Settings/SettingsShared.tsx +3 -3
- package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +37 -76
- package/eventcatalog/src/components/SideNav/NestedSideBar/storage.ts +2 -0
- package/eventcatalog/src/components/SideNav/NestedSideBar/utils.ts +122 -1
- package/eventcatalog/src/components/SideNav/SideNav.astro +9 -1
- package/eventcatalog/src/components/TrialBadge.astro +20 -9
- package/eventcatalog/src/content.config.ts +19 -2
- package/eventcatalog/src/features/auth/error.astro +4 -2
- package/eventcatalog/src/features/auth/login.astro +2 -1
- package/eventcatalog/src/features/auth/middleware/middleware-auth.ts +21 -1
- package/eventcatalog/src/features/auth/unauthorized.astro +1 -1
- package/eventcatalog/src/features/fields/pages/fields.astro +1 -1
- package/eventcatalog/src/features/integrations/eventcatalog-features.ts +13 -7
- package/eventcatalog/src/features/mcp/apps/architecture-diagram/node-chat.tsx +6 -45
- package/eventcatalog/src/features/mcp/apps/canvas/shared.ts +3 -3
- package/eventcatalog/src/features/mcp/apps/canvas/styles.css +3 -1
- package/eventcatalog/src/features/mcp/apps/canvas/view.tsx +7 -5
- package/eventcatalog/src/features/mcp/apps/generated/canvas.html +123 -98
- package/eventcatalog/src/features/mcp/apps/generated/viewer.html +118 -101
- package/eventcatalog/src/features/mcp/mcp-server.ts +20 -4
- package/eventcatalog/src/features/server/start.ts +25 -0
- package/eventcatalog/src/features/storage/database.ts +88 -0
- package/eventcatalog/src/features/storage/migrations.ts +85 -0
- package/eventcatalog/src/features/storage/sql/database.sql +5 -0
- package/eventcatalog/src/features/storage/sql/migrations/0001-studio-canvases.sql +12 -0
- package/eventcatalog/src/features/storage/sql/migrations.sql +15 -0
- package/eventcatalog/src/features/storage/sql.ts +28 -0
- package/eventcatalog/src/features/studio/agent-choreography.ts +13 -10
- package/eventcatalog/src/features/studio/agents.ts +28 -0
- package/eventcatalog/src/features/studio/api/canvases-api.ts +219 -0
- package/eventcatalog/src/features/studio/api/canvases.ts +25 -0
- package/eventcatalog/src/features/studio/api/client.ts +40 -0
- package/eventcatalog/src/features/studio/canvas-actions.ts +160 -34
- package/eventcatalog/src/features/studio/canvas-preview.ts +1 -2
- package/eventcatalog/src/features/studio/catalog.ts +16 -14
- package/eventcatalog/src/features/studio/components/CanvasHeader.tsx +274 -105
- package/eventcatalog/src/features/studio/components/CanvasStatusMenu.tsx +15 -14
- package/eventcatalog/src/features/studio/components/ConnectAgentDialog.tsx +272 -119
- package/eventcatalog/src/features/studio/components/ConnectionsChooser.tsx +1 -2
- package/eventcatalog/src/features/studio/components/DeleteCanvasDialog.tsx +65 -0
- package/eventcatalog/src/features/studio/components/Dialog.tsx +60 -0
- package/eventcatalog/src/features/studio/components/JoinForm.tsx +101 -26
- package/eventcatalog/src/features/studio/components/LeftPanel.tsx +122 -230
- package/eventcatalog/src/features/studio/components/NodeDetails.tsx +183 -0
- package/eventcatalog/src/features/studio/components/OpenInStudioDialog.tsx +79 -0
- package/eventcatalog/src/features/studio/components/Presence.tsx +52 -45
- package/eventcatalog/src/features/studio/components/ShareDialog.tsx +277 -141
- package/eventcatalog/src/features/studio/components/ShortcutsDialog.tsx +41 -0
- package/eventcatalog/src/features/studio/components/StudioDesigner.tsx +1314 -385
- package/eventcatalog/src/features/studio/components/StudioNotice.astro +24 -0
- package/eventcatalog/src/features/studio/document-name.ts +7 -0
- package/eventcatalog/src/features/studio/from-visualiser.ts +138 -0
- package/eventcatalog/src/features/studio/hooks/presence-sender.ts +19 -2
- package/eventcatalog/src/features/studio/hooks/use-canvas-webmcp.ts +9 -3
- package/eventcatalog/src/features/studio/hooks/use-comments.ts +2 -2
- package/eventcatalog/src/features/studio/hooks/use-follow-camera.ts +8 -3
- package/eventcatalog/src/features/studio/hooks/use-studio-flow.ts +244 -32
- package/eventcatalog/src/features/studio/identity.ts +25 -1
- package/eventcatalog/src/features/studio/limits.ts +2 -0
- package/eventcatalog/src/features/studio/pages/[id].astro +42 -16
- package/eventcatalog/src/features/studio/pages/index.astro +596 -373
- package/eventcatalog/src/features/studio/pages/webmcp-relay.ts +12 -15
- package/eventcatalog/src/features/studio/server/canvas-mcp.ts +8 -23
- package/eventcatalog/src/features/studio/server/runtime.ts +150 -46
- package/eventcatalog/src/features/studio/server/sql/storage.sql +18 -0
- package/eventcatalog/src/features/studio/server/storage.ts +53 -73
- package/eventcatalog/src/features/studio/webmcp-relay/LICENSE +21 -0
- package/eventcatalog/src/features/studio/webmcp-relay/README.md +5 -0
- package/eventcatalog/src/features/studio/webmcp-relay/embed.js +2 -0
- package/eventcatalog/src/features/studio/webmcp-relay/widget.html +10 -0
- package/eventcatalog/src/features/studio/webmcp-relay/widget.js +1 -0
- package/eventcatalog/src/features/tools/catalog-tools.ts +3 -1
- package/eventcatalog/src/layouts/BaseLayout.astro +4 -4
- package/eventcatalog/src/layouts/SettingsLayout.astro +2 -2
- package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +3 -2
- package/eventcatalog/src/pages/_index.astro +5 -342
- package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/_index.data.spec.ts +2 -3
- package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/index.astro +3 -1
- package/eventcatalog/src/pages/diagrams/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/diagrams/[id]/[version]/embed.astro +1 -0
- package/eventcatalog/src/pages/diagrams/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/pages/directory/[type]/_index.data.ts +5 -7
- package/eventcatalog/src/pages/directory/[type]/index.astro +3 -1
- package/eventcatalog/src/pages/discover/[type]/_index.data.ts +5 -7
- package/eventcatalog/src/pages/discover/[type]/index.astro +3 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/asyncapi/[filename].astro +3 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/asyncapi/_[filename].data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/examples/[...filename].astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/examples/_[...filename].data.ts +0 -4
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/field-lineage/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/field-lineage/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/[filename].astro +3 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/_[filename].data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/resources/_index.data.spec.ts +2 -3
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/resources/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/resources/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/[filename].astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/_[filename].data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/index.astro +2 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/language/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/language/index.astro +1 -0
- package/eventcatalog/src/pages/docs/custom/[...path]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/custom/[...path]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/services/[id]/[docType]/[docId]/index.astro +1 -1
- package/eventcatalog/src/pages/docs/services/[id]/[version]/resources/index.astro +1 -0
- package/eventcatalog/src/pages/docs/services/[id]/asyncapi/[filename].astro +1 -1
- package/eventcatalog/src/pages/docs/services/[id]/changelog/index.astro +1 -1
- package/eventcatalog/src/pages/docs/services/[id]/graphql/[filename].astro +1 -1
- package/eventcatalog/src/pages/docs/services/[id]/spec/[filename].astro +1 -1
- package/eventcatalog/src/pages/docs/teams/[id]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/teams/[id]/index.astro +1 -0
- package/eventcatalog/src/pages/docs/users/[id]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/docs/users/[id]/index.astro +1 -0
- package/eventcatalog/src/pages/index.astro +4 -2
- package/eventcatalog/src/pages/schemas/[type]/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/schemas/[type]/[id]/[version]/index.astro +9 -1
- package/eventcatalog/src/pages/schemas/explorer/_index.data.ts +0 -7
- package/eventcatalog/src/pages/schemas/explorer/index.astro +4 -2
- package/eventcatalog/src/pages/settings/license.astro +9 -1
- package/eventcatalog/src/pages/triggers/[type]/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/triggers/[type]/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/data/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/data/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/entity-map/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/entity-map/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/[type]/[id]/_index.data.ts +38 -0
- package/eventcatalog/src/pages/visualiser/[type]/[id]/index.astro +18 -41
- package/eventcatalog/src/pages/visualiser/designs/[id]/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/designs/[id]/index.astro +2 -1
- package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/entity-map/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/entity-map/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/systems-context/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/systems-context/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/systems/[id]/[version]/context/_index.data.ts +0 -7
- package/eventcatalog/src/pages/visualiser/systems/[id]/[version]/context/index.astro +1 -0
- package/eventcatalog/src/pages/visualiser/systems/[id]/[version]/index.astro +1 -0
- package/eventcatalog/src/types/react-syntax-highlighter.d.ts +10 -0
- package/eventcatalog/src/utils/collections/flows.ts +20 -7
- package/eventcatalog/src/utils/collections/resource-owners.ts +8 -2
- package/eventcatalog/src/utils/collections/resources.ts +2 -0
- package/eventcatalog/src/utils/collections/util.ts +8 -4
- package/eventcatalog/src/utils/git.ts +11 -0
- package/eventcatalog/src/utils/homepage-dashboard.ts +143 -0
- package/eventcatalog/src/utils/license.ts +1 -1
- package/eventcatalog/src/utils/link-validation.ts +25 -19
- package/eventcatalog/src/utils/node-graphs/domain-entity-map.ts +3 -1
- package/eventcatalog/src/utils/node-graphs/domain-levels-node-graph.ts +3 -3
- package/eventcatalog/src/utils/node-graphs/field-node-graph.ts +4 -2
- package/eventcatalog/src/utils/node-graphs/layout-node-graph.ts +20 -1
- package/eventcatalog/src/utils/node-graphs/node-resource.ts +67 -0
- package/eventcatalog/src/utils/node-graphs/systems-node-graph.ts +1 -1
- package/eventcatalog/src/utils/page-loaders/hybrid-page.ts +4 -15
- package/eventcatalog/src/utils/page-title.ts +15 -0
- package/eventcatalog/src/utils/syntax-highlighter-renderer.ts +64 -0
- package/eventcatalog/src/utils/trial.ts +13 -0
- package/package.json +11 -11
- package/dist/docs/development/ask-your-architecture/05-skills/02-installation.md +0 -60
- package/dist/docs/development/ask-your-architecture/05-skills/_category_.json +0 -11
- package/dist/docs/development/ask-your-architecture/06-slack-integration/01-introduction.md +0 -63
- package/dist/docs/development/ask-your-architecture/06-slack-integration/02-slack-app-setup.md +0 -154
- package/dist/docs/development/ask-your-architecture/06-slack-integration/03-installation.md +0 -169
- package/dist/docs/development/ask-your-architecture/06-slack-integration/04-deployment.md +0 -236
- package/dist/docs/development/ask-your-architecture/06-slack-integration/05-usage.md +0 -140
- package/dist/docs/development/ask-your-architecture/06-slack-integration/06-troubleshooting.md +0 -268
- package/dist/docs/development/ask-your-architecture/06-slack-integration/_category_.json +0 -13
- package/dist/docs/development/guides/domains/06-visualize-domains/01-domain-integration-map.md +0 -40
- package/dist/runtime-dependencies/@mcp-b__webmcp-local-relay.mjs +0 -3
- package/eventcatalog/src/features/studio/canvas-doc.ts +0 -409
- package/eventcatalog/src/features/studio/clipboard.ts +0 -97
- package/eventcatalog/src/features/studio/components/CanvasControls.tsx +0 -154
- package/eventcatalog/src/features/studio/components/Comments.tsx +0 -770
- package/eventcatalog/src/features/studio/components/ContainerChooser.tsx +0 -145
- package/eventcatalog/src/features/studio/components/DragGhost.tsx +0 -115
- package/eventcatalog/src/features/studio/components/Picture.tsx +0 -21
- package/eventcatalog/src/features/studio/components/PropertiesPanel.tsx +0 -212
- package/eventcatalog/src/features/studio/components/canvas-nodes.tsx +0 -255
- package/eventcatalog/src/features/studio/components/icons.ts +0 -53
- package/eventcatalog/src/features/studio/components/status.ts +0 -51
- package/eventcatalog/src/features/studio/edges.ts +0 -56
- package/eventcatalog/src/features/studio/flow-state.ts +0 -92
- package/eventcatalog/src/features/studio/grouping.ts +0 -226
- package/eventcatalog/src/features/studio/layout.ts +0 -42
- package/eventcatalog/src/features/studio/levels.ts +0 -282
- package/eventcatalog/src/features/studio/node-types.ts +0 -205
- package/eventcatalog/src/features/studio/pages/new.astro +0 -24
- package/eventcatalog/src/features/studio/pages/wake.ts +0 -15
- package/eventcatalog/src/features/studio/placement.ts +0 -197
- package/eventcatalog/src/features/studio/studio.css +0 -273
- package/dist/{chunk-A2RZR3U4.js → chunk-6K7XZAYI.js} +3 -3
|
@@ -11,7 +11,9 @@ import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
|
11
11
|
|
|
12
12
|
A component to visually render your information.
|
|
13
13
|
|
|
14
|
-
The `<NodeGraph/>` component is supported in domains, services, and all messages, changelogs, and custom documentation pages.
|
|
14
|
+
The `<NodeGraph/>` component is supported in domains, systems, services, and all messages, changelogs, and custom documentation pages.
|
|
15
|
+
|
|
16
|
+
On a domain page, `<NodeGraph/>` renders the domain's [Diagram](/docs/development/guides/domains/visualize-domains/domain-diagram), opening at level 1 (the domain, its systems, and the domains it talks to).
|
|
15
17
|
|
|
16
18
|
### Single NodeGraph
|
|
17
19
|
|
|
@@ -44,17 +46,44 @@ All NodeGraph visualizations include interactive controls for better viewing, ex
|
|
|
44
46
|
|
|
45
47
|

|
|
46
48
|
|
|
47
|
-
###
|
|
49
|
+
### Canvas toolbar
|
|
50
|
+
|
|
51
|
+
<AddedIn version="5.0.0" />
|
|
52
|
+
|
|
53
|
+
A floating toolbar sits at the bottom of the canvas. It has:
|
|
54
|
+
|
|
55
|
+
- **L1**, **L2** and **L3**: the levels of detail. They are the same on every diagram:
|
|
56
|
+
- **L1**: domains, systems and their relationships.
|
|
57
|
+
- **L2**: services and data stores.
|
|
58
|
+
- **L3**: adds messages and channels.
|
|
59
|
+
- Tools for the resource shown. For example, a domain's Diagram page has **Highlight cross-domain communication**, which picks out the edges to and from other domains.
|
|
60
|
+
- **Simulate messages**: animates messages moving along the edges.
|
|
61
|
+
- **Show minimap** / **Hide minimap**.
|
|
62
|
+
- **Fit to view**: zooms to fit the whole diagram.
|
|
63
|
+
|
|
64
|
+
Levels a diagram doesn't have are greyed out. For example, L1 is greyed out on a service's diagram, which has no domains or systems to show. Hover a greyed out level to see why.
|
|
65
|
+
|
|
66
|
+
The level is kept in the URL (`?level=1`, `?level=2` or `?level=3`), so a shared link opens at the same level. The level you pick is remembered for each kind of diagram. Flows and entity diagrams don't show levels.
|
|
48
67
|
|
|
49
|
-
|
|
68
|
+
### Legend
|
|
50
69
|
|
|
51
|
-
|
|
70
|
+
Click an entry in the legend to hide those nodes from the diagram, and click it again to show them. The diagram lays itself out again without them, and the entry fades while hidden. When you hide messages or channels, the nodes on either side stay connected.
|
|
52
71
|
|
|
53
|
-
|
|
72
|
+
Hidden entries stay hidden when you switch levels.
|
|
54
73
|
|
|
55
|
-
###
|
|
74
|
+
### Canvas menu
|
|
56
75
|
|
|
57
|
-
|
|
76
|
+
Open the menu (three dots next to the diagram title) and select **Canvas** for these options:
|
|
77
|
+
|
|
78
|
+
- **Render as mermaid**: switch between the interactive diagram and a Mermaid diagram with automatic layout and pan/zoom controls.
|
|
79
|
+
- **Simulate Messages**: animate messages moving along the edges.
|
|
80
|
+
- **Hide channels**: hide channel nodes.
|
|
81
|
+
- **Hide messages**: hide messages and channels. This is the same view as level 2.
|
|
82
|
+
- **Show minimap**, **Fit to view** and **Find on canvas**.
|
|
83
|
+
|
|
84
|
+
### Copy as Mermaid {#export-as-mermaid}
|
|
85
|
+
|
|
86
|
+
Select **Copy as mermaid** in the menu to copy the NodeGraph as Mermaid diagram code to your clipboard. The diagram preserves all nodes, edges, and styling information.
|
|
58
87
|
|
|
59
88
|
Useful for sharing architectures with LLMs, documentation tools, or pasting into Mermaid-compatible renderers like [mermaid.live](https://mermaid.live).
|
|
60
89
|
|
|
@@ -62,9 +91,9 @@ Useful for sharing architectures with LLMs, documentation tools, or pasting into
|
|
|
62
91
|
If you export large NodeGraphs and they fail to render as Mermaid diagrams, increase the `maxTextSize` configuration. [Learn more about maxTextSize](/docs/api/config#mermaid).
|
|
63
92
|
:::
|
|
64
93
|
|
|
65
|
-
### Share
|
|
94
|
+
### Share Link
|
|
66
95
|
|
|
67
|
-
|
|
96
|
+
Select **Share Link** in the menu to copy a link to the visualization and share it with your team.
|
|
68
97
|
|
|
69
98
|
## Layout persistence
|
|
70
99
|
|
|
@@ -103,7 +132,11 @@ This deletes the saved layout file and reloads the page with auto-calculated pos
|
|
|
103
132
|
|
|
104
133
|
Layout files are keyed by resource (collection/id/version), so the same layout is used whether viewing in the visualizer or embedded in documentation.
|
|
105
134
|
|
|
106
|
-
Works across all visualizers including services, events, flows, domains, entity
|
|
135
|
+
Works across all visualizers including services, events, flows, domains, systems, entity diagrams, and designs.
|
|
136
|
+
|
|
137
|
+
:::note Layouts from before v5
|
|
138
|
+
Domain and system diagrams are laid out differently in EventCatalog v5. Layouts saved for the old domain and system Resource Diagram pages don't carry over to the new Diagram pages. Layouts saved for a system's context diagram carry over to level 1 of its Diagram.
|
|
139
|
+
:::
|
|
107
140
|
|
|
108
141
|
**Example layout file structure:**
|
|
109
142
|
|
|
@@ -10,7 +10,6 @@ title: RemoteSchema
|
|
|
10
10
|
description: Component for fetching and rendering remote schemas in EventCatalog
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
14
13
|
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
15
14
|
|
|
16
15
|
<AddedIn version="2.52.0" />
|
|
@@ -49,8 +48,6 @@ The `<RemoteSchema/>` component only works in Server-Side Rendering (SSR) mode.
|
|
|
49
48
|
|
|
50
49
|
### Fetching from Private APIs
|
|
51
50
|
|
|
52
|
-
<PlanBanner plan="Scale" />
|
|
53
|
-
|
|
54
51
|
For private APIs requiring authentication, you can provide headers:
|
|
55
52
|
|
|
56
53
|
```jsx /events/MyEvent/index.mdx
|
|
@@ -105,7 +102,7 @@ The component automatically detects JSON Schema format and renders an interactiv
|
|
|
105
102
|
| `url` (required) | `string` | (empty) | The URL to fetch the schema from. Supports environment variable templating with `${VAR_NAME}` syntax. |
|
|
106
103
|
| `title` (optional) | `string` | "Remote Schema" | Title to display above the schema |
|
|
107
104
|
| `maxHeight` (optional) | `string` | "400" | Maximum height of the schema viewer in pixels |
|
|
108
|
-
| `headers` (optional) | `object` | `{}` | HTTP headers for authentication
|
|
105
|
+
| `headers` (optional) | `object` | `{}` | HTTP headers for authentication |
|
|
109
106
|
| `jsonPath` (optional) | `string` | (empty) | [JSONPath expression](https://github.com/dchester/jsonpath) to extract specific parts of the response |
|
|
110
107
|
| `renderAs` (optional) | `string` | "auto" | Rendering mode: "auto", "schema", or "raw" |
|
|
111
108
|
|
|
@@ -31,6 +31,20 @@ import ServiceCard from '@catalog/components/service-card.astro';
|
|
|
31
31
|
| `.astro` | Reusable UI, props, data fetching, browser scripts, and styling |
|
|
32
32
|
| `.mdx` | Reusable Markdown content |
|
|
33
33
|
|
|
34
|
+
### React components
|
|
35
|
+
|
|
36
|
+
React components in your catalog's `components` directory run on React 19 from EventCatalog v5.
|
|
37
|
+
|
|
38
|
+
If a component uses an API that React 19 removed, update it before you upgrade:
|
|
39
|
+
|
|
40
|
+
- `defaultProps` on function components: use default values in the props instead.
|
|
41
|
+
- `propTypes`: remove them, or use TypeScript for prop types.
|
|
42
|
+
- String refs: use `useRef` or callback refs.
|
|
43
|
+
- `ReactDOM.render`: use `createRoot` from `react-dom/client`.
|
|
44
|
+
- `findDOMNode`: use a ref to the DOM element.
|
|
45
|
+
|
|
46
|
+
Read the [React 19 upgrade guide](https://react.dev/blog/2024/04/25/react-19-upgrade-guide) for the full list of changes.
|
|
47
|
+
|
|
34
48
|
## Astro component structure
|
|
35
49
|
|
|
36
50
|
Astro components have a component script and a component template.
|
|
@@ -11,8 +11,6 @@ title: Themes
|
|
|
11
11
|
description: Customize the look and feel of your catalog with built-in themes, dark/light mode, and custom themes
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
15
|
-
|
|
16
14
|
EventCatalog comes with a selection of built-in themes and supports both light and dark modes out of the box.
|
|
17
15
|
|
|
18
16
|
## Choosing a theme
|
|
@@ -38,7 +36,6 @@ EventCatalog includes the following built-in themes:
|
|
|
38
36
|
| `sunset` | Orange accent - warm and energetic |
|
|
39
37
|
| `forest` | Dark green accent - natural and grounded |
|
|
40
38
|
|
|
41
|
-
|
|
42
39
|
## Light and dark mode
|
|
43
40
|
|
|
44
41
|
EventCatalog supports both light and dark modes. Users can toggle between modes using the theme switcher in the header.
|
|
@@ -61,8 +58,6 @@ If no preference is stored, EventCatalog automatically follows the user's system
|
|
|
61
58
|
|
|
62
59
|
## Creating custom themes
|
|
63
60
|
|
|
64
|
-
<PlanBanner plan="Scale" />
|
|
65
|
-
|
|
66
61
|
Custom themes allow you to fully brand EventCatalog with your organization's colors. You define your theme in `eventcatalog.styles.css` using CSS variables.
|
|
67
62
|
|
|
68
63
|
### Step 1: Create your theme CSS
|
|
@@ -13,7 +13,7 @@ description: Configure resource metadata search or opt-in to full-content indexe
|
|
|
13
13
|
|
|
14
14
|
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
15
15
|
|
|
16
|
-
<AddedIn version="3.36.
|
|
16
|
+
<AddedIn version="3.36.1" />
|
|
17
17
|
|
|
18
18
|
EventCatalog ships with two search modes. The default is a fast metadata search that works with no extra configuration. An opt-in indexed mode adds full-content search powered by [Pagefind](https://pagefind.app/).
|
|
19
19
|
|
package/dist/docs/development/customization/05-custom-pages-and-api-routes/01-introduction.md
CHANGED
|
@@ -11,10 +11,8 @@ description: Understand custom pages and API routes in EventCatalog.
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
14
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
15
14
|
|
|
16
15
|
<AddedIn version="4.1.1" />
|
|
17
|
-
<PlanBanner plan="Scale" />
|
|
18
16
|
|
|
19
17
|
EventCatalog gives you a structured catalog out of the box, but every organization eventually needs pages that are specific to how they work.
|
|
20
18
|
|
|
@@ -91,7 +91,13 @@ export default {
|
|
|
91
91
|
};
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
If EventCatalog finds API routes in `pages/api` during a static build, the build fails and asks you to enable server mode or remove the `pages/api` directory.
|
|
94
|
+
If EventCatalog finds API routes in `pages/api` during a static build, the build fails and asks you to enable server mode or remove the `pages/api` directory. `eventcatalog dev` still serves the routes, and logs the same message as a warning.
|
|
95
|
+
|
|
96
|
+
:::info Upgrading from v4
|
|
97
|
+
|
|
98
|
+
In v4, catalogs without a Scale license skipped custom pages, so a static build with a `pages/api` directory still passed. From v5, custom pages are served for every catalog, and a static build with `pages/api` fails until you set `output: 'server'` or remove the directory.
|
|
99
|
+
|
|
100
|
+
:::
|
|
95
101
|
|
|
96
102
|
## Import aliases
|
|
97
103
|
|
|
@@ -124,7 +124,7 @@ Because a `$token` inside `pages` splices in that section's items, extending a g
|
|
|
124
124
|
"title": "Quick Reference",
|
|
125
125
|
"icon": "BookOpen",
|
|
126
126
|
"pages": [
|
|
127
|
-
// Splices in the generated Quick Reference items (Overview, Changelog, ...)
|
|
127
|
+
// Splices in the generated Quick Reference items (Overview, Resources, Changelog, ...)
|
|
128
128
|
"$quick-reference",
|
|
129
129
|
// ...followed by your own pages
|
|
130
130
|
"[[doc|guides/onboarding]]",
|
|
@@ -8,26 +8,19 @@ keywords:
|
|
|
8
8
|
- iframe
|
|
9
9
|
- developer portal
|
|
10
10
|
- internal application
|
|
11
|
-
- Scale
|
|
12
11
|
---
|
|
13
12
|
|
|
14
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
15
|
-
|
|
16
|
-
<PlanBanner plan="Scale" />
|
|
17
|
-
|
|
18
13
|
You can embed EventCatalog pages in developer portals, internal tools, intranets, and other web applications. Your teams can explore architecture information in the application where they already work while EventCatalog remains the source of the documentation.
|
|
19
14
|
|
|
20
|
-
Embedding EventCatalog requires an EventCatalog Scale license. See [Getting a license key for EventCatalog Scale](/docs/development/license-keys/plans).
|
|
21
|
-
|
|
22
15
|
## What you can embed
|
|
23
16
|
|
|
24
17
|
| Feature | What users can do in the embedded view |
|
|
25
18
|
| --- | --- |
|
|
26
19
|
| Resource documentation | Read the documentation for a domain, system, service, message, flow, team, or another catalog resource. |
|
|
27
|
-
| Resource visualizer | Explore the selected resource and its relationships. |
|
|
20
|
+
| Resource visualizer | Explore the selected resource and its relationships, at the levels its diagram supports. |
|
|
28
21
|
| Architecture Graph | Explore the catalog-wide graph or focus it on a resource with a relationship depth of 1, 2, or 3. |
|
|
29
|
-
| System Context
|
|
30
|
-
| Entity
|
|
22
|
+
| System Context Diagram | View the catalog-wide system overview or the context surrounding one system. |
|
|
23
|
+
| Entity Diagram | Explore the entities and relationships associated with a resource. |
|
|
31
24
|
| Flows | Follow the steps, services, and messages in a business or technical flow. |
|
|
32
25
|
| Discovery tables | Browse and filter catalog resources such as services, events, commands, and queries. |
|
|
33
26
|
| Schema explorer | Search schemas, inspect their contents, and see the resources that use them. |
|
|
@@ -52,7 +45,6 @@ The requested theme only affects that embedded page. It does not replace the vis
|
|
|
52
45
|
|
|
53
46
|
## Before you embed
|
|
54
47
|
|
|
55
|
-
- Build and deploy EventCatalog with a valid Scale license.
|
|
56
48
|
- Use an EventCatalog URL that users of the host application can reach from their browsers.
|
|
57
49
|
- If EventCatalog is authenticated, verify that users can authenticate from the embedded context.
|
|
58
50
|
- Give the iframe's parent a defined height. EventCatalog fills the space the host application provides.
|
|
@@ -119,17 +111,30 @@ Replace `https://catalog.example.com` with the URL of your deployed catalog.
|
|
|
119
111
|
| Resource documentation | `/docs/{collection}/{id}/{version}?embed=true` |
|
|
120
112
|
| Resource visualizer | `/visualiser/{collection}/{id}/{version}?embed=true` |
|
|
121
113
|
| Discovery table | `/discover/{collection}?embed=true` |
|
|
122
|
-
| Entity
|
|
123
|
-
| Data dependency view | `/visualiser/{collection}/{id}/{version}/data?embed=true` |
|
|
114
|
+
| Entity Diagram | `/visualiser/{collection}/{id}/{version}/entity-map?embed=true` |
|
|
124
115
|
| Schema explorer | `/schemas/explorer?embed=true` |
|
|
125
116
|
| Schema details | `/schemas/{type}/{id}/{version}?embed=true` |
|
|
126
117
|
| Architecture Graph | `/visualiser/graph?embed=true` |
|
|
127
|
-
| System Context
|
|
128
|
-
| System
|
|
118
|
+
| System Context Diagram overview | `/visualiser/system-context-map?embed=true` |
|
|
119
|
+
| System diagram | `/visualiser/systems/{id}/{version}?embed=true` |
|
|
129
120
|
| Flow visualizer | `/visualiser/flows/{id}/{version}?embed=true` |
|
|
130
121
|
|
|
131
122
|
Collections use their plural route names, such as `domains`, `systems`, `services`, `events`, `commands`, `queries`, `flows`, and `entities`. Schema detail pages support message types such as `events`, `commands`, and `queries`, as well as data product contracts.
|
|
132
123
|
|
|
124
|
+
### Open a diagram at a level
|
|
125
|
+
|
|
126
|
+
Visualizer diagrams have three levels: `1` for domains, systems and their relationships, `2` for services and data stores, and `3` adding messages and channels. Add `level` to open the embedded diagram at a level:
|
|
127
|
+
|
|
128
|
+
```text
|
|
129
|
+
https://catalog.example.com/visualiser/domains/Payments/1.0.0?embed=true&level=2
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
:::info Upgrading from v4
|
|
133
|
+
|
|
134
|
+
The service data dependency view (`/data`), the system context view (`/context`) and the domain systems view (`/systems-context`) now redirect to a level of the resource's diagram. The redirect drops the query string, including `embed=true`, so update embedded URLs to the diagram URL with a `level` instead.
|
|
135
|
+
|
|
136
|
+
:::
|
|
137
|
+
|
|
133
138
|
### Focus the Architecture Graph
|
|
134
139
|
|
|
135
140
|
Use `focus={collection}/{id}` to select the initial resource and `depth` to choose how many relationship hops are visible. `depth` accepts `1`, `2`, or `3`.
|
|
@@ -152,16 +157,6 @@ module.exports = {
|
|
|
152
157
|
|
|
153
158
|
## Troubleshooting
|
|
154
159
|
|
|
155
|
-
### EventCatalog shows a license overlay
|
|
156
|
-
|
|
157
|
-
Confirm that the deployed catalog was built or started with a valid Scale license. Add the key to the EventCatalog project's environment:
|
|
158
|
-
|
|
159
|
-
```bash title=".env"
|
|
160
|
-
EVENTCATALOG_SCALE_LICENSE_KEY=your-scale-license-key
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
Then rebuild and redeploy the catalog. See [Getting a license key for EventCatalog Scale](/docs/development/license-keys/plans).
|
|
164
|
-
|
|
165
160
|
### Navigation is still visible
|
|
166
161
|
|
|
167
162
|
Confirm that the URL contains `embed=true`, including the exact lowercase value `true`.
|
|
@@ -86,10 +86,15 @@ ENV HOST=0.0.0.0
|
|
|
86
86
|
ENV PORT=3000
|
|
87
87
|
EXPOSE 3000
|
|
88
88
|
|
|
89
|
-
# Start the server
|
|
90
|
-
|
|
89
|
+
# Start the server. The exec form (a JSON array) passes `docker stop` (SIGTERM) on to the server,
|
|
90
|
+
# so it stops straight away rather than being killed after Docker's timeout.
|
|
91
|
+
CMD ["npm", "run", "start"]
|
|
91
92
|
```
|
|
92
93
|
|
|
94
|
+
:::tip
|
|
95
|
+
Use the exec form of `CMD` (`CMD ["npm", "run", "start"]`) rather than the shell form (`CMD npm run start`). With the shell form, a shell runs as the container's first process and doesn't pass signals on, so `docker stop` and Kubernetes pod shutdowns wait for their timeout and then kill the server.
|
|
96
|
+
:::
|
|
97
|
+
|
|
93
98
|
Then you can build the docker image with:
|
|
94
99
|
|
|
95
100
|
```bash
|
package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/05-fix-common-problems.md
CHANGED
|
@@ -68,6 +68,22 @@ The path in `schemaPath`, `schemas[]`, `specifications` or a data product contra
|
|
|
68
68
|
|
|
69
69
|
For `styles.icon`, paths starting with `/` are checked against the catalog's `public/` folder. If your static assets live elsewhere, set `['error', { publicDir: 'static' }]` or disable icon checks with `{ icons: false }`.
|
|
70
70
|
|
|
71
|
+
## "… leads to step …, but the flow has no step with that id"
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
13:16 ✖ error Step "start" leads to step "paymnet", but the flow has no step with that id. [steps[0].next_step] (refs/flow-step-exists)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
A flow step's `next_step` or `next_steps` points at a step that isn't in the flow, usually a typo. Correct the id so it matches another step's `id` in the same flow.
|
|
78
|
+
|
|
79
|
+
## "Step … points at … A step can only be one thing"
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
9:5 ✖ error steps.0.service: Step "checkout" points at message and service. A step can only be one thing, so split it into two steps. [steps.0.service] (schema/required-fields)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
A flow step uses more than one node type. EventCatalog fails the build on this. Split it into one step per node type and connect them with `next_step`. The same applies to a step that has both `next_step` and `next_steps`: keep one.
|
|
86
|
+
|
|
71
87
|
## "version: Expected string, but received undefined"
|
|
72
88
|
|
|
73
89
|
```
|
|
@@ -23,6 +23,7 @@ Rules are grouped into five categories. Each rule can be set to `'error'`, `'war
|
|
|
23
23
|
| [`refs/valid-version-range`](#refsvalid-version-range) | error | |
|
|
24
24
|
| [`refs/channel-exists`](#refschannel-exists) | error | |
|
|
25
25
|
| [`refs/container-exists`](#refscontainer-exists) | error | |
|
|
26
|
+
| [`refs/flow-step-exists`](#refsflow-step-exists) | error | |
|
|
26
27
|
| [`refs/file-exists`](#refsfile-exists) | error | `icons`, `publicDir` |
|
|
27
28
|
| [`refs/orphan-messages`](#refsorphan-messages) | warn | |
|
|
28
29
|
| [`best-practices/summary-required`](#best-practicessummary-required) | error | |
|
|
@@ -49,6 +50,15 @@ A required field is missing from the frontmatter. Which fields are required depe
|
|
|
49
50
|
|
|
50
51
|
**Fix:** add the field.
|
|
51
52
|
|
|
53
|
+
This rule also reports flow steps that use more than one node type (for example `message` and `service`), or both `next_step` and `next_steps`. EventCatalog 5 fails the build on both.
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
9:5 ✖ error steps.0.service: Step "checkout" points at message and service. A step can only be one thing, so split it into two steps. [steps.0.service] (schema/required-fields)
|
|
57
|
+
19:5 ✖ error steps.1.next_steps: Step "pay" has both next_step and next_steps. Use next_step for one next step, or next_steps for several. [steps.1.next_steps] (schema/required-fields)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Fix:** split the step into one step per node type, and use `next_step` for one next step or `next_steps` for several. See [Model flow steps](/docs/development/guides/resources/flows/model-flow-steps#mistakes-in-flow-steps).
|
|
61
|
+
|
|
52
62
|
### `schema/valid-type`
|
|
53
63
|
|
|
54
64
|
A field has the wrong type — a string where a list is expected, a missing required field reported as `undefined`, and so on.
|
|
@@ -119,6 +129,14 @@ The same check for keys inside nested objects and arrays (`sends[0].too`, `detai
|
|
|
119
129
|
|
|
120
130
|
Arbitrary keys are permitted where the schema allows them — flow step `custom.properties`, channel `parameters`, and any `producers`/`consumers` object.
|
|
121
131
|
|
|
132
|
+
:::warning Unknown flow step properties fail the build
|
|
133
|
+
From EventCatalog 5.0.0, unknown properties on a flow step (such as `steps[1].servce`) fail the build unless they start with `x-`. The linter still reports them under this rule, as a warning by default. To catch them as errors, promote the rule for your flows with an [override](../how-to/configure-rules#apply-different-rules-to-different-folders), for example `overrides: [{ files: ['**/flows/**'], rules: { 'schema/unknown-nested-field': 'error' } }]`.
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
15:5 ⚠ warning Unknown property "steps[1].servce". Did you mean "service"? [steps[1].servce] (schema/unknown-nested-field)
|
|
137
|
+
```
|
|
138
|
+
:::
|
|
139
|
+
|
|
122
140
|
## Reference validation
|
|
123
141
|
|
|
124
142
|
These rules check that everything your frontmatter points at actually exists. References can be plain ids (`- order-service`) or objects (`- id: order-service`, optionally with `version`). Version matching follows the [versions reference](./versions).
|
|
@@ -159,7 +177,7 @@ The referenced resource exists, but no version of it satisfies the reference. Th
|
|
|
159
177
|
|
|
160
178
|
### `refs/channel-exists`
|
|
161
179
|
|
|
162
|
-
A channel referenced from `sends[].to`, `receives[].from`, a message's `channels`,
|
|
180
|
+
A channel referenced from `sends[].to`, `receives[].from`, a message's `channels`, a channel's `routes`/`channels`, or a flow step's `channel` doesn't exist (or doesn't exist at that version).
|
|
163
181
|
|
|
164
182
|
```
|
|
165
183
|
11:9 ✖ error Referenced channel "orders-topic" does not exist. Did you mean "orders"? [sends[0].to[0]] (refs/channel-exists)
|
|
@@ -173,6 +191,18 @@ A container referenced from `writesTo`, `readsFrom`, a system's `containers`, or
|
|
|
173
191
|
13:5 ✖ error Referenced container "orders-db" does not have a version matching "9.0.0". Available versions: 1.0.0 [writesTo[0]] (refs/container-exists)
|
|
174
192
|
```
|
|
175
193
|
|
|
194
|
+
### `refs/flow-step-exists`
|
|
195
|
+
|
|
196
|
+
<AddedIn version="1.2.0" pkg="@eventcatalog/linter" url="https://github.com/event-catalog/eventcatalog" />
|
|
197
|
+
|
|
198
|
+
A flow step's `next_step` or `next_steps` points at a step id that isn't in the flow. EventCatalog leaves the arrow out of the diagram and logs a warning, so a typo here quietly breaks the flow.
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
13:16 ✖ error Step "start" leads to step "paymnet", but the flow has no step with that id. [steps[0].next_step] (refs/flow-step-exists)
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**Fix:** correct the id so it matches the `id` of another step in the same flow, or add the missing step.
|
|
205
|
+
|
|
176
206
|
### `refs/file-exists`
|
|
177
207
|
|
|
178
208
|
<AddedIn version="1.1.17" pkg="@eventcatalog/linter" url="https://github.com/event-catalog/eventcatalog" />
|
|
@@ -65,7 +65,7 @@ All resources are checked for frontmatter schema conformance, unknown keys, owne
|
|
|
65
65
|
| Service, Agent | `sends`, `receives` (incl. channels), `writesTo`, `readsFrom`, `flows`, `entities` (services only) |
|
|
66
66
|
| Event, Command, Query | `producers`, `consumers`, `channels`, `messageChannels`; orphan detection; `schemaPath` / `schemas[]` files |
|
|
67
67
|
| Channel | `channels`, `routes`, `messages` |
|
|
68
|
-
| Flow | each step's `message`, `service`, `agent`, `flow`, `container`, `dataProduct` |
|
|
68
|
+
| Flow | each step's `message`, `service`, `agent`, `system`/`systems`, `channel`, `flow`, `container`, `dataProduct`; each step's `next_step`/`next_steps` points at a step in the flow |
|
|
69
69
|
| Entity | `properties[].references`, `services`, `domains` |
|
|
70
70
|
| Container | `services`, `servicesThatWriteToContainer`, `servicesThatReadFromContainer`, `dataProductsThatWriteToContainer`, `dataProductsThatReadFromContainer` |
|
|
71
71
|
| Data product | `inputs`, `outputs` (any linkable type), `outputs[].contract.path` file |
|
|
@@ -5,20 +5,12 @@ title: Architecture Change Detection
|
|
|
5
5
|
description: Know when your event-driven architecture changes. Get notified when services start or stop producing and consuming messages.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
9
|
-
|
|
10
|
-
<PlanBanner plan="Scale" />
|
|
11
|
-
|
|
12
8
|
Services get added. Consumers change. Producers disappear. In event-driven systems, these relationship changes often go unnoticed until something breaks downstream.
|
|
13
9
|
|
|
14
10
|
**Architecture Change Detection** compares your catalog across branches and tells you exactly what changed: which services started consuming a message, which stopped producing one, and who is affected.
|
|
15
11
|
|
|
16
12
|
You can configure webhooks to send notifications to tools like Slack or PagerDuty when changes are detected, including relationship changes, deprecations, and schema updates. Rules can also be configured to block CI/CD pipelines entirely using the `fail` action.
|
|
17
13
|
|
|
18
|
-
:::info Scale plan required
|
|
19
|
-
Architecture Change Detection requires an [EventCatalog Scale plan](https://eventcatalog.dev/pricing).
|
|
20
|
-
:::
|
|
21
|
-
|
|
22
14
|
## How it works
|
|
23
15
|
|
|
24
16
|
1. Define rules in `governance.yaml` at the root of your catalog
|
|
@@ -58,5 +50,3 @@ This rule detects whenever any service starts or stops consuming any message, an
|
|
|
58
50
|
|
|
59
51
|
Using the [`status` field](/docs/development/governance/architecture-change-detection/ci-cd#include-a-status-label) you can choose to detect changes that are proposed vs approved. This can be useful when you want to detect changes that are proposed vs approved in your architecture.
|
|
60
52
|
|
|
61
|
-
|
|
62
|
-
|
|
@@ -7,10 +7,6 @@ description: Block merges automatically when governance rules trigger
|
|
|
7
7
|
|
|
8
8
|
Use the `fail` action to exit the CLI with code `1`, turning governance checks into hard gates that prevent merges when architectural rules are violated. Without `fail`, triggered rules only notify -- the CLI always exits `0`.
|
|
9
9
|
|
|
10
|
-
:::info Scale plan required
|
|
11
|
-
Architecture Change Detection requires an [EventCatalog Scale plan](https://eventcatalog.dev/pricing).
|
|
12
|
-
:::
|
|
13
|
-
|
|
14
10
|
## Add the fail action
|
|
15
11
|
|
|
16
12
|
Add `type: fail` to any rule that should block the pipeline. The `message` field is optional but recommended -- it explains to the developer exactly what needs to happen before the PR can merge.
|
|
@@ -13,7 +13,7 @@ import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
|
13
13
|
|
|
14
14
|
<AddedIn version="4.5.0" />
|
|
15
15
|
|
|
16
|
-
The architecture graph is a force-directed view of every resource in your catalog and the relationships between them. Unlike the [
|
|
16
|
+
The architecture graph is a force-directed view of every resource in your catalog and the relationships between them. Unlike the [System Context Diagram](/docs/development/guides/systems/system-context-maps), which needs systems to exist, the architecture graph works for any catalog.
|
|
17
17
|
|
|
18
18
|
Use this view when you want to answer questions like:
|
|
19
19
|
|
|
@@ -5,11 +5,8 @@ title: Adding Analytics
|
|
|
5
5
|
description: Track page views and user behavior across your catalog
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
9
8
|
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
10
9
|
|
|
11
|
-
<PlanBanner plan="Scale" />
|
|
12
|
-
|
|
13
10
|
EventCatalog supports analytics integrations that let you track how your team navigates and uses your catalog. Connect your existing analytics tools to understand which services, events, and flows your team visits most.
|
|
14
11
|
|
|
15
12
|
Three providers are supported: **Google Analytics 4**, **Google Tag Manager**, and **PostHog**. Multiple providers can be enabled at the same time.
|
|
@@ -131,7 +128,3 @@ Custom events are forwarded to all configured providers simultaneously.
|
|
|
131
128
|
## Missing an integration?
|
|
132
129
|
|
|
133
130
|
If you need support for an analytics provider not listed here, [open a GitHub issue](https://github.com/boyney123/eventcatalog/issues) or [join the Discord community](https://discord.gg/3rjaZMmrAm) and let us know. We are always looking to expand our integrations based on what teams are using.
|
|
134
|
-
|
|
135
|
-
:::info Scale plan required
|
|
136
|
-
Analytics integrations require an [EventCatalog Scale plan](https://eventcatalog.dev/pricing). If you configure integrations without a valid license, a warning is shown during build.
|
|
137
|
-
:::
|
|
@@ -24,8 +24,8 @@ _See [subdomain example](https://demo.eventcatalog.dev/docs/domains/E-Commerce/1
|
|
|
24
24
|
|
|
25
25
|
#### Domains Visualizer (with subdomains)
|
|
26
26
|
|
|
27
|
-
When you reference a subdomain from a domain, it will appear in the domains
|
|
28
|
-
|
|
27
|
+
When you reference a subdomain from a domain, it will appear in the domain's [Diagram](/docs/development/guides/domains/visualize-domains/domain-diagram).
|
|
28
|
+
Subdomains are shown as domains inside the parent domain, with their own systems and services. At level 1, a subdomain without systems is shown as a single card.
|
|
29
29
|
|
|
30
30
|

|
|
31
31
|
|
|
@@ -11,7 +11,7 @@ description: Add systems to domains so users can move from a business boundary t
|
|
|
11
11
|
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
12
12
|
import ProjectTree from '@site/src/components/MDX/ProjectTree';
|
|
13
13
|
|
|
14
|
-
<AddedIn version="4.0" />
|
|
14
|
+
<AddedIn version="4.0.0" />
|
|
15
15
|
|
|
16
16
|
A [system](/docs/development/guides/systems/introduction) is a collection of resources that work together to perform a function.
|
|
17
17
|
|
|
@@ -129,6 +129,8 @@ systems:
|
|
|
129
129
|
|
|
130
130
|
Use this view when you want readers to understand the systems inside a domain before they drill into lower-level resources.
|
|
131
131
|
|
|
132
|
+
To see the systems in the visualizer, open **Diagram** in the domain sidebar. Level 1 shows the domain's systems and the other domains they talk to, and level 2 expands each system into its services and data stores. Learn more in [Domain diagram](/docs/development/guides/domains/visualize-domains/domain-diagram).
|
|
133
|
+
|
|
132
134
|
## Linking to systems from domain docs
|
|
133
135
|
|
|
134
136
|
You can link to systems from domain Markdown using resource references.
|
|
@@ -82,5 +82,9 @@ Although it's recommended to link to a version of a service it is now optional.
|
|
|
82
82
|
|
|
83
83
|
When you view your domain in EventCatalog, the services will be visualized for you.
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
Open **Diagram** in the domain sidebar and switch to level 2 (**L2**) to see the domain's services and data stores, grouped by system. Level 3 (**L3**) adds the messages and channels between them.
|
|
86
|
+
|
|
87
|
+

|
|
88
|
+
|
|
89
|
+
Learn more in [Domain diagram](/docs/development/guides/domains/visualize-domains/domain-diagram).
|
|
86
90
|
|
|
@@ -96,9 +96,9 @@ Although it's recommended to link to a version of a message it is now optional.
|
|
|
96
96
|
|
|
97
97
|
## Visualizing messages within a domain
|
|
98
98
|
|
|
99
|
-
Messages are shown in the sidebar of your domain under "Publishes Messages" and "Consumes Messages" sections.
|
|
99
|
+
Messages are shown in the sidebar of your domain under "Publishes Messages" and "Consumes Messages" sections.
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
To see messages in the visualizer, open **Diagram** in the domain sidebar and switch to level 3 (**L3**). Level 3 adds the messages and channels that the domain's services send and receive. Learn more in [Domain diagram](/docs/development/guides/domains/visualize-domains/domain-diagram).
|
|
102
102
|
|
|
103
103
|
## Making changes and versioning
|
|
104
104
|
|
|
@@ -61,7 +61,7 @@ For services, the route is:
|
|
|
61
61
|
/visualiser/services/{id}/{version}/entity-map
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
When a domain or service has entities assigned, an **Entity
|
|
64
|
+
When a domain or service has entities assigned, an **Entity Diagram** link appears automatically in the **Architecture** section of the resource sidebar.
|
|
65
65
|
|
|
66
66
|
## Embed the entity map on a page
|
|
67
67
|
|
package/dist/docs/development/guides/domains/04-add-resources-to-domains/06-domain-resources-page.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 6
|
|
3
|
+
keywords:
|
|
4
|
+
- EventCatalog domains
|
|
5
|
+
- Domain resources
|
|
6
|
+
- Resources page
|
|
7
|
+
sidebar_label: Domain resources page
|
|
8
|
+
title: Domain resources page
|
|
9
|
+
description: See every subdomain, system, service, message, and decision record attached to a domain in one table.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Every domain with resources gets a **Resources** page that lists them in one table. Open it from **Quick Reference** > **Resources** in the domain's sidebar, or go to:
|
|
13
|
+
|
|
14
|
+
```txt
|
|
15
|
+
/docs/domains/{domain-id}/{version}/resources
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## What the page lists
|
|
19
|
+
|
|
20
|
+
The page lists the resources attached directly to the domain. Resources inside a child system or subdomain are listed on that system's or subdomain's own Resources page.
|
|
21
|
+
|
|
22
|
+
| Resource | Where it comes from | Relationship |
|
|
23
|
+
|----------|---------------------|--------------|
|
|
24
|
+
| Subdomains | The domain's [`domains`](/docs/development/guides/domains/reference#domains) | **Contains** |
|
|
25
|
+
| Systems | The domain's [`systems`](/docs/development/guides/domains/reference#systems) | **Contains** |
|
|
26
|
+
| Agents | The domain's [`agents`](/docs/development/guides/domains/reference#agents) | **Contains** |
|
|
27
|
+
| Data products | The domain's [`data-products`](/docs/development/guides/domains/reference#data-products) | **Contains** |
|
|
28
|
+
| Services | The domain's [`services`](/docs/development/guides/domains/reference#services) | **Contains** |
|
|
29
|
+
| Flows | The domain's [`flows`](/docs/development/guides/domains/reference#flows) | **Contains** |
|
|
30
|
+
| Entities | The domain's [`entities`](/docs/development/guides/domains/reference#entities) | **Owns** |
|
|
31
|
+
| Events, commands and queries | The domain's [`sends`](/docs/development/guides/domains/reference#sends) and [`receives`](/docs/development/guides/domains/reference#receives) | **Sends**, **Receives** or **Sends & receives** |
|
|
32
|
+
| Decision records | Any ADR whose `appliesTo` includes the domain ([add ADRs to resources](/docs/development/guides/resources/adrs/linking-resources)) | **Governed by** |
|
|
33
|
+
|
|
34
|
+
The **Resources** link only shows in the sidebar when the domain has at least one resource to list.
|
|
35
|
+
|
|
36
|
+
The table has the same filters, sorting and row actions as the service Resources page. See [Service resources page](/docs/development/guides/resources/services/resources-page).
|
|
37
|
+
|
|
38
|
+
:::info Changed in EventCatalog v5
|
|
39
|
+
The sidebar link was called **Domain Resources** and is now **Resources**. The page now lists decision records and has a **Relationship** column. The domain architecture overview page (`/architecture/domains/{domain-id}/{version}`) is removed. Old links redirect to the Resources page, or to the domain's docs page when it has nothing to list.
|
|
40
|
+
:::
|