@eventcatalog/core 5.7.6 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +1 -1
- package/dist/analytics/log-build.js +3 -3
- package/dist/{chunk-SLN5D6WP.js → chunk-26C26LFE.js} +1 -1
- package/dist/{chunk-E2262TPK.js → chunk-C4L6B5KR.js} +1 -1
- package/dist/{chunk-XB4U75TZ.js → chunk-SZU7I2PD.js} +1 -1
- package/dist/{chunk-UI2XA4V7.js → chunk-UIJUSHOT.js} +1 -1
- package/dist/{chunk-A22MC5P5.js → chunk-WN6ZFSXF.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/docs/api/02-config.md +1 -1
- package/dist/docs/development/00-why-eventcatalog.md +12 -8
- package/dist/docs/development/01-adopting-eventcatalog.md +51 -0
- package/dist/docs/development/{ask-your-architecture/03-install-skills.md → 01-getting-started/install-skills.md} +10 -4
- package/dist/docs/development/01-getting-started/installation.md +5 -1
- package/dist/docs/development/ask-your-architecture/01-intro.md +7 -5
- package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +17 -3
- package/dist/docs/development/ask-your-architecture/03-mcp-server/introduction.md +3 -0
- package/dist/docs/development/ask-your-architecture/06-sync-docs-with-your-code.md +220 -0
- package/dist/docs/development/ask-your-architecture/07-catch-breaking-changes.md +142 -0
- package/dist/docs/development/components/custom-components/02-create-your-first-component.md +4 -0
- package/dist/docs/development/customization/customize-visualizer/00-visualizer-nodes.md +7 -5
- package/dist/docs/development/developer-tools/api-catalog.md +1 -1
- package/dist/docs/development/{ask-your-architecture/02-llms.txt.md → developer-tools/llms.txt.md} +2 -0
- package/dist/docs/development/{ask-your-architecture/03-schemas.txt.md → developer-tools/schemas.txt.md} +1 -1
- package/dist/docs/development/developer-tools/ubiquitous-language.txt.md +42 -0
- package/dist/docs/development/guides/domains/03-ownership-and-language/02-adding-ubiquitous-language.md +3 -0
- package/dist/eventcatalog.cjs +1 -1
- package/dist/eventcatalog.js +21 -21
- package/dist/federation/federate.js +2 -2
- package/dist/generate.cjs +1 -1
- package/dist/generate.js +3 -3
- package/dist/utils/cli-logger.cjs +1 -1
- package/dist/utils/cli-logger.js +2 -2
- package/eventcatalog/src/components/Settings/LlmAccessSettingsForm.tsx +23 -3
- package/eventcatalog/src/components/SpecificationDownloadButton.astro +24 -0
- package/eventcatalog/src/features/auth/middleware/middleware-auth.ts +1 -0
- package/eventcatalog/src/features/mcp/apps/generated/viewer.html +1 -1
- package/eventcatalog/src/features/mcp/mcp-scoped-tools.ts +7 -4
- package/eventcatalog/src/features/mcp/mcp-server.ts +13 -1
- package/eventcatalog/src/features/tools/catalog-tools.ts +97 -30
- package/eventcatalog/src/pages/api/schemas/services/[id]/[version]/[specification]/index.ts +25 -27
- package/eventcatalog/src/pages/discover/[type]/index.astro +9 -2
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/asyncapi/[filename]/[file].ts +7 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/asyncapi/[filename].astro +19 -7
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/generic/[filename]/[file].ts +7 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/generic/[filename].astro +21 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/[filename]/[file].ts +7 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/[filename].astro +19 -1
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/[filename]/[file].ts +7 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/[filename].astro +4 -0
- package/eventcatalog/src/pages/docs/llm/llms.txt.ts +24 -17
- package/eventcatalog/src/pages/docs/llm/schemas.txt.ts +1 -1
- package/eventcatalog/src/pages/docs/llm/ubiquitous-language.txt.ts +68 -0
- package/eventcatalog/src/pages/docs/services/[id]/asyncapi/[filename]/[file].ts +7 -0
- package/eventcatalog/src/pages/docs/services/[id]/graphql/[filename]/[file].ts +7 -0
- package/eventcatalog/src/pages/docs/services/[id]/spec/[filename]/[file].ts +7 -0
- package/eventcatalog/src/pages/docs/services/_latest-raw-specification-route.ts +37 -0
- package/eventcatalog/src/pages/settings/llm-access.astro +2 -0
- package/eventcatalog/src/stores/sidebar-store/builders/data-product.ts +7 -3
- package/eventcatalog/src/utils/collections/domains.ts +84 -0
- package/eventcatalog/src/utils/raw-specification.ts +126 -0
- package/package.json +4 -4
- package/dist/docs/development/ask-your-architecture/04-agents/01-overview.md +0 -27
- package/dist/docs/development/ask-your-architecture/04-agents/02-code-to-docs.md +0 -124
- package/dist/docs/development/ask-your-architecture/04-agents/03-breaking-changes.md +0 -170
- package/dist/docs/development/ask-your-architecture/04-agents/_category_.json +0 -12
- package/dist/{chunk-46TBJZC3.js → chunk-QJ7KKN2D.js} +4 -4
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 7
|
|
3
|
+
keywords:
|
|
4
|
+
- Breaking Changes
|
|
5
|
+
- EventCatalog Agents
|
|
6
|
+
- schema governance
|
|
7
|
+
- schema compatibility
|
|
8
|
+
- GitHub Actions
|
|
9
|
+
sidebar_label: Catch breaking changes
|
|
10
|
+
title: Catch breaking changes
|
|
11
|
+
description: The Breaking Changes workflow comments on pull requests when a schema change would break a consumer documented in your EventCatalog, with the consumers and their owners.
|
|
12
|
+
slug: /development/agents/set-up-breaking-changes
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
import { BreakingChangesComment } from '@site/src/components/AgentOutputs';
|
|
16
|
+
import { AgentPrompt } from '@site/src/components/AgentPrompt';
|
|
17
|
+
|
|
18
|
+
The **Breaking Changes** workflow checks the message schemas changed in a pull request. If a change would break consumers documented in your catalog, it comments with what breaks, who is affected, and who owns them, before the change merges. It never edits your catalog.
|
|
19
|
+
|
|
20
|
+
<AgentPrompt variant="breaking-changes" />
|
|
21
|
+
|
|
22
|
+
<BreakingChangesComment />
|
|
23
|
+
|
|
24
|
+
## How it works
|
|
25
|
+
|
|
26
|
+
1. **Finds changed schemas.** It looks for changed schema files in the pull request.
|
|
27
|
+
2. **Checks each change.** A change is breaking when existing consumers could fail: a removed or renamed field, a changed type, a new required field, a narrowed enum, and similar. Additive changes, such as a new optional field, are not breaking.
|
|
28
|
+
3. **Finds the consumers.** It matches the schema to its message in your catalog, then finds every service, agent or domain that receives it at an affected version.
|
|
29
|
+
4. **Comments on the pull request** with the breaking lines and each consumer with its owners.
|
|
30
|
+
|
|
31
|
+
If the pull request changes no schemas, or none of the changes are breaking, it doesn't comment. If a breaking change has no consumers in your catalog, the comment says so.
|
|
32
|
+
|
|
33
|
+
A consumer is affected when it receives the message at its current version, at `latest` or with no version, or at a range that includes the current version, such as `1.x`. Consumers pinned to an older version are listed too, with their version. The reason given for each consumer comes from your catalog, such as "Receives payment-succeeded 1.0.0". The agent doesn't guess how a consumer uses particular fields.
|
|
34
|
+
|
|
35
|
+
## Before you start
|
|
36
|
+
|
|
37
|
+
You need:
|
|
38
|
+
|
|
39
|
+
- An EventCatalog in a GitHub repository (the **catalog repository**), with the catalog at the root of the repository, and the consumers of your messages documented in it.
|
|
40
|
+
- A repository with message schemas (the **source repository**).
|
|
41
|
+
- An API key for an AI model provider.
|
|
42
|
+
|
|
43
|
+
## Set it up
|
|
44
|
+
|
|
45
|
+
In your source repository, add two secrets under **Settings → Secrets and variables → Actions**:
|
|
46
|
+
|
|
47
|
+
- `ANTHROPIC_API_KEY`, or the key for [your model provider](#models).
|
|
48
|
+
- `EVENTCATALOG_TOKEN`, a GitHub token that can read your catalog repository. The workflow never writes to it.
|
|
49
|
+
|
|
50
|
+
Then add the workflow. It runs while the pull request is open, so the warning arrives before the change merges:
|
|
51
|
+
|
|
52
|
+
```yaml title=".github/workflows/eventcatalog-breaking-changes.yml"
|
|
53
|
+
on:
|
|
54
|
+
pull_request:
|
|
55
|
+
types: [opened, synchronize, reopened]
|
|
56
|
+
|
|
57
|
+
jobs:
|
|
58
|
+
breaking-changes:
|
|
59
|
+
runs-on: ubuntu-latest
|
|
60
|
+
permissions:
|
|
61
|
+
contents: read
|
|
62
|
+
issues: write
|
|
63
|
+
pull-requests: write
|
|
64
|
+
steps:
|
|
65
|
+
- uses: actions/checkout@v6
|
|
66
|
+
with:
|
|
67
|
+
ref: ${{ github.event.pull_request.head.sha }}
|
|
68
|
+
fetch-depth: 0
|
|
69
|
+
- uses: event-catalog/agents@v2
|
|
70
|
+
env:
|
|
71
|
+
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
72
|
+
with:
|
|
73
|
+
agent: breaking-changes
|
|
74
|
+
catalog-repo: your-org/your-catalog
|
|
75
|
+
catalog-token: ${{ secrets.EVENTCATALOG_TOKEN }}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Replace `your-org/your-catalog` with your catalog repository. Keep `fetch-depth: 0`: the agent needs it to compare the pull request with its base branch.
|
|
79
|
+
|
|
80
|
+
To check it works, open a pull request that removes a field from a schema that a service in your catalog consumes.
|
|
81
|
+
|
|
82
|
+
If you also [sync docs with your code](/docs/development/agents/set-up-code-to-docs), you can run both from one workflow file: add `closed` to the `types`, and give each job an `if`:
|
|
83
|
+
|
|
84
|
+
```yaml
|
|
85
|
+
on:
|
|
86
|
+
pull_request:
|
|
87
|
+
types: [opened, synchronize, reopened, closed]
|
|
88
|
+
|
|
89
|
+
jobs:
|
|
90
|
+
breaking-changes:
|
|
91
|
+
if: github.event.action != 'closed'
|
|
92
|
+
# ... as above
|
|
93
|
+
|
|
94
|
+
code-to-docs:
|
|
95
|
+
if: github.event.action == 'closed' && github.event.pull_request.merged == true
|
|
96
|
+
# ...
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Configuration
|
|
100
|
+
|
|
101
|
+
| Input | Required | Default | Description |
|
|
102
|
+
| --- | --- | --- | --- |
|
|
103
|
+
| `agent` | Yes | | Set to `breaking-changes` to run this workflow. |
|
|
104
|
+
| `catalog-repo` | Yes | | Your catalog repository, in `owner/repo` format. |
|
|
105
|
+
| `catalog-ref` | No | `main` | The catalog branch to read. |
|
|
106
|
+
| `catalog-token` | No | `github.token` | A token that can read the catalog repository. |
|
|
107
|
+
| `catalog-url` | No | | The URL of your hosted catalog. The comment links consumers and owners to it. |
|
|
108
|
+
| `model` | No | `anthropic/claude-sonnet-4-6` | The model the agent uses. See [models](#models). |
|
|
109
|
+
| `schema-extensions` | No | `.json,.yml,.yaml,.avro,.avsc,.proto,.graphql,.gql` | The file extensions treated as message schemas. |
|
|
110
|
+
| `ignore-paths` | No | Build and dependency folders | Comma-separated paths or glob patterns to leave out of the review. |
|
|
111
|
+
|
|
112
|
+
To check message contracts in other files, such as TypeScript types, set `schema-extensions`. Your list replaces the defaults, so include every extension you want checked:
|
|
113
|
+
|
|
114
|
+
```yaml
|
|
115
|
+
with:
|
|
116
|
+
schema-extensions: .json,.yaml,.ts
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Only add source code extensions for files that contain message contracts: every changed file with a listed extension is checked.
|
|
120
|
+
|
|
121
|
+
## Models
|
|
122
|
+
|
|
123
|
+
Use any model from [these providers](https://pi.dev/models). Set `model` to a provider and model name, and pass your provider's key as an environment variable on the step:
|
|
124
|
+
|
|
125
|
+
| Provider | Model example | Environment variable |
|
|
126
|
+
| --- | --- | --- |
|
|
127
|
+
| Anthropic | `anthropic/claude-sonnet-4-6` | `ANTHROPIC_API_KEY` |
|
|
128
|
+
| OpenAI | `openai/gpt-5.1` | `OPENAI_API_KEY` |
|
|
129
|
+
| OpenRouter | `openrouter/anthropic/claude-sonnet-4.6` | `OPENROUTER_API_KEY` |
|
|
130
|
+
|
|
131
|
+
To use models in your own AWS account, use an `amazon-bedrock/` model, such as `amazon-bedrock/eu.anthropic.claude-sonnet-4-6`, and give the job AWS credentials with [`aws-actions/configure-aws-credentials`](https://github.com/aws-actions/configure-aws-credentials).
|
|
132
|
+
|
|
133
|
+
## Data and privacy
|
|
134
|
+
|
|
135
|
+
- **It's read-only.** It only comments on pull requests, and never edits your catalog.
|
|
136
|
+
- **Your code goes to one place:** the model provider you configure. The agent runs in your GitHub Actions runner. EventCatalog never receives your code, your catalog or your pull requests.
|
|
137
|
+
|
|
138
|
+
Each run sends one anonymous usage event: the outcome and the kind of error if it failed, the model, the run's duration, whether the pull request was open or merged, and the repository name. It never contains code, file names, paths, diffs or pull request content. To turn it off, set `POSTHOG_KEY: ''` in the step's `env`.
|
|
139
|
+
|
|
140
|
+
## Versions
|
|
141
|
+
|
|
142
|
+
Use `event-catalog/agents@v2` for the latest v2 release, or an exact release such as `event-catalog/agents@v2.1.0`, which never changes. Releases are listed on [GitHub](https://github.com/event-catalog/agents/tags).
|
package/dist/docs/development/components/custom-components/02-create-your-first-component.md
CHANGED
|
@@ -5,8 +5,12 @@ title: Create your first component
|
|
|
5
5
|
description: Create a small reusable component and render it in a catalog page.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
import { AgentPrompt } from '@site/src/components/AgentPrompt';
|
|
9
|
+
|
|
8
10
|
In this guide, we will create a simple component and add it to a service page.
|
|
9
11
|
|
|
12
|
+
<AgentPrompt variant="custom-component" />
|
|
13
|
+
|
|
10
14
|
## Create the component
|
|
11
15
|
|
|
12
16
|
Create a new file in your catalog.
|
|
@@ -30,8 +30,8 @@ name: Notification Service
|
|
|
30
30
|
summary: |
|
|
31
31
|
Service that handles orders
|
|
32
32
|
styles:
|
|
33
|
-
icon:
|
|
34
|
-
node:
|
|
33
|
+
icon: /icons/bell.svg
|
|
34
|
+
node:
|
|
35
35
|
color: purple
|
|
36
36
|
label: "Custom"
|
|
37
37
|
---
|
|
@@ -45,6 +45,8 @@ styles:
|
|
|
45
45
|
|
|
46
46
|
| ID | Required | Default | Description |
|
|
47
47
|
| --- | --- | --- | --- |
|
|
48
|
-
| `styles.icon` | No | Depends on resource type |
|
|
49
|
-
| `styles.node.color` | No | Depends on resource type | The color to use for the node
|
|
50
|
-
| `styles.node.label` | No | Depends on resource type | The label
|
|
48
|
+
| `styles.icon` | No | Depends on resource type | An icon shown next to the resource's name: a path to an image in your catalog's `public` folder (e.g. `/icons/bell.svg`) or an image URL. Domain, flow and entity nodes also take a [Heroicons](https://heroicons.com/) name (e.g. `BellIcon`). |
|
|
49
|
+
| `styles.node.color` | No | Depends on resource type | The color to use for the node: a [Tailwind color](https://tailwindcss.com/docs/colors) name (e.g. `blue`, `emerald`) or a hex color (e.g. `#0ea5e9`). It colors the node's border, badge and handles. |
|
|
50
|
+
| `styles.node.label` | No | Depends on resource type | The label shown in the node's type badge, in place of its type (e.g. `Service`). |
|
|
51
|
+
|
|
52
|
+
Colors and labels apply to services, events, commands, queries, channels, data stores, data products, agents and flows.
|
|
@@ -109,4 +109,4 @@ When the EventCatalog MCP server is enabled, an additional entry pointing at `/d
|
|
|
109
109
|
|
|
110
110
|
Only services and domains are included in v1 of this endpoint. Events, commands, queries, data products, schemas, diagrams, teams, and users are out of scope for this release.
|
|
111
111
|
|
|
112
|
-
For a broader machine-readable index of your catalog content, see [llms.txt](/docs/development/
|
|
112
|
+
For a broader machine-readable index of your catalog content, see [llms.txt](/docs/development/developer-tools/llms.txt) and [schemas.txt](/docs/development/developer-tools/schemas.txt).
|
package/dist/docs/development/{ask-your-architecture/02-llms.txt.md → developer-tools/llms.txt.md}
RENAMED
|
@@ -52,6 +52,8 @@ The recommended URLs for AI tools are at the catalog root:
|
|
|
52
52
|
- `https://<your-catalog-url>/llms-full.txt`
|
|
53
53
|
- Demo: https://demo.eventcatalog.dev/llms-full.txt
|
|
54
54
|
|
|
55
|
+
The ubiquitous language of your catalog is also available as [ubiquitous-language.txt](/docs/development/developer-tools/ubiquitous-language.txt).
|
|
56
|
+
|
|
55
57
|
The legacy paths `/docs/llm/llms.txt` and `/docs/llm/llms-full.txt` still work for backward compatibility.
|
|
56
58
|
|
|
57
59
|
### How to use LLMS.txt?
|
|
@@ -17,7 +17,7 @@ Message schemas and service specifications can be fetched from your EventCatalog
|
|
|
17
17
|
|
|
18
18
|
### What is schemas.txt?
|
|
19
19
|
|
|
20
|
-
Schemas.txt is very similar to [LLMS.txt](/docs/development/
|
|
20
|
+
Schemas.txt is very similar to [LLMS.txt](/docs/development/developer-tools/llms.txt), but it is specifically for schemas in your EventCatalog.
|
|
21
21
|
|
|
22
22
|
Schemas.txt supports any schema format for your messages (e.g Avro, Protobuf, JSON Schema etc) and any specification for your services (e.g OpenAPI, AsyncAPI, GraphQL etc).
|
|
23
23
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 8
|
|
3
|
+
keywords:
|
|
4
|
+
- ubiquitous language
|
|
5
|
+
- glossary
|
|
6
|
+
- AI
|
|
7
|
+
- LLM
|
|
8
|
+
sidebar_label: ubiquitous-language.txt
|
|
9
|
+
title: ubiquitous-language.txt
|
|
10
|
+
description: Give AI tools the ubiquitous language of your organization
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
14
|
+
|
|
15
|
+
<AddedIn version="5.9.0" />
|
|
16
|
+
|
|
17
|
+
Give AI tools one file with the ubiquitous language of your whole organization.
|
|
18
|
+
|
|
19
|
+
### What is ubiquitous-language.txt?
|
|
20
|
+
|
|
21
|
+
The file lists the terms of every domain and subdomain, with subdomains under their parent domain. It is generated from your [`ubiquitous-language.mdx`](/docs/development/guides/domains/ownership-and-language/adding-ubiquitous-language) files, so there is nothing to configure.
|
|
22
|
+
|
|
23
|
+
Terms are never merged, because a word can mean different things in different domains. Terms defined in more than one domain are listed together at the top of the file, with the meaning in each domain.
|
|
24
|
+
|
|
25
|
+
```txt
|
|
26
|
+
## Terms defined in more than one domain
|
|
27
|
+
- Reservation
|
|
28
|
+
- Fulfilment: A temporary hold on stock for a specific order, taken during checkout.
|
|
29
|
+
- Ordering: A temporary hold on stock for the items in a cart, taken during checkout.
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Each term is one line with its summary (or its description, flattened to one line, when it has no summary). Each domain section links to that domain's `/docs/domains/{id}/language.mdx` for the full definitions.
|
|
33
|
+
|
|
34
|
+
### Access the file
|
|
35
|
+
|
|
36
|
+
- `https://<your-catalog-url>/docs/llm/ubiquitous-language.txt`
|
|
37
|
+
|
|
38
|
+
The file is turned on and off with the `llmsTxt` setting, the same as [llms.txt](/docs/development/developer-tools/llms.txt). When it is disabled the file returns a 404. It is linked from the LLM access settings page, and from the Ubiquitous Language section of `llms.txt`.
|
|
39
|
+
|
|
40
|
+
### Use with the MCP server
|
|
41
|
+
|
|
42
|
+
The [EventCatalog MCP server](/docs/development/ask-your-architecture/mcp-server/getting-started#available-tools) exposes the same language through the `explainUbiquitousLanguageTerms` tool.
|
|
@@ -96,5 +96,8 @@ When you add a ubiquitous language dictionary to your domain, it will automatica
|
|
|
96
96
|
|
|
97
97
|
Clicking on a term in the Domain Language explorer will open that term in a new page.
|
|
98
98
|
|
|
99
|
+
### Share with AI tools
|
|
99
100
|
|
|
101
|
+
<AddedIn version="5.9.0" />
|
|
100
102
|
|
|
103
|
+
Your terms from every domain are also available to AI tools in one file, [ubiquitous-language.txt](/docs/development/developer-tools/ubiquitous-language.txt), and through the `explainUbiquitousLanguageTerms` tool of the [MCP server](/docs/development/ask-your-architecture/mcp-server/getting-started#explain-ubiquitous-language).
|
package/dist/eventcatalog.cjs
CHANGED
|
@@ -174,7 +174,7 @@ var verifyRequiredFieldsAreInCatalogConfigFile = async (projectDirectory) => {
|
|
|
174
174
|
var import_picocolors = __toESM(require("picocolors"), 1);
|
|
175
175
|
|
|
176
176
|
// package.json
|
|
177
|
-
var version = "5.
|
|
177
|
+
var version = "5.9.0";
|
|
178
178
|
|
|
179
179
|
// src/constants.ts
|
|
180
180
|
var VERSION = version;
|
package/dist/eventcatalog.js
CHANGED
|
@@ -2,35 +2,35 @@ import {
|
|
|
2
2
|
stopChildWithParent
|
|
3
3
|
} from "./chunk-S5GWAUG5.js";
|
|
4
4
|
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
} from "./chunk-46TBJZC3.js";
|
|
9
|
-
import {
|
|
10
|
-
getFederationDiagnosticCounts,
|
|
11
|
-
getVisibleFederationDiagnostics
|
|
12
|
-
} from "./chunk-JJPB6EOZ.js";
|
|
13
|
-
import "./chunk-WRNH5C3U.js";
|
|
14
|
-
import "./chunk-5EPNFDT5.js";
|
|
15
|
-
import "./chunk-A2RZR3U4.js";
|
|
16
|
-
import "./chunk-SDZQJTJW.js";
|
|
17
|
-
import "./chunk-352FGP6W.js";
|
|
5
|
+
runMigrations
|
|
6
|
+
} from "./chunk-XUAF2H54.js";
|
|
7
|
+
import "./chunk-CA4U2JP7.js";
|
|
18
8
|
import {
|
|
19
9
|
log_build_default
|
|
20
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WN6ZFSXF.js";
|
|
21
11
|
import {
|
|
22
12
|
getLicenseStatus,
|
|
23
13
|
printLicenseStatus
|
|
24
14
|
} from "./chunk-AD7CL772.js";
|
|
25
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-26C26LFE.js";
|
|
26
16
|
import "./chunk-YRZK7HKX.js";
|
|
27
17
|
import "./chunk-CA6WCQ2T.js";
|
|
28
18
|
import "./chunk-CPW6G62V.js";
|
|
29
19
|
import {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
20
|
+
FederationConflictError,
|
|
21
|
+
FederationDiagnosticError,
|
|
22
|
+
federateCatalog
|
|
23
|
+
} from "./chunk-QJ7KKN2D.js";
|
|
24
|
+
import "./chunk-WRNH5C3U.js";
|
|
25
|
+
import "./chunk-5EPNFDT5.js";
|
|
26
|
+
import "./chunk-A2RZR3U4.js";
|
|
27
|
+
import "./chunk-SDZQJTJW.js";
|
|
28
|
+
import "./chunk-352FGP6W.js";
|
|
33
29
|
import "./chunk-R7Z5ALYI.js";
|
|
30
|
+
import {
|
|
31
|
+
getFederationDiagnosticCounts,
|
|
32
|
+
getVisibleFederationDiagnostics
|
|
33
|
+
} from "./chunk-JJPB6EOZ.js";
|
|
34
34
|
import {
|
|
35
35
|
getProjectOutDir,
|
|
36
36
|
isAuthEnabled,
|
|
@@ -39,10 +39,10 @@ import {
|
|
|
39
39
|
} from "./chunk-NKNOXQ62.js";
|
|
40
40
|
import {
|
|
41
41
|
generate
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-UIJUSHOT.js";
|
|
43
43
|
import {
|
|
44
44
|
logger
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-SZU7I2PD.js";
|
|
46
46
|
import {
|
|
47
47
|
resolve_catalog_dependencies_default
|
|
48
48
|
} from "./chunk-PD7KTSYN.js";
|
|
@@ -79,7 +79,7 @@ import {
|
|
|
79
79
|
} from "./chunk-LFQJXLHG.js";
|
|
80
80
|
import {
|
|
81
81
|
VERSION
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-C4L6B5KR.js";
|
|
83
83
|
import {
|
|
84
84
|
getEventCatalogConfigFile,
|
|
85
85
|
verifyRequiredFieldsAreInCatalogConfigFile
|
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
FederationConflictError,
|
|
3
3
|
FederationDiagnosticError,
|
|
4
4
|
federateCatalog
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-JJPB6EOZ.js";
|
|
5
|
+
} from "../chunk-QJ7KKN2D.js";
|
|
7
6
|
import "../chunk-WRNH5C3U.js";
|
|
8
7
|
import "../chunk-5EPNFDT5.js";
|
|
9
8
|
import "../chunk-A2RZR3U4.js";
|
|
10
9
|
import "../chunk-SDZQJTJW.js";
|
|
11
10
|
import "../chunk-352FGP6W.js";
|
|
12
11
|
import "../chunk-R7Z5ALYI.js";
|
|
12
|
+
import "../chunk-JJPB6EOZ.js";
|
|
13
13
|
import "../chunk-4G7FSRPN.js";
|
|
14
14
|
export {
|
|
15
15
|
FederationConflictError,
|
package/dist/generate.cjs
CHANGED
|
@@ -105,7 +105,7 @@ var getEventCatalogConfigFile = async (projectDirectory) => {
|
|
|
105
105
|
var import_picocolors = __toESM(require("picocolors"), 1);
|
|
106
106
|
|
|
107
107
|
// package.json
|
|
108
|
-
var version = "5.
|
|
108
|
+
var version = "5.9.0";
|
|
109
109
|
|
|
110
110
|
// src/constants.ts
|
|
111
111
|
var VERSION = version;
|
package/dist/generate.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generate
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-UIJUSHOT.js";
|
|
4
|
+
import "./chunk-SZU7I2PD.js";
|
|
5
|
+
import "./chunk-C4L6B5KR.js";
|
|
6
6
|
import "./chunk-4G7FSRPN.js";
|
|
7
7
|
export {
|
|
8
8
|
generate
|
package/dist/utils/cli-logger.js
CHANGED
|
@@ -12,10 +12,19 @@ interface Props {
|
|
|
12
12
|
apiBase: string;
|
|
13
13
|
llmsTxtUrl: string;
|
|
14
14
|
llmsFullTxtUrl: string;
|
|
15
|
+
ubiquitousLanguageTxtUrl: string;
|
|
15
16
|
schemasTxtUrl: string;
|
|
16
17
|
}
|
|
17
18
|
|
|
18
|
-
export const LlmAccessSettingsForm = ({
|
|
19
|
+
export const LlmAccessSettingsForm = ({
|
|
20
|
+
canEdit,
|
|
21
|
+
initial,
|
|
22
|
+
apiBase,
|
|
23
|
+
llmsTxtUrl,
|
|
24
|
+
llmsFullTxtUrl,
|
|
25
|
+
schemasTxtUrl,
|
|
26
|
+
ubiquitousLanguageTxtUrl,
|
|
27
|
+
}: Props) => {
|
|
19
28
|
const [llmsTxtEnabled, setLlmsTxtEnabled] = useState(initial.llmsTxtEnabled);
|
|
20
29
|
const [pristine, setPristine] = useState(initial.llmsTxtEnabled);
|
|
21
30
|
const [saving, setSaving] = useState(false);
|
|
@@ -94,7 +103,9 @@ export const LlmAccessSettingsForm = ({ canEdit, initial, apiBase, llmsTxtUrl, l
|
|
|
94
103
|
disabled={!canEdit}
|
|
95
104
|
onChange={setLlmsTxtEnabled}
|
|
96
105
|
/>
|
|
97
|
-
{llmsTxtEnabled &&
|
|
106
|
+
{llmsTxtEnabled && (
|
|
107
|
+
<LlmsTxtPreview url={llmsTxtUrl} fullUrl={llmsFullTxtUrl} ubiquitousLanguageUrl={ubiquitousLanguageTxtUrl} />
|
|
108
|
+
)}
|
|
98
109
|
</Row>
|
|
99
110
|
|
|
100
111
|
<Row
|
|
@@ -110,10 +121,19 @@ export const LlmAccessSettingsForm = ({ canEdit, initial, apiBase, llmsTxtUrl, l
|
|
|
110
121
|
);
|
|
111
122
|
};
|
|
112
123
|
|
|
113
|
-
const LlmsTxtPreview = ({
|
|
124
|
+
const LlmsTxtPreview = ({
|
|
125
|
+
url,
|
|
126
|
+
fullUrl,
|
|
127
|
+
ubiquitousLanguageUrl,
|
|
128
|
+
}: {
|
|
129
|
+
url: string;
|
|
130
|
+
fullUrl: string;
|
|
131
|
+
ubiquitousLanguageUrl: string;
|
|
132
|
+
}) => {
|
|
114
133
|
const variants = [
|
|
115
134
|
{ label: 'Index', path: url },
|
|
116
135
|
{ label: 'Full', path: fullUrl },
|
|
136
|
+
{ label: 'Ubiquitous Language', path: ubiquitousLanguageUrl },
|
|
117
137
|
];
|
|
118
138
|
return (
|
|
119
139
|
<div className="rounded-lg border border-[rgb(var(--ec-page-border))] bg-[rgb(var(--ec-page-bg)/0.4)] px-4 py-3">
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { Download } from 'lucide-react';
|
|
3
|
+
import { getRawSpecificationFileName } from '@utils/raw-specification';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
/** The specification file's URL, from getRawSpecificationUrl */
|
|
7
|
+
href: string;
|
|
8
|
+
/** The specification's file name; a remote one's query or fragment is left off the name it's saved as */
|
|
9
|
+
filename: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const filename = getRawSpecificationFileName(Astro.props.filename);
|
|
13
|
+
const { href } = Astro.props;
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<a
|
|
17
|
+
href={href}
|
|
18
|
+
download={filename}
|
|
19
|
+
title={`Download ${filename}`}
|
|
20
|
+
class="not-prose inline-flex h-8 items-center gap-2 whitespace-nowrap rounded-md border border-[rgb(var(--ec-dropdown-border)/0.75)] bg-[rgb(var(--ec-page-bg))] px-3 text-sm font-medium text-[rgb(var(--ec-dropdown-text))] no-underline transition-colors duration-150 hover:bg-[rgb(var(--ec-dropdown-hover)/0.75)] focus:outline-hidden focus:ring-1 focus:ring-[rgb(var(--ec-accent))]"
|
|
21
|
+
>
|
|
22
|
+
<Download className="h-4 w-4" />
|
|
23
|
+
Download
|
|
24
|
+
</a>
|