@eventcatalog/core 5.0.0-beta.9 → 5.0.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/LICENSE +13 -12
- package/README.md +5 -5
- package/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +91 -44
- package/dist/analytics/log-build.d.cts +2 -2
- package/dist/analytics/log-build.d.ts +2 -2
- package/dist/analytics/log-build.js +6 -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/catalog-runtime.cjs +1 -1
- package/dist/{chunk-ZEY2XUJN.js → chunk-46TBJZC3.js} +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-GAHKCOQM.js → chunk-DVHJTQWQ.js} +1 -1
- package/dist/{chunk-TZVDMWQX.js → chunk-HFR5OPHV.js} +4 -2
- package/dist/{chunk-4CFZUHGG.js → chunk-KTXSCPEK.js} +1 -1
- package/dist/{chunk-ENAG6UH7.js → chunk-NKNOXQ62.js} +1 -6
- package/dist/{chunk-36RYTYT5.js → chunk-PD7KTSYN.js} +1 -1
- package/dist/chunk-S5GWAUG5.js +29 -0
- package/dist/{chunk-EUNQJO3J.js → chunk-UWAXRTAJ.js} +1 -1
- package/dist/{chunk-JQMYHZWI.js → chunk-YPWK5ITM.js} +15 -7
- 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 +340 -249
- package/dist/eventcatalog.config.d.cts +18 -15
- package/dist/eventcatalog.config.d.ts +18 -15
- package/dist/eventcatalog.js +46 -28
- 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 +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 +12 -12
- 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
|
@@ -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
|
+
:::
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 1
|
|
3
|
+
keywords:
|
|
4
|
+
- domain diagram
|
|
5
|
+
- domains
|
|
6
|
+
- EventCatalog visualizer
|
|
7
|
+
- cross-domain communication
|
|
8
|
+
sidebar_label: Domain diagram
|
|
9
|
+
title: Domain diagram
|
|
10
|
+
description: Visualize a domain, its systems, and the domains it talks to, from a high-level overview down to messages and channels.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
14
|
+
|
|
15
|
+
<AddedIn version="5.0.0" />
|
|
16
|
+
|
|
17
|
+
Every domain has a **Diagram** page. It shows the domain at three levels of detail, from the other domains it talks to down to the messages and channels its services send and receive.
|
|
18
|
+
|
|
19
|
+
Open it from **Diagram** in the **Architecture** section of the domain sidebar, or at:
|
|
20
|
+
|
|
21
|
+
```txt
|
|
22
|
+
/visualiser/domains/{domain-id}/{version}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+

|
|
26
|
+
|
|
27
|
+
## Levels
|
|
28
|
+
|
|
29
|
+
Switch levels with **L1**, **L2** and **L3** in the canvas toolbar at the bottom of the diagram.
|
|
30
|
+
|
|
31
|
+
| Level | What it shows |
|
|
32
|
+
|-------|---------------|
|
|
33
|
+
| **L1** | The domain with its systems and subdomains, and the other domains they send messages to or receive messages from. |
|
|
34
|
+
| **L2** | Expands the systems into their services and data stores, and how they connect. |
|
|
35
|
+
| **L3** | Adds the messages and channels. |
|
|
36
|
+
|
|
37
|
+

|
|
38
|
+
|
|
39
|
+
The page opens at level 1. The level is kept in the URL, so a shared link opens at the same level. Use `?level=` to open a level directly:
|
|
40
|
+
|
|
41
|
+
```txt
|
|
42
|
+
/visualiser/domains/Payments/1.0.0?level=2
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### How resources are placed
|
|
46
|
+
|
|
47
|
+
- Subdomains are shown as domains inside the domain, with their own systems and services. At L1, a subdomain without systems is a single card.
|
|
48
|
+
- Other domains' subdomains are shown inside a box for their parent domain.
|
|
49
|
+
- Services that are not in a system are shown with the resources they connect to.
|
|
50
|
+
- Messages and channels that only other domains send through are placed outside the domain.
|
|
51
|
+
- A domain without systems or subdomains opens at L2, and L1 is greyed out.
|
|
52
|
+
|
|
53
|
+
## Highlight cross-domain communication
|
|
54
|
+
|
|
55
|
+
When the diagram includes other domains, the canvas toolbar has a **Highlight cross-domain communication** button. It picks out the edges to and from other domains on the level you are viewing. It doesn't change the level.
|
|
56
|
+
|
|
57
|
+
Use it to find where a domain depends on other domains, and which messages cross the domain boundary.
|
|
58
|
+
|
|
59
|
+
The canvas toolbar and menu also let you simulate messages, hide messages or channels, and hide resource types from the legend. See [NodeGraph interactive controls](/docs/development/components/components/nodegraph#interactive-controls).
|
|
60
|
+
|
|
61
|
+
## Show the diagram on the domain page
|
|
62
|
+
|
|
63
|
+
Add `<NodeGraph />` to a domain page to embed its diagram. It opens at level 1.
|
|
64
|
+
|
|
65
|
+
```md title="/domains/Payments/index.mdx"
|
|
66
|
+
---
|
|
67
|
+
id: Payments
|
|
68
|
+
name: Payments
|
|
69
|
+
version: 1.0.0
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Architecture
|
|
73
|
+
|
|
74
|
+
<NodeGraph />
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Learn more in the [NodeGraph component](/docs/development/components/components/nodegraph) docs.
|
|
78
|
+
|
|
79
|
+
## Turn off the diagram
|
|
80
|
+
|
|
81
|
+
Domains with [`visualiser: false`](/docs/development/guides/domains/reference#visualiser) in their frontmatter don't get a Diagram page.
|
|
82
|
+
|
|
83
|
+
:::info Changed in EventCatalog v5
|
|
84
|
+
The domain's **System Diagram** and **Resource Diagram** pages are replaced by the single **Diagram** page. The old System Diagram route (`/visualiser/domains/{domain-id}/{version}/systems-context`) redirects to level 1.
|
|
85
|
+
|
|
86
|
+
The Domain Integration Map (`/visualiser/domain-integrations`) is removed. Level 1 of each domain's diagram shows how it integrates with other domains.
|
|
87
|
+
|
|
88
|
+
Layouts saved in dev mode for a domain's old Resource Diagram don't carry over to the new page. Save the layout again if you need it.
|
|
89
|
+
:::
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"label": "Visualize domains",
|
|
3
3
|
"position": 6,
|
|
4
|
-
"className": "hidden",
|
|
5
4
|
"collapsible": true,
|
|
6
5
|
"collapsed": true,
|
|
7
6
|
"link": {
|
|
8
7
|
"type": "generated-index",
|
|
9
8
|
"slug": "/domains/visualize-domains",
|
|
10
|
-
"description": "Visualize domain
|
|
9
|
+
"description": "Visualize a domain, its systems, and how it integrates with other domains."
|
|
11
10
|
}
|
|
12
11
|
}
|
|
@@ -37,11 +37,11 @@ Ubiquitous language for a domain is documented in a sidecar file:
|
|
|
37
37
|
| Route | Description |
|
|
38
38
|
|-------|-------------|
|
|
39
39
|
| `/docs/domains/{domain-id}/{version}` | Domain documentation page. |
|
|
40
|
+
| `/docs/domains/{domain-id}/{version}/resources` | [Resources page](/docs/development/guides/domains/add-resources-to-domains/domain-resources-page) listing the resources attached to the domain. |
|
|
40
41
|
| `/docs/domains/{domain-id}/language` | Ubiquitous language dictionary. |
|
|
41
42
|
| `/docs/domains/{domain-id}/language/{term-id}` | Ubiquitous language term page. |
|
|
42
|
-
| `/visualiser/domains/{domain-id}/{version}` | Domain
|
|
43
|
-
| `/visualiser/domains/{domain-id}/{version}/
|
|
44
|
-
| `/visualiser/domains/{domain-id}/{version}/entity-map` | Entity map for entities inside a domain. |
|
|
43
|
+
| `/visualiser/domains/{domain-id}/{version}` | [Domain diagram](/docs/development/guides/domains/visualize-domains/domain-diagram), with levels L1 to L3. Add `?level=1`, `?level=2` or `?level=3` to open a level directly. |
|
|
44
|
+
| `/visualiser/domains/{domain-id}/{version}/entity-map` | Entity Diagram for entities inside a domain. |
|
|
45
45
|
|
|
46
46
|
## Frontmatter example
|
|
47
47
|
|
|
@@ -199,7 +199,7 @@ domains:
|
|
|
199
199
|
|
|
200
200
|
### `systems` {#systems}
|
|
201
201
|
|
|
202
|
-
<AddedIn version="4.0" />
|
|
202
|
+
<AddedIn version="4.0.0" />
|
|
203
203
|
|
|
204
204
|
An array of [system](/docs/development/guides/systems/introduction) ids that belong to this domain.
|
|
205
205
|
|
package/dist/docs/development/guides/owners/automated-teams-and-users/create-your-own-connector.md
CHANGED
|
@@ -10,9 +10,7 @@ description: Build a custom directory connector to sync users and teams from any
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
13
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
14
13
|
|
|
15
|
-
<PlanBanner plan="Scale" />
|
|
16
14
|
<AddedIn version="3.44.0" pkg="@eventcatalog/connectors" />
|
|
17
15
|
|
|
18
16
|
Connectors are how EventCatalog imports and syncs users and teams from an external source so you can assign them as owners on resources in your catalog. EventCatalog ships with built-in connectors (such as [Sync from GitHub](/docs/development/guides/owners/sync-from-github) and [Sync from Microsoft Entra ID](/docs/development/guides/owners/sync-from-microsoft-entra)), but if your team uses a different system — an internal HR tool, an LDAP directory, a SaaS like Okta, or anything else — you can write your own connector with a small amount of custom code.
|
|
@@ -11,9 +11,6 @@ description: Sync GitHub organization teams and members into EventCatalog as use
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
14
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
15
|
-
|
|
16
|
-
<PlanBanner plan="Scale" />
|
|
17
14
|
|
|
18
15
|
In EventCatalog, you can import and sync your users and teams directly from GitHub. Instead of adding people and teams by hand, you point EventCatalog at your GitHub organization and the catalog stays in sync with it automatically. Once synced, your GitHub teams and users can be assigned as owners on any resource in the catalog (services, events, domains, and more).
|
|
19
16
|
|
package/dist/docs/development/guides/owners/automated-teams-and-users/sync-from-microsoft-entra.md
CHANGED
|
@@ -12,9 +12,7 @@ description: Sync Microsoft Entra ID groups and direct members into EventCatalog
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
15
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
16
15
|
|
|
17
|
-
<PlanBanner plan="Scale" />
|
|
18
16
|
<AddedIn version="3.45.0" pkg="@eventcatalog/connectors" />
|
|
19
17
|
|
|
20
18
|
In EventCatalog, you can import and sync your users and teams directly from Microsoft Entra ID. Instead of adding people and teams by hand, you point EventCatalog at selected Entra groups and the catalog keeps those teams and their direct members in sync.
|
|
@@ -50,3 +50,11 @@ appliesTo:
|
|
|
50
50
|
When a resource has one or more ADRs linked via `appliesTo`, a **Decision Records** group appears in that resource's sidebar. Each linked ADR shows its name and links directly to the decision page.
|
|
51
51
|
|
|
52
52
|
This means engineers reading a service or event page can immediately see which architectural choices affect it, without leaving the page.
|
|
53
|
+
|
|
54
|
+
### On the Resources page
|
|
55
|
+
|
|
56
|
+
<AddedIn version="5.0.0" />
|
|
57
|
+
|
|
58
|
+
Linked ADRs are also listed on the resource's **Resources** page (**Quick Reference** > **Resources** in the sidebar), with the relationship **Governed by**. When the page lists other kinds of resource too, use the **Decision Records** filter to show only the ADRs. This works for domains, systems, services, flows, channels, events, commands and queries.
|
|
59
|
+
|
|
60
|
+
See the [service Resources page](/docs/development/guides/resources/services/resources-page) for how the page works.
|
|
@@ -70,13 +70,11 @@ version: 1.0.0
|
|
|
70
70
|
---
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
## Optional fields
|
|
74
|
-
|
|
75
73
|
### `status` {#status}
|
|
76
74
|
|
|
77
75
|
- Type: `proposed`, `accepted`, `rejected`, `deprecated`, or `superseded`
|
|
78
76
|
|
|
79
|
-
Lifecycle status for the decision.
|
|
77
|
+
Lifecycle status for the decision. EventCatalog groups ADRs by status in the sidebar and shows it on the ADR's page.
|
|
80
78
|
|
|
81
79
|
```md title="Example"
|
|
82
80
|
---
|
|
@@ -88,7 +86,7 @@ status: accepted
|
|
|
88
86
|
|
|
89
87
|
- Type: `date`
|
|
90
88
|
|
|
91
|
-
Date the decision was created or recorded.
|
|
89
|
+
Date the decision was created or recorded. EventCatalog shows it on the ADR's page and sorts ADRs by it.
|
|
92
90
|
|
|
93
91
|
```md title="Example"
|
|
94
92
|
---
|
|
@@ -96,6 +94,8 @@ date: 2026-06-01
|
|
|
96
94
|
---
|
|
97
95
|
```
|
|
98
96
|
|
|
97
|
+
## Optional fields
|
|
98
|
+
|
|
99
99
|
### `summary` {#summary}
|
|
100
100
|
|
|
101
101
|
- Type: `string`
|
|
@@ -30,7 +30,7 @@ Versioned agents use:
|
|
|
30
30
|
| Route | Description |
|
|
31
31
|
|-------|-------------|
|
|
32
32
|
| `/docs/agents/{agent-id}/{version}` | Agent documentation page. |
|
|
33
|
-
| `/visualiser/agents/{agent-id}/{version}` | Agent
|
|
33
|
+
| `/visualiser/agents/{agent-id}/{version}` | Agent diagram (**Diagram** in the sidebar). |
|
|
34
34
|
|
|
35
35
|
## Required fields
|
|
36
36
|
|
|
@@ -30,7 +30,7 @@ Versioned data stores use:
|
|
|
30
30
|
| Route | Description |
|
|
31
31
|
|-------|-------------|
|
|
32
32
|
| `/docs/containers/{container-id}/{version}` | Data store documentation page. |
|
|
33
|
-
| `/visualiser/containers/{container-id}/{version}` | Data store
|
|
33
|
+
| `/visualiser/containers/{container-id}/{version}` | Data store diagram (**Diagram** in the sidebar). |
|
|
34
34
|
|
|
35
35
|
## Required fields
|
|
36
36
|
|
|
@@ -29,7 +29,7 @@ Versioned data products use:
|
|
|
29
29
|
| Route | Description |
|
|
30
30
|
|-------|-------------|
|
|
31
31
|
| `/docs/data-products/{data-product-id}/{version}` | Data product documentation page. |
|
|
32
|
-
| `/visualiser/data-products/{data-product-id}/{version}` | Data product
|
|
32
|
+
| `/visualiser/data-products/{data-product-id}/{version}` | Data product diagram (**Diagram** in the sidebar). |
|
|
33
33
|
|
|
34
34
|
## Required fields
|
|
35
35
|
|
|
@@ -30,7 +30,7 @@ Domains and services have dedicated entity map routes:
|
|
|
30
30
|
/visualiser/services/{id}/{version}/entity-map
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
When a domain or service has entities assigned, an **Entity
|
|
33
|
+
When a domain or service has entities assigned, an **Entity Diagram** link appears automatically in the **Architecture** section of the resource sidebar.
|
|
34
34
|
|
|
35
35
|
## Embed an entity map
|
|
36
36
|
|
|
@@ -41,8 +41,8 @@ Nested entities use the same `versioned/{version}/index.mdx` pattern inside thei
|
|
|
41
41
|
|-------|-------------|
|
|
42
42
|
| `/docs/entities/{entity-id}/{version}` | Entity documentation page. |
|
|
43
43
|
| `/visualiser/entities/{entity-id}/{version}` | Entity resource diagram. |
|
|
44
|
-
| `/visualiser/domains/{domain-id}/{version}/entity-map` | Entity
|
|
45
|
-
| `/visualiser/services/{service-id}/{version}/entity-map` | Entity
|
|
44
|
+
| `/visualiser/domains/{domain-id}/{version}/entity-map` | Entity Diagram for entities assigned to a domain. |
|
|
45
|
+
| `/visualiser/services/{service-id}/{version}/entity-map` | Entity Diagram for entities assigned to a service. |
|
|
46
46
|
|
|
47
47
|
## Frontmatter example
|
|
48
48
|
|
|
@@ -14,10 +14,20 @@ Flows are a way to document business workflows in your organization. Flows help
|
|
|
14
14
|
|
|
15
15
|
An example of a flow could be user purchasing a product in an e-commerce store. They start by logging into a service, getting onboarded and purchasing something from a business. Across this journey may applications, databases, interactions are happening. Flows let you capture these.
|
|
16
16
|
|
|
17
|
-
You can reuse your documented resources (e.g services, messages, data stores, data products) in your flows.
|
|
17
|
+
You can reuse your documented resources (e.g services, messages, channels, data stores, data products) in your flows.
|
|
18
18
|
|
|
19
19
|

|
|
20
20
|
|
|
21
|
+
## Explore a flow
|
|
22
|
+
|
|
23
|
+
Each flow gets a diagram you can explore:
|
|
24
|
+
|
|
25
|
+
- **Group by** domain, system or team to see which parts of your architecture each step belongs to.
|
|
26
|
+
- **Walk through** the flow one step at a time, choosing the way on at each branch.
|
|
27
|
+
- Open the flow's **Resources** page from **Quick Reference** in the sidebar to see the services, messages, agents, data stores, data products and sub-flows its steps use.
|
|
28
|
+
|
|
29
|
+
See [Explore flows](/docs/development/guides/resources/flows/explore-flows) for details.
|
|
30
|
+
|
|
21
31
|
<!-- [You can see a payment flow example here](https://demo.eventcatalog.dev/visualiser/flows/PaymentFlow/1.0.0). -->
|
|
22
32
|
|
|
23
33
|
|
|
@@ -13,7 +13,7 @@ import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
|
13
13
|
|
|
14
14
|
Nodes are the building blocks of flows. They are used to represent the different steps in a flow.
|
|
15
15
|
|
|
16
|
-
With flow nodes you can reference your services, events, commands and queries, external services, users (actors), data stores, data products, or create your own custom nodes.
|
|
16
|
+
With flow nodes you can reference your services, events, commands and queries, channels, external services, users (actors), data stores, data products, or create your own custom nodes.
|
|
17
17
|
|
|
18
18
|
## Common step properties
|
|
19
19
|
|
|
@@ -22,16 +22,47 @@ Every flow step (regardless of node type) supports these properties:
|
|
|
22
22
|
| Property | Type | Required | Description |
|
|
23
23
|
|----------|------|----------|-------------|
|
|
24
24
|
| `id` | `string \| number` | **Yes** | Unique identifier for the step |
|
|
25
|
-
| `title` | `string` |
|
|
25
|
+
| `title` | `string` | No | The label displayed on the node in the flow diagram. Defaults to the name of the resource the step references, the actor's, external system's or custom node's name, or the step's `id` (optional since 5.0.0) |
|
|
26
26
|
| `summary` | `string` | No | A short description shown in the node sidebar |
|
|
27
|
-
| `type` | `
|
|
27
|
+
| `type` | `string` | No | Accepted but ignored. The node type comes from the node type property the step uses (see [Flow node types](#flow-node-types)) |
|
|
28
28
|
| `next_step` | [Step reference](#connecting-steps) | No | The next step in the flow (cannot be used with `next_steps`) |
|
|
29
29
|
| `next_steps` | [Step reference](#connecting-steps)[] | No | Multiple next steps for branching (cannot be used with `next_step`) |
|
|
30
|
+
| `x-*` | any | No | Your own metadata. Custom step properties must start with `x-` |
|
|
30
31
|
|
|
31
32
|
:::tip Type exclusivity rule
|
|
32
|
-
Each step can only use **one** node type property. You cannot combine `message`, `service`, `flow`, `container`, `dataProduct`, `actor`, `custom`, or `externalSystem` on the same step.
|
|
33
|
+
Each step can only use **one** node type property. You cannot combine `message`, `service`, `agent`, `channel`, `flow`, `container`, `dataProduct`, `actor`, `custom`, or `externalSystem` on the same step. From 5.0.0, a step that uses two node types fails the build (see [Mistakes in flow steps](#mistakes-in-flow-steps)).
|
|
33
34
|
:::
|
|
34
35
|
|
|
36
|
+
## Mistakes in flow steps {#mistakes-in-flow-steps}
|
|
37
|
+
|
|
38
|
+
<AddedIn version="5.0.0" />
|
|
39
|
+
|
|
40
|
+
EventCatalog checks your flow steps when it builds, so mistakes don't fail silently.
|
|
41
|
+
|
|
42
|
+
These fail the build, with a message naming the step and what to change:
|
|
43
|
+
|
|
44
|
+
- **Unknown step properties**, such as a typo like `servce:`. Custom properties must start with `x-` (for example `x-runbook`).
|
|
45
|
+
- **A step that uses two node types**, for example `message` and `service` on the same step. Split it into two steps.
|
|
46
|
+
- **A step that uses both `next_step` and `next_steps`**. Use `next_step` for one next step, or `next_steps` for several.
|
|
47
|
+
|
|
48
|
+
```txt
|
|
49
|
+
Step "checkout" points at message and service. A step can only be one thing, so split it into two steps.
|
|
50
|
+
Step "checkout" has both next_step and next_steps. Use next_step for one next step, or next_steps for several.
|
|
51
|
+
Unknown property "servce". Custom properties must start with "x-".
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
These log a warning naming the flow and step, and the build carries on:
|
|
55
|
+
|
|
56
|
+
- **A `next_step` or `next_steps` entry that points at a step id that isn't in the flow.** The arrow is left out.
|
|
57
|
+
- **A reference to a resource that isn't in the catalog** (for example a renamed service). The step is shown as a plain step.
|
|
58
|
+
|
|
59
|
+
```txt
|
|
60
|
+
[flows] Flow "Checkout" (1.0.0): step "start" leads to step "paymnet", but the flow has no step with that id.
|
|
61
|
+
[flows] Flow "Checkout" (1.0.0): step "start" points at service "OrderServce" (latest), which is not in the catalog, so it is shown as a plain step.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
To catch these before you build, run the [EventCatalog Linter](/docs/development/developer-tools/eventcatalog-linter/reference/rules). It reports the same mistakes, including next steps that aren't in the flow (`refs/flow-step-exists`).
|
|
65
|
+
|
|
35
66
|
## Connecting steps {#connecting-steps}
|
|
36
67
|
|
|
37
68
|
Use `next_step` or `next_steps` (not both) to connect steps together.
|
|
@@ -63,6 +94,7 @@ next_steps:
|
|
|
63
94
|
- [actor](#actor) — Represents a person in your flow diagram
|
|
64
95
|
- [externalSystem](#externalsystem) — Represents an external system in your flow diagram
|
|
65
96
|
- [message](#message) — Represents an event, command or query resource in EventCatalog
|
|
97
|
+
- [channel](#channel) — Represents a channel resource in EventCatalog (added in EventCatalog 5.0.0)
|
|
66
98
|
- [service](#service) — Represents a service resource in EventCatalog
|
|
67
99
|
- [agent](#agent) — Represents an agent resource in EventCatalog (added in EventCatalog 3.41.0)
|
|
68
100
|
- [flow](#flow) — Represents a flow in EventCatalog (added in EventCatalog 2.34.2)
|
|
@@ -73,7 +105,7 @@ next_steps:
|
|
|
73
105
|
|
|
74
106
|
### default node type {#default}
|
|
75
107
|
|
|
76
|
-
A blank node type with just a title in your flow. No additional properties are needed beyond the [common step properties](#common-step-properties).
|
|
108
|
+
A blank node type with just a title in your flow. No additional properties are needed beyond the [common step properties](#common-step-properties). If you leave out `title`, the node shows the step's `id`.
|
|
77
109
|
|
|
78
110
|
```yml
|
|
79
111
|
steps:
|
|
@@ -151,6 +183,33 @@ steps:
|
|
|
151
183
|
|
|
152
184
|
---
|
|
153
185
|
|
|
186
|
+
### channel {#channel}
|
|
187
|
+
|
|
188
|
+
<AddedIn version="5.0.0" />
|
|
189
|
+
|
|
190
|
+
Represents and refers to a [channel](/docs/development/guides/resources/messages/message-channels/introduction) resource in EventCatalog. The step renders as a channel node that links to the channel's docs.
|
|
191
|
+
|
|
192
|
+
#### Channel properties
|
|
193
|
+
|
|
194
|
+
| Property | Type | Required | Description |
|
|
195
|
+
|----------|------|----------|-------------|
|
|
196
|
+
| `id` | `string` | **Yes** | The id of the channel in your catalog |
|
|
197
|
+
| `version` | `string` | No | The version to reference (defaults to `latest`) |
|
|
198
|
+
|
|
199
|
+
```yml
|
|
200
|
+
steps:
|
|
201
|
+
- id: "orders_topic"
|
|
202
|
+
title: "Orders topic"
|
|
203
|
+
channel:
|
|
204
|
+
id: "orders"
|
|
205
|
+
version: "1.0.0"
|
|
206
|
+
next_step:
|
|
207
|
+
id: "inventory_service"
|
|
208
|
+
label: "Deliver to subscribers"
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
154
213
|
### service
|
|
155
214
|
|
|
156
215
|
Represents and refers to a service resource in EventCatalog.
|
|
@@ -308,7 +367,7 @@ You can view a UI example of a custom nodes [here](https://demo.eventcatalog.dev
|
|
|
308
367
|
|
|
309
368
|
| Property | Type | Required | Description |
|
|
310
369
|
|----------|------|----------|-------------|
|
|
311
|
-
| `title` | `string` |
|
|
370
|
+
| `title` | `string` | No | The title shown on the node. Defaults to the step's `title` (required before 5.0.0) |
|
|
312
371
|
| `icon` | `string` | No | Icon shown on the node (see [Heroicons](https://heroicons.com/) for the list of icons) |
|
|
313
372
|
| `type` | `string` | No | A type label shown on the sidebar of the node (e.g. "Scheduler", "Database") |
|
|
314
373
|
| `summary` | `string` | No | A short description of the node |
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 5
|
|
3
|
+
keywords:
|
|
4
|
+
- EventCatalog flows
|
|
5
|
+
- Flow diagram
|
|
6
|
+
- Group by
|
|
7
|
+
- Swimlanes
|
|
8
|
+
sidebar_label: Explore flows
|
|
9
|
+
title: Explore flows
|
|
10
|
+
description: Group a flow's steps by domain, system or team, walk through a flow step by step, and see the resources a flow uses.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
14
|
+
|
|
15
|
+
Every flow has a diagram. Open it from **Architecture** > **Flow Diagram** in the flow's sidebar, or go to `/visualiser/flows/{flow-id}/{version}`. The same diagram renders on the flow's docs page.
|
|
16
|
+
|
|
17
|
+
From the diagram you can group the steps by who owns them, walk through the flow one step at a time, and open the resources the flow uses.
|
|
18
|
+
|
|
19
|
+

|
|
20
|
+
|
|
21
|
+
:::info Flows don't use levels
|
|
22
|
+
Other diagrams have L1, L2 and L3 levels in the canvas toolbar. Flow diagrams don't have levels. Use **Group by** to see where the steps sit in your architecture.
|
|
23
|
+
:::
|
|
24
|
+
|
|
25
|
+
## Group steps by domain, system or team
|
|
26
|
+
|
|
27
|
+
<AddedIn version="5.0.0" />
|
|
28
|
+
|
|
29
|
+
Use **Group by** in the top right of the diagram, or press <kbd>G</kbd>, to group the flow's steps:
|
|
30
|
+
|
|
31
|
+
| Option | What it does |
|
|
32
|
+
|--------|--------------|
|
|
33
|
+
| **Nothing** | No groups (the default). |
|
|
34
|
+
| **Domain** | One group per domain. |
|
|
35
|
+
| **System** | One group per system. |
|
|
36
|
+
| **Team** | One group per owning team. |
|
|
37
|
+
| **Domain, then system** | Systems nested inside their domain. |
|
|
38
|
+
|
|
39
|
+
Each option shows how many groups it makes (for example "3 systems"). The menu only lists options the flow has groups for.
|
|
40
|
+
|
|
41
|
+
Under **Show groups as**, choose how the groups are drawn:
|
|
42
|
+
|
|
43
|
+
- **Boxes**: a box around each group's steps. This is the default.
|
|
44
|
+
- **Lanes**: full-width lanes stacked top to bottom, with the group's name down the left-hand side.
|
|
45
|
+
|
|
46
|
+
Lanes don't nest, so **Domain, then system** always uses boxes. If you pick **Lanes** with it, the flow is grouped by domain only.
|
|
47
|
+
|
|
48
|
+
To stop grouping, click the **×** next to **Group by**, or choose **Nothing**.
|
|
49
|
+
|
|
50
|
+
### Where the groups come from
|
|
51
|
+
|
|
52
|
+
You don't need to change your flows to group them. EventCatalog works out each step's group from your catalog:
|
|
53
|
+
|
|
54
|
+
| Step | Group |
|
|
55
|
+
|------|-------|
|
|
56
|
+
| Services, agents, data stores and data products | The domain and system they belong to, and their owning team. A resource listed by a domain directly belongs to that domain, otherwise it belongs to the domain of its system. |
|
|
57
|
+
| Systems | That system, and the domain that lists it. |
|
|
58
|
+
| Messages, channels, custom steps and sub-flows | The group of the step before them. A step at the start of the flow takes the group of the step it leads to. |
|
|
59
|
+
| Actors and external systems | A group of their own, named **External**. |
|
|
60
|
+
|
|
61
|
+
The team group comes from the resource's `owners`. When a resource has several owners, a team wins over a user. Hidden teams and users are left out.
|
|
62
|
+
|
|
63
|
+
Steps that don't belong to any group sit outside the boxes. With lanes, they go in a lane named after what's missing, for example **No system**.
|
|
64
|
+
|
|
65
|
+
### Share a grouped flow
|
|
66
|
+
|
|
67
|
+
The grouping is kept in the URL, so a link opens the flow grouped the same way:
|
|
68
|
+
|
|
69
|
+
```txt
|
|
70
|
+
/visualiser/flows/place-an-order/1.0.0?group=system&groupStyle=boxes
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
| Parameter | Values |
|
|
74
|
+
|-----------|--------|
|
|
75
|
+
| `group` | `domain`, `system`, `team`, `domain-system` |
|
|
76
|
+
| `groupStyle` | `boxes`, `lanes` |
|
|
77
|
+
|
|
78
|
+
To embed a flow that starts grouped, use the [`lanes` prop on the `<Flow />` component](/docs/development/components/components/flow), for example `<Flow id="place-an-order" lanes="team" />`.
|
|
79
|
+
|
|
80
|
+
### What changes while a flow is grouped
|
|
81
|
+
|
|
82
|
+
- **Save Layout** is hidden in dev mode, because grouped steps are placed inside their groups. Stop grouping to save a layout.
|
|
83
|
+
- **Copy as mermaid** and **Render as mermaid** leave the groups out.
|
|
84
|
+
- Sub-flows can't be expanded inline.
|
|
85
|
+
|
|
86
|
+
## Walk through a flow
|
|
87
|
+
|
|
88
|
+
The walkthrough card in the bottom left of the diagram steps through the flow one hop at a time. It names the step the flow starts at and how many steps the flow has.
|
|
89
|
+
|
|
90
|
+
1. Click **Start** on the **Walk through this flow** card. The walkthrough starts at the first step.
|
|
91
|
+
2. Click **Next**, or press <kbd>→</kbd>, to move to the next step. Click **Back**, or press <kbd>←</kbd>, to go back.
|
|
92
|
+
3. At a branch, pick the way on from the dropdown (or press its number, <kbd>1</kbd> to <kbd>9</kbd>), then click **Next**.
|
|
93
|
+
4. At the end of the flow, click **Restart** to walk through again, or **Finish** to see the whole flow. Press <kbd>Esc</kbd> at any time to stop.
|
|
94
|
+
|
|
95
|
+
While you walk through:
|
|
96
|
+
|
|
97
|
+
- The steps you've walked are numbered, and the current step is ringed.
|
|
98
|
+
- The card shows the current step's type, title and summary. Click **More** to read a long summary in full.
|
|
99
|
+
- Click the link icon on the card to open the current step's docs.
|
|
100
|
+
- If you change the grouping, the walkthrough carries on from the same step.
|
|
101
|
+
|
|
102
|
+
The walkthrough shows on the flow's diagram page and docs page. On a [`<Flow />` embed](/docs/development/components/components/flow), turn it on with `walkthrough={true}`.
|
|
103
|
+
|
|
104
|
+
## See the resources a flow uses
|
|
105
|
+
|
|
106
|
+
<AddedIn version="5.0.0" />
|
|
107
|
+
|
|
108
|
+
Every flow that references catalog resources gets a **Resources** page. Open it from **Quick Reference** > **Resources** in the flow's sidebar, or go to `/docs/flows/{flow-id}/{version}/resources`.
|
|
109
|
+
|
|
110
|
+
The page lists the services, messages (events, commands and queries), agents, data stores, data products and sub-flows the flow's steps use, and the decision records (ADRs) that apply to the flow. Use the filters to narrow the list by type, or search by name.
|
|
111
|
+
|
|
112
|
+
The **Resources** link only shows in the sidebar when the flow has at least one resource to list.
|