@eventcatalog/sdk 2.29.2 → 2.30.0-beta.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/LICENSE CHANGED
@@ -19,13 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
22
-
23
- ---
24
-
25
- Note: Source code within the following directories is licensed under the
26
- EventCatalog Commercial License and is NOT covered by the MIT License above:
27
-
28
- - `packages/core/eventcatalog/src/enterprise/`
29
- - `packages/core/src/federation/`
30
-
31
- See the `LICENSE` file in each directory for the full terms.
package/dist/index.d.mts CHANGED
@@ -573,8 +573,10 @@ declare enum DataClassification {
573
573
 
574
574
  interface FlowStep {
575
575
  id: string | number;
576
+ /** @deprecated Ignored by EventCatalog: the kind of step comes from what it points at. */
576
577
  type?: 'node' | 'message' | 'agent' | 'user' | 'actor';
577
- title: string;
578
+ /** Defaults to the name of what the step points at (or its id). */
579
+ title?: string;
578
580
  summary?: string;
579
581
  message?: ResourcePointer;
580
582
  agent?: ResourcePointer;
@@ -582,6 +584,7 @@ interface FlowStep {
582
584
  /** Catalog system referenced by this step. `system` is an alias for `systems`. */
583
585
  systems?: ResourcePointer;
584
586
  system?: ResourcePointer;
587
+ channel?: ResourcePointer;
585
588
  flow?: ResourcePointer;
586
589
  container?: ResourcePointer;
587
590
  dataProduct?: ResourcePointer;
@@ -590,7 +593,8 @@ interface FlowStep {
590
593
  summary?: string;
591
594
  };
592
595
  custom?: {
593
- title: string;
596
+ /** Defaults to the step's title. */
597
+ title?: string;
594
598
  icon?: string;
595
599
  type?: string;
596
600
  summary?: string;
@@ -683,7 +687,7 @@ type IndexAsset = {
683
687
  hash?: string;
684
688
  };
685
689
  type IndexReference = ResourcePointer & {
686
- kind: 'agent' | 'container' | 'data-product' | 'flow' | 'message' | 'service' | 'system';
690
+ kind: 'agent' | 'channel' | 'container' | 'data-product' | 'flow' | 'message' | 'service' | 'system';
687
691
  };
688
692
  type IndexResource = {
689
693
  type: IndexResourceType;
@@ -938,6 +942,16 @@ type FlowServiceStepInput = FlowStepInput & {
938
942
  };
939
943
  version?: string;
940
944
  };
945
+ /**
946
+ * Payload for a flow step that references a channel.
947
+ */
948
+ type FlowChannelStepInput = FlowStepInput & {
949
+ channel?: {
950
+ id: string;
951
+ version?: string;
952
+ };
953
+ version?: string;
954
+ };
941
955
  /**
942
956
  * Payload for a flow step that references a data store/container.
943
957
  */
@@ -1172,6 +1186,26 @@ declare class FlowBuilder<TMessageId extends string = string> {
1172
1186
  * ```
1173
1187
  */
1174
1188
  addServiceStep(step: FlowServiceStepInput): this;
1189
+ /**
1190
+ * Add a channel step.
1191
+ *
1192
+ * @param step - The channel step payload.
1193
+ *
1194
+ * @example
1195
+ * ```ts
1196
+ * FlowBuilder.create({
1197
+ * id: 'OrderFlow',
1198
+ * name: 'Order Flow',
1199
+ * version: '1.0.0',
1200
+ * markdown: '',
1201
+ * })
1202
+ * .addChannelStep({
1203
+ * id: 'orders-topic',
1204
+ * channel: { id: 'orders-topic', version: '1.0.0' },
1205
+ * });
1206
+ * ```
1207
+ */
1208
+ addChannelStep(step: FlowChannelStepInput): this;
1175
1209
  /**
1176
1210
  * Add an agent step.
1177
1211
  *
@@ -1457,7 +1491,9 @@ declare const FederationIndexSchema: z.ZodObject<{
1457
1491
  type: z.ZodOptional<z.ZodString>;
1458
1492
  kind: z.ZodEnum<{
1459
1493
  service: "service";
1494
+ system: "system";
1460
1495
  agent: "agent";
1496
+ channel: "channel";
1461
1497
  message: "message";
1462
1498
  "data-product": "data-product";
1463
1499
  container: "container";
@@ -3537,4 +3573,4 @@ declare const _default: (path: string) => {
3537
3573
  toDSL: (resource: (Event | Command | Query | Service | Domain) | (Event | Command | Query | Service | Domain)[], options: ToDSLOptions) => Promise<string>;
3538
3574
  };
3539
3575
 
3540
- export { type Adr, type AdrPointer, type AdrResourcePointer, type AdrStatus, type Agent, type AgentModel, type AgentTool, type Badge, type BaseSchema, type Cache, type CatalogGraph, type CatalogGraphNode, type CatalogGraphOptions, type CatalogGraphResource, type CatalogGraphResourceType, type CatalogGraphRoot, type CatalogSnapshot, type Changelog, type Channel, type ChannelPointer, type Command, type Conflict, type ConflictKind, type Container, type CustomDoc, type DataProduct, type DataProductOutputPointer, type Diagram, type DiffSummary, type Domain, type EdgeDirection, type Entity, type EntityProperty, type Event, type EventCatalog, type ExtensionProperties, type External, FederationIndexSchema, type Fetcher, type FlatCatalogGraph, type Flow, type FlowActorStepInput, type FlowAgentStepInput, FlowBuilder, type FlowBuilderInput, type FlowCustomStepInput, type FlowDataProductStepInput, type FlowDataStoreStepInput, type FlowExternalSystemStepInput, type FlowMessageStepInput, type FlowServiceStepInput, type FlowStep, type FlowStepInput, type FlowSubFlowStepInput, type GetCatalogGraph, type HydrateOptions, type HydrateResult, type Index, type IndexAsset, type IndexReference, type IndexResource, type IndexResourceType, type IndexSchema, type IndexSidecar, type IndexSpecification, type IndexValidationIssue, InvalidIndexError, type Message, type MessagePointerInput, type NestedCatalogGraph, type Operation, type Query, type ReceivesPointer, type RelationshipChange, type ResolutionWarning, type ResolvedAsset, type ResolvedEdge, type ResolvedEntity, type ResolvedGraph, type ResourceChange, type ResourceChangeType, type ResourceGroup, type ResourcePointer, type SchemaPointer, type SendsPointer, type Service, type SnapshotDiff, type SnapshotGitInfo, type SnapshotMeta, type SnapshotOptions, type SnapshotResourceType, type SnapshotResources, type SnapshotResult, type Specification, type Specifications, type System, type SystemActorRelationship, type SystemRelationshipPointer, type SystemScope, type Team, type TriggerPointer, type UbiquitousLanguage, type UbiquitousLanguageDictionary, type User, _default as default, hydrate, parseIndex, resolve };
3576
+ export { type Adr, type AdrPointer, type AdrResourcePointer, type AdrStatus, type Agent, type AgentModel, type AgentTool, type Badge, type BaseSchema, type Cache, type CatalogGraph, type CatalogGraphNode, type CatalogGraphOptions, type CatalogGraphResource, type CatalogGraphResourceType, type CatalogGraphRoot, type CatalogSnapshot, type Changelog, type Channel, type ChannelPointer, type Command, type Conflict, type ConflictKind, type Container, type CustomDoc, type DataProduct, type DataProductOutputPointer, type Diagram, type DiffSummary, type Domain, type EdgeDirection, type Entity, type EntityProperty, type Event, type EventCatalog, type ExtensionProperties, type External, FederationIndexSchema, type Fetcher, type FlatCatalogGraph, type Flow, type FlowActorStepInput, type FlowAgentStepInput, FlowBuilder, type FlowBuilderInput, type FlowChannelStepInput, type FlowCustomStepInput, type FlowDataProductStepInput, type FlowDataStoreStepInput, type FlowExternalSystemStepInput, type FlowMessageStepInput, type FlowServiceStepInput, type FlowStep, type FlowStepInput, type FlowSubFlowStepInput, type GetCatalogGraph, type HydrateOptions, type HydrateResult, type Index, type IndexAsset, type IndexReference, type IndexResource, type IndexResourceType, type IndexSchema, type IndexSidecar, type IndexSpecification, type IndexValidationIssue, InvalidIndexError, type Message, type MessagePointerInput, type NestedCatalogGraph, type Operation, type Query, type ReceivesPointer, type RelationshipChange, type ResolutionWarning, type ResolvedAsset, type ResolvedEdge, type ResolvedEntity, type ResolvedGraph, type ResourceChange, type ResourceChangeType, type ResourceGroup, type ResourcePointer, type SchemaPointer, type SendsPointer, type Service, type SnapshotDiff, type SnapshotGitInfo, type SnapshotMeta, type SnapshotOptions, type SnapshotResourceType, type SnapshotResources, type SnapshotResult, type Specification, type Specifications, type System, type SystemActorRelationship, type SystemRelationshipPointer, type SystemScope, type Team, type TriggerPointer, type UbiquitousLanguage, type UbiquitousLanguageDictionary, type User, _default as default, hydrate, parseIndex, resolve };
package/dist/index.d.ts CHANGED
@@ -573,8 +573,10 @@ declare enum DataClassification {
573
573
 
574
574
  interface FlowStep {
575
575
  id: string | number;
576
+ /** @deprecated Ignored by EventCatalog: the kind of step comes from what it points at. */
576
577
  type?: 'node' | 'message' | 'agent' | 'user' | 'actor';
577
- title: string;
578
+ /** Defaults to the name of what the step points at (or its id). */
579
+ title?: string;
578
580
  summary?: string;
579
581
  message?: ResourcePointer;
580
582
  agent?: ResourcePointer;
@@ -582,6 +584,7 @@ interface FlowStep {
582
584
  /** Catalog system referenced by this step. `system` is an alias for `systems`. */
583
585
  systems?: ResourcePointer;
584
586
  system?: ResourcePointer;
587
+ channel?: ResourcePointer;
585
588
  flow?: ResourcePointer;
586
589
  container?: ResourcePointer;
587
590
  dataProduct?: ResourcePointer;
@@ -590,7 +593,8 @@ interface FlowStep {
590
593
  summary?: string;
591
594
  };
592
595
  custom?: {
593
- title: string;
596
+ /** Defaults to the step's title. */
597
+ title?: string;
594
598
  icon?: string;
595
599
  type?: string;
596
600
  summary?: string;
@@ -683,7 +687,7 @@ type IndexAsset = {
683
687
  hash?: string;
684
688
  };
685
689
  type IndexReference = ResourcePointer & {
686
- kind: 'agent' | 'container' | 'data-product' | 'flow' | 'message' | 'service' | 'system';
690
+ kind: 'agent' | 'channel' | 'container' | 'data-product' | 'flow' | 'message' | 'service' | 'system';
687
691
  };
688
692
  type IndexResource = {
689
693
  type: IndexResourceType;
@@ -938,6 +942,16 @@ type FlowServiceStepInput = FlowStepInput & {
938
942
  };
939
943
  version?: string;
940
944
  };
945
+ /**
946
+ * Payload for a flow step that references a channel.
947
+ */
948
+ type FlowChannelStepInput = FlowStepInput & {
949
+ channel?: {
950
+ id: string;
951
+ version?: string;
952
+ };
953
+ version?: string;
954
+ };
941
955
  /**
942
956
  * Payload for a flow step that references a data store/container.
943
957
  */
@@ -1172,6 +1186,26 @@ declare class FlowBuilder<TMessageId extends string = string> {
1172
1186
  * ```
1173
1187
  */
1174
1188
  addServiceStep(step: FlowServiceStepInput): this;
1189
+ /**
1190
+ * Add a channel step.
1191
+ *
1192
+ * @param step - The channel step payload.
1193
+ *
1194
+ * @example
1195
+ * ```ts
1196
+ * FlowBuilder.create({
1197
+ * id: 'OrderFlow',
1198
+ * name: 'Order Flow',
1199
+ * version: '1.0.0',
1200
+ * markdown: '',
1201
+ * })
1202
+ * .addChannelStep({
1203
+ * id: 'orders-topic',
1204
+ * channel: { id: 'orders-topic', version: '1.0.0' },
1205
+ * });
1206
+ * ```
1207
+ */
1208
+ addChannelStep(step: FlowChannelStepInput): this;
1175
1209
  /**
1176
1210
  * Add an agent step.
1177
1211
  *
@@ -1457,7 +1491,9 @@ declare const FederationIndexSchema: z.ZodObject<{
1457
1491
  type: z.ZodOptional<z.ZodString>;
1458
1492
  kind: z.ZodEnum<{
1459
1493
  service: "service";
1494
+ system: "system";
1460
1495
  agent: "agent";
1496
+ channel: "channel";
1461
1497
  message: "message";
1462
1498
  "data-product": "data-product";
1463
1499
  container: "container";
@@ -3537,4 +3573,4 @@ declare const _default: (path: string) => {
3537
3573
  toDSL: (resource: (Event | Command | Query | Service | Domain) | (Event | Command | Query | Service | Domain)[], options: ToDSLOptions) => Promise<string>;
3538
3574
  };
3539
3575
 
3540
- export { type Adr, type AdrPointer, type AdrResourcePointer, type AdrStatus, type Agent, type AgentModel, type AgentTool, type Badge, type BaseSchema, type Cache, type CatalogGraph, type CatalogGraphNode, type CatalogGraphOptions, type CatalogGraphResource, type CatalogGraphResourceType, type CatalogGraphRoot, type CatalogSnapshot, type Changelog, type Channel, type ChannelPointer, type Command, type Conflict, type ConflictKind, type Container, type CustomDoc, type DataProduct, type DataProductOutputPointer, type Diagram, type DiffSummary, type Domain, type EdgeDirection, type Entity, type EntityProperty, type Event, type EventCatalog, type ExtensionProperties, type External, FederationIndexSchema, type Fetcher, type FlatCatalogGraph, type Flow, type FlowActorStepInput, type FlowAgentStepInput, FlowBuilder, type FlowBuilderInput, type FlowCustomStepInput, type FlowDataProductStepInput, type FlowDataStoreStepInput, type FlowExternalSystemStepInput, type FlowMessageStepInput, type FlowServiceStepInput, type FlowStep, type FlowStepInput, type FlowSubFlowStepInput, type GetCatalogGraph, type HydrateOptions, type HydrateResult, type Index, type IndexAsset, type IndexReference, type IndexResource, type IndexResourceType, type IndexSchema, type IndexSidecar, type IndexSpecification, type IndexValidationIssue, InvalidIndexError, type Message, type MessagePointerInput, type NestedCatalogGraph, type Operation, type Query, type ReceivesPointer, type RelationshipChange, type ResolutionWarning, type ResolvedAsset, type ResolvedEdge, type ResolvedEntity, type ResolvedGraph, type ResourceChange, type ResourceChangeType, type ResourceGroup, type ResourcePointer, type SchemaPointer, type SendsPointer, type Service, type SnapshotDiff, type SnapshotGitInfo, type SnapshotMeta, type SnapshotOptions, type SnapshotResourceType, type SnapshotResources, type SnapshotResult, type Specification, type Specifications, type System, type SystemActorRelationship, type SystemRelationshipPointer, type SystemScope, type Team, type TriggerPointer, type UbiquitousLanguage, type UbiquitousLanguageDictionary, type User, _default as default, hydrate, parseIndex, resolve };
3576
+ export { type Adr, type AdrPointer, type AdrResourcePointer, type AdrStatus, type Agent, type AgentModel, type AgentTool, type Badge, type BaseSchema, type Cache, type CatalogGraph, type CatalogGraphNode, type CatalogGraphOptions, type CatalogGraphResource, type CatalogGraphResourceType, type CatalogGraphRoot, type CatalogSnapshot, type Changelog, type Channel, type ChannelPointer, type Command, type Conflict, type ConflictKind, type Container, type CustomDoc, type DataProduct, type DataProductOutputPointer, type Diagram, type DiffSummary, type Domain, type EdgeDirection, type Entity, type EntityProperty, type Event, type EventCatalog, type ExtensionProperties, type External, FederationIndexSchema, type Fetcher, type FlatCatalogGraph, type Flow, type FlowActorStepInput, type FlowAgentStepInput, FlowBuilder, type FlowBuilderInput, type FlowChannelStepInput, type FlowCustomStepInput, type FlowDataProductStepInput, type FlowDataStoreStepInput, type FlowExternalSystemStepInput, type FlowMessageStepInput, type FlowServiceStepInput, type FlowStep, type FlowStepInput, type FlowSubFlowStepInput, type GetCatalogGraph, type HydrateOptions, type HydrateResult, type Index, type IndexAsset, type IndexReference, type IndexResource, type IndexResourceType, type IndexSchema, type IndexSidecar, type IndexSpecification, type IndexValidationIssue, InvalidIndexError, type Message, type MessagePointerInput, type NestedCatalogGraph, type Operation, type Query, type ReceivesPointer, type RelationshipChange, type ResolutionWarning, type ResolvedAsset, type ResolvedEdge, type ResolvedEntity, type ResolvedGraph, type ResourceChange, type ResourceChangeType, type ResourceGroup, type ResourcePointer, type SchemaPointer, type SendsPointer, type Service, type SnapshotDiff, type SnapshotGitInfo, type SnapshotMeta, type SnapshotOptions, type SnapshotResourceType, type SnapshotResources, type SnapshotResult, type Specification, type Specifications, type System, type SystemActorRelationship, type SystemRelationshipPointer, type SystemScope, type Team, type TriggerPointer, type UbiquitousLanguage, type UbiquitousLanguageDictionary, type User, _default as default, hydrate, parseIndex, resolve };
package/dist/index.js CHANGED
@@ -2338,6 +2338,7 @@ var getOwnersForResource = (catalogDir) => async (id, version) => {
2338
2338
  // src/eventcatalog.ts
2339
2339
  var import_fs = __toESM(require("fs"));
2340
2340
  var import_node_path18 = __toESM(require("path"));
2341
+ var import_node_url = require("url");
2341
2342
  var DUMP_VERSION = "0.0.1";
2342
2343
  var getEventCatalogVersion = async (catalogDir) => {
2343
2344
  try {
@@ -2376,7 +2377,10 @@ var filterCollection = (collection, options) => {
2376
2377
  var getEventCatalogConfigurationFile = (directory) => async () => {
2377
2378
  try {
2378
2379
  const path11 = (0, import_node_path18.join)(directory, "eventcatalog.config.js");
2379
- const configModule = await import(path11);
2380
+ const configModule = await import(
2381
+ /* @vite-ignore */
2382
+ (0, import_node_url.pathToFileURL)(path11).href
2383
+ );
2380
2384
  return configModule.default;
2381
2385
  } catch (error) {
2382
2386
  console.error("Error getting event catalog configuration file", error);
@@ -2620,6 +2624,7 @@ var cloneStep = (step) => ({
2620
2624
  ...step.service ? { service: { ...step.service } } : {},
2621
2625
  ...step.systems ? { systems: { ...step.systems } } : {},
2622
2626
  ...step.system ? { system: { ...step.system } } : {},
2627
+ ...step.channel ? { channel: { ...step.channel } } : {},
2623
2628
  ...step.flow ? { flow: { ...step.flow } } : {},
2624
2629
  ...step.container ? { container: { ...step.container } } : {},
2625
2630
  ...step.dataProduct ? { dataProduct: { ...step.dataProduct } } : {},
@@ -2767,6 +2772,41 @@ var FlowBuilder = class _FlowBuilder {
2767
2772
  step.nextSteps
2768
2773
  );
2769
2774
  }
2775
+ /**
2776
+ * Add a channel step.
2777
+ *
2778
+ * @param step - The channel step payload.
2779
+ *
2780
+ * @example
2781
+ * ```ts
2782
+ * FlowBuilder.create({
2783
+ * id: 'OrderFlow',
2784
+ * name: 'Order Flow',
2785
+ * version: '1.0.0',
2786
+ * markdown: '',
2787
+ * })
2788
+ * .addChannelStep({
2789
+ * id: 'orders-topic',
2790
+ * channel: { id: 'orders-topic', version: '1.0.0' },
2791
+ * });
2792
+ * ```
2793
+ */
2794
+ addChannelStep(step) {
2795
+ const channel = step.channel || {
2796
+ id: String(step.id),
2797
+ ...step.version ? { version: step.version } : {}
2798
+ };
2799
+ return this.addStepWithNext(
2800
+ {
2801
+ id: step.id,
2802
+ // Left out, EventCatalog names the step after its channel
2803
+ ...step.title ? { title: step.title } : {},
2804
+ ...step.summary ? { summary: step.summary } : {},
2805
+ channel: { ...channel, ...step.version && !channel.version ? { version: step.version } : {} }
2806
+ },
2807
+ step.nextSteps
2808
+ );
2809
+ }
2770
2810
  /**
2771
2811
  * Add an agent step.
2772
2812
  *
@@ -3374,6 +3414,7 @@ var getGraph = (directory) => {
3374
3414
  if (step.service) await addPointers([step.service], ["service"]);
3375
3415
  if (step.systems) await addPointers([step.systems], ["system"]);
3376
3416
  if (step.system) await addPointers([step.system], ["system"]);
3417
+ if (step.channel) await addPointers([step.channel], ["channel"]);
3377
3418
  if (step.flow) await addPointers([step.flow], ["flow"]);
3378
3419
  if (step.container) await addPointers([step.container], ["container"]);
3379
3420
  if (step.dataProduct) await addPointers([step.dataProduct], ["data-product"]);
@@ -3850,6 +3891,7 @@ var getFlowReferences = (steps) => steps.flatMap((step) => [
3850
3891
  ...step.service ? [{ kind: "service", ...step.service }] : [],
3851
3892
  ...step.systems ? [{ kind: "system", ...step.systems }] : [],
3852
3893
  ...step.system ? [{ kind: "system", ...step.system }] : [],
3894
+ ...step.channel ? [{ kind: "channel", ...step.channel }] : [],
3853
3895
  ...step.message ? [{ kind: "message", ...step.message }] : [],
3854
3896
  ...step.agent ? [{ kind: "agent", ...step.agent }] : [],
3855
3897
  ...step.container ? [{ kind: "container", ...step.container }] : [],
@@ -4678,7 +4720,7 @@ var IndexAssetSchema = import_zod.z.object({
4678
4720
  hash: contentHash.optional()
4679
4721
  }).strict();
4680
4722
  var IndexReferenceSchema = ResourcePointerSchema.extend({
4681
- kind: import_zod.z.enum(["agent", "container", "data-product", "flow", "message", "service"])
4723
+ kind: import_zod.z.enum(["agent", "channel", "container", "data-product", "flow", "message", "service", "system"])
4682
4724
  });
4683
4725
  var AdrPointerSchema = import_zod.z.object({
4684
4726
  id: nonEmptyString,