@eventcatalog/core 5.8.0 → 5.9.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 (57) 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-E636DOFG.js → chunk-3PWCUWQC.js} +1 -1
  6. package/dist/{chunk-DT63JMNP.js → chunk-A3256YCN.js} +3 -2
  7. package/dist/{chunk-WLXXZTLD.js → chunk-JDSFD7IC.js} +1 -1
  8. package/dist/{chunk-YU6FEGOK.js → chunk-KGFAIGOT.js} +1 -1
  9. package/dist/{chunk-Z6UUCTIB.js → chunk-YBM7MCOY.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 +1 -1
  13. package/dist/docs/development/00-why-eventcatalog.md +15 -8
  14. package/dist/docs/development/01-adopting-eventcatalog.md +51 -0
  15. package/dist/docs/development/{ask-your-architecture/03-install-skills.md → 01-getting-started/install-skills.md} +10 -4
  16. package/dist/docs/development/01-getting-started/installation.md +5 -1
  17. package/dist/docs/development/ask-your-architecture/01-intro.md +21 -6
  18. package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +17 -3
  19. package/dist/docs/development/ask-your-architecture/03-mcp-server/introduction.md +3 -0
  20. package/dist/docs/development/ask-your-architecture/06-sync-docs-with-your-code.md +227 -0
  21. package/dist/docs/development/ask-your-architecture/07-catch-breaking-changes.md +149 -0
  22. package/dist/docs/development/ask-your-architecture/08-check-code-against-adrs.md +169 -0
  23. package/dist/docs/development/components/custom-components/02-create-your-first-component.md +4 -0
  24. package/dist/docs/development/customization/customize-visualizer/00-visualizer-nodes.md +7 -5
  25. package/dist/docs/development/developer-tools/api-catalog.md +1 -1
  26. package/dist/docs/development/{ask-your-architecture/02-llms.txt.md → developer-tools/llms.txt.md} +2 -0
  27. package/dist/docs/development/{ask-your-architecture/03-schemas.txt.md → developer-tools/schemas.txt.md} +1 -1
  28. package/dist/docs/development/developer-tools/ubiquitous-language.txt.md +42 -0
  29. package/dist/docs/development/guides/domains/03-ownership-and-language/02-adding-ubiquitous-language.md +3 -0
  30. package/dist/docs/development/guides/resources/adrs/01-introduction.md +1 -0
  31. package/dist/eventcatalog.cjs +6 -5
  32. package/dist/eventcatalog.js +8 -8
  33. package/dist/generate.cjs +3 -2
  34. package/dist/generate.js +3 -3
  35. package/dist/utils/cli-logger.cjs +1 -1
  36. package/dist/utils/cli-logger.js +2 -2
  37. package/eventcatalog/auth.config.ts +7 -9
  38. package/eventcatalog/src/components/Settings/LlmAccessSettingsForm.tsx +23 -3
  39. package/eventcatalog/src/features/ai/chat-api.ts +2 -4
  40. package/eventcatalog/src/features/auth/login.astro +2 -4
  41. package/eventcatalog/src/features/auth/middleware/middleware-auth.ts +1 -0
  42. package/eventcatalog/src/features/auth/middleware/middleware.ts +2 -3
  43. package/eventcatalog/src/features/mcp/apps/generated/viewer.html +1 -1
  44. package/eventcatalog/src/features/mcp/mcp-scoped-tools.ts +7 -4
  45. package/eventcatalog/src/features/mcp/mcp-server.ts +15 -2
  46. package/eventcatalog/src/features/tools/catalog-tools.ts +97 -30
  47. package/eventcatalog/src/pages/docs/llm/llms.txt.ts +24 -17
  48. package/eventcatalog/src/pages/docs/llm/schemas.txt.ts +1 -1
  49. package/eventcatalog/src/pages/docs/llm/ubiquitous-language.txt.ts +68 -0
  50. package/eventcatalog/src/pages/settings/llm-access.astro +2 -0
  51. package/eventcatalog/src/utils/catalog-modules.ts +16 -0
  52. package/eventcatalog/src/utils/collections/domains.ts +84 -0
  53. package/package.json +2 -2
  54. package/dist/docs/development/ask-your-architecture/04-agents/01-overview.md +0 -27
  55. package/dist/docs/development/ask-your-architecture/04-agents/02-code-to-docs.md +0 -124
  56. package/dist/docs/development/ask-your-architecture/04-agents/03-breaking-changes.md +0 -170
  57. package/dist/docs/development/ask-your-architecture/04-agents/_category_.json +0 -12
@@ -1,170 +0,0 @@
1
- ---
2
- sidebar_position: 3
3
- keywords:
4
- - Breaking Changes
5
- - AI Agents
6
- - GitHub Action
7
- - schema governance
8
- - schema compatibility
9
- sidebar_label: Breaking Changes Agent
10
- title: Breaking Changes Agent
11
- description: Detect breaking schema changes and affected EventCatalog consumers from pull requests
12
- ---
13
-
14
- The **Breaking Changes** agent reviews schema changes in pull requests and reports whether they are likely to break existing consumers.
15
-
16
- When a pull request changes a message schema, the agent checks whether the diff removes or renames fields, changes types, adds new required fields, narrows enums, or introduces similar compatibility risks. If it finds a breaking change, it traces the schema through your EventCatalog and comments on the source pull request with the breaking lines and affected consumers.
17
-
18
- The Breaking Changes agent is read-only. It does not edit your catalog or open documentation pull requests.
19
-
20
- ![Breaking Changes agent pull request comment showing detected schema changes and affected consumers](./img/breaking-changes-agent.jpeg)
21
-
22
- ## How it works
23
-
24
- ```mermaid
25
- flowchart LR
26
- PR[Source pull request] --> Agent[Breaking Changes agent]
27
- Agent --> Schema{Schema<br/>changed?}
28
- Schema -- No --> Skip[Nothing to report]
29
- Schema -- Yes --> Breaking{Breaking<br/>change?}
30
- Breaking -- No --> Skip
31
- Breaking -- Yes --> Consumers[Find catalog consumers]
32
- Consumers --> Comment[Comment on source PR]
33
- ```
34
-
35
- When a pull request is opened, the agent:
36
-
37
- 1. **Checks out your catalog** so it can understand the existing producers, consumers, messages, schemas, and flows.
38
- 2. **Collects the changed source files** from the pull request.
39
- 3. **Filters to schema files** using the configured schema extensions.
40
- 4. **Scores each schema change** for breaking-change risk. Additive changes, such as adding an optional field, are skipped.
41
- 5. **Finds affected consumers** for each breaking schema change by tracing the message through EventCatalog.
42
- 6. **Comments on your source pull request** with the breaking change, the relevant diff lines, and the consumers that could be affected.
43
-
44
- If the pull request has no changed schema files, or only non-breaking schema changes, the workflow exits without creating a catalog pull request.
45
-
46
- ## Getting started
47
-
48
- The Breaking Changes agent runs as a GitHub Action.
49
-
50
- ### 1. Add a new GitHub workflow
51
-
52
- Create a `.github/workflows/eventcatalog-breaking-changes.yml` file in the repository where your source changes happen.
53
-
54
- ```yaml
55
- on:
56
- pull_request:
57
-
58
- jobs:
59
- eventcatalog-breaking-changes:
60
- runs-on: ubuntu-latest
61
- permissions:
62
- contents: read
63
- issues: write
64
- pull-requests: write
65
- steps:
66
- - uses: actions/checkout@v6
67
- with:
68
- fetch-depth: 0
69
-
70
- - uses: event-catalog/agents@main
71
- env:
72
- ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
73
- with:
74
- agent: breaking-changes
75
- catalog-repo: your-org/your-catalog
76
- catalog-token: ${{ secrets.EVENTCATALOG_TOKEN }}
77
- ```
78
-
79
- `fetch-depth: 0` is required so the agent can diff the pull request against its base.
80
-
81
- ### 2. Add your model provider key
82
-
83
- Add the API key for your chosen model as a secret in your repository (**Settings → Secrets and variables → Actions**). Use the one that matches your model, for example `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, or `OPENROUTER_API_KEY`.
84
-
85
- You can see the list of [available models here](https://pi.dev/models).
86
-
87
- ### 3. Open a pull request that changes a schema
88
-
89
- When a pull request changes a schema, the agent reviews the schema diff. If it finds a breaking change, it comments on the pull request with the affected EventCatalog consumers.
90
-
91
- ## Configuration
92
-
93
- ### Inputs
94
-
95
- | Input | Required | Default | Description |
96
- | --- | --- | --- | --- |
97
- | `agent` | No | `code-to-docs` | Set this to `breaking-changes` to run the Breaking Changes agent. |
98
- | `catalog-repo` | Yes | | The EventCatalog repository to inspect, in `owner/repo` format. |
99
- | `catalog-ref` | No | `main` | Branch checked out from the catalog repository. |
100
- | `catalog-token` | No | `github.token` | Token used to check out the catalog repository. Use a token with read access when the catalog is in another private repository. |
101
- | `model` | No | `anthropic/claude-sonnet-4-6` | Model specifier for the agent. See [available models](https://pi.dev/models). |
102
- | `ignore-paths` | No | common build/output paths | Comma-separated paths or glob patterns to ignore in pull request diffs. |
103
- | `schema-extensions` | No | `.json,.yml,.yaml,.avro,.avsc,.proto,.graphql,.gql` | Comma-separated file extensions the agent treats as message schemas. |
104
-
105
- ### Schema extensions
106
-
107
- By default, the agent checks common schema files:
108
-
109
- ```yaml
110
- schema-extensions: .json,.yml,.yaml,.avro,.avsc,.proto,.graphql,.gql
111
- ```
112
-
113
- If your message contracts live in another file type, add that extension:
114
-
115
- ```yaml
116
- - uses: event-catalog/agents@main
117
- env:
118
- ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
119
- with:
120
- agent: breaking-changes
121
- catalog-repo: your-org/your-catalog
122
- catalog-token: ${{ secrets.EVENTCATALOG_TOKEN }}
123
- schema-extensions: .json,.yaml,.ts
124
- ```
125
-
126
- Only add source-code extensions when those files contain message contracts. The agent ignores non-schema files for this workflow.
127
-
128
- ### Provider API keys
129
-
130
- The model provider's API key is passed as a normal workflow environment variable. Set the one that matches your `model`:
131
-
132
- | Provider | Environment variable |
133
- | --- | --- |
134
- | Anthropic | `ANTHROPIC_API_KEY` |
135
- | OpenAI | `OPENAI_API_KEY` |
136
- | OpenRouter | `OPENROUTER_API_KEY` |
137
-
138
- The agent supports models from many providers. See the full list of model specifiers at [pi.dev/models](https://pi.dev/models).
139
-
140
- ## Run with Code-to-Docs
141
-
142
- Each Action step runs one EventCatalog agent. To run Breaking Changes and [Code-to-Docs](/docs/development/ask-your-architecture/agents/code-to-docs) on the same pull request, add two steps:
143
-
144
- ```yaml
145
- - uses: event-catalog/agents@main
146
- env:
147
- ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
148
- with:
149
- agent: breaking-changes
150
- catalog-repo: your-org/your-catalog
151
- catalog-token: ${{ secrets.EVENTCATALOG_TOKEN }}
152
-
153
- - uses: event-catalog/agents@main
154
- env:
155
- ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
156
- with:
157
- agent: code-to-docs
158
- catalog-repo: your-org/your-catalog
159
- catalog-token: ${{ secrets.EVENTCATALOG_TOKEN }}
160
- ```
161
-
162
- Use Breaking Changes when you want pull request feedback about schema compatibility. Use Code-to-Docs when you want catalog documentation updates proposed as a separate pull request.
163
-
164
- :::info Early access
165
- The Breaking Changes agent is in early access and free to evaluate. In the future, a license will be required to run EventCatalog Agents in production.
166
- :::
167
-
168
- ## Found an issue or have feedback?
169
-
170
- The Breaking Changes agent is open on GitHub at [event-catalog/agents](https://github.com/event-catalog/agents). If you hit a problem, or the agent reports something in a way you didn't expect, [open an issue](https://github.com/event-catalog/agents/issues/new) and let us know. Your feedback during early access directly shapes how the agent works.
@@ -1,12 +0,0 @@
1
- {
2
- "label": "Agents",
3
- "position": 4,
4
- "collapsible": true,
5
- "collapsed": true,
6
- "link": {
7
- "type": "generated-index",
8
- "slug": "/development/ask-your-architecture/agents",
9
- "title": "EventCatalog Agents",
10
- "description": "AI agents that help you manage and document your architecture with EventCatalog."
11
- }
12
- }