likec4 1.48.0 → 1.49.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.
Files changed (113) hide show
  1. package/README.md +11 -1
  2. package/__app__/src/likec4.js +5595 -4127
  3. package/__app__/src/routes/index.js +3 -153
  4. package/__app__/src/routes/projects.js +21 -1087
  5. package/__app__/src/routes/single.js +1221 -16
  6. package/__app__/src/style.css +1 -1
  7. package/__app__/src/vendors.js +3507 -894
  8. package/__app__/src/webcomponent.js +1 -1
  9. package/config/schema.json +155 -143
  10. package/dist/THIRD-PARTY-LICENSES.md +1739 -0
  11. package/dist/_chunks/GraphvizBinaryAdapter.mjs +72 -0
  12. package/dist/_chunks/filenames.mjs +14 -0
  13. package/dist/_chunks/index.d.mts +224 -129
  14. package/dist/_chunks/index2.d.mts +2033 -1908
  15. package/dist/_chunks/libs/@chevrotain/gast.mjs +1 -3969
  16. package/dist/_chunks/libs/@chevrotain/regexp-to-ast.mjs +9 -785
  17. package/dist/_chunks/libs/@chevrotain/utils.mjs +1 -37
  18. package/dist/_chunks/libs/@hono/mcp.mjs +34 -0
  19. package/dist/_chunks/libs/@hono/node-server.mjs +1 -436
  20. package/dist/_chunks/libs/@logtape/logtape.d.mts +741 -0
  21. package/dist/_chunks/libs/@logtape/logtape.mjs +6 -1354
  22. package/dist/_chunks/libs/@lume/kiwi.mjs +1 -1355
  23. package/dist/_chunks/libs/@modelcontextprotocol/sdk.d.mts +14 -14
  24. package/dist/_chunks/libs/@modelcontextprotocol/sdk.mjs +12 -25105
  25. package/dist/_chunks/libs/@msgpack/msgpack.mjs +1 -1503
  26. package/dist/_chunks/libs/@nanostores/react.mjs +1 -30
  27. package/dist/_chunks/libs/@smithy/util-base64.mjs +1 -100
  28. package/dist/_chunks/libs/ajv.mjs +1 -777
  29. package/dist/_chunks/libs/atomically.mjs +1 -362
  30. package/dist/_chunks/libs/birpc.mjs +1 -201
  31. package/dist/_chunks/libs/chevrotain-allstar.mjs +2 -850
  32. package/dist/_chunks/libs/chevrotain.mjs +55 -6229
  33. package/dist/_chunks/libs/conf.mjs +1 -2258
  34. package/dist/_chunks/libs/defu.mjs +1 -42
  35. package/dist/_chunks/libs/esm-env.mjs +1 -5
  36. package/dist/_chunks/libs/eventemitter3.mjs +1 -243
  37. package/dist/_chunks/libs/fast-equals.mjs +1 -446
  38. package/dist/_chunks/libs/find-up-simple.mjs +1 -24
  39. package/dist/_chunks/libs/get-port.mjs +1 -107
  40. package/dist/_chunks/libs/is-docker.mjs +1 -26
  41. package/dist/_chunks/libs/is-error-instance.mjs +1 -26
  42. package/dist/_chunks/libs/is-inside-container.mjs +1 -20
  43. package/dist/_chunks/libs/is-plain-obj.mjs +1 -9
  44. package/dist/_chunks/libs/isexe.mjs +1 -127
  45. package/dist/_chunks/libs/json5.mjs +14 -959
  46. package/dist/_chunks/libs/khroma.mjs +1 -605
  47. package/dist/_chunks/libs/ky.mjs +2 -807
  48. package/dist/_chunks/libs/langium.d.mts +2880 -2844
  49. package/dist/_chunks/libs/langium.mjs +32 -20351
  50. package/dist/_chunks/libs/merge-error-cause.mjs +2 -746
  51. package/dist/_chunks/libs/nanostores.mjs +1 -198
  52. package/dist/_chunks/libs/p-limit.mjs +1 -120
  53. package/dist/_chunks/libs/p-queue.mjs +1 -449
  54. package/dist/_chunks/libs/package-manager-detector.mjs +1 -559
  55. package/dist/_chunks/libs/package-up.mjs +1 -10
  56. package/dist/_chunks/libs/parse-ms.mjs +1 -36
  57. package/dist/_chunks/libs/pathe.mjs +1 -0
  58. package/dist/_chunks/libs/picomatch.mjs +1 -1673
  59. package/dist/_chunks/libs/pretty-ms.mjs +1 -80
  60. package/dist/_chunks/libs/remeda.mjs +1 -690
  61. package/dist/_chunks/libs/safe-stringify.mjs +1 -21
  62. package/dist/_chunks/libs/strip-indent.mjs +1 -15
  63. package/dist/_chunks/libs/tinyrainbow.mjs +1 -88
  64. package/dist/_chunks/libs/ts-graphviz.mjs +4 -725
  65. package/dist/_chunks/libs/ufo.mjs +1 -240
  66. package/dist/_chunks/libs/which.mjs +1 -84
  67. package/dist/_chunks/libs/word-wrap.mjs +12 -43
  68. package/dist/_chunks/node.mjs +481 -0
  69. package/dist/_chunks/plugin.mjs +98 -772
  70. package/dist/_chunks/rolldown-runtime.mjs +1 -48
  71. package/dist/_chunks/sequence-view.mjs +1 -575
  72. package/dist/cli/index.mjs +127 -1846
  73. package/dist/config/index.d.mts +2 -2
  74. package/dist/config/index.mjs +1 -6
  75. package/dist/index.d.mts +148 -7
  76. package/dist/index.mjs +1 -21
  77. package/dist/model/builder.mjs +1 -3
  78. package/dist/model/index.d.mts +57 -3
  79. package/dist/model/index.mjs +1 -5
  80. package/dist/vite-plugin/index.d.mts +4 -3
  81. package/dist/vite-plugin/index.mjs +1 -22
  82. package/dist/vite-plugin/internal.d.mts +5 -5
  83. package/dist/vite-plugin/internal.mjs +1 -68
  84. package/package.json +60 -41
  85. package/react/{index.d.ts → index.d.mts} +112 -70
  86. package/react/{index.js → index.mjs} +21361 -22064
  87. package/react/package.json +2 -5
  88. package/vite-plugin-modules.d.ts +5 -5
  89. package/dist/_chunks/LikeC4.d.mts +0 -121
  90. package/dist/_chunks/LikeC4.mjs +0 -202
  91. package/dist/_chunks/config-app.prod.d.mts +0 -18
  92. package/dist/_chunks/config-app.prod.mjs +0 -188
  93. package/dist/_chunks/config-webcomponent.prod.mjs +0 -71
  94. package/dist/_chunks/define-config.mjs +0 -409
  95. package/dist/_chunks/index3.d.mts +0 -60
  96. package/dist/_chunks/index4.d.mts +0 -1
  97. package/dist/_chunks/libs/@smithy/is-array-buffer.mjs +0 -10
  98. package/dist/_chunks/libs/hono.mjs +0 -1829
  99. package/dist/_chunks/libs/nanoid.mjs +0 -29
  100. package/dist/_chunks/model.mjs +0 -12
  101. package/dist/_chunks/module.d.mts +0 -71
  102. package/dist/_chunks/module.mjs +0 -18657
  103. package/dist/_chunks/vite-build.mjs +0 -69
  104. package/dist/_chunks/vite-dev.mjs +0 -79
  105. package/dist/_chunks/vite-preview.mjs +0 -27
  106. package/dist/language/module.d.mts +0 -5
  107. package/dist/language/module.mjs +0 -20
  108. package/dist/vite/vite-build.d.mts +0 -26
  109. package/dist/vite/vite-build.mjs +0 -27
  110. package/dist/vite/vite-dev.d.mts +0 -34
  111. package/dist/vite/vite-dev.mjs +0 -29
  112. package/dist/vite/vite-preview.d.mts +0 -20
  113. package/dist/vite/vite-preview.mjs +0 -26
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { LikeC4View as LikeC4View$1 } from "likec4:react";
3
3
  import { createRoot } from "react-dom/client";
4
4
  import { ComponentName } from "./const.js";
5
- import { dw as object, dx as literal, dy as stringbool, dz as string, dA as formatError } from "./vendors.js";
5
+ import { dF as object, dG as literal, dH as stringbool, dI as string, dJ as formatError } from "./vendors.js";
6
6
  const propsSchema = object({
7
7
  viewId: string().default("index"),
8
8
  browser: stringbool().default(!0),
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "description": "LikeC4 project configuration",
3
+ "id": "LikeC4ProjectConfig",
4
+ "description": "LikeC4 Project Configuration",
4
5
  "type": "object",
5
6
  "properties": {
6
7
  "name": {
@@ -8,6 +9,23 @@
8
9
  "type": "string",
9
10
  "minLength": 1
10
11
  },
12
+ "extends": {
13
+ "description": "Extend styles from other config files",
14
+ "anyOf": [
15
+ {
16
+ "type": "string",
17
+ "minLength": 1
18
+ },
19
+ {
20
+ "minItems": 1,
21
+ "type": "array",
22
+ "items": {
23
+ "type": "string",
24
+ "minLength": 1
25
+ }
26
+ }
27
+ ]
28
+ },
11
29
  "title": {
12
30
  "description": "A human readable title for the project",
13
31
  "type": "string",
@@ -18,25 +36,31 @@
18
36
  "type": "string",
19
37
  "minLength": 1
20
38
  },
21
- "imageAliases": {
22
- "description": "Map of image alias prefixes to relative paths (keys must match /^@\\w+$/; values must be relative paths without protocol or leading slash).",
39
+ "styles": {
40
+ "description": "Project styles customization",
23
41
  "type": "object",
24
- "propertyNames": {
25
- "type": "string"
42
+ "properties": {
43
+ "theme": {
44
+ "description": "Project theme customization",
45
+ "$ref": "#/$defs/ThemeCustomization"
46
+ },
47
+ "defaults": {
48
+ "description": "Override default values for style properties\nThese values will be used if such property is not defined",
49
+ "$ref": "#/$defs/DefaultStyleValues"
50
+ },
51
+ "customCss": {
52
+ "description": "Custom CSS (or list of CSS files) to be included in the generated diagrams",
53
+ "$ref": "#/$defs/CustomStylesheets"
54
+ }
26
55
  },
27
- "additionalProperties": {
28
- "type": "string",
29
- "minLength": 1,
30
- "pattern": "^(?!\\/|[A-Za-z]:[\\\\\\/])(?!.*:\\/\\/).*$"
31
- }
56
+ "additionalProperties": false
57
+ },
58
+ "imageAliases": {
59
+ "$ref": "#/$defs/ImageAliases"
32
60
  },
33
61
  "include": {
34
- "description": "Configuration for including additional LikeC4 source files from other directories.\nExample: { \"paths\": [\"../shared\", \"../common/specs\"], \"maxDepth\": 5, \"fileThreshold\": 50 }",
35
62
  "$ref": "#/$defs/include-config"
36
63
  },
37
- "styles": {
38
- "$ref": "#/$defs/StylesConfiguration"
39
- },
40
64
  "exclude": {
41
65
  "description": "List of file patterns to exclude from the project, default is [\"**/node_modules/**\"]",
42
66
  "type": "array",
@@ -45,103 +69,68 @@
45
69
  }
46
70
  },
47
71
  "manualLayouts": {
48
- "$ref": "#/$defs/manual-layouts-config"
72
+ "$ref": "#/$defs/ManualLayoutsConfig"
49
73
  }
50
74
  },
51
75
  "required": [
52
76
  "name"
53
77
  ],
54
78
  "$defs": {
55
- "include-config": {
56
- "id": "include-config",
57
- "description": "Configuration for including additional LikeC4 source files",
58
- "type": "object",
59
- "properties": {
60
- "paths": {
61
- "description": "Additional relative directory paths to include LikeC4 source files from, searched recursively.\nPaths are relative to the project folder (the folder containing this config file).\nExample: [\"../shared\", \"../common/specs\"]",
62
- "minItems": 1,
63
- "type": "array",
64
- "items": {
65
- "type": "string",
66
- "minLength": 1,
67
- "pattern": "^(?!\\/|[A-Za-z]:[\\\\\\/])(?!.*:\\/\\/).*$"
68
- }
69
- },
70
- "maxDepth": {
71
- "description": "Maximum directory depth to scan when searching for .c4 files in include paths.\nPrevents excessive scanning of deeply nested directories.\nDefault: 3",
72
- "default": 3,
73
- "type": "integer",
74
- "minimum": 1,
75
- "maximum": 20
76
- },
77
- "fileThreshold": {
78
- "description": "Maximum number of files to load from include paths before warning.\nHelps identify performance issues from accidentally including large directories.\nDefault: 30",
79
- "default": 30,
80
- "type": "integer",
81
- "minimum": 1,
82
- "maximum": 9007199254740991
83
- }
84
- },
85
- "required": [
86
- "paths"
87
- ],
88
- "additionalProperties": false
89
- },
90
- "StylesConfiguration": {
91
- "id": "StylesConfiguration",
92
- "description": "Project styles customization",
93
- "type": "object",
94
- "properties": {
95
- "theme": {
96
- "$ref": "#/$defs/ThemeCustomization"
97
- },
98
- "defaults": {
99
- "$ref": "#/$defs/DefaultStyleValues"
100
- },
101
- "customCss": {
102
- "$ref": "#/$defs/CustomStylesheets"
103
- }
104
- },
105
- "additionalProperties": false
106
- },
107
79
  "ThemeCustomization": {
108
80
  "id": "ThemeCustomization",
109
- "description": "Theme customization",
81
+ "description": "Customize theme colors and sizes",
110
82
  "type": "object",
111
83
  "properties": {
112
84
  "colors": {
113
- "$ref": "#/$defs/ThemeColors"
85
+ "description": "Override theme colors",
86
+ "type": "object",
87
+ "propertyNames": {
88
+ "anyOf": [
89
+ {
90
+ "$ref": "#/$defs/ColorName"
91
+ },
92
+ {
93
+ "not": {}
94
+ }
95
+ ]
96
+ },
97
+ "additionalProperties": {
98
+ "$ref": "#/$defs/ThemeColorValues"
99
+ }
114
100
  },
115
101
  "sizes": {
116
- "$ref": "#/$defs/ThemeSizes"
102
+ "description": "Override theme sizes",
103
+ "type": "object",
104
+ "propertyNames": {
105
+ "anyOf": [
106
+ {
107
+ "$ref": "#/$defs/ElementSize"
108
+ },
109
+ {
110
+ "not": {}
111
+ }
112
+ ]
113
+ },
114
+ "additionalProperties": {
115
+ "$ref": "#/$defs/Dimensions"
116
+ }
117
117
  }
118
118
  },
119
119
  "additionalProperties": false
120
120
  },
121
- "ThemeColors": {
122
- "id": "ThemeColors",
123
- "description": "Override theme colors",
124
- "type": "object",
125
- "propertyNames": {
126
- "$ref": "#/$defs/ColorName"
127
- },
128
- "additionalProperties": {
129
- "$ref": "#/$defs/ThemeColorValues"
130
- }
131
- },
132
121
  "ColorName": {
133
122
  "id": "ColorName",
134
123
  "anyOf": [
135
124
  {
136
- "$ref": "#/$defs/ThemeColor"
125
+ "$ref": "#/$defs/ThemeColorName"
137
126
  },
138
127
  {
139
128
  "$ref": "#/$defs/CustomColorName"
140
129
  }
141
130
  ]
142
131
  },
143
- "ThemeColor": {
144
- "id": "ThemeColor",
132
+ "ThemeColorName": {
133
+ "id": "ThemeColorName",
145
134
  "type": "string",
146
135
  "enum": [
147
136
  "amber",
@@ -158,51 +147,44 @@
158
147
  ]
159
148
  },
160
149
  "CustomColorName": {
161
- "id": "CustomColorName",
162
- "type": "string",
163
- "minLength": 1
150
+ "id": "CustomColorName"
164
151
  },
165
152
  "ThemeColorValues": {
166
153
  "id": "ThemeColorValues",
167
154
  "description": "Exact value (hex, rgb, rgba, hsl, hsla ...) or break down of specific color values",
168
155
  "anyOf": [
169
156
  {
170
- "$ref": "#/$defs/ColorLiteral"
157
+ "$ref": "#/$defs/StrictThemeColorValues"
171
158
  },
172
159
  {
173
- "$ref": "#/$defs/StrictThemeColorValues"
160
+ "$ref": "#/$defs/ColorLiteral"
174
161
  }
175
162
  ]
176
163
  },
177
- "ColorLiteral": {
178
- "id": "ColorLiteral",
179
- "description": "Color value in any valid CSS format: hex, rgb, rgba, hsl, hsla ...",
180
- "type": "string",
181
- "minLength": 1
182
- },
183
164
  "StrictThemeColorValues": {
184
165
  "id": "StrictThemeColorValues",
166
+ "description": "Exact color value (hex, rgb, rgba, hsl, hsla ...) or break down of specific color value",
185
167
  "type": "object",
186
168
  "properties": {
187
169
  "elements": {
188
- "description": "Element color value (or a breakdown of specific color values)",
170
+ "description": "Exact color value (hex, rgb, rgba, hsl, hsla ...) or break down of specific color values",
189
171
  "anyOf": [
190
172
  {
191
- "$ref": "#/$defs/ColorLiteral"
173
+ "$ref": "#/$defs/ElementColorValues"
192
174
  },
193
175
  {
194
- "$ref": "#/$defs/ElementColorValues"
176
+ "$ref": "#/$defs/ColorLiteral"
195
177
  }
196
178
  ]
197
179
  },
198
180
  "relationships": {
199
- "description": "Relationship color value (or a breakdown of specific color values)",
181
+ "description": "Exact color value (hex, rgb, rgba, hsl, hsla ...) or break down of specific color values",
200
182
  "anyOf": [
201
183
  {
202
- "$ref": "#/$defs/ColorLiteral"
184
+ "$ref": "#/$defs/RelationshipColorValues"
203
185
  },
204
186
  {
205
- "$ref": "#/$defs/RelationshipColorValues"
187
+ "$ref": "#/$defs/ColorLiteral"
206
188
  }
207
189
  ]
208
190
  }
@@ -242,6 +224,11 @@
242
224
  ],
243
225
  "additionalProperties": false
244
226
  },
227
+ "ColorLiteral": {
228
+ "id": "ColorLiteral",
229
+ "type": "string",
230
+ "minLength": 1
231
+ },
245
232
  "RelationshipColorValues": {
246
233
  "id": "RelationshipColorValues",
247
234
  "type": "object",
@@ -256,6 +243,7 @@
256
243
  },
257
244
  "labelBg": {
258
245
  "description": "Label background color",
246
+ "default": "rgba(0, 0, 0, 0.5)",
259
247
  "$ref": "#/$defs/ColorLiteral"
260
248
  }
261
249
  },
@@ -265,32 +253,20 @@
265
253
  ],
266
254
  "additionalProperties": false
267
255
  },
268
- "ThemeSizes": {
269
- "id": "ThemeSizes",
270
- "description": "Override theme sizes",
271
- "type": "object",
272
- "properties": {
273
- "xs": {
274
- "$ref": "#/$defs/Dimensions"
275
- },
276
- "sm": {
277
- "$ref": "#/$defs/Dimensions"
278
- },
279
- "md": {
280
- "$ref": "#/$defs/Dimensions"
281
- },
282
- "lg": {
283
- "$ref": "#/$defs/Dimensions"
284
- },
285
- "xl": {
286
- "$ref": "#/$defs/Dimensions"
287
- }
288
- },
289
- "additionalProperties": false
256
+ "ElementSize": {
257
+ "id": "ElementSize",
258
+ "type": "string",
259
+ "enum": [
260
+ "xs",
261
+ "sm",
262
+ "md",
263
+ "lg",
264
+ "xl"
265
+ ]
290
266
  },
291
267
  "Dimensions": {
292
268
  "id": "Dimensions",
293
- "description": "Dimensions",
269
+ "description": "Defines dimensions for theme size",
294
270
  "type": "object",
295
271
  "properties": {
296
272
  "width": {
@@ -310,7 +286,6 @@
310
286
  },
311
287
  "DefaultStyleValues": {
312
288
  "id": "DefaultStyleValues",
313
- "description": "Override default values for style properties\nThese values will be used if such property is not defined",
314
289
  "type": "object",
315
290
  "properties": {
316
291
  "color": {
@@ -338,11 +313,11 @@
338
313
  "$ref": "#/$defs/IconPosition"
339
314
  },
340
315
  "group": {
341
- "description": "Default style values for groups",
316
+ "description": "Override default values for group style properties\nThese values will be used if such property is not defined",
342
317
  "$ref": "#/$defs/GroupDefaultStyleValues"
343
318
  },
344
319
  "relationship": {
345
- "description": "Default style values for relationships",
320
+ "description": "Override default values for relationship style properties\nThese values will be used if such property is not defined",
346
321
  "$ref": "#/$defs/RelationshipDefaultStyleValues"
347
322
  }
348
323
  },
@@ -365,17 +340,6 @@
365
340
  "none"
366
341
  ]
367
342
  },
368
- "ElementSize": {
369
- "id": "ElementSize",
370
- "type": "string",
371
- "enum": [
372
- "xs",
373
- "sm",
374
- "md",
375
- "lg",
376
- "xl"
377
- ]
378
- },
379
343
  "ElementShape": {
380
344
  "id": "ElementShape",
381
345
  "type": "string",
@@ -388,7 +352,8 @@
388
352
  "storage",
389
353
  "queue",
390
354
  "bucket",
391
- "document"
355
+ "document",
356
+ "component"
392
357
  ]
393
358
  },
394
359
  "IconPosition": {
@@ -403,7 +368,6 @@
403
368
  },
404
369
  "GroupDefaultStyleValues": {
405
370
  "id": "GroupDefaultStyleValues",
406
- "description": "Override default values for group style properties\nThese values will be used if such property is not defined",
407
371
  "type": "object",
408
372
  "properties": {
409
373
  "color": {
@@ -468,7 +432,6 @@
468
432
  },
469
433
  "CustomStylesheets": {
470
434
  "id": "CustomStylesheets",
471
- "description": "Custom CSS (or list of CSS files) to be included in the generated diagrams",
472
435
  "anyOf": [
473
436
  {
474
437
  "type": "string",
@@ -483,8 +446,57 @@
483
446
  }
484
447
  ]
485
448
  },
486
- "manual-layouts-config": {
487
- "id": "manual-layouts-config",
449
+ "ImageAliases": {
450
+ "id": "ImageAliases",
451
+ "description": "Map of image alias prefixes to relative paths (keys must match /^@\\w+$/; values must be relative paths without protocol or leading slash).",
452
+ "type": "object",
453
+ "propertyNames": {
454
+ "type": "string",
455
+ "minLength": 1,
456
+ "pattern": "^@[A-Za-z0-9_-]*$"
457
+ },
458
+ "additionalProperties": {
459
+ "type": "string",
460
+ "minLength": 1,
461
+ "pattern": "^(?!\\/|[A-Za-z]:[\\\\\\/])(?!.*:\\/\\/).*$"
462
+ }
463
+ },
464
+ "include-config": {
465
+ "id": "include-config",
466
+ "description": "Configuration for including additional LikeC4 source files from other directories.\nExample: { \"paths\": [\"../shared\", \"../common/specs\"], \"maxDepth\": 5, \"fileThreshold\": 50 }",
467
+ "type": "object",
468
+ "properties": {
469
+ "paths": {
470
+ "description": "Additional relative directory paths to include LikeC4 source files from, searched recursively.\nPaths are relative to the project folder (the folder containing this config file).\nExample: [\"../shared\", \"../common/specs\"]",
471
+ "type": "array",
472
+ "items": {
473
+ "type": "string",
474
+ "minLength": 1,
475
+ "pattern": "^(?!\\/|[A-Za-z]:[\\\\\\/])(?!.*:\\/\\/).*$"
476
+ }
477
+ },
478
+ "maxDepth": {
479
+ "description": "Maximum directory depth to scan when searching for .c4 files in include paths.\nPrevents excessive scanning of deeply nested directories.\nDefault: 3",
480
+ "default": 3,
481
+ "type": "integer",
482
+ "minimum": 1,
483
+ "maximum": 20
484
+ },
485
+ "fileThreshold": {
486
+ "description": "Maximum number of files to load from include paths before warning.\nHelps identify performance issues from accidentally including large directories.\nDefault: 30",
487
+ "default": 30,
488
+ "type": "integer",
489
+ "minimum": 1,
490
+ "maximum": 10000
491
+ }
492
+ },
493
+ "required": [
494
+ "paths"
495
+ ],
496
+ "additionalProperties": false
497
+ },
498
+ "ManualLayoutsConfig": {
499
+ "id": "ManualLayoutsConfig",
488
500
  "description": "Configuration for manual layouts",
489
501
  "type": "object",
490
502
  "properties": {