@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
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sidebar_position: 3
|
|
3
|
-
keywords:
|
|
4
|
-
- Slack Bot
|
|
5
|
-
- Installation
|
|
6
|
-
sidebar_label: Installation
|
|
7
|
-
title: Installation
|
|
8
|
-
description: Install and configure the bot
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
12
|
-
import Tabs from '@theme/Tabs';
|
|
13
|
-
import TabItem from '@theme/TabItem';
|
|
14
|
-
|
|
15
|
-
<PlanBanner plan="Scale" />
|
|
16
|
-
|
|
17
|
-
Install the EventCatalog Slack Bot locally or deploy it to your infrastructure. The bot runs as a long-lived process that maintains a connection to Slack.
|
|
18
|
-
|
|
19
|
-
## Install locally
|
|
20
|
-
|
|
21
|
-
### Clone repository
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
git clone https://github.com/event-catalog/eventcatalog-slack-bot.git
|
|
25
|
-
cd eventcatalog-slack-bot
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### Install dependencies
|
|
29
|
-
|
|
30
|
-
<Tabs>
|
|
31
|
-
<TabItem value="npm" label="npm" default>
|
|
32
|
-
```bash
|
|
33
|
-
npm install
|
|
34
|
-
```
|
|
35
|
-
</TabItem>
|
|
36
|
-
<TabItem value="pnpm" label="pnpm">
|
|
37
|
-
```bash
|
|
38
|
-
pnpm install
|
|
39
|
-
```
|
|
40
|
-
</TabItem>
|
|
41
|
-
</Tabs>
|
|
42
|
-
|
|
43
|
-
### Configure environment
|
|
44
|
-
|
|
45
|
-
Create a `.env` file with your credentials:
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
# EventCatalog Scale License (Required)
|
|
49
|
-
EVENTCATALOG_SCALE_LICENSE_KEY=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
|
|
50
|
-
|
|
51
|
-
# Slack Credentials (Required)
|
|
52
|
-
SLACK_BOT_TOKEN=xoxb-...
|
|
53
|
-
SLACK_APP_TOKEN=xapp-...
|
|
54
|
-
SLACK_SIGNING_SECRET=...
|
|
55
|
-
|
|
56
|
-
# AI Provider (at least one required)
|
|
57
|
-
ANTHROPIC_API_KEY=sk-ant-...
|
|
58
|
-
# OPENAI_API_KEY=sk-...
|
|
59
|
-
# GOOGLE_GENERATIVE_AI_API_KEY=...
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Create configuration
|
|
63
|
-
|
|
64
|
-
Create `eventcatalog-bot.config.ts`:
|
|
65
|
-
|
|
66
|
-
```typescript
|
|
67
|
-
export default {
|
|
68
|
-
eventCatalog: {
|
|
69
|
-
url: 'http://localhost:3000',
|
|
70
|
-
// Optional: Add authentication headers
|
|
71
|
-
// headers: {
|
|
72
|
-
// 'Authorization': 'Bearer your-token',
|
|
73
|
-
// },
|
|
74
|
-
},
|
|
75
|
-
ai: {
|
|
76
|
-
provider: 'anthropic', // 'anthropic' | 'openai' | 'google'
|
|
77
|
-
// model: 'claude-sonnet-4-20250514', // Optional: override default model
|
|
78
|
-
maxSteps: 5,
|
|
79
|
-
temperature: 0.4,
|
|
80
|
-
},
|
|
81
|
-
slack: {
|
|
82
|
-
// Optional: Channel IDs for auto-reply (bot responds to all messages)
|
|
83
|
-
autoReplyChannels: [],
|
|
84
|
-
// Optional: Custom icon URL for bot messages
|
|
85
|
-
icon: 'https://www.eventcatalog.dev/img/logo.png',
|
|
86
|
-
// Optional: Custom username for bot messages
|
|
87
|
-
username: 'EventCatalog',
|
|
88
|
-
},
|
|
89
|
-
};
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### Start the bot
|
|
93
|
-
|
|
94
|
-
<Tabs>
|
|
95
|
-
<TabItem value="npm" label="npm" default>
|
|
96
|
-
```bash
|
|
97
|
-
npm run dev
|
|
98
|
-
```
|
|
99
|
-
</TabItem>
|
|
100
|
-
<TabItem value="pnpm" label="pnpm">
|
|
101
|
-
```bash
|
|
102
|
-
pnpm dev
|
|
103
|
-
```
|
|
104
|
-
</TabItem>
|
|
105
|
-
</Tabs>
|
|
106
|
-
|
|
107
|
-
Or with a custom config path:
|
|
108
|
-
|
|
109
|
-
<Tabs>
|
|
110
|
-
<TabItem value="npm" label="npm" default>
|
|
111
|
-
```bash
|
|
112
|
-
npm run dev -- --config ./my-config.ts
|
|
113
|
-
```
|
|
114
|
-
</TabItem>
|
|
115
|
-
<TabItem value="pnpm" label="pnpm">
|
|
116
|
-
```bash
|
|
117
|
-
pnpm dev --config ./my-config.ts
|
|
118
|
-
```
|
|
119
|
-
</TabItem>
|
|
120
|
-
</Tabs>
|
|
121
|
-
|
|
122
|
-
## Configuration reference
|
|
123
|
-
|
|
124
|
-
### eventCatalog
|
|
125
|
-
|
|
126
|
-
| Option | Type | Required | Description |
|
|
127
|
-
|--------|------|----------|-------------|
|
|
128
|
-
| `url` | string | Yes | URL of your EventCatalog instance |
|
|
129
|
-
| `headers` | object | No | Authentication headers if needed |
|
|
130
|
-
|
|
131
|
-
### ai
|
|
132
|
-
|
|
133
|
-
| Option | Type | Default | Description |
|
|
134
|
-
|--------|------|---------|-------------|
|
|
135
|
-
| `provider` | string | Required | AI provider: `anthropic`, `openai`, or `google` |
|
|
136
|
-
| `model` | string | Provider default | Model to use (see [supported models](#supported-ai-providers)) |
|
|
137
|
-
| `maxSteps` | number | 5 | Maximum tool-calling steps (1-20) |
|
|
138
|
-
| `temperature` | number | 0.4 | AI temperature (0-2) |
|
|
139
|
-
|
|
140
|
-
### slack
|
|
141
|
-
|
|
142
|
-
| Option | Type | Default | Description |
|
|
143
|
-
|--------|------|---------|-------------|
|
|
144
|
-
| `autoReplyChannels` | string[] | [] | Channel IDs where bot auto-replies to all messages |
|
|
145
|
-
| `icon` | string | EventCatalog logo | Custom icon URL for bot messages |
|
|
146
|
-
| `username` | string | 'EventCatalog' | Custom display name for bot messages |
|
|
147
|
-
|
|
148
|
-
## Supported AI providers
|
|
149
|
-
|
|
150
|
-
| Provider | Environment Variable | Default Model |
|
|
151
|
-
|----------|---------------------|---------------|
|
|
152
|
-
| Anthropic | `ANTHROPIC_API_KEY` | `claude-sonnet-4-20250514` |
|
|
153
|
-
| OpenAI | `OPENAI_API_KEY` | `gpt-4o` |
|
|
154
|
-
| Google | `GOOGLE_GENERATIVE_AI_API_KEY` | `gemini-2.0-flash` |
|
|
155
|
-
|
|
156
|
-
You can override the default model in your configuration. For a full list of available models, see the [Vercel AI SDK Providers documentation](https://ai-sdk.dev/providers/ai-sdk-providers).
|
|
157
|
-
|
|
158
|
-
```typescript
|
|
159
|
-
ai: {
|
|
160
|
-
provider: 'anthropic',
|
|
161
|
-
model: 'claude-opus-4-20250514', // Use a different model
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
## License key
|
|
166
|
-
|
|
167
|
-
Get your EventCatalog Scale license key from [eventcatalog.cloud](https://eventcatalog.cloud). A 30-day free trial is available.
|
|
168
|
-
|
|
169
|
-
The license key must be set as the `EVENTCATALOG_SCALE_LICENSE_KEY` environment variable.
|
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sidebar_position: 4
|
|
3
|
-
keywords:
|
|
4
|
-
- Slack Bot
|
|
5
|
-
- Deployment
|
|
6
|
-
- Docker
|
|
7
|
-
sidebar_label: Deployment
|
|
8
|
-
title: Deployment
|
|
9
|
-
description: Deploy the bot to production
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
13
|
-
import Tabs from '@theme/Tabs';
|
|
14
|
-
import TabItem from '@theme/TabItem';
|
|
15
|
-
|
|
16
|
-
<PlanBanner plan="Scale" />
|
|
17
|
-
|
|
18
|
-
Deploy the EventCatalog Slack Bot to your infrastructure. The bot uses Socket Mode, so it maintains an outbound connection to Slack without requiring a public URL, load balancer, or SSL certificates.
|
|
19
|
-
|
|
20
|
-
## Docker
|
|
21
|
-
|
|
22
|
-
The simplest way to deploy is using Docker. The bot includes a Dockerfile and docker-compose configuration.
|
|
23
|
-
|
|
24
|
-
### Build the image
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
docker build -t eventcatalog-slack-bot .
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Run with docker-compose
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
docker compose up -d
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### View logs
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
docker compose logs -f
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
The `docker-compose.yml` file mounts your config and reads environment variables from `.env`:
|
|
43
|
-
|
|
44
|
-
```yaml
|
|
45
|
-
services:
|
|
46
|
-
eventcatalog-slack-bot:
|
|
47
|
-
build: .
|
|
48
|
-
container_name: eventcatalog-slack-bot
|
|
49
|
-
restart: unless-stopped
|
|
50
|
-
env_file:
|
|
51
|
-
- .env
|
|
52
|
-
volumes:
|
|
53
|
-
- ./eventcatalog-bot.config.ts:/app/eventcatalog-bot.config.ts:ro
|
|
54
|
-
environment:
|
|
55
|
-
- NODE_ENV=production
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Docker networking
|
|
59
|
-
|
|
60
|
-
When running the bot in Docker, the container needs network access to your EventCatalog server. Configuration depends on where EventCatalog runs.
|
|
61
|
-
|
|
62
|
-
### EventCatalog on localhost
|
|
63
|
-
|
|
64
|
-
Docker containers cannot use `localhost` to reach the host machine. Use one of these approaches:
|
|
65
|
-
|
|
66
|
-
**Option 1: Use host.docker.internal (recommended)**
|
|
67
|
-
|
|
68
|
-
Update your config to use the special Docker hostname:
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
eventCatalog: {
|
|
72
|
-
url: 'http://host.docker.internal:3000',
|
|
73
|
-
}
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
:::info
|
|
77
|
-
Your EventCatalog server must bind to all interfaces (`0.0.0.0`), not just `localhost`. Check your EventCatalog startup logs. If it shows `localhost:3000`, you may need to start it with a `--host 0.0.0.0` flag.
|
|
78
|
-
:::
|
|
79
|
-
|
|
80
|
-
**Option 2: Run the bot outside Docker**
|
|
81
|
-
|
|
82
|
-
For local development, skip Docker and run the bot directly:
|
|
83
|
-
|
|
84
|
-
<Tabs>
|
|
85
|
-
<TabItem value="npm" label="npm" default>
|
|
86
|
-
```bash
|
|
87
|
-
npm install
|
|
88
|
-
npm run dev
|
|
89
|
-
```
|
|
90
|
-
</TabItem>
|
|
91
|
-
<TabItem value="pnpm" label="pnpm">
|
|
92
|
-
```bash
|
|
93
|
-
pnpm install
|
|
94
|
-
pnpm dev
|
|
95
|
-
```
|
|
96
|
-
</TabItem>
|
|
97
|
-
</Tabs>
|
|
98
|
-
|
|
99
|
-
This avoids networking complexity during development.
|
|
100
|
-
|
|
101
|
-
### EventCatalog in Docker
|
|
102
|
-
|
|
103
|
-
Put both containers on the same Docker network and use the container name as hostname:
|
|
104
|
-
|
|
105
|
-
```yaml
|
|
106
|
-
services:
|
|
107
|
-
eventcatalog:
|
|
108
|
-
# your EventCatalog config
|
|
109
|
-
networks:
|
|
110
|
-
- app-network
|
|
111
|
-
|
|
112
|
-
eventcatalog-slack-bot:
|
|
113
|
-
build: .
|
|
114
|
-
env_file:
|
|
115
|
-
- .env
|
|
116
|
-
volumes:
|
|
117
|
-
- ./eventcatalog-bot.config.ts:/app/eventcatalog-bot.config.ts:ro
|
|
118
|
-
networks:
|
|
119
|
-
- app-network
|
|
120
|
-
|
|
121
|
-
networks:
|
|
122
|
-
app-network:
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
Configure the bot to use the container name:
|
|
126
|
-
|
|
127
|
-
```typescript
|
|
128
|
-
eventCatalog: {
|
|
129
|
-
url: 'http://eventcatalog:3000',
|
|
130
|
-
}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### EventCatalog at public URL
|
|
134
|
-
|
|
135
|
-
Use the public URL directly - no special configuration needed:
|
|
136
|
-
|
|
137
|
-
```typescript
|
|
138
|
-
eventCatalog: {
|
|
139
|
-
url: 'https://your-catalog.example.com',
|
|
140
|
-
}
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## Other deployment options
|
|
144
|
-
|
|
145
|
-
<details>
|
|
146
|
-
<summary>Railway</summary>
|
|
147
|
-
|
|
148
|
-
Railway automatically detects the Dockerfile and deploys the bot.
|
|
149
|
-
|
|
150
|
-
1. Create a new project and connect your repository
|
|
151
|
-
2. Add environment variables in the Railway dashboard:
|
|
152
|
-
- `EVENTCATALOG_SCALE_LICENSE_KEY`
|
|
153
|
-
- `SLACK_BOT_TOKEN`
|
|
154
|
-
- `SLACK_APP_TOKEN`
|
|
155
|
-
- `SLACK_SIGNING_SECRET`
|
|
156
|
-
- `ANTHROPIC_API_KEY` (or your chosen provider)
|
|
157
|
-
3. Add your `eventcatalog-bot.config.ts` to the repository
|
|
158
|
-
4. Deploy - Railway detects the Dockerfile automatically
|
|
159
|
-
|
|
160
|
-
</details>
|
|
161
|
-
|
|
162
|
-
<details>
|
|
163
|
-
<summary>Fly.io</summary>
|
|
164
|
-
|
|
165
|
-
Deploy to Fly.io using their CLI.
|
|
166
|
-
|
|
167
|
-
**Initialize:**
|
|
168
|
-
|
|
169
|
-
```bash
|
|
170
|
-
fly launch --no-deploy
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
**Set secrets:**
|
|
174
|
-
|
|
175
|
-
```bash
|
|
176
|
-
fly secrets set EVENTCATALOG_SCALE_LICENSE_KEY=your-key
|
|
177
|
-
fly secrets set SLACK_BOT_TOKEN=xoxb-...
|
|
178
|
-
fly secrets set SLACK_APP_TOKEN=xapp-...
|
|
179
|
-
fly secrets set SLACK_SIGNING_SECRET=...
|
|
180
|
-
fly secrets set ANTHROPIC_API_KEY=sk-ant-...
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
**Deploy:**
|
|
184
|
-
|
|
185
|
-
```bash
|
|
186
|
-
fly deploy
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
</details>
|
|
190
|
-
|
|
191
|
-
<details>
|
|
192
|
-
<summary>Render</summary>
|
|
193
|
-
|
|
194
|
-
Deploy as a Background Worker on Render.
|
|
195
|
-
|
|
196
|
-
1. Create a new **Background Worker** (not a Web Service)
|
|
197
|
-
2. Connect your repository
|
|
198
|
-
3. Set the build and start commands:
|
|
199
|
-
|
|
200
|
-
<Tabs>
|
|
201
|
-
<TabItem value="npm" label="npm" default>
|
|
202
|
-
- Build command: `npm install && npm run build`
|
|
203
|
-
- Start command: `npm start`
|
|
204
|
-
</TabItem>
|
|
205
|
-
<TabItem value="pnpm" label="pnpm">
|
|
206
|
-
- Build command: `pnpm install && pnpm build`
|
|
207
|
-
- Start command: `pnpm start`
|
|
208
|
-
</TabItem>
|
|
209
|
-
</Tabs>
|
|
210
|
-
|
|
211
|
-
4. Add environment variables in the Render dashboard
|
|
212
|
-
5. Deploy
|
|
213
|
-
|
|
214
|
-
</details>
|
|
215
|
-
|
|
216
|
-
<details>
|
|
217
|
-
<summary>AWS, GCP, or Azure</summary>
|
|
218
|
-
|
|
219
|
-
Deploy as a container or long-running process. The bot requires:
|
|
220
|
-
|
|
221
|
-
- Outbound HTTPS/WSS connections to Slack
|
|
222
|
-
- No inbound connections (Socket Mode handles communication)
|
|
223
|
-
- No load balancers or public endpoints needed
|
|
224
|
-
|
|
225
|
-
Suitable services include:
|
|
226
|
-
|
|
227
|
-
- **AWS:** ECS, EKS, EC2
|
|
228
|
-
- **GCP:** Cloud Run (always running), GKE, Compute Engine
|
|
229
|
-
- **Azure:** Container Instances, AKS, Virtual Machines
|
|
230
|
-
|
|
231
|
-
Ensure the process stays running and can make outbound connections to:
|
|
232
|
-
- `slack.com` (Socket Mode connection)
|
|
233
|
-
- Your EventCatalog instance
|
|
234
|
-
- Your AI provider API
|
|
235
|
-
|
|
236
|
-
</details>
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sidebar_position: 5
|
|
3
|
-
keywords:
|
|
4
|
-
- Slack Bot
|
|
5
|
-
- Usage
|
|
6
|
-
sidebar_label: Using the bot
|
|
7
|
-
title: Using the bot
|
|
8
|
-
description: Query architecture documentation from Slack
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
import PlanBanner from '@site/src/components/MDX/PlanBanner';
|
|
12
|
-
|
|
13
|
-
<PlanBanner plan="Scale" />
|
|
14
|
-
|
|
15
|
-
Interact with the EventCatalog Slack Bot to query your architecture documentation. The bot responds to @mentions and can auto-reply in dedicated channels.
|
|
16
|
-
|
|
17
|
-
## @Mention in any channel
|
|
18
|
-
|
|
19
|
-
Invite the bot to any channel and @mention it to ask questions. The bot replies in a thread to keep channels organized.
|
|
20
|
-
|
|
21
|
-
### Example questions
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
@eventcatalog Tell me about the OrderCreated event
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
@eventcatalog What services consume the InventoryUpdated event?
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
@eventcatalog List all events in the Orders domain
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
@eventcatalog Show me the schema for the PaymentProcessed event
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
The bot reads your EventCatalog documentation and provides detailed answers grounded in your architecture.
|
|
40
|
-
|
|
41
|
-
## Dedicated auto-reply channels
|
|
42
|
-
|
|
43
|
-
Create a channel where the bot automatically responds to every message - no @mention needed. This gives your team a dedicated space for architecture questions.
|
|
44
|
-
|
|
45
|
-
### Setup
|
|
46
|
-
|
|
47
|
-
1. Create a new channel (e.g., `#ask-eventcatalog` or `#ask-eda`)
|
|
48
|
-
2. Invite the bot to the channel
|
|
49
|
-
3. Get the channel ID:
|
|
50
|
-
- Right-click the channel name
|
|
51
|
-
- Click **View channel details**
|
|
52
|
-
- Scroll to the bottom to find the Channel ID
|
|
53
|
-
4. Add the channel ID to your config:
|
|
54
|
-
|
|
55
|
-
```typescript
|
|
56
|
-
slack: {
|
|
57
|
-
autoReplyChannels: ['C0123456789'],
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
5. Restart the bot
|
|
62
|
-
|
|
63
|
-
Now anyone can post questions directly in the channel and receive instant answers.
|
|
64
|
-
|
|
65
|
-
### Multiple channels
|
|
66
|
-
|
|
67
|
-
Configure multiple auto-reply channels:
|
|
68
|
-
|
|
69
|
-
```typescript
|
|
70
|
-
slack: {
|
|
71
|
-
autoReplyChannels: ['C0123456789', 'C9876543210'],
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Thread context
|
|
76
|
-
|
|
77
|
-
The bot automatically reads conversation history in threads. This enables natural follow-up questions without repeating context.
|
|
78
|
-
|
|
79
|
-
### Example conversation
|
|
80
|
-
|
|
81
|
-
**User:** Tell me about the OrderCreated event
|
|
82
|
-
|
|
83
|
-
**Bot:** The OrderCreated event is published when...
|
|
84
|
-
|
|
85
|
-
**User:** What are its consumers?
|
|
86
|
-
|
|
87
|
-
**Bot:** Based on our earlier discussion about OrderCreated, the consumers are...
|
|
88
|
-
|
|
89
|
-
**User:** Show me the schema
|
|
90
|
-
|
|
91
|
-
**Bot:** Here's the schema for OrderCreated...
|
|
92
|
-
|
|
93
|
-
Thread context works automatically in public channels. For private channels and DMs, add optional scopes to your Slack app:
|
|
94
|
-
|
|
95
|
-
- `groups:history` - Private channels
|
|
96
|
-
- `im:history` - Direct messages
|
|
97
|
-
- `mpim:history` - Group DMs
|
|
98
|
-
|
|
99
|
-
After adding scopes, reinstall the app to your workspace.
|
|
100
|
-
|
|
101
|
-
## Best practices
|
|
102
|
-
|
|
103
|
-
### Ask specific questions
|
|
104
|
-
|
|
105
|
-
The bot performs best with clear, specific questions:
|
|
106
|
-
|
|
107
|
-
**Good:**
|
|
108
|
-
- "What services consume the OrderCreated event?"
|
|
109
|
-
- "Show me all events in the Payment domain"
|
|
110
|
-
- "What's the schema format for UserRegistered?"
|
|
111
|
-
|
|
112
|
-
**Less effective:**
|
|
113
|
-
- "Tell me about everything"
|
|
114
|
-
- "What does this system do?"
|
|
115
|
-
|
|
116
|
-
### Use thread conversations
|
|
117
|
-
|
|
118
|
-
Keep related questions in the same thread. The bot uses thread history to provide better context-aware answers.
|
|
119
|
-
|
|
120
|
-
### Name resources clearly
|
|
121
|
-
|
|
122
|
-
Mention specific event names, service names, or domain names to get precise answers:
|
|
123
|
-
|
|
124
|
-
- "Tell me about the **OrderCreated** event"
|
|
125
|
-
- "What events does the **PaymentService** produce?"
|
|
126
|
-
- "List all events in the **Orders** domain"
|
|
127
|
-
|
|
128
|
-
## Invite the bot to channels
|
|
129
|
-
|
|
130
|
-
The bot can only see messages in channels where it's invited.
|
|
131
|
-
|
|
132
|
-
### Invite the bot
|
|
133
|
-
|
|
134
|
-
1. Navigate to the channel
|
|
135
|
-
2. Click the channel name at the top
|
|
136
|
-
3. Click the **Integrations** tab
|
|
137
|
-
4. Click **Add an app**
|
|
138
|
-
5. Search for your bot and add it
|
|
139
|
-
|
|
140
|
-
Alternatively, type `/invite @eventcatalog` in the channel.
|