Skip to content

feat(core): add messageBus and workflowEngine to container_type enum#2493

Open
Vinceveve wants to merge 1 commit into
event-catalog:mainfrom
Vinceveve:feat/container-type-message-bus-workflow-engine
Open

feat(core): add messageBus and workflowEngine to container_type enum#2493
Vinceveve wants to merge 1 commit into
event-catalog:mainfrom
Vinceveve:feat/container-type-message-bus-workflow-engine

Conversation

@Vinceveve
Copy link
Copy Markdown

Motivation

Closes #2492.

Adds two values to the container-type enum so message brokers (Kafka, NATS, RabbitMQ, SQS/SNS, Pub/Sub) and workflow engines (Temporal, Airflow, Step Functions) can be classified as first-class C4 containers instead of falling back to externalSaaS or other. Purely additive — no existing values renamed, no behavior change for existing catalogs.

Opening as draft pending the discussion in #2492; happy to adjust naming or wait on RFC #1819 if maintainers prefer.

Changes

  • Zod enum: packages/core/eventcatalog/src/content.config.ts
  • Linter Zod enum + tests: packages/linter/src/schemas/data-store.ts, packages/linter/tests/schema-validator.test.ts
  • SDK type union: packages/sdk/src/types.d.ts
  • Langium grammar + regenerated ast.ts / grammar.ts / tmLanguage.json + parsing tests: packages/language-server/
  • Spec docs: 08-container.md, 18-grammar.md, SPEC.md, dsl-spec.md, databases.mdx
  • Monaco completions: packages/language-server/src/completion-data.ts, packages/playground/src/monaco/ec-language.ts
  • Visualiser label map: packages/visualiser/src/nodes/data/DataNode.tsx
  • VSCode extension TM grammar: packages/vscode-extension/syntaxes/ec.tmLanguage.json
  • Changeset: minor for core/sdk/linter/language-server, patch for visualiser

Test plan

  • pnpm --filter @eventcatalog/language-server run test — 417 passed (added 2 new parsing cases)
  • pnpm --filter @eventcatalog/linter run test tests/schema-validator.test.ts — 20 passed (added it.each for the two new values)
  • pnpm run format clean
  • Maintainer review of naming (messageBus vs messageBroker vs eventStream; workflowEngine vs workflowOrchestrator)

Adds two values to the `container-type` enum so message brokers (Kafka,
NATS, RabbitMQ, SQS/SNS, Pub/Sub) and workflow engines (Temporal,
Airflow, Step Functions) can be classified as first-class C4 containers
instead of falling back to `externalSaaS` or `other`.

Refs: event-catalog#2492

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Vinceveve Vinceveve requested a review from boyney123 as a code owner May 6, 2026 10:34
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 6, 2026

🦋 Changeset detected

Latest commit: 7b7b452

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 6 packages
Name Type
@eventcatalog/core Minor
@eventcatalog/sdk Minor
@eventcatalog/linter Minor
@eventcatalog/language-server Minor
@eventcatalog/visualiser Patch
@eventcatalog/cli Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@boyney123
Copy link
Copy Markdown
Collaborator

Hey @Vinceveve

I think messageBus you can use channels for? Channels are mean to represent buses, transport that kinda thing. Would channels work for you rather than introducing messageBus?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(core): add messageBus and workflowEngine to container_type enum

2 participants