@eventcatalog/generator-asyncapi 4.2.1 → 4.4.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/index.d.mts CHANGED
@@ -6,34 +6,164 @@ declare const optionsSchema: z.ZodObject<{
6
6
  services: z.ZodArray<z.ZodObject<{
7
7
  id: z.ZodString;
8
8
  path: z.ZodString;
9
+ draft: z.ZodOptional<z.ZodBoolean>;
9
10
  name: z.ZodOptional<z.ZodString>;
10
11
  owners: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
12
+ generateMarkdown: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
13
+ service: z.ZodObject<{
14
+ id: z.ZodString;
15
+ name: z.ZodString;
16
+ version: z.ZodString;
17
+ }, "strip", z.ZodTypeAny, {
18
+ id: string;
19
+ name: string;
20
+ version: string;
21
+ }, {
22
+ id: string;
23
+ name: string;
24
+ version: string;
25
+ }>;
26
+ document: z.ZodAny;
27
+ markdown: z.ZodOptional<z.ZodString>;
28
+ }, "strip", z.ZodTypeAny, {
29
+ service: {
30
+ id: string;
31
+ name: string;
32
+ version: string;
33
+ };
34
+ document?: any;
35
+ markdown?: string | undefined;
36
+ }, {
37
+ service: {
38
+ id: string;
39
+ name: string;
40
+ version: string;
41
+ };
42
+ document?: any;
43
+ markdown?: string | undefined;
44
+ }>], z.ZodUnknown>, z.ZodString>>;
11
45
  }, "strip", z.ZodTypeAny, {
12
46
  path: string;
13
47
  id: string;
48
+ draft?: boolean | undefined;
14
49
  name?: string | undefined;
15
50
  owners?: string[] | undefined;
51
+ generateMarkdown?: ((args_0: {
52
+ service: {
53
+ id: string;
54
+ name: string;
55
+ version: string;
56
+ };
57
+ document?: any;
58
+ markdown?: string | undefined;
59
+ }, ...args: unknown[]) => string) | undefined;
16
60
  }, {
17
61
  path: string;
18
62
  id: string;
63
+ draft?: boolean | undefined;
19
64
  name?: string | undefined;
20
65
  owners?: string[] | undefined;
66
+ generateMarkdown?: ((args_0: {
67
+ service: {
68
+ id: string;
69
+ name: string;
70
+ version: string;
71
+ };
72
+ document?: any;
73
+ markdown?: string | undefined;
74
+ }, ...args: unknown[]) => string) | undefined;
21
75
  }>, "many">;
76
+ messages: z.ZodOptional<z.ZodObject<{
77
+ generateMarkdown: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
78
+ message: z.ZodAny;
79
+ document: z.ZodAny;
80
+ markdown: z.ZodOptional<z.ZodString>;
81
+ }, "strip", z.ZodTypeAny, {
82
+ message?: any;
83
+ document?: any;
84
+ markdown?: string | undefined;
85
+ }, {
86
+ message?: any;
87
+ document?: any;
88
+ markdown?: string | undefined;
89
+ }>], z.ZodUnknown>, z.ZodString>>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ generateMarkdown?: ((args_0: {
92
+ message?: any;
93
+ document?: any;
94
+ markdown?: string | undefined;
95
+ }, ...args: unknown[]) => string) | undefined;
96
+ }, {
97
+ generateMarkdown?: ((args_0: {
98
+ message?: any;
99
+ document?: any;
100
+ markdown?: string | undefined;
101
+ }, ...args: unknown[]) => string) | undefined;
102
+ }>>;
22
103
  domain: z.ZodOptional<z.ZodObject<{
23
104
  id: z.ZodString;
24
105
  name: z.ZodString;
25
106
  owners: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
26
107
  version: z.ZodString;
108
+ draft: z.ZodOptional<z.ZodBoolean>;
109
+ generateMarkdown: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
110
+ domain: z.ZodObject<{
111
+ id: z.ZodString;
112
+ name: z.ZodString;
113
+ version: z.ZodString;
114
+ }, "strip", z.ZodTypeAny, {
115
+ id: string;
116
+ name: string;
117
+ version: string;
118
+ }, {
119
+ id: string;
120
+ name: string;
121
+ version: string;
122
+ }>;
123
+ markdown: z.ZodOptional<z.ZodString>;
124
+ }, "strip", z.ZodTypeAny, {
125
+ domain: {
126
+ id: string;
127
+ name: string;
128
+ version: string;
129
+ };
130
+ markdown?: string | undefined;
131
+ }, {
132
+ domain: {
133
+ id: string;
134
+ name: string;
135
+ version: string;
136
+ };
137
+ markdown?: string | undefined;
138
+ }>], z.ZodUnknown>, z.ZodString>>;
27
139
  }, "strip", z.ZodTypeAny, {
28
140
  id: string;
29
141
  name: string;
30
142
  version: string;
143
+ draft?: boolean | undefined;
31
144
  owners?: string[] | undefined;
145
+ generateMarkdown?: ((args_0: {
146
+ domain: {
147
+ id: string;
148
+ name: string;
149
+ version: string;
150
+ };
151
+ markdown?: string | undefined;
152
+ }, ...args: unknown[]) => string) | undefined;
32
153
  }, {
33
154
  id: string;
34
155
  name: string;
35
156
  version: string;
157
+ draft?: boolean | undefined;
36
158
  owners?: string[] | undefined;
159
+ generateMarkdown?: ((args_0: {
160
+ domain: {
161
+ id: string;
162
+ name: string;
163
+ version: string;
164
+ };
165
+ markdown?: string | undefined;
166
+ }, ...args: unknown[]) => string) | undefined;
37
167
  }>>;
38
168
  debug: z.ZodOptional<z.ZodBoolean>;
39
169
  parseSchemas: z.ZodOptional<z.ZodBoolean>;
@@ -43,16 +173,42 @@ declare const optionsSchema: z.ZodObject<{
43
173
  services: {
44
174
  path: string;
45
175
  id: string;
176
+ draft?: boolean | undefined;
46
177
  name?: string | undefined;
47
178
  owners?: string[] | undefined;
179
+ generateMarkdown?: ((args_0: {
180
+ service: {
181
+ id: string;
182
+ name: string;
183
+ version: string;
184
+ };
185
+ document?: any;
186
+ markdown?: string | undefined;
187
+ }, ...args: unknown[]) => string) | undefined;
48
188
  }[];
49
189
  licenseKey?: string | undefined;
50
190
  writeFilesToRoot?: boolean | undefined;
191
+ messages?: {
192
+ generateMarkdown?: ((args_0: {
193
+ message?: any;
194
+ document?: any;
195
+ markdown?: string | undefined;
196
+ }, ...args: unknown[]) => string) | undefined;
197
+ } | undefined;
51
198
  domain?: {
52
199
  id: string;
53
200
  name: string;
54
201
  version: string;
202
+ draft?: boolean | undefined;
55
203
  owners?: string[] | undefined;
204
+ generateMarkdown?: ((args_0: {
205
+ domain: {
206
+ id: string;
207
+ name: string;
208
+ version: string;
209
+ };
210
+ markdown?: string | undefined;
211
+ }, ...args: unknown[]) => string) | undefined;
56
212
  } | undefined;
57
213
  debug?: boolean | undefined;
58
214
  parseSchemas?: boolean | undefined;
@@ -62,16 +218,42 @@ declare const optionsSchema: z.ZodObject<{
62
218
  services: {
63
219
  path: string;
64
220
  id: string;
221
+ draft?: boolean | undefined;
65
222
  name?: string | undefined;
66
223
  owners?: string[] | undefined;
224
+ generateMarkdown?: ((args_0: {
225
+ service: {
226
+ id: string;
227
+ name: string;
228
+ version: string;
229
+ };
230
+ document?: any;
231
+ markdown?: string | undefined;
232
+ }, ...args: unknown[]) => string) | undefined;
67
233
  }[];
68
234
  licenseKey?: string | undefined;
69
235
  writeFilesToRoot?: boolean | undefined;
236
+ messages?: {
237
+ generateMarkdown?: ((args_0: {
238
+ message?: any;
239
+ document?: any;
240
+ markdown?: string | undefined;
241
+ }, ...args: unknown[]) => string) | undefined;
242
+ } | undefined;
70
243
  domain?: {
71
244
  id: string;
72
245
  name: string;
73
246
  version: string;
247
+ draft?: boolean | undefined;
74
248
  owners?: string[] | undefined;
249
+ generateMarkdown?: ((args_0: {
250
+ domain: {
251
+ id: string;
252
+ name: string;
253
+ version: string;
254
+ };
255
+ markdown?: string | undefined;
256
+ }, ...args: unknown[]) => string) | undefined;
75
257
  } | undefined;
76
258
  debug?: boolean | undefined;
77
259
  parseSchemas?: boolean | undefined;
package/dist/index.d.ts CHANGED
@@ -6,34 +6,164 @@ declare const optionsSchema: z.ZodObject<{
6
6
  services: z.ZodArray<z.ZodObject<{
7
7
  id: z.ZodString;
8
8
  path: z.ZodString;
9
+ draft: z.ZodOptional<z.ZodBoolean>;
9
10
  name: z.ZodOptional<z.ZodString>;
10
11
  owners: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
12
+ generateMarkdown: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
13
+ service: z.ZodObject<{
14
+ id: z.ZodString;
15
+ name: z.ZodString;
16
+ version: z.ZodString;
17
+ }, "strip", z.ZodTypeAny, {
18
+ id: string;
19
+ name: string;
20
+ version: string;
21
+ }, {
22
+ id: string;
23
+ name: string;
24
+ version: string;
25
+ }>;
26
+ document: z.ZodAny;
27
+ markdown: z.ZodOptional<z.ZodString>;
28
+ }, "strip", z.ZodTypeAny, {
29
+ service: {
30
+ id: string;
31
+ name: string;
32
+ version: string;
33
+ };
34
+ document?: any;
35
+ markdown?: string | undefined;
36
+ }, {
37
+ service: {
38
+ id: string;
39
+ name: string;
40
+ version: string;
41
+ };
42
+ document?: any;
43
+ markdown?: string | undefined;
44
+ }>], z.ZodUnknown>, z.ZodString>>;
11
45
  }, "strip", z.ZodTypeAny, {
12
46
  path: string;
13
47
  id: string;
48
+ draft?: boolean | undefined;
14
49
  name?: string | undefined;
15
50
  owners?: string[] | undefined;
51
+ generateMarkdown?: ((args_0: {
52
+ service: {
53
+ id: string;
54
+ name: string;
55
+ version: string;
56
+ };
57
+ document?: any;
58
+ markdown?: string | undefined;
59
+ }, ...args: unknown[]) => string) | undefined;
16
60
  }, {
17
61
  path: string;
18
62
  id: string;
63
+ draft?: boolean | undefined;
19
64
  name?: string | undefined;
20
65
  owners?: string[] | undefined;
66
+ generateMarkdown?: ((args_0: {
67
+ service: {
68
+ id: string;
69
+ name: string;
70
+ version: string;
71
+ };
72
+ document?: any;
73
+ markdown?: string | undefined;
74
+ }, ...args: unknown[]) => string) | undefined;
21
75
  }>, "many">;
76
+ messages: z.ZodOptional<z.ZodObject<{
77
+ generateMarkdown: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
78
+ message: z.ZodAny;
79
+ document: z.ZodAny;
80
+ markdown: z.ZodOptional<z.ZodString>;
81
+ }, "strip", z.ZodTypeAny, {
82
+ message?: any;
83
+ document?: any;
84
+ markdown?: string | undefined;
85
+ }, {
86
+ message?: any;
87
+ document?: any;
88
+ markdown?: string | undefined;
89
+ }>], z.ZodUnknown>, z.ZodString>>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ generateMarkdown?: ((args_0: {
92
+ message?: any;
93
+ document?: any;
94
+ markdown?: string | undefined;
95
+ }, ...args: unknown[]) => string) | undefined;
96
+ }, {
97
+ generateMarkdown?: ((args_0: {
98
+ message?: any;
99
+ document?: any;
100
+ markdown?: string | undefined;
101
+ }, ...args: unknown[]) => string) | undefined;
102
+ }>>;
22
103
  domain: z.ZodOptional<z.ZodObject<{
23
104
  id: z.ZodString;
24
105
  name: z.ZodString;
25
106
  owners: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
26
107
  version: z.ZodString;
108
+ draft: z.ZodOptional<z.ZodBoolean>;
109
+ generateMarkdown: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
110
+ domain: z.ZodObject<{
111
+ id: z.ZodString;
112
+ name: z.ZodString;
113
+ version: z.ZodString;
114
+ }, "strip", z.ZodTypeAny, {
115
+ id: string;
116
+ name: string;
117
+ version: string;
118
+ }, {
119
+ id: string;
120
+ name: string;
121
+ version: string;
122
+ }>;
123
+ markdown: z.ZodOptional<z.ZodString>;
124
+ }, "strip", z.ZodTypeAny, {
125
+ domain: {
126
+ id: string;
127
+ name: string;
128
+ version: string;
129
+ };
130
+ markdown?: string | undefined;
131
+ }, {
132
+ domain: {
133
+ id: string;
134
+ name: string;
135
+ version: string;
136
+ };
137
+ markdown?: string | undefined;
138
+ }>], z.ZodUnknown>, z.ZodString>>;
27
139
  }, "strip", z.ZodTypeAny, {
28
140
  id: string;
29
141
  name: string;
30
142
  version: string;
143
+ draft?: boolean | undefined;
31
144
  owners?: string[] | undefined;
145
+ generateMarkdown?: ((args_0: {
146
+ domain: {
147
+ id: string;
148
+ name: string;
149
+ version: string;
150
+ };
151
+ markdown?: string | undefined;
152
+ }, ...args: unknown[]) => string) | undefined;
32
153
  }, {
33
154
  id: string;
34
155
  name: string;
35
156
  version: string;
157
+ draft?: boolean | undefined;
36
158
  owners?: string[] | undefined;
159
+ generateMarkdown?: ((args_0: {
160
+ domain: {
161
+ id: string;
162
+ name: string;
163
+ version: string;
164
+ };
165
+ markdown?: string | undefined;
166
+ }, ...args: unknown[]) => string) | undefined;
37
167
  }>>;
38
168
  debug: z.ZodOptional<z.ZodBoolean>;
39
169
  parseSchemas: z.ZodOptional<z.ZodBoolean>;
@@ -43,16 +173,42 @@ declare const optionsSchema: z.ZodObject<{
43
173
  services: {
44
174
  path: string;
45
175
  id: string;
176
+ draft?: boolean | undefined;
46
177
  name?: string | undefined;
47
178
  owners?: string[] | undefined;
179
+ generateMarkdown?: ((args_0: {
180
+ service: {
181
+ id: string;
182
+ name: string;
183
+ version: string;
184
+ };
185
+ document?: any;
186
+ markdown?: string | undefined;
187
+ }, ...args: unknown[]) => string) | undefined;
48
188
  }[];
49
189
  licenseKey?: string | undefined;
50
190
  writeFilesToRoot?: boolean | undefined;
191
+ messages?: {
192
+ generateMarkdown?: ((args_0: {
193
+ message?: any;
194
+ document?: any;
195
+ markdown?: string | undefined;
196
+ }, ...args: unknown[]) => string) | undefined;
197
+ } | undefined;
51
198
  domain?: {
52
199
  id: string;
53
200
  name: string;
54
201
  version: string;
202
+ draft?: boolean | undefined;
55
203
  owners?: string[] | undefined;
204
+ generateMarkdown?: ((args_0: {
205
+ domain: {
206
+ id: string;
207
+ name: string;
208
+ version: string;
209
+ };
210
+ markdown?: string | undefined;
211
+ }, ...args: unknown[]) => string) | undefined;
56
212
  } | undefined;
57
213
  debug?: boolean | undefined;
58
214
  parseSchemas?: boolean | undefined;
@@ -62,16 +218,42 @@ declare const optionsSchema: z.ZodObject<{
62
218
  services: {
63
219
  path: string;
64
220
  id: string;
221
+ draft?: boolean | undefined;
65
222
  name?: string | undefined;
66
223
  owners?: string[] | undefined;
224
+ generateMarkdown?: ((args_0: {
225
+ service: {
226
+ id: string;
227
+ name: string;
228
+ version: string;
229
+ };
230
+ document?: any;
231
+ markdown?: string | undefined;
232
+ }, ...args: unknown[]) => string) | undefined;
67
233
  }[];
68
234
  licenseKey?: string | undefined;
69
235
  writeFilesToRoot?: boolean | undefined;
236
+ messages?: {
237
+ generateMarkdown?: ((args_0: {
238
+ message?: any;
239
+ document?: any;
240
+ markdown?: string | undefined;
241
+ }, ...args: unknown[]) => string) | undefined;
242
+ } | undefined;
70
243
  domain?: {
71
244
  id: string;
72
245
  name: string;
73
246
  version: string;
247
+ draft?: boolean | undefined;
74
248
  owners?: string[] | undefined;
249
+ generateMarkdown?: ((args_0: {
250
+ domain: {
251
+ id: string;
252
+ name: string;
253
+ version: string;
254
+ };
255
+ markdown?: string | undefined;
256
+ }, ...args: unknown[]) => string) | undefined;
75
257
  } | undefined;
76
258
  debug?: boolean | undefined;
77
259
  parseSchemas?: boolean | undefined;
package/dist/index.js CHANGED
@@ -1051,9 +1051,9 @@ var require_src = __commonJS({
1051
1051
  }
1052
1052
  });
1053
1053
 
1054
- // ../../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/helpers.js
1054
+ // ../../node_modules/.pnpm/agent-base@7.1.4/node_modules/agent-base/dist/helpers.js
1055
1055
  var require_helpers = __commonJS({
1056
- "../../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/helpers.js"(exports2) {
1056
+ "../../node_modules/.pnpm/agent-base@7.1.4/node_modules/agent-base/dist/helpers.js"(exports2) {
1057
1057
  "use strict";
1058
1058
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
1059
1059
  if (k2 === void 0) k2 = k;
@@ -1121,9 +1121,9 @@ var require_helpers = __commonJS({
1121
1121
  }
1122
1122
  });
1123
1123
 
1124
- // ../../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/index.js
1124
+ // ../../node_modules/.pnpm/agent-base@7.1.4/node_modules/agent-base/dist/index.js
1125
1125
  var require_dist = __commonJS({
1126
- "../../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/index.js"(exports2) {
1126
+ "../../node_modules/.pnpm/agent-base@7.1.4/node_modules/agent-base/dist/index.js"(exports2) {
1127
1127
  "use strict";
1128
1128
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
1129
1129
  if (k2 === void 0) k2 = k;
@@ -1219,7 +1219,7 @@ var require_dist = __commonJS({
1219
1219
  // In order to properly update the socket pool, we need to call `getName()` on
1220
1220
  // the core `https.Agent` if it is a secureEndpoint.
1221
1221
  getName(options) {
1222
- const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options);
1222
+ const secureEndpoint = this.isSecureEndpoint(options);
1223
1223
  if (secureEndpoint) {
1224
1224
  return https_1.Agent.prototype.getName.call(this, options);
1225
1225
  }
@@ -1541,7 +1541,7 @@ var import_path2 = __toESM(require("path"));
1541
1541
  // package.json
1542
1542
  var package_default = {
1543
1543
  name: "@eventcatalog/generator-asyncapi",
1544
- version: "4.2.1",
1544
+ version: "4.4.0",
1545
1545
  description: "AsyncAPI generator for EventCatalog",
1546
1546
  scripts: {
1547
1547
  build: "tsup",
@@ -1579,7 +1579,7 @@ var package_default = {
1579
1579
  dependencies: {
1580
1580
  "@asyncapi/avro-schema-parser": "^3.0.24",
1581
1581
  "@asyncapi/parser": "^3.3.0",
1582
- "@eventcatalog/sdk": "^2.5.5",
1582
+ "@eventcatalog/sdk": "^2.6.9",
1583
1583
  chalk: "^4",
1584
1584
  "fs-extra": "^11.2.0",
1585
1585
  glob: "^11.0.0",
@@ -2661,16 +2661,50 @@ var optionsSchema = import_zod.z.object({
2661
2661
  import_zod.z.object({
2662
2662
  id: import_zod.z.string({ required_error: "The service id is required. please provide the service id" }),
2663
2663
  path: import_zod.z.string({ required_error: "The service path is required. please provide the path to specification file" }),
2664
+ draft: import_zod.z.boolean().optional(),
2664
2665
  name: import_zod.z.string().optional(),
2665
- owners: import_zod.z.array(import_zod.z.string()).optional()
2666
+ owners: import_zod.z.array(import_zod.z.string()).optional(),
2667
+ generateMarkdown: import_zod.z.function().args(
2668
+ import_zod.z.object({
2669
+ service: import_zod.z.object({
2670
+ id: import_zod.z.string(),
2671
+ name: import_zod.z.string(),
2672
+ version: import_zod.z.string()
2673
+ }),
2674
+ // AsyncAPI Interface
2675
+ document: import_zod.z.any(),
2676
+ markdown: import_zod.z.string().optional()
2677
+ })
2678
+ ).returns(import_zod.z.string()).optional()
2666
2679
  }),
2667
2680
  { message: "Please provide correct services configuration" }
2668
2681
  ),
2682
+ messages: import_zod.z.object({
2683
+ generateMarkdown: import_zod.z.function().args(
2684
+ import_zod.z.object({
2685
+ message: import_zod.z.any(),
2686
+ document: import_zod.z.any(),
2687
+ markdown: import_zod.z.string().optional()
2688
+ })
2689
+ ).returns(import_zod.z.string()).optional()
2690
+ }).optional(),
2669
2691
  domain: import_zod.z.object({
2670
2692
  id: import_zod.z.string({ required_error: "The domain id is required. please provide a domain id" }),
2671
2693
  name: import_zod.z.string({ required_error: "The domain name is required. please provide a domain name" }),
2672
2694
  owners: import_zod.z.array(import_zod.z.string()).optional(),
2673
- version: import_zod.z.string({ required_error: "The domain version is required. please provide a domain version" })
2695
+ version: import_zod.z.string({ required_error: "The domain version is required. please provide a domain version" }),
2696
+ draft: import_zod.z.boolean().optional(),
2697
+ // function that takes options (including domain) and returns a string
2698
+ generateMarkdown: import_zod.z.function().args(
2699
+ import_zod.z.object({
2700
+ domain: import_zod.z.object({
2701
+ id: import_zod.z.string(),
2702
+ name: import_zod.z.string(),
2703
+ version: import_zod.z.string()
2704
+ }),
2705
+ markdown: import_zod.z.string().optional()
2706
+ })
2707
+ ).returns(import_zod.z.string()).optional()
2674
2708
  }).optional(),
2675
2709
  debug: import_zod.z.boolean().optional(),
2676
2710
  parseSchemas: import_zod.z.boolean().optional(),
@@ -2765,6 +2799,8 @@ var index_default = async (config, options) => {
2765
2799
  const operations = document2.allOperations();
2766
2800
  const channels = document2.allChannels();
2767
2801
  const documentTags = document2.info().tags().all() || [];
2802
+ const isDomainMarkedAsDraft = options.domain?.draft || false;
2803
+ const isServiceMarkedAsDraft = isDomainMarkedAsDraft || document2.info().extensions().get("x-eventcatalog-draft")?.value() || service.draft || false;
2768
2804
  const serviceId = service.id;
2769
2805
  const serviceName = service.name || document2.info().title();
2770
2806
  const version = document2.info().version();
@@ -2774,7 +2810,12 @@ var index_default = async (config, options) => {
2774
2810
  let repository = null;
2775
2811
  let serviceSpecifications = {};
2776
2812
  let serviceSpecificationsFiles = [];
2777
- let serviceMarkdown = defaultMarkdown2(document2);
2813
+ const generatedMarkdownForService = defaultMarkdown2(document2);
2814
+ let serviceMarkdown = service.generateMarkdown ? service.generateMarkdown({
2815
+ service: { id: service.id, name: serviceName, version },
2816
+ document: document2,
2817
+ markdown: generatedMarkdownForService
2818
+ }) : generatedMarkdownForService;
2778
2819
  let styles2 = null;
2779
2820
  let servicePath = options.domain ? import_path2.default.join("../", "domains", options.domain.id, "services", service.id) : import_path2.default.join("../", "services", service.id);
2780
2821
  if (options.writeFilesToRoot) {
@@ -2784,6 +2825,7 @@ var index_default = async (config, options) => {
2784
2825
  const { id: domainId, name: domainName, version: domainVersion, owners: domainOwners } = options.domain;
2785
2826
  const domain = await getDomain(options.domain.id, domainVersion || "latest");
2786
2827
  const currentDomain = await getDomain(options.domain.id, "latest");
2828
+ const domainIsDraft = isDomainMarkedAsDraft || currentDomain?.draft || false;
2787
2829
  console.log(import_chalk3.default.blue(`
2788
2830
  Processing domain: ${domainName} (v${domainVersion})`));
2789
2831
  if (currentDomain && currentDomain.version !== domainVersion) {
@@ -2791,12 +2833,14 @@ Processing domain: ${domainName} (v${domainVersion})`));
2791
2833
  console.log(import_chalk3.default.cyan(` - Versioned previous domain (v${currentDomain.version})`));
2792
2834
  }
2793
2835
  if (!domain || domain && domain.version !== domainVersion) {
2836
+ const generatedMarkdownForDomain = defaultMarkdown3(document2);
2794
2837
  await writeDomain({
2795
2838
  id: domainId,
2796
2839
  name: domainName,
2797
2840
  version: domainVersion,
2798
- markdown: defaultMarkdown3(document2),
2799
- ...domainOwners && { owners: domainOwners }
2841
+ markdown: options.domain?.generateMarkdown ? options.domain.generateMarkdown({ domain: options.domain, markdown: generatedMarkdownForDomain }) : generatedMarkdownForDomain,
2842
+ ...domainOwners && { owners: domainOwners },
2843
+ ...domainIsDraft && { draft: true }
2800
2844
  // services: [{ id: serviceId, version: version }],
2801
2845
  });
2802
2846
  console.log(import_chalk3.default.cyan(` - Domain (v${domainVersion}) created`));
@@ -2844,7 +2888,8 @@ Processing domain: ${domainName} (v${domainVersion})`));
2844
2888
  ...Object.keys(paramsForCatalog).length > 0 && { parameters: paramsForCatalog },
2845
2889
  ...channel.address() && { address: channel.address() },
2846
2890
  ...channelAsJSON?.summary && { summary: channelAsJSON.summary },
2847
- ...protocols.length > 0 && { protocols }
2891
+ ...protocols.length > 0 && { protocols },
2892
+ ...(isDomainMarkedAsDraft || isServiceMarkedAsDraft) && { draft: true }
2848
2893
  },
2849
2894
  { override: true }
2850
2895
  );
@@ -2857,6 +2902,7 @@ Processing domain: ${domainName} (v${domainVersion})`));
2857
2902
  const messageVersion = message.extensions().get("x-eventcatalog-message-version")?.value() || version;
2858
2903
  const deprecatedDate = message.extensions().get("x-eventcatalog-deprecated-date")?.value() || null;
2859
2904
  const deprecatedMessage = message.extensions().get("x-eventcatalog-deprecated-message")?.value() || null;
2905
+ const isMessageMarkedAsDraft = isDomainMarkedAsDraft || isServiceMarkedAsDraft || message.extensions().get("x-eventcatalog-draft")?.value() || null;
2860
2906
  const serviceOwnsMessageContract = isServiceMessageOwner(message);
2861
2907
  const isReceived = operation.action() === "receive" || operation.action() === "subscribe";
2862
2908
  const isSent = operation.action() === "send" || operation.action() === "publish";
@@ -2871,7 +2917,8 @@ Processing domain: ${domainName} (v${domainVersion})`));
2871
2917
  addSchema: addSchemaToMessage,
2872
2918
  collection: folder
2873
2919
  } = MESSAGE_OPERATIONS[eventType];
2874
- let messageMarkdown = defaultMarkdown(document2, message);
2920
+ const generatedMarkdownForMessage = defaultMarkdown(document2, message);
2921
+ let messageMarkdown = options.messages?.generateMarkdown ? options.messages.generateMarkdown({ message, document: document2, markdown: generatedMarkdownForMessage }) : generatedMarkdownForMessage;
2875
2922
  const badges = message.tags().all() || [];
2876
2923
  console.log(import_chalk3.default.blue(`Processing message: ${getMessageName(message)} (v${messageVersion})`));
2877
2924
  let messagePath = (0, import_node_path.join)(servicePath, folder, message.id());
@@ -2901,7 +2948,8 @@ Processing domain: ${domainName} (v${domainVersion})`));
2901
2948
  ...channelsForMessage.length > 0 && { channels: channelsForMessage },
2902
2949
  ...deprecatedDate && {
2903
2950
  deprecated: { date: deprecatedDate, ...deprecatedMessage && { message: deprecatedMessage } }
2904
- }
2951
+ },
2952
+ ...isMessageMarkedAsDraft && { draft: true }
2905
2953
  },
2906
2954
  {
2907
2955
  override: true,
@@ -2968,7 +3016,8 @@ Processing domain: ${domainName} (v${domainVersion})`));
2968
3016
  },
2969
3017
  ...owners && { owners },
2970
3018
  ...repository && { repository },
2971
- ...styles2 && { styles: styles2 }
3019
+ ...styles2 && { styles: styles2 },
3020
+ ...isServiceMarkedAsDraft && { draft: true }
2972
3021
  },
2973
3022
  {
2974
3023
  path: servicePath,