@eventcatalog/core 4.10.13 → 4.10.15

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.
Files changed (164) hide show
  1. package/dist/analytics/analytics.cjs +1 -1
  2. package/dist/analytics/analytics.js +2 -2
  3. package/dist/analytics/log-build.cjs +1 -1
  4. package/dist/analytics/log-build.js +3 -3
  5. package/dist/{chunk-SSSN5FXC.js → chunk-7LWOCX4R.js} +1 -1
  6. package/dist/{chunk-IIECZFXN.js → chunk-A4JRWRCV.js} +1 -1
  7. package/dist/{chunk-JHUICVBT.js → chunk-HBVTU6ZP.js} +1 -1
  8. package/dist/{chunk-PADMH2RJ.js → chunk-I6HUOX4R.js} +1 -1
  9. package/dist/{chunk-34RMFKFB.js → chunk-Q2ATWE7N.js} +1 -1
  10. package/dist/constants.cjs +1 -1
  11. package/dist/constants.js +1 -1
  12. package/dist/docs/api/02-config.md +60 -6
  13. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/02-configuration.md +18 -11
  14. package/dist/docs/development/authentication/providers/03-setting-up-github.md +29 -0
  15. package/dist/docs/development/bring-your-own-documentation/custom-pages/02-adding-custom-docs.md +2 -2
  16. package/dist/docs/development/bring-your-own-documentation/custom-pages/03-components.md +17 -0
  17. package/dist/docs/development/components/07-resource-references.md +7 -1
  18. package/dist/docs/development/components/components/05-architecture-graph.md +65 -0
  19. package/dist/docs/development/components/components/{05-attachments.md → 06-attachments.md} +1 -1
  20. package/dist/docs/development/components/components/{06-channel-information.md → 07-channel-information.md} +1 -1
  21. package/dist/docs/development/components/components/{07-custom-properties.md → 08-custom-properties.md} +1 -1
  22. package/dist/docs/development/components/components/{08-design.md → 09-design.md} +1 -1
  23. package/dist/docs/development/components/components/{09-entitymap.md → 10-entitymap.md} +1 -1
  24. package/dist/docs/development/components/components/{10-flow.md → 11-flow.md} +1 -1
  25. package/dist/docs/development/components/components/{11-link.md → 12-link.md} +1 -1
  26. package/dist/docs/development/components/components/{12-mermaid-file-loader.md → 13-mermaid-file-loader.md} +13 -1
  27. package/dist/docs/development/components/components/{13-message-table.md → 14-message-table.md} +1 -1
  28. package/dist/docs/development/components/components/{14-nodegraph.md → 15-nodegraph.md} +1 -1
  29. package/dist/docs/development/components/components/{15-openapi.md → 16-openapi.md} +1 -1
  30. package/dist/docs/development/components/components/{16-prompt.md → 17-prompt.md} +1 -1
  31. package/dist/docs/development/components/components/{17-remote-schema.md → 18-remote-schema.md} +1 -1
  32. package/dist/docs/development/components/components/{18-resource-group-table.md → 19-resource-group-table.md} +1 -1
  33. package/dist/docs/development/components/components/{19-resource-link.md → 20-resource-link.md} +1 -1
  34. package/dist/docs/development/components/components/{20-schema.md → 21-schema.md} +1 -1
  35. package/dist/docs/development/components/components/{21-schema-viewer.md → 22-schema-viewer.md} +1 -1
  36. package/dist/docs/development/components/components/{22-steps.md → 23-steps.md} +1 -1
  37. package/dist/docs/development/components/components/{23-tabs.md → 24-tabs.md} +1 -1
  38. package/dist/docs/development/components/components/{24-tiles.md → 25-tiles.md} +1 -1
  39. package/dist/docs/development/components/components/{25-visibility.md → 26-visibility.md} +1 -1
  40. package/dist/docs/development/components/diagram-syntax/06-mermaid.md +45 -6
  41. package/dist/docs/development/customization/04-documentation-sidebar.md +3 -3
  42. package/dist/docs/development/customization/05-resource-sidebar.md +235 -0
  43. package/dist/docs/development/customization/09-embed-eventcatalog.md +179 -0
  44. package/dist/docs/development/customization/_category_.json +1 -1
  45. package/dist/docs/development/deployment/build-and-deploy.md +4 -0
  46. package/dist/docs/development/deployment/hosting-options.md +1 -1
  47. package/dist/docs/development/deployment/link-validation.md +105 -0
  48. package/dist/docs/development/developer-tools/eventcatalog-linter/00-overview.md +76 -0
  49. package/dist/docs/development/developer-tools/eventcatalog-linter/01-setup.md +144 -0
  50. package/dist/docs/development/developer-tools/eventcatalog-linter/_category_.json +10 -0
  51. package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/01-configure-rules.md +130 -0
  52. package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/02-run-in-ci.md +93 -0
  53. package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/03-use-custom-frontmatter.md +81 -0
  54. package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/04-reference-external-catalogs.md +51 -0
  55. package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/05-fix-common-problems.md +120 -0
  56. package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/_category_.json +12 -0
  57. package/dist/docs/development/developer-tools/eventcatalog-linter/reference/01-cli.md +109 -0
  58. package/dist/docs/development/developer-tools/eventcatalog-linter/reference/02-configuration.md +120 -0
  59. package/dist/docs/development/developer-tools/eventcatalog-linter/reference/03-rules.md +287 -0
  60. package/dist/docs/development/developer-tools/eventcatalog-linter/reference/04-versions.md +77 -0
  61. package/dist/docs/development/developer-tools/eventcatalog-linter/reference/05-supported-resources.md +75 -0
  62. package/dist/docs/development/developer-tools/eventcatalog-linter/reference/_category_.json +12 -0
  63. package/dist/docs/development/guides/97-architecture-graph.md +78 -0
  64. package/dist/docs/development/guides/domains/02-create-domain.md +1 -1
  65. package/dist/docs/development/guides/domains/03-ownership-and-language/02-adding-ubiquitous-language.md +29 -0
  66. package/dist/docs/development/guides/domains/09-reference.md +10 -0
  67. package/dist/docs/development/guides/resources/messages/04-message-channels/02-adding-channels.md +2 -2
  68. package/dist/docs/development/guides/resources/messages/04-message-channels/04-adding-messages-to-services.md +8 -0
  69. package/dist/docs/development/guides/resources/schemas/03-add-specifications-to-services/01-add-openapi-specifications.md +2 -2
  70. package/dist/docs/development/guides/resources/schemas/03-add-specifications-to-services/02-add-asyncapi-specifications.md +3 -3
  71. package/dist/docs/development/guides/systems/05-system-context-maps.md +2 -0
  72. package/dist/docs/development/license-keys/license-validation.md +7 -3
  73. package/dist/docs/development/license-keys/overview.md +7 -3
  74. package/dist/docs/development/upgrading/upgrading.md +3 -3
  75. package/dist/docs/development/upgrading/v2.md +3 -3
  76. package/dist/docs/federation/00-overview.md +158 -0
  77. package/dist/docs/federation/01-first-federation.md +199 -0
  78. package/dist/docs/federation/_category_.json +12 -0
  79. package/dist/docs/federation/explanation/_category_.json +12 -0
  80. package/dist/docs/federation/explanation/how-it-works.md +129 -0
  81. package/dist/docs/federation/explanation/lockfile-and-cache.md +134 -0
  82. package/dist/docs/federation/explanation/mvp-status-and-feedback.md +86 -0
  83. package/dist/docs/federation/explanation/ownership-and-references.md +134 -0
  84. package/dist/docs/federation/how-to/_category_.json +12 -0
  85. package/dist/docs/federation/how-to/configure-github-sources.md +156 -0
  86. package/dist/docs/federation/how-to/configure-validation-rules.md +127 -0
  87. package/dist/docs/federation/how-to/run-in-ci.md +138 -0
  88. package/dist/docs/federation/how-to/share-assets-and-components.md +125 -0
  89. package/dist/docs/federation/how-to/use-local-sources.md +138 -0
  90. package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/00-introduction.md +11 -2
  91. package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/01-installation.md +11 -3
  92. package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/02-plugin-configuration.md +11 -2
  93. package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/03-examples.md +11 -1
  94. package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/04-configuration.md +11 -1
  95. package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/05-setup-team-catalog.md +11 -2
  96. package/dist/docs/federation/legacy-federation/_category_.json +12 -0
  97. package/dist/docs/federation/reference/_category_.json +12 -0
  98. package/dist/docs/federation/reference/cli.md +122 -0
  99. package/dist/docs/federation/reference/configuration.md +192 -0
  100. package/dist/docs/federation/reference/diagnostic-rules.md +173 -0
  101. package/dist/docs/federation/reference/generated-output.md +118 -0
  102. package/dist/docs/federation/reference/supported-content.md +86 -0
  103. package/dist/docs/federation/reference/troubleshooting.md +208 -0
  104. package/dist/docs/plugins/01-intro.md +3 -3
  105. package/dist/docs/plugins/03-all-plugins.md +2 -2
  106. package/dist/docs/plugins/asyncapi/00-intro.md +4 -4
  107. package/dist/docs/plugins/asyncapi/02-plugin-configuration.md +4 -4
  108. package/dist/docs/plugins/backstage/00-overview.md +53 -0
  109. package/dist/docs/plugins/backstage/01-get-started.md +95 -0
  110. package/dist/docs/plugins/backstage/02-embed-entity-tabs.md +109 -0
  111. package/dist/docs/plugins/backstage/03-add-overview-cards.md +79 -0
  112. package/dist/docs/plugins/backstage/04-control-theme-and-size.md +54 -0
  113. package/dist/docs/plugins/backstage/05-migrate-to-annotations.md +49 -0
  114. package/dist/docs/plugins/backstage/06-configuration.md +85 -0
  115. package/dist/docs/plugins/backstage/07-components.md +129 -0
  116. package/dist/docs/plugins/backstage/08-how-embeds-work.md +52 -0
  117. package/dist/docs/plugins/backstage/_category_.json +4 -3
  118. package/dist/docs/plugins/eventbridge/00-intro.md +5 -5
  119. package/dist/docs/plugins/eventbridge/03-api.md +3 -3
  120. package/dist/docs/plugins/graphql/00-intro.md +2 -2
  121. package/dist/docs/plugins/graphql/02-plugin-configuration.md +2 -2
  122. package/dist/docs/plugins/hookdeck/01-intro.md +1 -1
  123. package/dist/docs/plugins/openapi/00-intro.md +1 -1
  124. package/dist/eventcatalog.cjs +1 -1
  125. package/dist/eventcatalog.js +5 -5
  126. package/dist/generate.cjs +1 -1
  127. package/dist/generate.js +3 -3
  128. package/dist/utils/cli-logger.cjs +1 -1
  129. package/dist/utils/cli-logger.js +2 -2
  130. package/eventcatalog/src/components/SchemaExplorer/AvroSchemaViewer.tsx +21 -19
  131. package/eventcatalog/src/components/SchemaExplorer/JSONSchemaViewer.test.tsx +114 -0
  132. package/eventcatalog/src/components/SchemaExplorer/JSONSchemaViewer.tsx +107 -86
  133. package/eventcatalog/src/components/SchemaExplorer/ProtobufSchemaViewer.test.tsx +91 -0
  134. package/eventcatalog/src/components/SchemaExplorer/ProtobufSchemaViewer.tsx +115 -33
  135. package/eventcatalog/src/components/SchemaExplorer/SchemaViewerHover.test.tsx +33 -0
  136. package/eventcatalog/src/components/SchemaExplorer/protobuf-validation.test.ts +84 -0
  137. package/eventcatalog/src/components/SchemaExplorer/protobuf-validation.ts +149 -0
  138. package/eventcatalog/src/utils/collections/glob-loader.ts +2 -2
  139. package/eventcatalog/src/utils/protobuf-schema.ts +211 -16
  140. package/package.json +8 -8
  141. package/dist/docs/cli/channels.md +0 -180
  142. package/dist/docs/cli/commands.md +0 -183
  143. package/dist/docs/cli/custom-docs.md +0 -78
  144. package/dist/docs/cli/data-products.md +0 -177
  145. package/dist/docs/cli/data-stores.md +0 -166
  146. package/dist/docs/cli/diagrams.md +0 -147
  147. package/dist/docs/cli/domains.md +0 -280
  148. package/dist/docs/cli/entities.md +0 -138
  149. package/dist/docs/cli/events.md +0 -186
  150. package/dist/docs/cli/export.md +0 -27
  151. package/dist/docs/cli/governance.md +0 -24
  152. package/dist/docs/cli/messages.md +0 -69
  153. package/dist/docs/cli/queries.md +0 -183
  154. package/dist/docs/cli/services.md +0 -266
  155. package/dist/docs/cli/snapshots.md +0 -44
  156. package/dist/docs/cli/teams.md +0 -75
  157. package/dist/docs/cli/users.md +0 -75
  158. package/dist/docs/cli/utilities.md +0 -43
  159. package/dist/docs/development/developer-tools/eventcatalog-linter.md +0 -732
  160. package/dist/docs/plugins/backstage/00-intro.md +0 -67
  161. package/dist/docs/plugins/backstage/01-installation.md +0 -242
  162. package/dist/docs/plugins/backstage/02-api.md +0 -51
  163. package/dist/docs/plugins/backstage/03-examples.md +0 -12
  164. package/dist/docs/plugins/eventcatalog-federation/_category_.json +0 -11
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(analytics_exports);
36
36
  var import_os = __toESM(require("os"), 1);
37
37
 
38
38
  // package.json
39
- var version = "4.10.13";
39
+ var version = "4.10.15";
40
40
 
41
41
  // src/constants.ts
42
42
  var VERSION = version;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  raiseEvent
3
- } from "../chunk-IIECZFXN.js";
4
- import "../chunk-PADMH2RJ.js";
3
+ } from "../chunk-A4JRWRCV.js";
4
+ import "../chunk-I6HUOX4R.js";
5
5
  export {
6
6
  raiseEvent
7
7
  };
@@ -140,7 +140,7 @@ var verifyRequiredFieldsAreInCatalogConfigFile = async (projectDirectory) => {
140
140
  var import_os = __toESM(require("os"), 1);
141
141
 
142
142
  // package.json
143
- var version = "4.10.13";
143
+ var version = "4.10.15";
144
144
 
145
145
  // src/constants.ts
146
146
  var VERSION = version;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  log_build_default
3
- } from "../chunk-34RMFKFB.js";
4
- import "../chunk-IIECZFXN.js";
3
+ } from "../chunk-Q2ATWE7N.js";
4
+ import "../chunk-A4JRWRCV.js";
5
5
  import "../chunk-ZAZHAVKB.js";
6
- import "../chunk-PADMH2RJ.js";
6
+ import "../chunk-I6HUOX4R.js";
7
7
  import "../chunk-6QENHZZP.js";
8
8
  export {
9
9
  log_build_default as default
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  logger
3
- } from "./chunk-JHUICVBT.js";
3
+ } from "./chunk-HBVTU6ZP.js";
4
4
  import {
5
5
  cleanup,
6
6
  getEventCatalogConfigFile
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-PADMH2RJ.js";
3
+ } from "./chunk-I6HUOX4R.js";
4
4
 
5
5
  // src/analytics/analytics.js
6
6
  import os from "os";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-PADMH2RJ.js";
3
+ } from "./chunk-I6HUOX4R.js";
4
4
 
5
5
  // src/utils/cli-logger.ts
6
6
  import pc from "picocolors";
@@ -1,5 +1,5 @@
1
1
  // package.json
2
- var version = "4.10.13";
2
+ var version = "4.10.15";
3
3
 
4
4
  // src/constants.ts
5
5
  var VERSION = version;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  raiseEvent
3
- } from "./chunk-IIECZFXN.js";
3
+ } from "./chunk-A4JRWRCV.js";
4
4
  import {
5
5
  countResources,
6
6
  hashCatalogContent,
@@ -25,7 +25,7 @@ __export(constants_exports, {
25
25
  module.exports = __toCommonJS(constants_exports);
26
26
 
27
27
  // package.json
28
- var version = "4.10.13";
28
+ var version = "4.10.15";
29
29
 
30
30
  // src/constants.ts
31
31
  var VERSION = version;
package/dist/constants.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-PADMH2RJ.js";
3
+ } from "./chunk-I6HUOX4R.js";
4
4
  export {
5
5
  VERSION
6
6
  };
@@ -78,7 +78,7 @@ The output type for your EventCatalog, choose from `static` or `server`.
78
78
  :::info "What is the difference between static and server?"
79
79
 
80
80
  - `static` - The default output type for EventCatalog. This will output a static website that you can host anywhere.
81
- - `server` - This will output a Node.js server that you can host anywhere. This is required for certain features like the [EventCatalog Chat](/features/ai-assistant) (bring your own keys). The easiest way to host this is with our [Docker image](/docs/development/deployment/hosting-options#hosting-a-server).
81
+ - `server` - This will output a Node.js server that you can host anywhere. This is required for certain features like the [EventCatalog Assistant](/docs/development/ask-your-architecture/eventcatalog-assistant/what-is-eventcatalog-assistant) (bring your own keys). The easiest way to host this is with our [Docker image](/docs/development/deployment/hosting-options#hosting-as-a-server).
82
82
 
83
83
  :::
84
84
 
@@ -123,6 +123,54 @@ module.exports = {
123
123
  };
124
124
  ```
125
125
 
126
+ ### `linkValidation` {#linkValidation}
127
+
128
+ - Type: `object` | `false`
129
+ - Default: `{ onBrokenLinks: 'warn', onBrokenAnchors: 'warn' }`
130
+
131
+ Checks internal links and anchors after a static build and reports any that are broken. Validation is skipped in SSR mode. Set to `false` to turn off the check entirely.
132
+
133
+ ```js title="eventcatalog.config.js"
134
+ module.exports = {
135
+ linkValidation: {
136
+ onBrokenLinks: 'warn',
137
+ onBrokenAnchors: 'warn',
138
+ ignore: ['/api/**'],
139
+ },
140
+ };
141
+ ```
142
+
143
+ #### `linkValidation.onBrokenLinks`
144
+
145
+ - Type: `'warn' | 'error' | 'ignore'`
146
+ - Default: `'warn'`
147
+
148
+ What to do when a link points to a page that does not exist. `error` fails the build, `warn` logs the problem but still builds, `ignore` skips the check.
149
+
150
+ #### `linkValidation.onBrokenAnchors`
151
+
152
+ - Type: `'warn' | 'error' | 'ignore'`
153
+ - Default: `'warn'`
154
+
155
+ What to do when a link points to a valid page but an anchor (`#section`) that does not exist on it.
156
+
157
+ #### `linkValidation.ignore`
158
+
159
+ - Type: `string[]`
160
+ - Default: `[]`
161
+
162
+ Glob patterns for destination URL paths to skip, relative to your catalog's [`base`](#base), starting with `/`. Patterns exclude the base prefix, query string, and anchor. For example, with `base: '/catalog'`, use `/docs/legacy/**` to ignore `/catalog/docs/legacy/example#section`. Use this for links you know are valid but EventCatalog cannot verify, such as pages rendered outside the build.
163
+
164
+ ```js title="eventcatalog.config.js"
165
+ module.exports = {
166
+ linkValidation: {
167
+ ignore: ['/api/**', '/docs/legacy/*'],
168
+ },
169
+ };
170
+ ```
171
+
172
+ See the [link validation guide](/docs/development/deployment/link-validation) for what gets checked and how to use this in CI.
173
+
126
174
  ### `port` {#port}
127
175
 
128
176
  - Type: `number`
@@ -449,6 +497,11 @@ module.exports = {
449
497
  // The render mode for channels in the visualiser
450
498
  // Flat or single
451
499
  renderMode: 'flat'
500
+ },
501
+
502
+ // Opt-in, catalog-wide force-directed graph at /visualiser/graph
503
+ architectureGraph: {
504
+ enabled: true
452
505
  }
453
506
  }
454
507
  };
@@ -459,6 +512,7 @@ module.exports = {
459
512
  | ------------- | ----------- | ----------- | ----------- |
460
513
  | `visualiser.enabled` | `true` or `false` | `true` | **Enabled or disables the visualiser**. Setting this to false will not render any visualiser pages in your catalog and also remove references to the visualiser features in your catalog. _(Added in 2.65.1)_ |
461
514
  | `visualiser.channels.renderMode` | `flat` or `single` | `flat` | The render mode for the visualiser. `flat` means the channel node is duplicated for each message. `single` means the channel node is a single node for all messages. Depending on your use case/preferences you may want to use one or the other. |
515
+ | `visualiser.architectureGraph.enabled` | `true` or `false` | `false` | Enables the [architecture graph](/docs/development/guides/architecture-graph) at `/visualiser/graph`. Opt-in while in beta. _(Added in 4.5.0)_ |
462
516
 
463
517
 
464
518
 
@@ -530,17 +584,17 @@ docs: {
530
584
 
531
585
  - Type: `object`
532
586
 
533
- Configuration for the EventCatalog AI chat feature.
587
+ Configuration for [EventCatalog Assistant](/docs/development/ask-your-architecture/eventcatalog-assistant/what-is-eventcatalog-assistant).
534
588
 
535
589
  :::info
536
- The `chat` property requires a Starter or Scale plan and `output: 'server'` to take effect.
590
+ The `chat` property requires a Scale plan and `output: 'server'` to take effect.
537
591
  :::
538
592
 
539
593
  ```js title="eventcatalog.config.js"
540
594
  module.exports = {
541
595
  output: 'server',
542
596
  chat: {
543
- // Set to false to disable the AI chat feature entirely
597
+ // Set to false to disable EventCatalog Assistant entirely
544
598
  enabled: false,
545
599
  },
546
600
  };
@@ -548,7 +602,7 @@ module.exports = {
548
602
 
549
603
  | Option | Type | Default | Description |
550
604
  | ------ | ---- | ------- | ----------- |
551
- | `chat.enabled` | `boolean` | `true` | Enables or disables the AI chat feature. Set to `false` to hide the chat UI and prevent chat requests even when all other prerequisites are met. |
605
+ | `chat.enabled` | `boolean` | `true` | Enables or disables EventCatalog Assistant. Set to `false` to hide the assistant UI and prevent chat requests even when all other prerequisites are met. |
552
606
 
553
607
  ### `mcp` {#mcp}
554
608
 
@@ -634,7 +688,7 @@ module.exports = {
634
688
  - Type: `string`
635
689
 
636
690
  :::tip
637
- For Stater or Scale plans. This gives you the ability to show your own GitHub repository in EventCatalog (in the header bar).
691
+ For Scale plans. This gives you the ability to show your own GitHub repository in EventCatalog (in the header bar).
638
692
  :::
639
693
 
640
694
  URL to your repository for EventCatalog.
@@ -12,25 +12,32 @@ import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
12
 
13
13
  <PlanBanner plan="Scale" />
14
14
 
15
- **EventCatalog Assistant is turned off by default.**
15
+ **EventCatalog Assistant is shown by default.**
16
16
 
17
- To enable the assistant feature, you need to set the following:
17
+ To use the assistant, you need to:
18
18
 
19
- 1. Turn on the `chat` feature in your `eventcatalog.config.js` file and add
20
- 2. Add a `eventcatalog.chat.js` file to your catalog.
19
+ 1. Run EventCatalog with `output: 'server'` in your `eventcatalog.config.js` file
20
+ 2. Add an `eventcatalog.chat.js` file to your catalog
21
21
 
22
- ### Enabling the feature
22
+ ```js title="eventcatalog.config.js"
23
+ module.exports = {
24
+ // AI integrations require you to run EventCatalog as a server
25
+ output: 'server'
26
+ };
27
+ ```
28
+
29
+ You can hide the assistant by setting `chat.enabled` to `false`.
23
30
 
24
- To turn on the assistant feature, you need to set the following:
31
+ ### Disabling the feature
32
+
33
+ EventCatalog Assistant is enabled by default. Set `chat.enabled` to `false` to hide the assistant UI and prevent chat requests:
25
34
 
26
35
  ```js title="eventcatalog.config.js"
27
36
  module.exports = {
28
- // Enable the chat feature in your catalog
37
+ output: 'server',
29
38
  chat: {
30
- enabled: true,
39
+ enabled: false,
31
40
  },
32
- // AI integrations require you to run eventcatalog as as server
33
- output: 'server'
34
41
  };
35
42
  ```
36
43
 
@@ -70,4 +77,4 @@ export const configuration = {
70
77
  }
71
78
  ```
72
79
 
73
- Once you have enabled the feature and configured your model, restart EventCatalog and you can start asking questions about your architecture.
80
+ Once you have configured your model, restart EventCatalog and you can start asking questions about your architecture.
@@ -97,6 +97,35 @@ export default {
97
97
 
98
98
  The host must match the **Authorization callback URL** on your GitHub OAuth app (`https://catalog.example.com/api/auth/callback/github`). Not needed on Vercel, Cloudflare Pages, or local dev. See the [Auth.js reference](https://authjs.dev/reference/core#redirectproxyurl) for more.
99
99
 
100
+ ## Issuer validation
101
+
102
+ <AddedIn version="4.10.3" />
103
+
104
+ GitHub OAuth callbacks include an `iss` parameter, and EventCatalog now sets the correct `issuer` on the GitHub provider automatically, using `https://github.com/login/oauth` for github.com or `{enterprise.baseUrl}/login/oauth` when you configure `providers.github.enterprise.baseUrl` for GitHub Enterprise Server. You can still override it by setting `issuer` explicitly in your provider config.
105
+
106
+ ```js title="eventcatalog.auth.js"
107
+ export default {
108
+ providers: {
109
+ github: {
110
+ clientId: process.env.AUTH_GITHUB_CLIENT_ID,
111
+ clientSecret: process.env.AUTH_GITHUB_CLIENT_SECRET,
112
+ issuer: 'https://github.com/login/oauth',
113
+ },
114
+ },
115
+ };
116
+ ```
117
+
118
+ ### Fix "unexpected iss" errors on older versions
119
+
120
+ If you're running an EventCatalog version before `4.10.3`, sign-in can fail with users redirected to `/auth/error?error=Configuration` and logs showing:
121
+
122
+ ```
123
+ [auth][cause] OperationProcessingError: unexpected "iss" (issuer) response parameter value
124
+ [auth][details] { "expected": "https://authjs.dev", "provider": "github" }
125
+ ```
126
+
127
+ This happens because GitHub now sends an `iss` parameter on OAuth callbacks, but the GitHub provider had no `issuer` configured, so validation fell back to a placeholder value. Upgrading to `4.10.3` or later fixes this by default. If you can't upgrade yet, set `issuer` explicitly on the GitHub provider as shown above.
128
+
100
129
  ## Found an issue?
101
130
 
102
131
  Remember to setup the prerequisites for this guide:
@@ -22,8 +22,8 @@ High level documentation requires an EventCatalog Scale license key. You can get
22
22
 
23
23
  High level documentation is split into two parts:
24
24
 
25
- 1. [Creating your documentation (markdown files)](#creating-your-documentation)
26
- 2. [Configuring your sidebar (eventcatalog.config.js)](#configuring-your-sidebar)
25
+ 1. [Creating your documentation (markdown files)](#creating-documentation)
26
+ 2. [Configuring your sidebar (eventcatalog.config.js)](#sidebar-configuration)
27
27
 
28
28
  ### Creating documentation
29
29
 
@@ -54,3 +54,20 @@ In custom documentation pages, `id`, `version`, and `type` are all required. A `
54
54
  | `search` | boolean | No | Show or hide the search bar. Accepts `true`/`false` or `"true"`/`"false"`. Defaults to `true`. |
55
55
  | `legend` | boolean | No | Show or hide the legend. Accepts `true`/`false` or `"true"`/`"false"`. Defaults to `true`. |
56
56
  | `mode` | string | No | `"simple"` or `"full"`. Defaults to `"simple"`. |
57
+
58
+ ### Embed the Architecture Graph (ArchitectureGraph)
59
+
60
+ You can also embed the catalog-wide [architecture graph](/docs/development/guides/architecture-graph) into your custom documentation pages using the `ArchitectureGraph` component.
61
+
62
+ ```md
63
+ This is my custom documentation page, here is the whole catalog graph:
64
+
65
+ <ArchitectureGraph />
66
+
67
+ <!-- Or focus the graph on a specific resource -->
68
+ <ArchitectureGraph id="Orders" type="domain" />
69
+ ```
70
+
71
+ Unlike `NodeGraph`, no props are required — without `id` and `type` the whole catalog is rendered. No `version` is needed; the graph always shows the latest version of each resource.
72
+
73
+ [See the ArchitectureGraph component reference for the full list of props](/docs/development/components/components/architecture-graph).
@@ -108,6 +108,8 @@ Without a version, the reference uses the latest version. Pin versions when docu
108
108
  Our legacy [[service|PaymentService@0.9.0]] is being replaced by [[service|PaymentGatewayService]].
109
109
  ```
110
110
 
111
+ Users, teams, and custom docs are not versioned, so references like `[[user|dboyne]]` and `[[team|backend-team]]` always link straight to the resource.
112
+
111
113
  ## Interactive tooltips
112
114
 
113
115
  Hover over any reference to see detailed information without leaving the page.
@@ -119,6 +121,10 @@ Hover over any reference to see detailed information without leaving the page.
119
121
 
120
122
  Tooltips show different information based on resource type.
121
123
 
124
+ Owner links open the matching user or team profile. If an owner is not defined in your catalog, its ID appears as plain text.
125
+
126
+ In service and agent tooltips, sent and received messages link to their matching event, command, or query documentation, including when a message version is specified.
127
+
122
128
  ### Combine with other components
123
129
 
124
130
  Mix references with other EventCatalog components.
@@ -133,4 +139,4 @@ The [[service|OrdersService]] coordinates between inventory and payment:
133
139
 
134
140
  ### Review references regularly
135
141
 
136
- Regularly audit references to ensure they point to current resources and remove outdated links.
142
+ Regularly audit references to ensure they point to current resources and remove outdated links. [Link validation](/docs/development/deployment/link-validation) reports broken internal links and anchors after a static build.
@@ -0,0 +1,65 @@
1
+ ---
2
+ sidebar_position: 5
3
+ keywords:
4
+ - components
5
+ - architecture graph
6
+ - force-directed graph
7
+ sidebar_label: ArchitectureGraph
8
+ title: ArchitectureGraph
9
+ description: Component for embedding the catalog-wide architecture graph into your documentation
10
+ ---
11
+
12
+ import AddedIn from '@site/src/components/MDX/AddedIn';
13
+
14
+ <AddedIn version="4.10.1" />
15
+
16
+ A component that renders the [architecture graph](/docs/development/guides/architecture-graph) (the force-directed graph of your whole catalog from `/visualiser/graph`) inside your documentation pages, focused on the resource you are documenting.
17
+
18
+ The `<ArchitectureGraph/>` component is supported in domains, services, systems, all messages, and custom documentation pages.
19
+
20
+ Unlike [`<NodeGraph/>`](/docs/development/components/components/nodegraph) (which renders one resource's diagram), `<ArchitectureGraph/>` shows where the resource sits in your whole architecture — its neighbourhood inside the catalog graph, with clustering, focus rings, and search.
21
+
22
+ ### Example
23
+
24
+ ```md /domains/Orders/index.mdx
25
+ <!-- Without any properties, this renders the architecture graph focused on the current resource -->
26
+ <ArchitectureGraph />
27
+
28
+ <!-- Focus another resource -->
29
+ <ArchitectureGraph id="InventoryService" type="service" />
30
+
31
+ <!-- Show more of the architecture around the resource (1–3 relationship hops) -->
32
+ <ArchitectureGraph depth="3" />
33
+
34
+ <!-- Render a specific lens of the whole catalog -->
35
+ <ArchitectureGraph lens="messages" />
36
+ ```
37
+
38
+ #### Output
39
+
40
+ ![Example output](./img/architecture-graph.png)
41
+
42
+ Readers can click any node to focus it, double-click to open its documentation, and use the search to jump to any resource — the same interactions as the full-page architecture graph. Scrolling over the graph scrolls the page; hold `ctrl`/`cmd` while scrolling to zoom.
43
+
44
+ #### Props
45
+
46
+ | Name | Type | Default | Description |
47
+ | ----------------------- | --------- | ----------------- | ----------------------------------------------------------------- |
48
+ | `id` (optional) | `string` | Current page's resource | The id of the resource to focus. Use together with `type`. |
49
+ | `type` (optional) | `string` | Current page's type | The type of the resource to focus (e.g. `domain`, `service`, `event`). |
50
+ | `depth` (optional) | `string` | `"2"` | How many relationship hops to render around the focused resource (1–3). |
51
+ | `lens` (optional) | `string` | `"all"` | The lens to render: `all`, `domains`, `systems`, `services`, `teams` or `messages`. |
52
+ | `search` (optional) | `boolean` | `true` | Show or hide the search bar. Accepts `true`/`false` or `"true"`/`"false"`. |
53
+ | `legend` (optional) | `boolean` | `true` | Show or hide the resources legend. Accepts `true`/`false` or `"true"`/`"false"`. |
54
+ | `lensPicker` (optional) | `boolean` | `false` | Show the lens picker so readers can switch between views (domains, systems, services, teams, message flow). Accepts `true`/`false` or `"true"`/`"false"`. |
55
+ | `maxHeight` (optional) | `string` | `30` | Max height (em) of the graph in your document. |
56
+
57
+ The graph always shows the latest version of each resource, so no `version` prop is needed.
58
+
59
+ :::info Custom documentation pages
60
+ On custom documentation pages there is no "current resource", so `<ArchitectureGraph/>` without `id` and `type` renders the whole catalog graph.
61
+ :::
62
+
63
+ :::tip Open full screen
64
+ When the [full-page architecture graph is enabled](/docs/development/guides/architecture-graph#turn-on-the-graph) (`visualiser.architectureGraph.enabled` in your `eventcatalog.config.js`), the embedded graph shows an **Open full screen** link to `/visualiser/graph` that carries the current view state — the focused resource, selected depth, and lens — so the full page opens on exactly what the reader is looking at. The embedded component itself works without that flag.
65
+ :::
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 5
2
+ sidebar_position: 6
3
3
  keywords:
4
4
  - attachments
5
5
  - documentation
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 6
2
+ sidebar_position: 7
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: ChannelInformation
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 7
2
+ sidebar_position: 8
3
3
  keywords:
4
4
  - components
5
5
  - custom properties
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 8
2
+ sidebar_position: 9
3
3
  keywords:
4
4
  - components
5
5
  - remote schema
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 9
2
+ sidebar_position: 10
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: EntityMap
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 10
2
+ sidebar_position: 11
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: Flow
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 11
2
+ sidebar_position: 12
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: Link
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 12
2
+ sidebar_position: 13
3
3
  keywords:
4
4
  - components
5
5
  - remote schema
@@ -52,11 +52,23 @@ When you use the `<MermaidFileLoader />` component, it will render the diagram i
52
52
 
53
53
  ![Example output](./img/mermaid.png)
54
54
 
55
+ **Control options**
56
+
57
+ <AddedIn version="4.10.6" />
58
+
59
+ Use `placement` and `actions` to configure the [interactive controls](/docs/development/components/diagram-syntax/mermaid#control-options) on the diagram.
60
+
61
+ ```jsx /events/MyEvent/index.mdx
62
+ <MermaidFileLoader file="mermaid.mmd" placement="top-left" actions={false} />
63
+ ```
64
+
55
65
  ### Props
56
66
 
57
67
  | Name | Type | Default | Description |
58
68
  | ----------------------- | --------- | ----------------- | ----------------------------------------------------------------- |
59
69
  | `file` (required) | `string` | (empty) | The `.mmd` or `.mermaid` file to load into the diagram block. Path is resolved by EventCatalog. |
70
+ | `placement` (optional) | `'top-left' \| 'top-right' \| 'bottom-left' \| 'bottom-right'` | `'top-right'` | Corner for the interactive controls. |
71
+ | `actions` (optional) | `boolean` | shown when the diagram is taller than 120px | `true` always shows the controls. `false` hides them. |
60
72
 
61
73
  ### Support
62
74
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 13
2
+ sidebar_position: 14
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: MessageTable
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 14
2
+ sidebar_position: 15
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: NodeGraph
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 15
2
+ sidebar_position: 16
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: OpenAPI
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 16
2
+ sidebar_position: 17
3
3
  keywords:
4
4
  - components
5
5
  - prompt
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 17
2
+ sidebar_position: 18
3
3
  keywords:
4
4
  - components
5
5
  - remote schema
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 18
2
+ sidebar_position: 19
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: ResourceGroupTable
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 19
2
+ sidebar_position: 20
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: ResourceLink
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 20
2
+ sidebar_position: 21
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: Schema
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 21
2
+ sidebar_position: 22
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: SchemaViewer
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 22
2
+ sidebar_position: 23
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: Steps
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 23
2
+ sidebar_position: 24
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: Tabs
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 24
2
+ sidebar_position: 25
3
3
  keywords:
4
4
  - components
5
5
  sidebar_label: Tiles
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 25
2
+ sidebar_position: 26
3
3
  keywords:
4
4
  - components
5
5
  - visibility