@eventcatalog/core 3.35.0 → 3.36.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.
Files changed (439) 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-LUWCWNOR.js → chunk-6D65JSOA.js} +1 -1
  6. package/dist/{chunk-NEWQKEP7.js → chunk-C7JCOHTI.js} +1 -1
  7. package/dist/chunk-D6IBLY3O.js +320 -0
  8. package/dist/{chunk-Y5O6SCX3.js → chunk-HDENGAZL.js} +1 -1
  9. package/dist/{chunk-DFLUDECO.js → chunk-UJ7DX4SA.js} +3 -3
  10. package/dist/{chunk-3KXCGYET.js → chunk-ULZYHF3V.js} +5 -0
  11. package/dist/{chunk-B2LDVIVY.js → chunk-V22QY5Q3.js} +1 -1
  12. package/dist/constants.cjs +1 -1
  13. package/dist/constants.js +1 -1
  14. package/dist/docs/api/01-overview.md +74 -0
  15. package/dist/docs/api/02-config.md +959 -0
  16. package/dist/docs/api/03-domain-api.md +394 -0
  17. package/dist/docs/api/04-service-api.md +368 -0
  18. package/dist/docs/api/05-command-api.md +319 -0
  19. package/dist/docs/api/06-event-api.md +318 -0
  20. package/dist/docs/api/06-query-api.md +316 -0
  21. package/dist/docs/api/08-channel-api.md +317 -0
  22. package/dist/docs/api/08-code-blocks.md +53 -0
  23. package/dist/docs/api/09-flow-api.md +362 -0
  24. package/dist/docs/api/10-entity-api.md +285 -0
  25. package/dist/docs/api/11-data-api.md +268 -0
  26. package/dist/docs/api/12-data-product-api.md +416 -0
  27. package/dist/docs/api/_category_.json +12 -0
  28. package/dist/docs/cli/channels.md +180 -0
  29. package/dist/docs/cli/commands.md +183 -0
  30. package/dist/docs/cli/custom-docs.md +78 -0
  31. package/dist/docs/cli/data-products.md +177 -0
  32. package/dist/docs/cli/data-stores.md +166 -0
  33. package/dist/docs/cli/diagrams.md +147 -0
  34. package/dist/docs/cli/domains.md +280 -0
  35. package/dist/docs/cli/entities.md +138 -0
  36. package/dist/docs/cli/events.md +186 -0
  37. package/dist/docs/cli/export.md +27 -0
  38. package/dist/docs/cli/governance.md +24 -0
  39. package/dist/docs/cli/import.md +26 -0
  40. package/dist/docs/cli/index.md +121 -0
  41. package/dist/docs/cli/messages.md +69 -0
  42. package/dist/docs/cli/queries.md +183 -0
  43. package/dist/docs/cli/services.md +266 -0
  44. package/dist/docs/cli/snapshots.md +44 -0
  45. package/dist/docs/cli/teams.md +75 -0
  46. package/dist/docs/cli/users.md +75 -0
  47. package/dist/docs/cli/utilities.md +43 -0
  48. package/dist/docs/contributing/01-overview.md +186 -0
  49. package/dist/docs/contributing/_category_.json +12 -0
  50. package/dist/docs/development/00-why-eventcatalog.md +87 -0
  51. package/dist/docs/development/01-fundamentals.md +34 -0
  52. package/dist/docs/development/01-getting-started/_category_.json +12 -0
  53. package/dist/docs/development/01-getting-started/configuration-overview.md +124 -0
  54. package/dist/docs/development/01-getting-started/develop-and-build.md +71 -0
  55. package/dist/docs/development/01-getting-started/installation.md +103 -0
  56. package/dist/docs/development/01-getting-started/project-structure.md +269 -0
  57. package/dist/docs/development/_category_.json +12 -0
  58. package/dist/docs/development/_getting-started.mdx +15 -0
  59. package/dist/docs/development/agent-resources/_category_.json +6 -0
  60. package/dist/docs/development/agent-resources/eventcatalog-skills.md +17 -0
  61. package/dist/docs/development/agent-resources/llms-full.md +17 -0
  62. package/dist/docs/development/agent-resources/llms.md +17 -0
  63. package/dist/docs/development/ask-your-architecture/01-intro.md +89 -0
  64. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/01-what-is-eventcatalog-assistant.md +23 -0
  65. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/02-configuration.md +72 -0
  66. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/03-bring-your-own-tools.md +385 -0
  67. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/_category_.json +11 -0
  68. package/dist/docs/development/ask-your-architecture/03-mcp-server/_category_.json +12 -0
  69. package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +216 -0
  70. package/dist/docs/development/ask-your-architecture/03-mcp-server/introduction.md +47 -0
  71. package/dist/docs/development/ask-your-architecture/04-skills/01-introduction.md +40 -0
  72. package/dist/docs/development/ask-your-architecture/04-skills/02-installation.md +60 -0
  73. package/dist/docs/development/ask-your-architecture/04-skills/_category_.json +11 -0
  74. package/dist/docs/development/ask-your-architecture/05-slack-integration/01-introduction.md +63 -0
  75. package/dist/docs/development/ask-your-architecture/05-slack-integration/02-slack-app-setup.md +154 -0
  76. package/dist/docs/development/ask-your-architecture/05-slack-integration/03-installation.md +169 -0
  77. package/dist/docs/development/ask-your-architecture/05-slack-integration/04-deployment.md +236 -0
  78. package/dist/docs/development/ask-your-architecture/05-slack-integration/05-usage.md +140 -0
  79. package/dist/docs/development/ask-your-architecture/05-slack-integration/06-troubleshooting.md +268 -0
  80. package/dist/docs/development/ask-your-architecture/05-slack-integration/_category_.json +12 -0
  81. package/dist/docs/development/ask-your-architecture/_category_.json +12 -0
  82. package/dist/docs/development/authentication/01-introduction.md +78 -0
  83. package/dist/docs/development/authentication/02-enabling-authentication.md +152 -0
  84. package/dist/docs/development/authentication/07-rbac-middleware.md +269 -0
  85. package/dist/docs/development/authentication/_category_.json +11 -0
  86. package/dist/docs/development/authentication/providers/03-setting-up-github.md +83 -0
  87. package/dist/docs/development/authentication/providers/03a-setting-up-google.md +92 -0
  88. package/dist/docs/development/authentication/providers/04-setting-up-azure-ad.md +100 -0
  89. package/dist/docs/development/authentication/providers/05-setting-up-okta.md +105 -0
  90. package/dist/docs/development/authentication/providers/06-setting-up-auth0.md +106 -0
  91. package/dist/docs/development/authentication/providers/_category_.json +11 -0
  92. package/dist/docs/development/bring-your-own-documentation/01-introduction.md +48 -0
  93. package/dist/docs/development/bring-your-own-documentation/_category_.json +12 -0
  94. package/dist/docs/development/bring-your-own-documentation/custom-pages/01-introduction.md +60 -0
  95. package/dist/docs/development/bring-your-own-documentation/custom-pages/02-adding-custom-docs.md +207 -0
  96. package/dist/docs/development/bring-your-own-documentation/custom-pages/03-components.md +46 -0
  97. package/dist/docs/development/bring-your-own-documentation/custom-pages/04-owners.md +45 -0
  98. package/dist/docs/development/bring-your-own-documentation/custom-pages/_category_.json +11 -0
  99. package/dist/docs/development/bring-your-own-documentation/resource-docs/01-introduction.md +34 -0
  100. package/dist/docs/development/bring-your-own-documentation/resource-docs/02-adding-resource-docs.md +143 -0
  101. package/dist/docs/development/bring-your-own-documentation/resource-docs/03-categories.md +68 -0
  102. package/dist/docs/development/bring-your-own-documentation/resource-docs/04-versioning.md +45 -0
  103. package/dist/docs/development/bring-your-own-documentation/resource-docs/_category_.json +11 -0
  104. package/dist/docs/development/components/04-snippets.md +134 -0
  105. package/dist/docs/development/components/05-using-components.md +67 -0
  106. package/dist/docs/development/components/07-resource-references.md +136 -0
  107. package/dist/docs/development/components/_category_.json +12 -0
  108. package/dist/docs/development/components/components/01-accordian.md +41 -0
  109. package/dist/docs/development/components/components/02-accordian-group.md +57 -0
  110. package/dist/docs/development/components/components/03-admonitions.md +43 -0
  111. package/dist/docs/development/components/components/04-attachments.md +56 -0
  112. package/dist/docs/development/components/components/05-channel-information.md +29 -0
  113. package/dist/docs/development/components/components/06-design.md +66 -0
  114. package/dist/docs/development/components/components/07-entitymap.md +71 -0
  115. package/dist/docs/development/components/components/08-flow.md +46 -0
  116. package/dist/docs/development/components/components/09-link.md +32 -0
  117. package/dist/docs/development/components/components/10-mermaid-file-loader.md +63 -0
  118. package/dist/docs/development/components/components/11-message-table.md +43 -0
  119. package/dist/docs/development/components/components/12-nodegraph.md +167 -0
  120. package/dist/docs/development/components/components/13-openapi.md +55 -0
  121. package/dist/docs/development/components/components/14-prompt.md +69 -0
  122. package/dist/docs/development/components/components/15-remote-schema.md +174 -0
  123. package/dist/docs/development/components/components/16-resource-group-table.md +86 -0
  124. package/dist/docs/development/components/components/17-resource-link.md +57 -0
  125. package/dist/docs/development/components/components/18-schema.md +44 -0
  126. package/dist/docs/development/components/components/19-schema-viewer.md +69 -0
  127. package/dist/docs/development/components/components/20-steps.md +83 -0
  128. package/dist/docs/development/components/components/21-tabs.md +55 -0
  129. package/dist/docs/development/components/components/22-tiles.md +53 -0
  130. package/dist/docs/development/components/components/23-visibility.md +61 -0
  131. package/dist/docs/development/components/components/_category_.json +12 -0
  132. package/dist/docs/development/components/diagram-syntax/01-mermaid.md +218 -0
  133. package/dist/docs/development/components/diagram-syntax/02-plantuml.md +140 -0
  134. package/dist/docs/development/components/diagram-syntax/03-structurizr.md +24 -0
  135. package/dist/docs/development/components/diagram-syntax/04-icepanel.md +75 -0
  136. package/dist/docs/development/components/diagram-syntax/_category_.json +12 -0
  137. package/dist/docs/development/components/external-diagram-embeds/01-miro.md +64 -0
  138. package/dist/docs/development/components/external-diagram-embeds/02-lucid.md +47 -0
  139. package/dist/docs/development/components/external-diagram-embeds/03-drawio.md +46 -0
  140. package/dist/docs/development/components/external-diagram-embeds/04-figjam.md +44 -0
  141. package/dist/docs/development/components/external-diagram-embeds/05-icepanel.md +68 -0
  142. package/dist/docs/development/components/external-diagram-embeds/_category_.json +12 -0
  143. package/dist/docs/development/customization/01-customize-landing-page.md +155 -0
  144. package/dist/docs/development/customization/02-themes.md +429 -0
  145. package/dist/docs/development/customization/03-search.md +79 -0
  146. package/dist/docs/development/customization/06-customize-tables.md +194 -0
  147. package/dist/docs/development/customization/_category_.json +12 -0
  148. package/dist/docs/development/customization/custom-components/00-what-is-mdx.md +73 -0
  149. package/dist/docs/development/customization/custom-components/01-introduction.md +28 -0
  150. package/dist/docs/development/customization/custom-components/02-adding-components.md +145 -0
  151. package/dist/docs/development/customization/custom-components/03-component-styling.md +27 -0
  152. package/dist/docs/development/customization/custom-components/04-javascript-components.md +32 -0
  153. package/dist/docs/development/customization/custom-components/_category_.json +11 -0
  154. package/dist/docs/development/customization/customize-sidebars/00-application-sidebar.md +45 -0
  155. package/dist/docs/development/customization/customize-sidebars/01-documentation-sidebar.md +187 -0
  156. package/dist/docs/development/customization/customize-sidebars/_category_.json +11 -0
  157. package/dist/docs/development/customization/customize-visualizer/00-visualizer-nodes.md +50 -0
  158. package/dist/docs/development/customization/customize-visualizer/_category_.json +11 -0
  159. package/dist/docs/development/deployment/_category_.json +12 -0
  160. package/dist/docs/development/deployment/build-and-deploy.md +71 -0
  161. package/dist/docs/development/deployment/build-ssr-mode.md +50 -0
  162. package/dist/docs/development/deployment/deployment-workflows.md +43 -0
  163. package/dist/docs/development/deployment/hosting-options.md +112 -0
  164. package/dist/docs/development/deployment/licenses.md +50 -0
  165. package/dist/docs/development/design/_category_.json +12 -0
  166. package/dist/docs/development/design/embed-designs-into-eventcatalog.md +29 -0
  167. package/dist/docs/development/design/further-reading.md +19 -0
  168. package/dist/docs/development/design/import-resources.md +27 -0
  169. package/dist/docs/development/design/intro.md +22 -0
  170. package/dist/docs/development/developer-tools/_category_.json +12 -0
  171. package/dist/docs/development/developer-tools/eventcatalog-linter.md +597 -0
  172. package/dist/docs/development/developer-tools/github-action.md +147 -0
  173. package/dist/docs/development/developer-tools/llms.txt.md +55 -0
  174. package/dist/docs/development/developer-tools/schemas.txt.md +42 -0
  175. package/dist/docs/development/governance/_category_.json +6 -0
  176. package/dist/docs/development/governance/architecture-change-detection/01-introduction.md +62 -0
  177. package/dist/docs/development/governance/architecture-change-detection/02-configuration.md +134 -0
  178. package/dist/docs/development/governance/architecture-change-detection/03-recipes.md +309 -0
  179. package/dist/docs/development/governance/architecture-change-detection/04-webhooks.md +187 -0
  180. package/dist/docs/development/governance/architecture-change-detection/05-ci-cd.md +121 -0
  181. package/dist/docs/development/governance/architecture-change-detection/06-pipeline-gates.md +162 -0
  182. package/dist/docs/development/governance/architecture-change-detection/_category_.json +6 -0
  183. package/dist/docs/development/guides/12-customize-your-sidebar.md +12 -0
  184. package/dist/docs/development/guides/99-adding-analytics.md +138 -0
  185. package/dist/docs/development/guides/_category_.json +11 -0
  186. package/dist/docs/development/guides/changelogs/01-introduction.md +33 -0
  187. package/dist/docs/development/guides/changelogs/02-adding-changelogs.md +94 -0
  188. package/dist/docs/development/guides/changelogs/03-automated-changelogs.md +44 -0
  189. package/dist/docs/development/guides/changelogs/_category_.json +11 -0
  190. package/dist/docs/development/guides/channels/01-introduction.md +111 -0
  191. package/dist/docs/development/guides/channels/02-adding-channels.md +198 -0
  192. package/dist/docs/development/guides/channels/04-adding-messages-to-services.md +292 -0
  193. package/dist/docs/development/guides/channels/09-configuration +39 -0
  194. package/dist/docs/development/guides/channels/_category_.json +11 -0
  195. package/dist/docs/development/guides/channels/ownership-and-components/01-owners.md +44 -0
  196. package/dist/docs/development/guides/channels/ownership-and-components/02-components.md +16 -0
  197. package/dist/docs/development/guides/channels/ownership-and-components/_category_.json +11 -0
  198. package/dist/docs/development/guides/channels/versioning-and-lifecycle/01-versioning.md +31 -0
  199. package/dist/docs/development/guides/channels/versioning-and-lifecycle/02-changelog.md +56 -0
  200. package/dist/docs/development/guides/channels/versioning-and-lifecycle/_category_.json +11 -0
  201. package/dist/docs/development/guides/data/01-introduction.md +34 -0
  202. package/dist/docs/development/guides/data/02-adding-data.md +86 -0
  203. package/dist/docs/development/guides/data/03a-adding-schemas-to-data-stores.md +73 -0
  204. package/dist/docs/development/guides/data/_category_.json +11 -0
  205. package/dist/docs/development/guides/data/ownership-and-components/01-owners.md +45 -0
  206. package/dist/docs/development/guides/data/ownership-and-components/02-components.md +17 -0
  207. package/dist/docs/development/guides/data/ownership-and-components/_category_.json +11 -0
  208. package/dist/docs/development/guides/data/versioning-and-lifecycle/01-versioning.md +32 -0
  209. package/dist/docs/development/guides/data/versioning-and-lifecycle/02-changelog.md +57 -0
  210. package/dist/docs/development/guides/data/versioning-and-lifecycle/03-deprecating.md +71 -0
  211. package/dist/docs/development/guides/data/versioning-and-lifecycle/_category_.json +11 -0
  212. package/dist/docs/development/guides/data-products/01-introduction.md +116 -0
  213. package/dist/docs/development/guides/data-products/02-adding-data-products.md +157 -0
  214. package/dist/docs/development/guides/data-products/03-inputs-and-outputs.md +128 -0
  215. package/dist/docs/development/guides/data-products/04-contracts.md +102 -0
  216. package/dist/docs/development/guides/data-products/05-versioning.md +240 -0
  217. package/dist/docs/development/guides/data-products/06-adding-to-domains.md +52 -0
  218. package/dist/docs/development/guides/data-products/_category_.json +11 -0
  219. package/dist/docs/development/guides/diagrams/01-introduction.md +78 -0
  220. package/dist/docs/development/guides/diagrams/02-creating-diagrams.md +195 -0
  221. package/dist/docs/development/guides/diagrams/03-referencing-diagrams.md +195 -0
  222. package/dist/docs/development/guides/diagrams/04-versioning-diagrams.md +204 -0
  223. package/dist/docs/development/guides/diagrams/05-comparing-diagrams.md +145 -0
  224. package/dist/docs/development/guides/diagrams/06-diagrams-with-llms.md +165 -0
  225. package/dist/docs/development/guides/diagrams/_category_.json +10 -0
  226. package/dist/docs/development/guides/domains/01-introduction.md +22 -0
  227. package/dist/docs/development/guides/domains/02-creating-domains/02-adding-domains.md +108 -0
  228. package/dist/docs/development/guides/domains/02-creating-domains/02a-subdomains.md +84 -0
  229. package/dist/docs/development/guides/domains/02-creating-domains/03-adding-services-to-domains.md +90 -0
  230. package/dist/docs/development/guides/domains/02-creating-domains/04-adding-messages-to-domains.md +107 -0
  231. package/dist/docs/development/guides/domains/02-creating-domains/05-adding-data-products-to-domains.md +105 -0
  232. package/dist/docs/development/guides/domains/02-creating-domains/_category_.json +11 -0
  233. package/dist/docs/development/guides/domains/03-ownership-and-language/01-owners.md +36 -0
  234. package/dist/docs/development/guides/domains/03-ownership-and-language/02-adding-ubiquitous-language.md +75 -0
  235. package/dist/docs/development/guides/domains/03-ownership-and-language/_category_.json +10 -0
  236. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/01-versioning.md +40 -0
  237. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/02-changelog.md +53 -0
  238. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/_category_.json +10 -0
  239. package/dist/docs/development/guides/domains/05-entities/01-introduction.md +24 -0
  240. package/dist/docs/development/guides/domains/05-entities/02-adding-entities.md +157 -0
  241. package/dist/docs/development/guides/domains/05-entities/03-adding-entities-to-domains.md +30 -0
  242. package/dist/docs/development/guides/domains/05-entities/04-domain-entity-map.md +134 -0
  243. package/dist/docs/development/guides/domains/05-entities/_category_.json +11 -0
  244. package/dist/docs/development/guides/domains/08-domain-integration-map.md +41 -0
  245. package/dist/docs/development/guides/domains/_category_.json +11 -0
  246. package/dist/docs/development/guides/flows/01-introduction.md +36 -0
  247. package/dist/docs/development/guides/flows/02-adding-flows.md +198 -0
  248. package/dist/docs/development/guides/flows/03-flow-nodes.md +273 -0
  249. package/dist/docs/development/guides/flows/04-adding-flows-to-services.md +42 -0
  250. package/dist/docs/development/guides/flows/05-adding-flows-to-domains.md +43 -0
  251. package/dist/docs/development/guides/flows/06-versioning.md +27 -0
  252. package/dist/docs/development/guides/flows/07-create-flow-with-ai.md +171 -0
  253. package/dist/docs/development/guides/flows/_category_.json +11 -0
  254. package/dist/docs/development/guides/messages/01-overview.md +57 -0
  255. package/dist/docs/development/guides/messages/_category_.json +11 -0
  256. package/dist/docs/development/guides/messages/commands/01-introduction.md +26 -0
  257. package/dist/docs/development/guides/messages/commands/02-adding-commands.md +131 -0
  258. package/dist/docs/development/guides/messages/commands/_category_.json +11 -0
  259. package/dist/docs/development/guides/messages/common/01-map-to-producers-and-consumers.md +37 -0
  260. package/dist/docs/development/guides/messages/common/02-adding-schemas.md +58 -0
  261. package/dist/docs/development/guides/messages/common/02-deprecating.md +71 -0
  262. package/dist/docs/development/guides/messages/common/02-draft-messages.md +63 -0
  263. package/dist/docs/development/guides/messages/common/02-examples.md +99 -0
  264. package/dist/docs/development/guides/messages/common/03-owners.md +40 -0
  265. package/dist/docs/development/guides/messages/common/04-versioning.md +27 -0
  266. package/dist/docs/development/guides/messages/common/05-changelog.md +73 -0
  267. package/dist/docs/development/guides/messages/common/07-components.md +12 -0
  268. package/dist/docs/development/guides/messages/common/08-shared-messages-across-boundaries.md +70 -0
  269. package/dist/docs/development/guides/messages/common/09-grouping-messages.md +98 -0
  270. package/dist/docs/development/guides/messages/common/_category_.json +11 -0
  271. package/dist/docs/development/guides/messages/events/01-introduction.md +25 -0
  272. package/dist/docs/development/guides/messages/events/02-adding-events.md +130 -0
  273. package/dist/docs/development/guides/messages/events/_category_.json +11 -0
  274. package/dist/docs/development/guides/messages/queries/01-introduction.md +25 -0
  275. package/dist/docs/development/guides/messages/queries/02-adding-queries.md +130 -0
  276. package/dist/docs/development/guides/messages/queries/_category_.json +11 -0
  277. package/dist/docs/development/guides/owners/_category_.json +11 -0
  278. package/dist/docs/development/guides/owners/teams/01-introduction.md +21 -0
  279. package/dist/docs/development/guides/owners/teams/02-adding-teams.md +73 -0
  280. package/dist/docs/development/guides/owners/teams/_category_.json +11 -0
  281. package/dist/docs/development/guides/owners/users/01-introduction.md +20 -0
  282. package/dist/docs/development/guides/owners/users/02-adding-users.md +70 -0
  283. package/dist/docs/development/guides/owners/users/_category_.json +11 -0
  284. package/dist/docs/development/guides/schemas/01-introduction.md +64 -0
  285. package/dist/docs/development/guides/schemas/02-schema-explorer.md +74 -0
  286. package/dist/docs/development/guides/schemas/03-schema-api.md +59 -0
  287. package/dist/docs/development/guides/schemas/04-schema-mcp.md +22 -0
  288. package/dist/docs/development/guides/schemas/05-field-usage.md +120 -0
  289. package/dist/docs/development/guides/schemas/06-fields-explorer.md +120 -0
  290. package/dist/docs/development/guides/schemas/_category_.json +11 -0
  291. package/dist/docs/development/guides/services/01-introduction.md +33 -0
  292. package/dist/docs/development/guides/services/02-adding-services.md +113 -0
  293. package/dist/docs/development/guides/services/03-creating-external-systems.md +71 -0
  294. package/dist/docs/development/guides/services/_category_.json +11 -0
  295. package/dist/docs/development/guides/services/adding-to-services/01-messages.md +229 -0
  296. package/dist/docs/development/guides/services/adding-to-services/02-datastores.md +77 -0
  297. package/dist/docs/development/guides/services/adding-to-services/03-entities.md +47 -0
  298. package/dist/docs/development/guides/services/adding-to-services/04-openapi.md +97 -0
  299. package/dist/docs/development/guides/services/adding-to-services/05-asyncapi.md +97 -0
  300. package/dist/docs/development/guides/services/adding-to-services/06-graphql.md +96 -0
  301. package/dist/docs/development/guides/services/adding-to-services/_category_.json +10 -0
  302. package/dist/docs/development/guides/services/ownership-and-components/01-owners.md +41 -0
  303. package/dist/docs/development/guides/services/ownership-and-components/02-components.md +13 -0
  304. package/dist/docs/development/guides/services/ownership-and-components/_category_.json +11 -0
  305. package/dist/docs/development/guides/services/versioning-and-lifecycle/01-versioning.md +27 -0
  306. package/dist/docs/development/guides/services/versioning-and-lifecycle/02-changelog.md +52 -0
  307. package/dist/docs/development/guides/services/versioning-and-lifecycle/03-deprecating.md +70 -0
  308. package/dist/docs/development/guides/services/versioning-and-lifecycle/_category_.json +11 -0
  309. package/dist/docs/development/upgrading/_category_.json +12 -0
  310. package/dist/docs/development/upgrading/upgrading.md +142 -0
  311. package/dist/docs/development/upgrading/v2.md +69 -0
  312. package/dist/docs/development/upgrading/v3.md +277 -0
  313. package/dist/docs/miro/_category_.json +12 -0
  314. package/dist/docs/miro/contributing/01-getting-involved.md +53 -0
  315. package/dist/docs/miro/contributing/_category_.json +11 -0
  316. package/dist/docs/miro/getting-started/01-overview.md +63 -0
  317. package/dist/docs/miro/getting-started/02-installation.md +37 -0
  318. package/dist/docs/miro/getting-started/03-connecting-to-eventcatalog.md +59 -0
  319. package/dist/docs/miro/getting-started/_category_.json +11 -0
  320. package/dist/docs/miro/guides/01-adding-resources-to-board.md +90 -0
  321. package/dist/docs/miro/guides/02-creating-new-resources.md +61 -0
  322. package/dist/docs/miro/guides/03-editing-resources.md +50 -0
  323. package/dist/docs/miro/guides/04-connected-resources.md +54 -0
  324. package/dist/docs/miro/guides/05-services-and-dependencies.md +54 -0
  325. package/dist/docs/miro/guides/06-navigating-the-board.md +44 -0
  326. package/dist/docs/miro/guides/07-exporting-to-eventcatalog.md +75 -0
  327. package/dist/docs/miro/guides/_category_.json +11 -0
  328. package/dist/docs/miro/specifications/01-asyncapi.md +86 -0
  329. package/dist/docs/miro/specifications/02-openapi.md +86 -0
  330. package/dist/docs/miro/specifications/03-schema-registries.md +88 -0
  331. package/dist/docs/miro/specifications/_category_.json +11 -0
  332. package/dist/docs/miro/using-ai/01-overview.md +105 -0
  333. package/dist/docs/miro/using-ai/_category_.json +11 -0
  334. package/dist/docs/plugins/01-intro.md +49 -0
  335. package/dist/docs/plugins/02-generators.md +76 -0
  336. package/dist/docs/plugins/03-all-plugins.md +26 -0
  337. package/dist/docs/plugins/_category_.json +12 -0
  338. package/dist/docs/plugins/amazon-apigateway/00-intro.md +75 -0
  339. package/dist/docs/plugins/amazon-apigateway/01-installation.md +198 -0
  340. package/dist/docs/plugins/amazon-apigateway/02-plugin-configuration.md +136 -0
  341. package/dist/docs/plugins/amazon-apigateway/03-features.md +71 -0
  342. package/dist/docs/plugins/amazon-apigateway/04-examples.md +15 -0
  343. package/dist/docs/plugins/amazon-apigateway/_category_.json +11 -0
  344. package/dist/docs/plugins/apicurio/00-intro.md +102 -0
  345. package/dist/docs/plugins/apicurio/01-installation.md +165 -0
  346. package/dist/docs/plugins/apicurio/02-plugin-configuration.md +682 -0
  347. package/dist/docs/plugins/apicurio/03-features.md +221 -0
  348. package/dist/docs/plugins/apicurio/04-examples.md +20 -0
  349. package/dist/docs/plugins/apicurio/_category_.json +12 -0
  350. package/dist/docs/plugins/asyncapi/00-intro.md +81 -0
  351. package/dist/docs/plugins/asyncapi/01-installation.md +155 -0
  352. package/dist/docs/plugins/asyncapi/02-plugin-configuration.md +312 -0
  353. package/dist/docs/plugins/asyncapi/03-features.md +698 -0
  354. package/dist/docs/plugins/asyncapi/03a-workflows.md +153 -0
  355. package/dist/docs/plugins/asyncapi/04-examples.md +23 -0
  356. package/dist/docs/plugins/asyncapi/04-using-reference-objects.md +45 -0
  357. package/dist/docs/plugins/asyncapi/_category_.json +12 -0
  358. package/dist/docs/plugins/aws-glue-registry/00-intro.md +104 -0
  359. package/dist/docs/plugins/aws-glue-registry/00a-installation.md +305 -0
  360. package/dist/docs/plugins/aws-glue-registry/01-features.md +287 -0
  361. package/dist/docs/plugins/aws-glue-registry/02-examples.md +368 -0
  362. package/dist/docs/plugins/aws-glue-registry/03-api.md +282 -0
  363. package/dist/docs/plugins/aws-glue-registry/_category_.json +11 -0
  364. package/dist/docs/plugins/azure-schema-registry/00-intro.md +92 -0
  365. package/dist/docs/plugins/azure-schema-registry/01-installation.md +409 -0
  366. package/dist/docs/plugins/azure-schema-registry/02-plugin-configuration.md +375 -0
  367. package/dist/docs/plugins/azure-schema-registry/03-features.md +347 -0
  368. package/dist/docs/plugins/azure-schema-registry/04-examples.md +378 -0
  369. package/dist/docs/plugins/azure-schema-registry/_category_.json +12 -0
  370. package/dist/docs/plugins/backstage/00-intro.md +67 -0
  371. package/dist/docs/plugins/backstage/01-installation.md +250 -0
  372. package/dist/docs/plugins/backstage/02-api.md +51 -0
  373. package/dist/docs/plugins/backstage/03-examples.md +12 -0
  374. package/dist/docs/plugins/backstage/_category_.json +11 -0
  375. package/dist/docs/plugins/confluent-schema-registry/00-intro.md +90 -0
  376. package/dist/docs/plugins/confluent-schema-registry/01-installation.md +223 -0
  377. package/dist/docs/plugins/confluent-schema-registry/02-plugin-configuration.md +473 -0
  378. package/dist/docs/plugins/confluent-schema-registry/03-features.md +43 -0
  379. package/dist/docs/plugins/confluent-schema-registry/04-examples.md +19 -0
  380. package/dist/docs/plugins/confluent-schema-registry/_category_.json +12 -0
  381. package/dist/docs/plugins/eventbridge/00-intro.md +55 -0
  382. package/dist/docs/plugins/eventbridge/00a-installation.md +317 -0
  383. package/dist/docs/plugins/eventbridge/01-features.md +225 -0
  384. package/dist/docs/plugins/eventbridge/02-examples.md +17 -0
  385. package/dist/docs/plugins/eventbridge/03-api.md +441 -0
  386. package/dist/docs/plugins/eventbridge/03a-workflows.md +133 -0
  387. package/dist/docs/plugins/eventbridge/_category_.json +11 -0
  388. package/dist/docs/plugins/eventcatalog-federation/00-introduction.md +69 -0
  389. package/dist/docs/plugins/eventcatalog-federation/01-installation.md +182 -0
  390. package/dist/docs/plugins/eventcatalog-federation/02-plugin-configuration.md +208 -0
  391. package/dist/docs/plugins/eventcatalog-federation/03-examples.md +15 -0
  392. package/dist/docs/plugins/eventcatalog-federation/04-configuration.md +193 -0
  393. package/dist/docs/plugins/eventcatalog-federation/05-setup-team-catalog.md +97 -0
  394. package/dist/docs/plugins/eventcatalog-federation/_category_.json +11 -0
  395. package/dist/docs/plugins/github/00-intro.md +93 -0
  396. package/dist/docs/plugins/github/01-installation.md +293 -0
  397. package/dist/docs/plugins/github/02-plugin-configuration.md +253 -0
  398. package/dist/docs/plugins/github/03-features.md +42 -0
  399. package/dist/docs/plugins/github/04-examples.md +17 -0
  400. package/dist/docs/plugins/github/_category_.json +12 -0
  401. package/dist/docs/plugins/graphql/00-intro.md +74 -0
  402. package/dist/docs/plugins/graphql/01-installation.md +144 -0
  403. package/dist/docs/plugins/graphql/02-plugin-configuration.md +127 -0
  404. package/dist/docs/plugins/graphql/03-features.md +197 -0
  405. package/dist/docs/plugins/graphql/04-examples.md +15 -0
  406. package/dist/docs/plugins/graphql/_category_.json +12 -0
  407. package/dist/docs/plugins/hookdeck/01-intro.md +152 -0
  408. package/dist/docs/plugins/hookdeck/02-api.md +133 -0
  409. package/dist/docs/plugins/hookdeck/03-cli.md +45 -0
  410. package/dist/docs/plugins/hookdeck/_category_.json +11 -0
  411. package/dist/docs/plugins/openapi/00-intro.md +78 -0
  412. package/dist/docs/plugins/openapi/01-installation.md +148 -0
  413. package/dist/docs/plugins/openapi/02-plugin-configuration.md +332 -0
  414. package/dist/docs/plugins/openapi/03-features.md +790 -0
  415. package/dist/docs/plugins/openapi/03a-workflows.md +153 -0
  416. package/dist/docs/plugins/openapi/04-examples.md +23 -0
  417. package/dist/docs/plugins/openapi/_category_.json +12 -0
  418. package/dist/eventcatalog.cjs +434 -35
  419. package/dist/eventcatalog.config.d.cts +8 -0
  420. package/dist/eventcatalog.config.d.ts +8 -0
  421. package/dist/eventcatalog.js +87 -10
  422. package/dist/features.cjs +6 -0
  423. package/dist/features.d.cts +2 -1
  424. package/dist/features.d.ts +2 -1
  425. package/dist/features.js +3 -1
  426. package/dist/generate.cjs +1 -1
  427. package/dist/generate.js +3 -3
  428. package/dist/search-indexer.cjs +356 -0
  429. package/dist/search-indexer.d.cts +30 -0
  430. package/dist/search-indexer.d.ts +30 -0
  431. package/dist/search-indexer.js +10 -0
  432. package/dist/utils/cli-logger.cjs +1 -1
  433. package/dist/utils/cli-logger.js +2 -2
  434. package/eventcatalog/astro.config.mjs +28 -32
  435. package/eventcatalog/src/components/Search/SearchModal.tsx +248 -148
  436. package/eventcatalog/src/components/Search/search-utils.spec.ts +138 -1
  437. package/eventcatalog/src/components/Search/search-utils.ts +271 -0
  438. package/eventcatalog/src/env.d.ts +1 -0
  439. package/package.json +4 -3
@@ -1,5 +1,14 @@
1
1
  import { describe, expect, it, beforeEach } from 'vitest';
2
- import { getUrlForSearchItem } from './search-utils';
2
+ import {
3
+ applyActiveFilter,
4
+ getIndexedResultRank,
5
+ getSearchFilters,
6
+ getUrlForSearchItem,
7
+ hasMeaningfulIndexedMatch,
8
+ highlightQuery,
9
+ mapPagefindResultsToSearchItems,
10
+ normalizeResultUrl,
11
+ } from './search-utils';
3
12
 
4
13
  declare global {
5
14
  interface Window {
@@ -34,3 +43,131 @@ describe('getUrlForSearchItem', () => {
34
43
  expect(getUrlForSearchItem({}, 'unknown:Customer360:1.0.0')).toBeNull();
35
44
  });
36
45
  });
46
+
47
+ describe('indexed search result helpers', () => {
48
+ it('filters weak single-character highlighted matches for longer queries', () => {
49
+ expect(
50
+ hasMeaningfulIndexedMatch({
51
+ query: 'random',
52
+ title: 'Orders Service',
53
+ content: 'Order Metadata in api service server logs',
54
+ excerpt: 'Order Metadata in api db L -- <mark>R</mark> server',
55
+ })
56
+ ).toBe(false);
57
+ });
58
+
59
+ it('keeps short but meaningful marked terms', () => {
60
+ expect(
61
+ hasMeaningfulIndexedMatch({
62
+ query: 'db',
63
+ title: 'Orders Service',
64
+ content: 'Order Metadata in api service server logs',
65
+ excerpt: 'Order Metadata in api <mark>db</mark>',
66
+ })
67
+ ).toBe(true);
68
+ });
69
+
70
+ it('keeps exact title or content matches even without marked excerpts', () => {
71
+ expect(
72
+ hasMeaningfulIndexedMatch({
73
+ query: 'payments',
74
+ title: 'Payments Database',
75
+ content: '',
76
+ excerpt: '',
77
+ })
78
+ ).toBe(true);
79
+
80
+ expect(
81
+ hasMeaningfulIndexedMatch({
82
+ query: 'idempotency',
83
+ title: 'Payments Database',
84
+ content: 'Always include an idempotency key in payment creation.',
85
+ excerpt: '',
86
+ })
87
+ ).toBe(true);
88
+ });
89
+
90
+ it('normalizes Pagefind URLs to root-relative paths', () => {
91
+ expect(normalizeResultUrl('docs/containers/payments-db/0.0.1')).toBe('/docs/containers/payments-db/0.0.1');
92
+ expect(normalizeResultUrl('/docs/containers/payments-db/0.0.1')).toBe('/docs/containers/payments-db/0.0.1');
93
+ expect(normalizeResultUrl('https://example.com/docs')).toBe('https://example.com/docs');
94
+ });
95
+
96
+ it('highlights title matches while escaping unsafe title text', () => {
97
+ expect(highlightQuery('Payment <Service>', 'payment')).toBe('<mark>Payment</mark> &lt;Service&gt;');
98
+ });
99
+
100
+ it('ranks title matches above id/url matches and content matches', () => {
101
+ const query = 'payment';
102
+ const contentRank = getIndexedResultRank({
103
+ query,
104
+ title: 'Orders Service',
105
+ url: '/docs/services/OrdersService/1.0.0',
106
+ content: 'Handles payment retries',
107
+ });
108
+ const urlRank = getIndexedResultRank({
109
+ query,
110
+ title: 'Orders Service',
111
+ url: '/docs/services/PaymentService/1.0.0',
112
+ content: 'Handles orders',
113
+ });
114
+ const titleRank = getIndexedResultRank({
115
+ query,
116
+ title: 'Payment Service',
117
+ url: '/docs/services/PaymentService/1.0.0',
118
+ content: 'Handles orders',
119
+ });
120
+
121
+ expect(titleRank).toBeGreaterThan(urlRank);
122
+ expect(urlRank).toBeGreaterThan(contentRank);
123
+ });
124
+
125
+ it('applies grouped search filters', () => {
126
+ const items = [{ type: 'Event' }, { type: 'Command' }, { type: 'Team' }, { type: 'User' }, { type: 'Service' }];
127
+
128
+ expect(applyActiveFilter(items, 'Message')).toEqual([{ type: 'Event' }, { type: 'Command' }]);
129
+ expect(applyActiveFilter(items, 'Team')).toEqual([{ type: 'Team' }, { type: 'User' }]);
130
+ expect(applyActiveFilter(items, 'Service')).toEqual([{ type: 'Service' }]);
131
+ });
132
+
133
+ it('builds filter metadata without encoding behavior in labels', () => {
134
+ expect(getSearchFilters({ items: [], query: 'missing' })).toEqual([{ id: 'all', name: 'All (0)', count: 0 }]);
135
+ expect(getSearchFilters({ items: [{ type: 'Event' }, { type: 'Service' }], query: 'order' })).toEqual([
136
+ { id: 'all', name: 'All (2)', count: 2 },
137
+ { id: 'Service', name: 'Services (1)', count: 1 },
138
+ { id: 'Message', name: 'Messages (1)', count: 1 },
139
+ ]);
140
+ });
141
+
142
+ it('maps Pagefind results into ranked search items', async () => {
143
+ const items = await mapPagefindResultsToSearchItems({
144
+ query: 'payment',
145
+ limit: 10,
146
+ results: [
147
+ {
148
+ id: 'content',
149
+ score: 10,
150
+ data: async () => ({
151
+ url: 'docs/services/OrdersService/1.0.0',
152
+ content: 'Handles payment retries',
153
+ excerpt: 'Handles <mark>payment</mark> retries',
154
+ meta: { title: 'Orders Service', type: 'Service', id: 'OrdersService' },
155
+ }),
156
+ },
157
+ {
158
+ id: 'title',
159
+ score: 1,
160
+ data: async () => ({
161
+ url: 'docs/services/PaymentService/1.0.0',
162
+ content: 'Handles orders',
163
+ excerpt: '<mark>Payment</mark> service',
164
+ meta: { title: 'Payment Service', type: 'Service', id: 'PaymentService' },
165
+ }),
166
+ },
167
+ ],
168
+ });
169
+
170
+ expect(items.map((item) => item.id)).toEqual(['title', 'content']);
171
+ expect(items[0].url).toBe('/docs/services/PaymentService/1.0.0');
172
+ });
173
+ });
@@ -1,5 +1,49 @@
1
1
  import { buildUrl } from '@utils/url-builder';
2
2
 
3
+ export interface SearchNode {
4
+ key: string;
5
+ title: string;
6
+ badge?: string;
7
+ summary?: string;
8
+ href?: string;
9
+ icon?: string;
10
+ leftIcon?: string;
11
+ }
12
+
13
+ export interface SearchItem {
14
+ id: string;
15
+ name: string;
16
+ url: string;
17
+ type: string;
18
+ key?: string;
19
+ rawNode: {
20
+ title?: string;
21
+ badge?: string;
22
+ summary?: string;
23
+ icon?: string;
24
+ leftIcon?: string;
25
+ matchedExcerpt?: string;
26
+ };
27
+ isFavorite?: boolean;
28
+ }
29
+
30
+ export interface SearchFilter {
31
+ id: string;
32
+ name: string;
33
+ count: number;
34
+ }
35
+
36
+ interface PagefindResult {
37
+ id: string;
38
+ score?: number;
39
+ data: () => Promise<{
40
+ url: string;
41
+ excerpt?: string;
42
+ content?: string;
43
+ meta?: Record<string, any>;
44
+ }>;
45
+ }
46
+
3
47
  const docsPathByType: Record<string, string> = {
4
48
  channel: 'channels',
5
49
  command: 'commands',
@@ -32,3 +76,230 @@ export const getUrlForSearchItem = (node: { href?: string }, key: string) => {
32
76
 
33
77
  return buildUrl(`/docs/${docsPath}/${id}/${version}`);
34
78
  };
79
+
80
+ export const stripHtml = (value: string) =>
81
+ value
82
+ .replace(/<[^>]+>/g, '')
83
+ .replace(/\s+/g, ' ')
84
+ .trim();
85
+
86
+ const escapeHtml = (value: string) =>
87
+ value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
88
+
89
+ const escapeRegExp = (value: string) => value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
90
+
91
+ const getSearchTerms = (query: string) => [...new Set(query.trim().toLowerCase().split(/\s+/).filter(Boolean))];
92
+
93
+ const getMarkedTerms = (value: string) => {
94
+ return [...value.matchAll(/<mark>(.*?)<\/mark>/gi)].map((match) => stripHtml(match[1]).toLowerCase());
95
+ };
96
+
97
+ export const highlightQuery = (value: string, query: string) => {
98
+ const terms = getSearchTerms(query).sort((a, b) => b.length - a.length);
99
+
100
+ if (terms.length === 0) {
101
+ return escapeHtml(value);
102
+ }
103
+
104
+ const termLookup = new Set(terms);
105
+ const pattern = new RegExp(`(${terms.map(escapeRegExp).join('|')})`, 'gi');
106
+
107
+ return value
108
+ .split(pattern)
109
+ .map((part) => (termLookup.has(part.toLowerCase()) ? `<mark>${escapeHtml(part)}</mark>` : escapeHtml(part)))
110
+ .join('');
111
+ };
112
+
113
+ export const normalizeResultUrl = (url: string) => {
114
+ if (/^(https?:)?\/\//.test(url) || url.startsWith('/')) {
115
+ return url;
116
+ }
117
+
118
+ return `/${url}`;
119
+ };
120
+
121
+ export const hasMeaningfulIndexedMatch = ({
122
+ query,
123
+ title,
124
+ content,
125
+ excerpt,
126
+ }: {
127
+ query: string;
128
+ title: string;
129
+ content?: string;
130
+ excerpt: string;
131
+ }) => {
132
+ const terms = getSearchTerms(query);
133
+ if (terms.length === 0) {
134
+ return false;
135
+ }
136
+
137
+ const searchableText = `${title} ${content || ''}`.toLowerCase();
138
+ if (terms.some((term) => searchableText.includes(term))) {
139
+ return true;
140
+ }
141
+
142
+ const minimumMarkedLength = Math.min(3, Math.max(...terms.map((term) => term.length)));
143
+ return getMarkedTerms(excerpt).some((term) => term.length >= minimumMarkedLength);
144
+ };
145
+
146
+ export const getIndexedResultRank = ({
147
+ query,
148
+ title,
149
+ id,
150
+ url,
151
+ content,
152
+ }: {
153
+ query: string;
154
+ title: string;
155
+ id?: string;
156
+ url: string;
157
+ content?: string;
158
+ }) => {
159
+ const terms = getSearchTerms(query);
160
+ const titleText = title.toLowerCase();
161
+ const identityText = `${id || ''} ${url}`.toLowerCase();
162
+ const contentText = (content || '').toLowerCase();
163
+
164
+ if (terms.some((term) => titleText.includes(term))) return 3;
165
+ if (terms.some((term) => identityText.includes(term))) return 2;
166
+ if (terms.some((term) => contentText.includes(term))) return 1;
167
+ return 0;
168
+ };
169
+
170
+ export const applyActiveFilter = <T extends { type: string }>(items: T[], activeFilter: string) => {
171
+ if (activeFilter === 'all') {
172
+ return items;
173
+ }
174
+
175
+ if (activeFilter === 'Message') {
176
+ return items.filter((item) => ['Event', 'Command', 'Query'].includes(item.type));
177
+ }
178
+
179
+ if (activeFilter === 'Team') {
180
+ return items.filter((item) => ['Team', 'User'].includes(item.type));
181
+ }
182
+
183
+ return items.filter((item) => item.type === activeFilter);
184
+ };
185
+
186
+ export const getSearchFilters = ({ items, query }: { items: Array<{ type: string }>; query: string }): SearchFilter[] => {
187
+ if (!items.length && query !== '') {
188
+ return [{ id: 'all', name: 'All (0)', count: 0 }];
189
+ }
190
+
191
+ const counts: Record<string, number> = {
192
+ all: items.length,
193
+ Domain: 0,
194
+ Service: 0,
195
+ Message: 0,
196
+ Team: 0,
197
+ Container: 0,
198
+ Entity: 0,
199
+ Design: 0,
200
+ Channel: 0,
201
+ Flow: 0,
202
+ 'Data Product': 0,
203
+ 'Custom Doc': 0,
204
+ 'Resource Doc': 0,
205
+ Changelog: 0,
206
+ };
207
+
208
+ items.forEach((item) => {
209
+ if (counts[item.type] !== undefined) {
210
+ counts[item.type]++;
211
+ }
212
+
213
+ if (['Event', 'Command', 'Query'].includes(item.type)) {
214
+ counts.Message++;
215
+ }
216
+
217
+ if (['Team', 'User'].includes(item.type)) {
218
+ counts.Team++;
219
+ }
220
+ });
221
+
222
+ const filters: SearchFilter[] = [{ id: 'all', name: `All (${counts.all})`, count: counts.all }];
223
+ const addFilter = (id: string, name: string) => {
224
+ if (counts[id] > 0) {
225
+ filters.push({ id, name: `${name} (${counts[id]})`, count: counts[id] });
226
+ }
227
+ };
228
+
229
+ addFilter('Domain', 'Domains');
230
+ addFilter('Service', 'Services');
231
+ addFilter('Message', 'Messages');
232
+ addFilter('Container', 'Data Stores');
233
+ addFilter('Entity', 'Entities');
234
+ addFilter('Channel', 'Channels');
235
+ addFilter('Flow', 'Flows');
236
+ addFilter('Data Product', 'Data Products');
237
+ addFilter('Custom Doc', 'Custom Docs');
238
+ addFilter('Resource Doc', 'Resource Docs');
239
+ addFilter('Changelog', 'Changelogs');
240
+ addFilter('Design', 'Designs');
241
+ addFilter('Team', 'Teams & Users');
242
+
243
+ return filters;
244
+ };
245
+
246
+ export const mapPagefindResultsToSearchItems = async ({
247
+ results,
248
+ query,
249
+ limit,
250
+ }: {
251
+ results: PagefindResult[];
252
+ query: string;
253
+ limit: number;
254
+ }): Promise<SearchItem[]> => {
255
+ const mappedResults = await Promise.all(
256
+ results.slice(0, limit).map(async (result, resultIndex) => {
257
+ const data = await result.data();
258
+ const meta = data.meta || {};
259
+ const type = meta.type || 'Page';
260
+ const title = meta.title || data.url || 'Untitled';
261
+ const summary = meta.summary || stripHtml(data.excerpt || '');
262
+ const url = normalizeResultUrl(data.url);
263
+
264
+ if (
265
+ !hasMeaningfulIndexedMatch({
266
+ query,
267
+ title,
268
+ content: data.content,
269
+ excerpt: data.excerpt || '',
270
+ })
271
+ ) {
272
+ return null;
273
+ }
274
+
275
+ return {
276
+ item: {
277
+ id: result.id,
278
+ name: title,
279
+ url,
280
+ type,
281
+ rawNode: {
282
+ title,
283
+ badge: type,
284
+ summary,
285
+ matchedExcerpt: data.excerpt || summary,
286
+ },
287
+ } satisfies SearchItem,
288
+ resultIndex,
289
+ rank: getIndexedResultRank({
290
+ query,
291
+ title,
292
+ id: meta.id,
293
+ url,
294
+ content: data.content,
295
+ }),
296
+ score: typeof result.score === 'number' ? result.score : 0,
297
+ };
298
+ })
299
+ );
300
+
301
+ return mappedResults
302
+ .filter((result): result is NonNullable<typeof result> => result !== null)
303
+ .sort((a, b) => b.rank - a.rank || b.score - a.score || a.resultIndex - b.resultIndex)
304
+ .map((result) => result.item);
305
+ };
@@ -3,6 +3,7 @@
3
3
 
4
4
  declare const __EC_TRAILING_SLASH__: boolean;
5
5
  declare const __EC_BASE__: string;
6
+ declare const __EC_SEARCH_TYPE__: 'resource' | 'indexed';
6
7
 
7
8
  interface EventCatalogConfig {
8
9
  mermaid?: {
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "license": "SEE LICENSE IN LICENSE",
9
9
  "type": "module",
10
- "version": "3.35.0",
10
+ "version": "3.36.1",
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
@@ -80,6 +80,7 @@
80
80
  "mdast-util-find-and-replace": "^3.0.2",
81
81
  "mermaid": "^11.12.3",
82
82
  "nanostores": "^1.1.0",
83
+ "pagefind": "^1.5.2",
83
84
  "pako": "^2.1.0",
84
85
  "picocolors": "^1.1.1",
85
86
  "react": "^18.3.1",
@@ -105,8 +106,8 @@
105
106
  "update-notifier": "^7.3.1",
106
107
  "uuid": "^10.0.0",
107
108
  "zod": "^4.3.6",
108
- "@eventcatalog/linter": "1.0.22",
109
109
  "@eventcatalog/sdk": "2.21.0",
110
+ "@eventcatalog/linter": "1.0.22",
110
111
  "@eventcatalog/visualiser": "^3.20.0"
111
112
  },
112
113
  "devDependencies": {
@@ -135,7 +136,7 @@
135
136
  },
136
137
  "scripts": {
137
138
  "dev": "astro dev",
138
- "build:bin": "tsup",
139
+ "build:bin": "tsup && node scripts/copy-docs-to-dist.mjs",
139
140
  "test": "cross-env DISABLE_EVENTCATALOG_CACHE=true vitest",
140
141
  "test:ci": "node scripts/ci/test.js",
141
142
  "start": "astro dev",