@spectratools/graphic-designer-cli 0.4.0 → 0.7.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.
@@ -442,9 +442,9 @@ declare const drawRectSchema: z.ZodObject<{
442
442
  radius: z.ZodDefault<z.ZodNumber>;
443
443
  opacity: z.ZodDefault<z.ZodNumber>;
444
444
  }, "strict", z.ZodTypeAny, {
445
- type: "rect";
446
445
  width: number;
447
446
  height: number;
447
+ type: "rect";
448
448
  opacity: number;
449
449
  strokeWidth: number;
450
450
  x: number;
@@ -453,15 +453,15 @@ declare const drawRectSchema: z.ZodObject<{
453
453
  fill?: string | undefined;
454
454
  stroke?: string | undefined;
455
455
  }, {
456
- type: "rect";
457
456
  width: number;
458
457
  height: number;
458
+ type: "rect";
459
459
  x: number;
460
460
  y: number;
461
461
  fill?: string | undefined;
462
462
  opacity?: number | undefined;
463
- stroke?: string | undefined;
464
463
  strokeWidth?: number | undefined;
464
+ stroke?: string | undefined;
465
465
  radius?: number | undefined;
466
466
  }>;
467
467
  declare const drawCircleSchema: z.ZodObject<{
@@ -489,8 +489,8 @@ declare const drawCircleSchema: z.ZodObject<{
489
489
  cy: number;
490
490
  fill?: string | undefined;
491
491
  opacity?: number | undefined;
492
- stroke?: string | undefined;
493
492
  strokeWidth?: number | undefined;
493
+ stroke?: string | undefined;
494
494
  }>;
495
495
  declare const drawTextSchema: z.ZodObject<{
496
496
  type: z.ZodLiteral<"text">;
@@ -511,10 +511,10 @@ declare const drawTextSchema: z.ZodObject<{
511
511
  color: string;
512
512
  opacity: number;
513
513
  text: string;
514
- fontSize: number;
515
- align: "center" | "left" | "right";
516
514
  x: number;
517
515
  y: number;
516
+ fontSize: number;
517
+ align: "center" | "left" | "right";
518
518
  fontWeight: number;
519
519
  fontFamily: "body" | "heading" | "mono";
520
520
  baseline: "top" | "alphabetic" | "bottom" | "middle";
@@ -548,9 +548,9 @@ declare const drawLineSchema: z.ZodObject<{
548
548
  arrowSize: z.ZodDefault<z.ZodNumber>;
549
549
  opacity: z.ZodDefault<z.ZodNumber>;
550
550
  }, "strict", z.ZodTypeAny, {
551
+ width: number;
551
552
  type: "line";
552
553
  color: string;
553
- width: number;
554
554
  opacity: number;
555
555
  arrow: "end" | "start" | "both" | "none";
556
556
  arrowSize: number;
@@ -565,8 +565,8 @@ declare const drawLineSchema: z.ZodObject<{
565
565
  y1: number;
566
566
  x2: number;
567
567
  y2: number;
568
- color?: string | undefined;
569
568
  width?: number | undefined;
569
+ color?: string | undefined;
570
570
  opacity?: number | undefined;
571
571
  arrow?: "end" | "start" | "both" | "none" | undefined;
572
572
  arrowSize?: number | undefined;
@@ -601,9 +601,9 @@ declare const drawBezierSchema: z.ZodObject<{
601
601
  arrowSize: z.ZodDefault<z.ZodNumber>;
602
602
  opacity: z.ZodDefault<z.ZodNumber>;
603
603
  }, "strict", z.ZodTypeAny, {
604
+ width: number;
604
605
  type: "bezier";
605
606
  color: string;
606
- width: number;
607
607
  opacity: number;
608
608
  arrow: "end" | "start" | "both" | "none";
609
609
  arrowSize: number;
@@ -618,8 +618,8 @@ declare const drawBezierSchema: z.ZodObject<{
618
618
  x: number;
619
619
  y: number;
620
620
  }[];
621
- color?: string | undefined;
622
621
  width?: number | undefined;
622
+ color?: string | undefined;
623
623
  opacity?: number | undefined;
624
624
  arrow?: "end" | "start" | "both" | "none" | undefined;
625
625
  arrowSize?: number | undefined;
@@ -644,8 +644,8 @@ declare const drawPathSchema: z.ZodObject<{
644
644
  d: string;
645
645
  fill?: string | undefined;
646
646
  opacity?: number | undefined;
647
- stroke?: string | undefined;
648
647
  strokeWidth?: number | undefined;
648
+ stroke?: string | undefined;
649
649
  }>;
650
650
  declare const drawBadgeSchema: z.ZodObject<{
651
651
  type: z.ZodLiteral<"badge">;
@@ -666,10 +666,10 @@ declare const drawBadgeSchema: z.ZodObject<{
666
666
  opacity: number;
667
667
  background: string;
668
668
  text: string;
669
- fontSize: number;
670
- borderRadius: number;
671
669
  x: number;
672
670
  y: number;
671
+ fontSize: number;
672
+ borderRadius: number;
673
673
  fontFamily: "body" | "heading" | "mono";
674
674
  paddingX: number;
675
675
  paddingY: number;
@@ -748,9 +748,9 @@ declare const drawGradientRectSchema: z.ZodObject<{
748
748
  radius: z.ZodDefault<z.ZodNumber>;
749
749
  opacity: z.ZodDefault<z.ZodNumber>;
750
750
  }, "strict", z.ZodTypeAny, {
751
- type: "gradient-rect";
752
751
  width: number;
753
752
  height: number;
753
+ type: "gradient-rect";
754
754
  opacity: number;
755
755
  x: number;
756
756
  y: number;
@@ -770,9 +770,9 @@ declare const drawGradientRectSchema: z.ZodObject<{
770
770
  }[];
771
771
  };
772
772
  }, {
773
- type: "gradient-rect";
774
773
  width: number;
775
774
  height: number;
775
+ type: "gradient-rect";
776
776
  x: number;
777
777
  y: number;
778
778
  gradient: {
@@ -792,6 +792,31 @@ declare const drawGradientRectSchema: z.ZodObject<{
792
792
  opacity?: number | undefined;
793
793
  radius?: number | undefined;
794
794
  }>;
795
+ declare const drawGridSchema: z.ZodObject<{
796
+ type: z.ZodLiteral<"grid">;
797
+ spacing: z.ZodDefault<z.ZodNumber>;
798
+ color: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
799
+ width: z.ZodDefault<z.ZodNumber>;
800
+ opacity: z.ZodDefault<z.ZodNumber>;
801
+ offsetX: z.ZodDefault<z.ZodNumber>;
802
+ offsetY: z.ZodDefault<z.ZodNumber>;
803
+ }, "strict", z.ZodTypeAny, {
804
+ width: number;
805
+ type: "grid";
806
+ color: string;
807
+ opacity: number;
808
+ offsetX: number;
809
+ offsetY: number;
810
+ spacing: number;
811
+ }, {
812
+ type: "grid";
813
+ width?: number | undefined;
814
+ color?: string | undefined;
815
+ opacity?: number | undefined;
816
+ offsetX?: number | undefined;
817
+ offsetY?: number | undefined;
818
+ spacing?: number | undefined;
819
+ }>;
795
820
  declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
796
821
  type: z.ZodLiteral<"rect">;
797
822
  x: z.ZodNumber;
@@ -804,9 +829,9 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
804
829
  radius: z.ZodDefault<z.ZodNumber>;
805
830
  opacity: z.ZodDefault<z.ZodNumber>;
806
831
  }, "strict", z.ZodTypeAny, {
807
- type: "rect";
808
832
  width: number;
809
833
  height: number;
834
+ type: "rect";
810
835
  opacity: number;
811
836
  strokeWidth: number;
812
837
  x: number;
@@ -815,15 +840,15 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
815
840
  fill?: string | undefined;
816
841
  stroke?: string | undefined;
817
842
  }, {
818
- type: "rect";
819
843
  width: number;
820
844
  height: number;
845
+ type: "rect";
821
846
  x: number;
822
847
  y: number;
823
848
  fill?: string | undefined;
824
849
  opacity?: number | undefined;
825
- stroke?: string | undefined;
826
850
  strokeWidth?: number | undefined;
851
+ stroke?: string | undefined;
827
852
  radius?: number | undefined;
828
853
  }>, z.ZodObject<{
829
854
  type: z.ZodLiteral<"circle">;
@@ -850,8 +875,8 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
850
875
  cy: number;
851
876
  fill?: string | undefined;
852
877
  opacity?: number | undefined;
853
- stroke?: string | undefined;
854
878
  strokeWidth?: number | undefined;
879
+ stroke?: string | undefined;
855
880
  }>, z.ZodObject<{
856
881
  type: z.ZodLiteral<"text">;
857
882
  x: z.ZodNumber;
@@ -871,10 +896,10 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
871
896
  color: string;
872
897
  opacity: number;
873
898
  text: string;
874
- fontSize: number;
875
- align: "center" | "left" | "right";
876
899
  x: number;
877
900
  y: number;
901
+ fontSize: number;
902
+ align: "center" | "left" | "right";
878
903
  fontWeight: number;
879
904
  fontFamily: "body" | "heading" | "mono";
880
905
  baseline: "top" | "alphabetic" | "bottom" | "middle";
@@ -907,9 +932,9 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
907
932
  arrowSize: z.ZodDefault<z.ZodNumber>;
908
933
  opacity: z.ZodDefault<z.ZodNumber>;
909
934
  }, "strict", z.ZodTypeAny, {
935
+ width: number;
910
936
  type: "line";
911
937
  color: string;
912
- width: number;
913
938
  opacity: number;
914
939
  arrow: "end" | "start" | "both" | "none";
915
940
  arrowSize: number;
@@ -924,8 +949,8 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
924
949
  y1: number;
925
950
  x2: number;
926
951
  y2: number;
927
- color?: string | undefined;
928
952
  width?: number | undefined;
953
+ color?: string | undefined;
929
954
  opacity?: number | undefined;
930
955
  arrow?: "end" | "start" | "both" | "none" | undefined;
931
956
  arrowSize?: number | undefined;
@@ -949,9 +974,9 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
949
974
  arrowSize: z.ZodDefault<z.ZodNumber>;
950
975
  opacity: z.ZodDefault<z.ZodNumber>;
951
976
  }, "strict", z.ZodTypeAny, {
977
+ width: number;
952
978
  type: "bezier";
953
979
  color: string;
954
- width: number;
955
980
  opacity: number;
956
981
  arrow: "end" | "start" | "both" | "none";
957
982
  arrowSize: number;
@@ -966,8 +991,8 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
966
991
  x: number;
967
992
  y: number;
968
993
  }[];
969
- color?: string | undefined;
970
994
  width?: number | undefined;
995
+ color?: string | undefined;
971
996
  opacity?: number | undefined;
972
997
  arrow?: "end" | "start" | "both" | "none" | undefined;
973
998
  arrowSize?: number | undefined;
@@ -991,8 +1016,8 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
991
1016
  d: string;
992
1017
  fill?: string | undefined;
993
1018
  opacity?: number | undefined;
994
- stroke?: string | undefined;
995
1019
  strokeWidth?: number | undefined;
1020
+ stroke?: string | undefined;
996
1021
  }>, z.ZodObject<{
997
1022
  type: z.ZodLiteral<"badge">;
998
1023
  x: z.ZodNumber;
@@ -1012,10 +1037,10 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1012
1037
  opacity: number;
1013
1038
  background: string;
1014
1039
  text: string;
1015
- fontSize: number;
1016
- borderRadius: number;
1017
1040
  x: number;
1018
1041
  y: number;
1042
+ fontSize: number;
1043
+ borderRadius: number;
1019
1044
  fontFamily: "body" | "heading" | "mono";
1020
1045
  paddingX: number;
1021
1046
  paddingY: number;
@@ -1093,9 +1118,9 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1093
1118
  radius: z.ZodDefault<z.ZodNumber>;
1094
1119
  opacity: z.ZodDefault<z.ZodNumber>;
1095
1120
  }, "strict", z.ZodTypeAny, {
1096
- type: "gradient-rect";
1097
1121
  width: number;
1098
1122
  height: number;
1123
+ type: "gradient-rect";
1099
1124
  opacity: number;
1100
1125
  x: number;
1101
1126
  y: number;
@@ -1115,9 +1140,9 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1115
1140
  }[];
1116
1141
  };
1117
1142
  }, {
1118
- type: "gradient-rect";
1119
1143
  width: number;
1120
1144
  height: number;
1145
+ type: "gradient-rect";
1121
1146
  x: number;
1122
1147
  y: number;
1123
1148
  gradient: {
@@ -1136,6 +1161,30 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1136
1161
  };
1137
1162
  opacity?: number | undefined;
1138
1163
  radius?: number | undefined;
1164
+ }>, z.ZodObject<{
1165
+ type: z.ZodLiteral<"grid">;
1166
+ spacing: z.ZodDefault<z.ZodNumber>;
1167
+ color: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1168
+ width: z.ZodDefault<z.ZodNumber>;
1169
+ opacity: z.ZodDefault<z.ZodNumber>;
1170
+ offsetX: z.ZodDefault<z.ZodNumber>;
1171
+ offsetY: z.ZodDefault<z.ZodNumber>;
1172
+ }, "strict", z.ZodTypeAny, {
1173
+ width: number;
1174
+ type: "grid";
1175
+ color: string;
1176
+ opacity: number;
1177
+ offsetX: number;
1178
+ offsetY: number;
1179
+ spacing: number;
1180
+ }, {
1181
+ type: "grid";
1182
+ width?: number | undefined;
1183
+ color?: string | undefined;
1184
+ opacity?: number | undefined;
1185
+ offsetX?: number | undefined;
1186
+ offsetY?: number | undefined;
1187
+ spacing?: number | undefined;
1139
1188
  }>]>;
1140
1189
  /** Default canvas dimensions and padding (1200 × 675 px, 48 px padding). */
1141
1190
  declare const defaultCanvas: {
@@ -1226,10 +1275,29 @@ declare const cardElementSchema: z.ZodObject<{
1226
1275
  tone?: "accent" | "success" | "warning" | "error" | "neutral" | undefined;
1227
1276
  icon?: string | undefined;
1228
1277
  }>;
1278
+ declare const flowNodeShadowSchema: z.ZodObject<{
1279
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1280
+ blur: z.ZodDefault<z.ZodNumber>;
1281
+ offsetX: z.ZodDefault<z.ZodNumber>;
1282
+ offsetY: z.ZodDefault<z.ZodNumber>;
1283
+ opacity: z.ZodDefault<z.ZodNumber>;
1284
+ }, "strict", z.ZodTypeAny, {
1285
+ opacity: number;
1286
+ blur: number;
1287
+ offsetX: number;
1288
+ offsetY: number;
1289
+ color?: string | undefined;
1290
+ }, {
1291
+ color?: string | undefined;
1292
+ opacity?: number | undefined;
1293
+ blur?: number | undefined;
1294
+ offsetX?: number | undefined;
1295
+ offsetY?: number | undefined;
1296
+ }>;
1229
1297
  declare const flowNodeElementSchema: z.ZodObject<{
1230
1298
  type: z.ZodLiteral<"flow-node">;
1231
1299
  id: z.ZodString;
1232
- shape: z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram"]>;
1300
+ shape: z.ZodDefault<z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram", "hexagon"]>>;
1233
1301
  label: z.ZodString;
1234
1302
  sublabel: z.ZodOptional<z.ZodString>;
1235
1303
  sublabelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
@@ -1250,14 +1318,35 @@ declare const flowNodeElementSchema: z.ZodObject<{
1250
1318
  badgeColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1251
1319
  badgeBackground: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1252
1320
  badgePosition: z.ZodDefault<z.ZodEnum<["top", "inside-top"]>>;
1321
+ shadow: z.ZodOptional<z.ZodObject<{
1322
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1323
+ blur: z.ZodDefault<z.ZodNumber>;
1324
+ offsetX: z.ZodDefault<z.ZodNumber>;
1325
+ offsetY: z.ZodDefault<z.ZodNumber>;
1326
+ opacity: z.ZodDefault<z.ZodNumber>;
1327
+ }, "strict", z.ZodTypeAny, {
1328
+ opacity: number;
1329
+ blur: number;
1330
+ offsetX: number;
1331
+ offsetY: number;
1332
+ color?: string | undefined;
1333
+ }, {
1334
+ color?: string | undefined;
1335
+ opacity?: number | undefined;
1336
+ blur?: number | undefined;
1337
+ offsetX?: number | undefined;
1338
+ offsetY?: number | undefined;
1339
+ }>>;
1253
1340
  }, "strict", z.ZodTypeAny, {
1254
1341
  type: "flow-node";
1255
1342
  id: string;
1256
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1343
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
1257
1344
  label: string;
1258
1345
  fillOpacity: number;
1259
1346
  opacity: number;
1260
1347
  badgePosition: "top" | "inside-top";
1348
+ width?: number | undefined;
1349
+ height?: number | undefined;
1261
1350
  sublabel?: string | undefined;
1262
1351
  sublabelColor?: string | undefined;
1263
1352
  sublabel2?: string | undefined;
@@ -1269,16 +1358,23 @@ declare const flowNodeElementSchema: z.ZodObject<{
1269
1358
  borderColor?: string | undefined;
1270
1359
  borderWidth?: number | undefined;
1271
1360
  cornerRadius?: number | undefined;
1272
- width?: number | undefined;
1273
- height?: number | undefined;
1274
1361
  badgeText?: string | undefined;
1275
1362
  badgeColor?: string | undefined;
1276
1363
  badgeBackground?: string | undefined;
1364
+ shadow?: {
1365
+ opacity: number;
1366
+ blur: number;
1367
+ offsetX: number;
1368
+ offsetY: number;
1369
+ color?: string | undefined;
1370
+ } | undefined;
1277
1371
  }, {
1278
1372
  type: "flow-node";
1279
1373
  id: string;
1280
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1281
1374
  label: string;
1375
+ width?: number | undefined;
1376
+ height?: number | undefined;
1377
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
1282
1378
  sublabel?: string | undefined;
1283
1379
  sublabelColor?: string | undefined;
1284
1380
  sublabel2?: string | undefined;
@@ -1290,51 +1386,117 @@ declare const flowNodeElementSchema: z.ZodObject<{
1290
1386
  borderColor?: string | undefined;
1291
1387
  borderWidth?: number | undefined;
1292
1388
  cornerRadius?: number | undefined;
1293
- width?: number | undefined;
1294
- height?: number | undefined;
1295
1389
  fillOpacity?: number | undefined;
1296
1390
  opacity?: number | undefined;
1297
1391
  badgeText?: string | undefined;
1298
1392
  badgeColor?: string | undefined;
1299
1393
  badgeBackground?: string | undefined;
1300
1394
  badgePosition?: "top" | "inside-top" | undefined;
1395
+ shadow?: {
1396
+ color?: string | undefined;
1397
+ opacity?: number | undefined;
1398
+ blur?: number | undefined;
1399
+ offsetX?: number | undefined;
1400
+ offsetY?: number | undefined;
1401
+ } | undefined;
1301
1402
  }>;
1403
+ declare const anchorHintSchema: z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
1404
+ x: z.ZodNumber;
1405
+ y: z.ZodNumber;
1406
+ }, "strict", z.ZodTypeAny, {
1407
+ x: number;
1408
+ y: number;
1409
+ }, {
1410
+ x: number;
1411
+ y: number;
1412
+ }>]>;
1302
1413
  declare const connectionElementSchema: z.ZodObject<{
1303
1414
  type: z.ZodLiteral<"connection">;
1304
1415
  from: z.ZodString;
1305
1416
  to: z.ZodString;
1306
1417
  style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
1418
+ strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
1307
1419
  arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
1308
1420
  label: z.ZodOptional<z.ZodString>;
1309
1421
  labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
1310
1422
  color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1311
1423
  width: z.ZodOptional<z.ZodNumber>;
1424
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
1312
1425
  arrowSize: z.ZodOptional<z.ZodNumber>;
1426
+ arrowPlacement: z.ZodDefault<z.ZodEnum<["endpoint", "boundary"]>>;
1313
1427
  opacity: z.ZodDefault<z.ZodNumber>;
1428
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
1429
+ tension: z.ZodDefault<z.ZodNumber>;
1430
+ fromAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
1431
+ x: z.ZodNumber;
1432
+ y: z.ZodNumber;
1433
+ }, "strict", z.ZodTypeAny, {
1434
+ x: number;
1435
+ y: number;
1436
+ }, {
1437
+ x: number;
1438
+ y: number;
1439
+ }>]>>;
1440
+ toAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
1441
+ x: z.ZodNumber;
1442
+ y: z.ZodNumber;
1443
+ }, "strict", z.ZodTypeAny, {
1444
+ x: number;
1445
+ y: number;
1446
+ }, {
1447
+ x: number;
1448
+ y: number;
1449
+ }>]>>;
1314
1450
  }, "strict", z.ZodTypeAny, {
1315
1451
  type: "connection";
1316
1452
  opacity: number;
1317
1453
  from: string;
1318
1454
  to: string;
1319
1455
  style: "solid" | "dashed" | "dotted";
1456
+ strokeStyle: "solid" | "dashed" | "dotted";
1320
1457
  arrow: "end" | "start" | "both" | "none";
1321
1458
  labelPosition: "end" | "start" | "middle";
1459
+ strokeWidth: number;
1460
+ arrowPlacement: "endpoint" | "boundary";
1461
+ routing: "auto" | "orthogonal" | "curve" | "arc";
1462
+ tension: number;
1463
+ width?: number | undefined;
1322
1464
  label?: string | undefined;
1323
1465
  color?: string | undefined;
1324
- width?: number | undefined;
1325
1466
  arrowSize?: number | undefined;
1467
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
1468
+ x: number;
1469
+ y: number;
1470
+ } | undefined;
1471
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
1472
+ x: number;
1473
+ y: number;
1474
+ } | undefined;
1326
1475
  }, {
1327
1476
  type: "connection";
1328
1477
  from: string;
1329
1478
  to: string;
1479
+ width?: number | undefined;
1330
1480
  label?: string | undefined;
1331
1481
  color?: string | undefined;
1332
- width?: number | undefined;
1333
1482
  opacity?: number | undefined;
1334
1483
  style?: "solid" | "dashed" | "dotted" | undefined;
1484
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
1335
1485
  arrow?: "end" | "start" | "both" | "none" | undefined;
1336
1486
  labelPosition?: "end" | "start" | "middle" | undefined;
1487
+ strokeWidth?: number | undefined;
1337
1488
  arrowSize?: number | undefined;
1489
+ arrowPlacement?: "endpoint" | "boundary" | undefined;
1490
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
1491
+ tension?: number | undefined;
1492
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
1493
+ x: number;
1494
+ y: number;
1495
+ } | undefined;
1496
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
1497
+ x: number;
1498
+ y: number;
1499
+ } | undefined;
1338
1500
  }>;
1339
1501
  declare const codeBlockStyleSchema: z.ZodObject<{
1340
1502
  paddingVertical: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
@@ -1580,8 +1742,8 @@ declare const shapeElementSchema: z.ZodObject<{
1580
1742
  id: string;
1581
1743
  shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
1582
1744
  fill?: string | undefined;
1583
- stroke?: string | undefined;
1584
1745
  strokeWidth?: number | undefined;
1746
+ stroke?: string | undefined;
1585
1747
  }>;
1586
1748
  declare const imageElementSchema: z.ZodObject<{
1587
1749
  type: z.ZodLiteral<"image">;
@@ -1591,18 +1753,18 @@ declare const imageElementSchema: z.ZodObject<{
1591
1753
  fit: z.ZodDefault<z.ZodEnum<["contain", "cover", "fill", "none"]>>;
1592
1754
  borderRadius: z.ZodDefault<z.ZodNumber>;
1593
1755
  }, "strict", z.ZodTypeAny, {
1756
+ fit: "contain" | "cover" | "fill" | "none";
1594
1757
  type: "image";
1595
1758
  id: string;
1596
1759
  src: string;
1597
- fit: "fill" | "none" | "contain" | "cover";
1598
1760
  borderRadius: number;
1599
1761
  alt?: string | undefined;
1600
1762
  }, {
1601
1763
  type: "image";
1602
1764
  id: string;
1603
1765
  src: string;
1766
+ fit?: "contain" | "cover" | "fill" | "none" | undefined;
1604
1767
  alt?: string | undefined;
1605
- fit?: "fill" | "none" | "contain" | "cover" | undefined;
1606
1768
  borderRadius?: number | undefined;
1607
1769
  }>;
1608
1770
  declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
@@ -1635,7 +1797,7 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1635
1797
  }>, z.ZodObject<{
1636
1798
  type: z.ZodLiteral<"flow-node">;
1637
1799
  id: z.ZodString;
1638
- shape: z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram"]>;
1800
+ shape: z.ZodDefault<z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram", "hexagon"]>>;
1639
1801
  label: z.ZodString;
1640
1802
  sublabel: z.ZodOptional<z.ZodString>;
1641
1803
  sublabelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
@@ -1656,14 +1818,35 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1656
1818
  badgeColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1657
1819
  badgeBackground: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1658
1820
  badgePosition: z.ZodDefault<z.ZodEnum<["top", "inside-top"]>>;
1821
+ shadow: z.ZodOptional<z.ZodObject<{
1822
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1823
+ blur: z.ZodDefault<z.ZodNumber>;
1824
+ offsetX: z.ZodDefault<z.ZodNumber>;
1825
+ offsetY: z.ZodDefault<z.ZodNumber>;
1826
+ opacity: z.ZodDefault<z.ZodNumber>;
1827
+ }, "strict", z.ZodTypeAny, {
1828
+ opacity: number;
1829
+ blur: number;
1830
+ offsetX: number;
1831
+ offsetY: number;
1832
+ color?: string | undefined;
1833
+ }, {
1834
+ color?: string | undefined;
1835
+ opacity?: number | undefined;
1836
+ blur?: number | undefined;
1837
+ offsetX?: number | undefined;
1838
+ offsetY?: number | undefined;
1839
+ }>>;
1659
1840
  }, "strict", z.ZodTypeAny, {
1660
1841
  type: "flow-node";
1661
1842
  id: string;
1662
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1843
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
1663
1844
  label: string;
1664
1845
  fillOpacity: number;
1665
1846
  opacity: number;
1666
1847
  badgePosition: "top" | "inside-top";
1848
+ width?: number | undefined;
1849
+ height?: number | undefined;
1667
1850
  sublabel?: string | undefined;
1668
1851
  sublabelColor?: string | undefined;
1669
1852
  sublabel2?: string | undefined;
@@ -1675,16 +1858,23 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1675
1858
  borderColor?: string | undefined;
1676
1859
  borderWidth?: number | undefined;
1677
1860
  cornerRadius?: number | undefined;
1678
- width?: number | undefined;
1679
- height?: number | undefined;
1680
1861
  badgeText?: string | undefined;
1681
1862
  badgeColor?: string | undefined;
1682
1863
  badgeBackground?: string | undefined;
1864
+ shadow?: {
1865
+ opacity: number;
1866
+ blur: number;
1867
+ offsetX: number;
1868
+ offsetY: number;
1869
+ color?: string | undefined;
1870
+ } | undefined;
1683
1871
  }, {
1684
1872
  type: "flow-node";
1685
1873
  id: string;
1686
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1687
1874
  label: string;
1875
+ width?: number | undefined;
1876
+ height?: number | undefined;
1877
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
1688
1878
  sublabel?: string | undefined;
1689
1879
  sublabelColor?: string | undefined;
1690
1880
  sublabel2?: string | undefined;
@@ -1696,50 +1886,106 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1696
1886
  borderColor?: string | undefined;
1697
1887
  borderWidth?: number | undefined;
1698
1888
  cornerRadius?: number | undefined;
1699
- width?: number | undefined;
1700
- height?: number | undefined;
1701
1889
  fillOpacity?: number | undefined;
1702
1890
  opacity?: number | undefined;
1703
1891
  badgeText?: string | undefined;
1704
1892
  badgeColor?: string | undefined;
1705
1893
  badgeBackground?: string | undefined;
1706
1894
  badgePosition?: "top" | "inside-top" | undefined;
1895
+ shadow?: {
1896
+ color?: string | undefined;
1897
+ opacity?: number | undefined;
1898
+ blur?: number | undefined;
1899
+ offsetX?: number | undefined;
1900
+ offsetY?: number | undefined;
1901
+ } | undefined;
1707
1902
  }>, z.ZodObject<{
1708
1903
  type: z.ZodLiteral<"connection">;
1709
1904
  from: z.ZodString;
1710
1905
  to: z.ZodString;
1711
1906
  style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
1907
+ strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
1712
1908
  arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
1713
1909
  label: z.ZodOptional<z.ZodString>;
1714
1910
  labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
1715
1911
  color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1716
1912
  width: z.ZodOptional<z.ZodNumber>;
1913
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
1717
1914
  arrowSize: z.ZodOptional<z.ZodNumber>;
1915
+ arrowPlacement: z.ZodDefault<z.ZodEnum<["endpoint", "boundary"]>>;
1718
1916
  opacity: z.ZodDefault<z.ZodNumber>;
1917
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
1918
+ tension: z.ZodDefault<z.ZodNumber>;
1919
+ fromAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
1920
+ x: z.ZodNumber;
1921
+ y: z.ZodNumber;
1922
+ }, "strict", z.ZodTypeAny, {
1923
+ x: number;
1924
+ y: number;
1925
+ }, {
1926
+ x: number;
1927
+ y: number;
1928
+ }>]>>;
1929
+ toAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
1930
+ x: z.ZodNumber;
1931
+ y: z.ZodNumber;
1932
+ }, "strict", z.ZodTypeAny, {
1933
+ x: number;
1934
+ y: number;
1935
+ }, {
1936
+ x: number;
1937
+ y: number;
1938
+ }>]>>;
1719
1939
  }, "strict", z.ZodTypeAny, {
1720
1940
  type: "connection";
1721
1941
  opacity: number;
1722
1942
  from: string;
1723
1943
  to: string;
1724
1944
  style: "solid" | "dashed" | "dotted";
1945
+ strokeStyle: "solid" | "dashed" | "dotted";
1725
1946
  arrow: "end" | "start" | "both" | "none";
1726
1947
  labelPosition: "end" | "start" | "middle";
1948
+ strokeWidth: number;
1949
+ arrowPlacement: "endpoint" | "boundary";
1950
+ routing: "auto" | "orthogonal" | "curve" | "arc";
1951
+ tension: number;
1952
+ width?: number | undefined;
1727
1953
  label?: string | undefined;
1728
1954
  color?: string | undefined;
1729
- width?: number | undefined;
1730
1955
  arrowSize?: number | undefined;
1956
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
1957
+ x: number;
1958
+ y: number;
1959
+ } | undefined;
1960
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
1961
+ x: number;
1962
+ y: number;
1963
+ } | undefined;
1731
1964
  }, {
1732
1965
  type: "connection";
1733
1966
  from: string;
1734
1967
  to: string;
1968
+ width?: number | undefined;
1735
1969
  label?: string | undefined;
1736
1970
  color?: string | undefined;
1737
- width?: number | undefined;
1738
1971
  opacity?: number | undefined;
1739
1972
  style?: "solid" | "dashed" | "dotted" | undefined;
1973
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
1740
1974
  arrow?: "end" | "start" | "both" | "none" | undefined;
1741
1975
  labelPosition?: "end" | "start" | "middle" | undefined;
1976
+ strokeWidth?: number | undefined;
1742
1977
  arrowSize?: number | undefined;
1978
+ arrowPlacement?: "endpoint" | "boundary" | undefined;
1979
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
1980
+ tension?: number | undefined;
1981
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
1982
+ x: number;
1983
+ y: number;
1984
+ } | undefined;
1985
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
1986
+ x: number;
1987
+ y: number;
1988
+ } | undefined;
1743
1989
  }>, z.ZodObject<{
1744
1990
  type: z.ZodLiteral<"code-block">;
1745
1991
  id: z.ZodString;
@@ -1947,8 +2193,8 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1947
2193
  id: string;
1948
2194
  shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
1949
2195
  fill?: string | undefined;
1950
- stroke?: string | undefined;
1951
2196
  strokeWidth?: number | undefined;
2197
+ stroke?: string | undefined;
1952
2198
  }>, z.ZodObject<{
1953
2199
  type: z.ZodLiteral<"image">;
1954
2200
  id: z.ZodString;
@@ -1957,18 +2203,18 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1957
2203
  fit: z.ZodDefault<z.ZodEnum<["contain", "cover", "fill", "none"]>>;
1958
2204
  borderRadius: z.ZodDefault<z.ZodNumber>;
1959
2205
  }, "strict", z.ZodTypeAny, {
2206
+ fit: "contain" | "cover" | "fill" | "none";
1960
2207
  type: "image";
1961
2208
  id: string;
1962
2209
  src: string;
1963
- fit: "fill" | "none" | "contain" | "cover";
1964
2210
  borderRadius: number;
1965
2211
  alt?: string | undefined;
1966
2212
  }, {
1967
2213
  type: "image";
1968
2214
  id: string;
1969
2215
  src: string;
2216
+ fit?: "contain" | "cover" | "fill" | "none" | undefined;
1970
2217
  alt?: string | undefined;
1971
- fit?: "fill" | "none" | "contain" | "cover" | undefined;
1972
2218
  borderRadius?: number | undefined;
1973
2219
  }>]>;
1974
2220
  declare const autoLayoutConfigSchema: z.ZodObject<{
@@ -1987,6 +2233,17 @@ declare const autoLayoutConfigSchema: z.ZodObject<{
1987
2233
  radialCompaction: z.ZodOptional<z.ZodEnum<["none", "radial", "wedge"]>>;
1988
2234
  /** Sort strategy for radial layout node ordering. Only relevant when algorithm is 'radial'. */
1989
2235
  radialSortBy: z.ZodOptional<z.ZodEnum<["id", "connections"]>>;
2236
+ /** Explicit center used by curve/arc connection routing. */
2237
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2238
+ x: z.ZodNumber;
2239
+ y: z.ZodNumber;
2240
+ }, "strict", z.ZodTypeAny, {
2241
+ x: number;
2242
+ y: number;
2243
+ }, {
2244
+ x: number;
2245
+ y: number;
2246
+ }>>;
1990
2247
  }, "strict", z.ZodTypeAny, {
1991
2248
  mode: "auto";
1992
2249
  direction: "TB" | "BT" | "LR" | "RL";
@@ -1994,6 +2251,10 @@ declare const autoLayoutConfigSchema: z.ZodObject<{
1994
2251
  nodeSpacing: number;
1995
2252
  rankSpacing: number;
1996
2253
  edgeRouting: "orthogonal" | "polyline" | "spline";
2254
+ diagramCenter?: {
2255
+ x: number;
2256
+ y: number;
2257
+ } | undefined;
1997
2258
  aspectRatio?: number | undefined;
1998
2259
  radialRoot?: string | undefined;
1999
2260
  radialRadius?: number | undefined;
@@ -2002,6 +2263,10 @@ declare const autoLayoutConfigSchema: z.ZodObject<{
2002
2263
  }, {
2003
2264
  mode: "auto";
2004
2265
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
2266
+ diagramCenter?: {
2267
+ x: number;
2268
+ y: number;
2269
+ } | undefined;
2005
2270
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
2006
2271
  nodeSpacing?: number | undefined;
2007
2272
  rankSpacing?: number | undefined;
@@ -2019,16 +2284,35 @@ declare const gridLayoutConfigSchema: z.ZodObject<{
2019
2284
  cardMinHeight: z.ZodOptional<z.ZodNumber>;
2020
2285
  cardMaxHeight: z.ZodOptional<z.ZodNumber>;
2021
2286
  equalHeight: z.ZodDefault<z.ZodBoolean>;
2287
+ /** Explicit center used by curve/arc connection routing. */
2288
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2289
+ x: z.ZodNumber;
2290
+ y: z.ZodNumber;
2291
+ }, "strict", z.ZodTypeAny, {
2292
+ x: number;
2293
+ y: number;
2294
+ }, {
2295
+ x: number;
2296
+ y: number;
2297
+ }>>;
2022
2298
  }, "strict", z.ZodTypeAny, {
2023
2299
  mode: "grid";
2024
2300
  gap: number;
2025
2301
  columns: number;
2026
2302
  equalHeight: boolean;
2303
+ diagramCenter?: {
2304
+ x: number;
2305
+ y: number;
2306
+ } | undefined;
2027
2307
  cardMinHeight?: number | undefined;
2028
2308
  cardMaxHeight?: number | undefined;
2029
2309
  }, {
2030
2310
  mode: "grid";
2031
2311
  gap?: number | undefined;
2312
+ diagramCenter?: {
2313
+ x: number;
2314
+ y: number;
2315
+ } | undefined;
2032
2316
  columns?: number | undefined;
2033
2317
  cardMinHeight?: number | undefined;
2034
2318
  cardMaxHeight?: number | undefined;
@@ -2039,16 +2323,35 @@ declare const stackLayoutConfigSchema: z.ZodObject<{
2039
2323
  direction: z.ZodDefault<z.ZodEnum<["vertical", "horizontal"]>>;
2040
2324
  gap: z.ZodDefault<z.ZodNumber>;
2041
2325
  alignment: z.ZodDefault<z.ZodEnum<["start", "center", "end", "stretch"]>>;
2326
+ /** Explicit center used by curve/arc connection routing. */
2327
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2328
+ x: z.ZodNumber;
2329
+ y: z.ZodNumber;
2330
+ }, "strict", z.ZodTypeAny, {
2331
+ x: number;
2332
+ y: number;
2333
+ }, {
2334
+ x: number;
2335
+ y: number;
2336
+ }>>;
2042
2337
  }, "strict", z.ZodTypeAny, {
2043
2338
  mode: "stack";
2044
2339
  direction: "vertical" | "horizontal";
2045
2340
  gap: number;
2046
2341
  alignment: "end" | "start" | "center" | "stretch";
2342
+ diagramCenter?: {
2343
+ x: number;
2344
+ y: number;
2345
+ } | undefined;
2047
2346
  }, {
2048
2347
  mode: "stack";
2049
2348
  direction?: "vertical" | "horizontal" | undefined;
2050
2349
  gap?: number | undefined;
2051
2350
  alignment?: "end" | "start" | "center" | "stretch" | undefined;
2351
+ diagramCenter?: {
2352
+ x: number;
2353
+ y: number;
2354
+ } | undefined;
2052
2355
  }>;
2053
2356
  declare const manualLayoutConfigSchema: z.ZodObject<{
2054
2357
  mode: z.ZodLiteral<"manual">;
@@ -2068,6 +2371,17 @@ declare const manualLayoutConfigSchema: z.ZodObject<{
2068
2371
  width?: number | undefined;
2069
2372
  height?: number | undefined;
2070
2373
  }>>>;
2374
+ /** Explicit center used by curve/arc connection routing. */
2375
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2376
+ x: z.ZodNumber;
2377
+ y: z.ZodNumber;
2378
+ }, "strict", z.ZodTypeAny, {
2379
+ x: number;
2380
+ y: number;
2381
+ }, {
2382
+ x: number;
2383
+ y: number;
2384
+ }>>;
2071
2385
  }, "strict", z.ZodTypeAny, {
2072
2386
  mode: "manual";
2073
2387
  positions: Record<string, {
@@ -2076,8 +2390,16 @@ declare const manualLayoutConfigSchema: z.ZodObject<{
2076
2390
  width?: number | undefined;
2077
2391
  height?: number | undefined;
2078
2392
  }>;
2393
+ diagramCenter?: {
2394
+ x: number;
2395
+ y: number;
2396
+ } | undefined;
2079
2397
  }, {
2080
2398
  mode: "manual";
2399
+ diagramCenter?: {
2400
+ x: number;
2401
+ y: number;
2402
+ } | undefined;
2081
2403
  positions?: Record<string, {
2082
2404
  x: number;
2083
2405
  y: number;
@@ -2101,6 +2423,17 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2101
2423
  radialCompaction: z.ZodOptional<z.ZodEnum<["none", "radial", "wedge"]>>;
2102
2424
  /** Sort strategy for radial layout node ordering. Only relevant when algorithm is 'radial'. */
2103
2425
  radialSortBy: z.ZodOptional<z.ZodEnum<["id", "connections"]>>;
2426
+ /** Explicit center used by curve/arc connection routing. */
2427
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2428
+ x: z.ZodNumber;
2429
+ y: z.ZodNumber;
2430
+ }, "strict", z.ZodTypeAny, {
2431
+ x: number;
2432
+ y: number;
2433
+ }, {
2434
+ x: number;
2435
+ y: number;
2436
+ }>>;
2104
2437
  }, "strict", z.ZodTypeAny, {
2105
2438
  mode: "auto";
2106
2439
  direction: "TB" | "BT" | "LR" | "RL";
@@ -2108,6 +2441,10 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2108
2441
  nodeSpacing: number;
2109
2442
  rankSpacing: number;
2110
2443
  edgeRouting: "orthogonal" | "polyline" | "spline";
2444
+ diagramCenter?: {
2445
+ x: number;
2446
+ y: number;
2447
+ } | undefined;
2111
2448
  aspectRatio?: number | undefined;
2112
2449
  radialRoot?: string | undefined;
2113
2450
  radialRadius?: number | undefined;
@@ -2116,6 +2453,10 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2116
2453
  }, {
2117
2454
  mode: "auto";
2118
2455
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
2456
+ diagramCenter?: {
2457
+ x: number;
2458
+ y: number;
2459
+ } | undefined;
2119
2460
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
2120
2461
  nodeSpacing?: number | undefined;
2121
2462
  rankSpacing?: number | undefined;
@@ -2132,16 +2473,35 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2132
2473
  cardMinHeight: z.ZodOptional<z.ZodNumber>;
2133
2474
  cardMaxHeight: z.ZodOptional<z.ZodNumber>;
2134
2475
  equalHeight: z.ZodDefault<z.ZodBoolean>;
2476
+ /** Explicit center used by curve/arc connection routing. */
2477
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2478
+ x: z.ZodNumber;
2479
+ y: z.ZodNumber;
2480
+ }, "strict", z.ZodTypeAny, {
2481
+ x: number;
2482
+ y: number;
2483
+ }, {
2484
+ x: number;
2485
+ y: number;
2486
+ }>>;
2135
2487
  }, "strict", z.ZodTypeAny, {
2136
2488
  mode: "grid";
2137
2489
  gap: number;
2138
2490
  columns: number;
2139
2491
  equalHeight: boolean;
2492
+ diagramCenter?: {
2493
+ x: number;
2494
+ y: number;
2495
+ } | undefined;
2140
2496
  cardMinHeight?: number | undefined;
2141
2497
  cardMaxHeight?: number | undefined;
2142
2498
  }, {
2143
2499
  mode: "grid";
2144
2500
  gap?: number | undefined;
2501
+ diagramCenter?: {
2502
+ x: number;
2503
+ y: number;
2504
+ } | undefined;
2145
2505
  columns?: number | undefined;
2146
2506
  cardMinHeight?: number | undefined;
2147
2507
  cardMaxHeight?: number | undefined;
@@ -2151,16 +2511,35 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2151
2511
  direction: z.ZodDefault<z.ZodEnum<["vertical", "horizontal"]>>;
2152
2512
  gap: z.ZodDefault<z.ZodNumber>;
2153
2513
  alignment: z.ZodDefault<z.ZodEnum<["start", "center", "end", "stretch"]>>;
2514
+ /** Explicit center used by curve/arc connection routing. */
2515
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2516
+ x: z.ZodNumber;
2517
+ y: z.ZodNumber;
2518
+ }, "strict", z.ZodTypeAny, {
2519
+ x: number;
2520
+ y: number;
2521
+ }, {
2522
+ x: number;
2523
+ y: number;
2524
+ }>>;
2154
2525
  }, "strict", z.ZodTypeAny, {
2155
2526
  mode: "stack";
2156
2527
  direction: "vertical" | "horizontal";
2157
2528
  gap: number;
2158
2529
  alignment: "end" | "start" | "center" | "stretch";
2530
+ diagramCenter?: {
2531
+ x: number;
2532
+ y: number;
2533
+ } | undefined;
2159
2534
  }, {
2160
2535
  mode: "stack";
2161
2536
  direction?: "vertical" | "horizontal" | undefined;
2162
2537
  gap?: number | undefined;
2163
2538
  alignment?: "end" | "start" | "center" | "stretch" | undefined;
2539
+ diagramCenter?: {
2540
+ x: number;
2541
+ y: number;
2542
+ } | undefined;
2164
2543
  }>, z.ZodObject<{
2165
2544
  mode: z.ZodLiteral<"manual">;
2166
2545
  positions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
@@ -2179,6 +2558,17 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2179
2558
  width?: number | undefined;
2180
2559
  height?: number | undefined;
2181
2560
  }>>>;
2561
+ /** Explicit center used by curve/arc connection routing. */
2562
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2563
+ x: z.ZodNumber;
2564
+ y: z.ZodNumber;
2565
+ }, "strict", z.ZodTypeAny, {
2566
+ x: number;
2567
+ y: number;
2568
+ }, {
2569
+ x: number;
2570
+ y: number;
2571
+ }>>;
2182
2572
  }, "strict", z.ZodTypeAny, {
2183
2573
  mode: "manual";
2184
2574
  positions: Record<string, {
@@ -2187,8 +2577,16 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2187
2577
  width?: number | undefined;
2188
2578
  height?: number | undefined;
2189
2579
  }>;
2580
+ diagramCenter?: {
2581
+ x: number;
2582
+ y: number;
2583
+ } | undefined;
2190
2584
  }, {
2191
2585
  mode: "manual";
2586
+ diagramCenter?: {
2587
+ x: number;
2588
+ y: number;
2589
+ } | undefined;
2192
2590
  positions?: Record<string, {
2193
2591
  x: number;
2194
2592
  y: number;
@@ -2406,68 +2804,928 @@ declare const themeInputSchema: z.ZodUnion<[z.ZodEnum<["dark", "light", "dracula
2406
2804
  function: string;
2407
2805
  background: string;
2408
2806
  text: string;
2409
- comment: string;
2410
- keyword: string;
2411
- variable: string;
2412
- operator: string;
2413
- punctuation: string;
2414
- };
2415
- background: string;
2416
- surface: string;
2417
- surfaceMuted: string;
2418
- surfaceElevated: string;
2419
- text: string;
2420
- textMuted: string;
2421
- textInverse: string;
2422
- primary: string;
2423
- secondary: string;
2424
- accent: string;
2425
- success: string;
2426
- warning: string;
2427
- error: string;
2428
- info: string;
2429
- border: string;
2430
- borderMuted: string;
2431
- fonts: {
2432
- body: string;
2433
- heading: string;
2434
- mono: string;
2435
- };
2807
+ comment: string;
2808
+ keyword: string;
2809
+ variable: string;
2810
+ operator: string;
2811
+ punctuation: string;
2812
+ };
2813
+ background: string;
2814
+ surface: string;
2815
+ surfaceMuted: string;
2816
+ surfaceElevated: string;
2817
+ text: string;
2818
+ textMuted: string;
2819
+ textInverse: string;
2820
+ primary: string;
2821
+ secondary: string;
2822
+ accent: string;
2823
+ success: string;
2824
+ warning: string;
2825
+ error: string;
2826
+ info: string;
2827
+ border: string;
2828
+ borderMuted: string;
2829
+ fonts: {
2830
+ body: string;
2831
+ heading: string;
2832
+ mono: string;
2833
+ };
2834
+ }, {
2835
+ code: {
2836
+ string: string;
2837
+ number: string;
2838
+ function: string;
2839
+ background: string;
2840
+ text: string;
2841
+ comment: string;
2842
+ keyword: string;
2843
+ variable: string;
2844
+ operator: string;
2845
+ punctuation: string;
2846
+ };
2847
+ background: string;
2848
+ surface: string;
2849
+ surfaceMuted: string;
2850
+ surfaceElevated: string;
2851
+ text: string;
2852
+ textMuted: string;
2853
+ textInverse: string;
2854
+ primary: string;
2855
+ secondary: string;
2856
+ accent: string;
2857
+ success: string;
2858
+ warning: string;
2859
+ error: string;
2860
+ info: string;
2861
+ border: string;
2862
+ borderMuted: string;
2863
+ fonts: {
2864
+ body: string;
2865
+ heading: string;
2866
+ mono: string;
2867
+ };
2868
+ }>]>;
2869
+ declare const diagramElementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2870
+ type: z.ZodLiteral<"flow-node">;
2871
+ id: z.ZodString;
2872
+ shape: z.ZodDefault<z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram", "hexagon"]>>;
2873
+ label: z.ZodString;
2874
+ sublabel: z.ZodOptional<z.ZodString>;
2875
+ sublabelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2876
+ sublabel2: z.ZodOptional<z.ZodString>;
2877
+ sublabel2Color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2878
+ sublabel2FontSize: z.ZodOptional<z.ZodNumber>;
2879
+ labelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2880
+ labelFontSize: z.ZodOptional<z.ZodNumber>;
2881
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2882
+ borderColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2883
+ borderWidth: z.ZodOptional<z.ZodNumber>;
2884
+ cornerRadius: z.ZodOptional<z.ZodNumber>;
2885
+ width: z.ZodOptional<z.ZodNumber>;
2886
+ height: z.ZodOptional<z.ZodNumber>;
2887
+ fillOpacity: z.ZodDefault<z.ZodNumber>;
2888
+ opacity: z.ZodDefault<z.ZodNumber>;
2889
+ badgeText: z.ZodOptional<z.ZodString>;
2890
+ badgeColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2891
+ badgeBackground: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2892
+ badgePosition: z.ZodDefault<z.ZodEnum<["top", "inside-top"]>>;
2893
+ shadow: z.ZodOptional<z.ZodObject<{
2894
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2895
+ blur: z.ZodDefault<z.ZodNumber>;
2896
+ offsetX: z.ZodDefault<z.ZodNumber>;
2897
+ offsetY: z.ZodDefault<z.ZodNumber>;
2898
+ opacity: z.ZodDefault<z.ZodNumber>;
2899
+ }, "strict", z.ZodTypeAny, {
2900
+ opacity: number;
2901
+ blur: number;
2902
+ offsetX: number;
2903
+ offsetY: number;
2904
+ color?: string | undefined;
2905
+ }, {
2906
+ color?: string | undefined;
2907
+ opacity?: number | undefined;
2908
+ blur?: number | undefined;
2909
+ offsetX?: number | undefined;
2910
+ offsetY?: number | undefined;
2911
+ }>>;
2912
+ }, "strict", z.ZodTypeAny, {
2913
+ type: "flow-node";
2914
+ id: string;
2915
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
2916
+ label: string;
2917
+ fillOpacity: number;
2918
+ opacity: number;
2919
+ badgePosition: "top" | "inside-top";
2920
+ width?: number | undefined;
2921
+ height?: number | undefined;
2922
+ sublabel?: string | undefined;
2923
+ sublabelColor?: string | undefined;
2924
+ sublabel2?: string | undefined;
2925
+ sublabel2Color?: string | undefined;
2926
+ sublabel2FontSize?: number | undefined;
2927
+ labelColor?: string | undefined;
2928
+ labelFontSize?: number | undefined;
2929
+ color?: string | undefined;
2930
+ borderColor?: string | undefined;
2931
+ borderWidth?: number | undefined;
2932
+ cornerRadius?: number | undefined;
2933
+ badgeText?: string | undefined;
2934
+ badgeColor?: string | undefined;
2935
+ badgeBackground?: string | undefined;
2936
+ shadow?: {
2937
+ opacity: number;
2938
+ blur: number;
2939
+ offsetX: number;
2940
+ offsetY: number;
2941
+ color?: string | undefined;
2942
+ } | undefined;
2943
+ }, {
2944
+ type: "flow-node";
2945
+ id: string;
2946
+ label: string;
2947
+ width?: number | undefined;
2948
+ height?: number | undefined;
2949
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
2950
+ sublabel?: string | undefined;
2951
+ sublabelColor?: string | undefined;
2952
+ sublabel2?: string | undefined;
2953
+ sublabel2Color?: string | undefined;
2954
+ sublabel2FontSize?: number | undefined;
2955
+ labelColor?: string | undefined;
2956
+ labelFontSize?: number | undefined;
2957
+ color?: string | undefined;
2958
+ borderColor?: string | undefined;
2959
+ borderWidth?: number | undefined;
2960
+ cornerRadius?: number | undefined;
2961
+ fillOpacity?: number | undefined;
2962
+ opacity?: number | undefined;
2963
+ badgeText?: string | undefined;
2964
+ badgeColor?: string | undefined;
2965
+ badgeBackground?: string | undefined;
2966
+ badgePosition?: "top" | "inside-top" | undefined;
2967
+ shadow?: {
2968
+ color?: string | undefined;
2969
+ opacity?: number | undefined;
2970
+ blur?: number | undefined;
2971
+ offsetX?: number | undefined;
2972
+ offsetY?: number | undefined;
2973
+ } | undefined;
2974
+ }>, z.ZodObject<{
2975
+ type: z.ZodLiteral<"connection">;
2976
+ from: z.ZodString;
2977
+ to: z.ZodString;
2978
+ style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2979
+ strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2980
+ arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
2981
+ label: z.ZodOptional<z.ZodString>;
2982
+ labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
2983
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2984
+ width: z.ZodOptional<z.ZodNumber>;
2985
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
2986
+ arrowSize: z.ZodOptional<z.ZodNumber>;
2987
+ arrowPlacement: z.ZodDefault<z.ZodEnum<["endpoint", "boundary"]>>;
2988
+ opacity: z.ZodDefault<z.ZodNumber>;
2989
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
2990
+ tension: z.ZodDefault<z.ZodNumber>;
2991
+ fromAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
2992
+ x: z.ZodNumber;
2993
+ y: z.ZodNumber;
2994
+ }, "strict", z.ZodTypeAny, {
2995
+ x: number;
2996
+ y: number;
2997
+ }, {
2998
+ x: number;
2999
+ y: number;
3000
+ }>]>>;
3001
+ toAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
3002
+ x: z.ZodNumber;
3003
+ y: z.ZodNumber;
3004
+ }, "strict", z.ZodTypeAny, {
3005
+ x: number;
3006
+ y: number;
3007
+ }, {
3008
+ x: number;
3009
+ y: number;
3010
+ }>]>>;
3011
+ }, "strict", z.ZodTypeAny, {
3012
+ type: "connection";
3013
+ opacity: number;
3014
+ from: string;
3015
+ to: string;
3016
+ style: "solid" | "dashed" | "dotted";
3017
+ strokeStyle: "solid" | "dashed" | "dotted";
3018
+ arrow: "end" | "start" | "both" | "none";
3019
+ labelPosition: "end" | "start" | "middle";
3020
+ strokeWidth: number;
3021
+ arrowPlacement: "endpoint" | "boundary";
3022
+ routing: "auto" | "orthogonal" | "curve" | "arc";
3023
+ tension: number;
3024
+ width?: number | undefined;
3025
+ label?: string | undefined;
3026
+ color?: string | undefined;
3027
+ arrowSize?: number | undefined;
3028
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3029
+ x: number;
3030
+ y: number;
3031
+ } | undefined;
3032
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3033
+ x: number;
3034
+ y: number;
3035
+ } | undefined;
3036
+ }, {
3037
+ type: "connection";
3038
+ from: string;
3039
+ to: string;
3040
+ width?: number | undefined;
3041
+ label?: string | undefined;
3042
+ color?: string | undefined;
3043
+ opacity?: number | undefined;
3044
+ style?: "solid" | "dashed" | "dotted" | undefined;
3045
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
3046
+ arrow?: "end" | "start" | "both" | "none" | undefined;
3047
+ labelPosition?: "end" | "start" | "middle" | undefined;
3048
+ strokeWidth?: number | undefined;
3049
+ arrowSize?: number | undefined;
3050
+ arrowPlacement?: "endpoint" | "boundary" | undefined;
3051
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
3052
+ tension?: number | undefined;
3053
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3054
+ x: number;
3055
+ y: number;
3056
+ } | undefined;
3057
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3058
+ x: number;
3059
+ y: number;
3060
+ } | undefined;
3061
+ }>]>;
3062
+ declare const diagramLayoutSchema: z.ZodObject<{
3063
+ mode: z.ZodDefault<z.ZodEnum<["manual", "auto"]>>;
3064
+ positions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
3065
+ x: z.ZodNumber;
3066
+ y: z.ZodNumber;
3067
+ width: z.ZodNumber;
3068
+ height: z.ZodNumber;
3069
+ }, "strict", z.ZodTypeAny, {
3070
+ width: number;
3071
+ height: number;
3072
+ x: number;
3073
+ y: number;
3074
+ }, {
3075
+ width: number;
3076
+ height: number;
3077
+ x: number;
3078
+ y: number;
3079
+ }>>>;
3080
+ diagramCenter: z.ZodOptional<z.ZodObject<{
3081
+ x: z.ZodNumber;
3082
+ y: z.ZodNumber;
3083
+ }, "strict", z.ZodTypeAny, {
3084
+ x: number;
3085
+ y: number;
3086
+ }, {
3087
+ x: number;
3088
+ y: number;
3089
+ }>>;
3090
+ }, "strict", z.ZodTypeAny, {
3091
+ mode: "auto" | "manual";
3092
+ diagramCenter?: {
3093
+ x: number;
3094
+ y: number;
3095
+ } | undefined;
3096
+ positions?: Record<string, {
3097
+ width: number;
3098
+ height: number;
3099
+ x: number;
3100
+ y: number;
3101
+ }> | undefined;
3102
+ }, {
3103
+ mode?: "auto" | "manual" | undefined;
3104
+ diagramCenter?: {
3105
+ x: number;
3106
+ y: number;
3107
+ } | undefined;
3108
+ positions?: Record<string, {
3109
+ width: number;
3110
+ height: number;
3111
+ x: number;
3112
+ y: number;
3113
+ }> | undefined;
3114
+ }>;
3115
+ declare const diagramSpecSchema: z.ZodObject<{
3116
+ version: z.ZodLiteral<1>;
3117
+ canvas: z.ZodDefault<z.ZodObject<{
3118
+ width: z.ZodDefault<z.ZodNumber>;
3119
+ height: z.ZodDefault<z.ZodNumber>;
3120
+ }, "strip", z.ZodTypeAny, {
3121
+ width: number;
3122
+ height: number;
3123
+ }, {
3124
+ width?: number | undefined;
3125
+ height?: number | undefined;
3126
+ }>>;
3127
+ theme: z.ZodOptional<z.ZodObject<{
3128
+ background: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3129
+ surface: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3130
+ surfaceMuted: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3131
+ surfaceElevated: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3132
+ text: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3133
+ textMuted: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3134
+ textInverse: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3135
+ primary: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3136
+ secondary: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3137
+ accent: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3138
+ success: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3139
+ warning: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3140
+ error: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3141
+ info: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3142
+ border: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3143
+ borderMuted: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3144
+ code: z.ZodObject<{
3145
+ background: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3146
+ text: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3147
+ comment: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3148
+ keyword: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3149
+ string: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3150
+ number: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3151
+ function: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3152
+ variable: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3153
+ operator: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3154
+ punctuation: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3155
+ }, "strict", z.ZodTypeAny, {
3156
+ string: string;
3157
+ number: string;
3158
+ function: string;
3159
+ background: string;
3160
+ text: string;
3161
+ comment: string;
3162
+ keyword: string;
3163
+ variable: string;
3164
+ operator: string;
3165
+ punctuation: string;
3166
+ }, {
3167
+ string: string;
3168
+ number: string;
3169
+ function: string;
3170
+ background: string;
3171
+ text: string;
3172
+ comment: string;
3173
+ keyword: string;
3174
+ variable: string;
3175
+ operator: string;
3176
+ punctuation: string;
3177
+ }>;
3178
+ fonts: z.ZodObject<{
3179
+ heading: z.ZodString;
3180
+ body: z.ZodString;
3181
+ mono: z.ZodString;
3182
+ }, "strict", z.ZodTypeAny, {
3183
+ body: string;
3184
+ heading: string;
3185
+ mono: string;
3186
+ }, {
3187
+ body: string;
3188
+ heading: string;
3189
+ mono: string;
3190
+ }>;
3191
+ }, "strict", z.ZodTypeAny, {
3192
+ code: {
3193
+ string: string;
3194
+ number: string;
3195
+ function: string;
3196
+ background: string;
3197
+ text: string;
3198
+ comment: string;
3199
+ keyword: string;
3200
+ variable: string;
3201
+ operator: string;
3202
+ punctuation: string;
3203
+ };
3204
+ background: string;
3205
+ surface: string;
3206
+ surfaceMuted: string;
3207
+ surfaceElevated: string;
3208
+ text: string;
3209
+ textMuted: string;
3210
+ textInverse: string;
3211
+ primary: string;
3212
+ secondary: string;
3213
+ accent: string;
3214
+ success: string;
3215
+ warning: string;
3216
+ error: string;
3217
+ info: string;
3218
+ border: string;
3219
+ borderMuted: string;
3220
+ fonts: {
3221
+ body: string;
3222
+ heading: string;
3223
+ mono: string;
3224
+ };
3225
+ }, {
3226
+ code: {
3227
+ string: string;
3228
+ number: string;
3229
+ function: string;
3230
+ background: string;
3231
+ text: string;
3232
+ comment: string;
3233
+ keyword: string;
3234
+ variable: string;
3235
+ operator: string;
3236
+ punctuation: string;
3237
+ };
3238
+ background: string;
3239
+ surface: string;
3240
+ surfaceMuted: string;
3241
+ surfaceElevated: string;
3242
+ text: string;
3243
+ textMuted: string;
3244
+ textInverse: string;
3245
+ primary: string;
3246
+ secondary: string;
3247
+ accent: string;
3248
+ success: string;
3249
+ warning: string;
3250
+ error: string;
3251
+ info: string;
3252
+ border: string;
3253
+ borderMuted: string;
3254
+ fonts: {
3255
+ body: string;
3256
+ heading: string;
3257
+ mono: string;
3258
+ };
3259
+ }>>;
3260
+ elements: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3261
+ type: z.ZodLiteral<"flow-node">;
3262
+ id: z.ZodString;
3263
+ shape: z.ZodDefault<z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram", "hexagon"]>>;
3264
+ label: z.ZodString;
3265
+ sublabel: z.ZodOptional<z.ZodString>;
3266
+ sublabelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3267
+ sublabel2: z.ZodOptional<z.ZodString>;
3268
+ sublabel2Color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3269
+ sublabel2FontSize: z.ZodOptional<z.ZodNumber>;
3270
+ labelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3271
+ labelFontSize: z.ZodOptional<z.ZodNumber>;
3272
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3273
+ borderColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3274
+ borderWidth: z.ZodOptional<z.ZodNumber>;
3275
+ cornerRadius: z.ZodOptional<z.ZodNumber>;
3276
+ width: z.ZodOptional<z.ZodNumber>;
3277
+ height: z.ZodOptional<z.ZodNumber>;
3278
+ fillOpacity: z.ZodDefault<z.ZodNumber>;
3279
+ opacity: z.ZodDefault<z.ZodNumber>;
3280
+ badgeText: z.ZodOptional<z.ZodString>;
3281
+ badgeColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3282
+ badgeBackground: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3283
+ badgePosition: z.ZodDefault<z.ZodEnum<["top", "inside-top"]>>;
3284
+ shadow: z.ZodOptional<z.ZodObject<{
3285
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3286
+ blur: z.ZodDefault<z.ZodNumber>;
3287
+ offsetX: z.ZodDefault<z.ZodNumber>;
3288
+ offsetY: z.ZodDefault<z.ZodNumber>;
3289
+ opacity: z.ZodDefault<z.ZodNumber>;
3290
+ }, "strict", z.ZodTypeAny, {
3291
+ opacity: number;
3292
+ blur: number;
3293
+ offsetX: number;
3294
+ offsetY: number;
3295
+ color?: string | undefined;
3296
+ }, {
3297
+ color?: string | undefined;
3298
+ opacity?: number | undefined;
3299
+ blur?: number | undefined;
3300
+ offsetX?: number | undefined;
3301
+ offsetY?: number | undefined;
3302
+ }>>;
3303
+ }, "strict", z.ZodTypeAny, {
3304
+ type: "flow-node";
3305
+ id: string;
3306
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
3307
+ label: string;
3308
+ fillOpacity: number;
3309
+ opacity: number;
3310
+ badgePosition: "top" | "inside-top";
3311
+ width?: number | undefined;
3312
+ height?: number | undefined;
3313
+ sublabel?: string | undefined;
3314
+ sublabelColor?: string | undefined;
3315
+ sublabel2?: string | undefined;
3316
+ sublabel2Color?: string | undefined;
3317
+ sublabel2FontSize?: number | undefined;
3318
+ labelColor?: string | undefined;
3319
+ labelFontSize?: number | undefined;
3320
+ color?: string | undefined;
3321
+ borderColor?: string | undefined;
3322
+ borderWidth?: number | undefined;
3323
+ cornerRadius?: number | undefined;
3324
+ badgeText?: string | undefined;
3325
+ badgeColor?: string | undefined;
3326
+ badgeBackground?: string | undefined;
3327
+ shadow?: {
3328
+ opacity: number;
3329
+ blur: number;
3330
+ offsetX: number;
3331
+ offsetY: number;
3332
+ color?: string | undefined;
3333
+ } | undefined;
3334
+ }, {
3335
+ type: "flow-node";
3336
+ id: string;
3337
+ label: string;
3338
+ width?: number | undefined;
3339
+ height?: number | undefined;
3340
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
3341
+ sublabel?: string | undefined;
3342
+ sublabelColor?: string | undefined;
3343
+ sublabel2?: string | undefined;
3344
+ sublabel2Color?: string | undefined;
3345
+ sublabel2FontSize?: number | undefined;
3346
+ labelColor?: string | undefined;
3347
+ labelFontSize?: number | undefined;
3348
+ color?: string | undefined;
3349
+ borderColor?: string | undefined;
3350
+ borderWidth?: number | undefined;
3351
+ cornerRadius?: number | undefined;
3352
+ fillOpacity?: number | undefined;
3353
+ opacity?: number | undefined;
3354
+ badgeText?: string | undefined;
3355
+ badgeColor?: string | undefined;
3356
+ badgeBackground?: string | undefined;
3357
+ badgePosition?: "top" | "inside-top" | undefined;
3358
+ shadow?: {
3359
+ color?: string | undefined;
3360
+ opacity?: number | undefined;
3361
+ blur?: number | undefined;
3362
+ offsetX?: number | undefined;
3363
+ offsetY?: number | undefined;
3364
+ } | undefined;
3365
+ }>, z.ZodObject<{
3366
+ type: z.ZodLiteral<"connection">;
3367
+ from: z.ZodString;
3368
+ to: z.ZodString;
3369
+ style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
3370
+ strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
3371
+ arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
3372
+ label: z.ZodOptional<z.ZodString>;
3373
+ labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
3374
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3375
+ width: z.ZodOptional<z.ZodNumber>;
3376
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
3377
+ arrowSize: z.ZodOptional<z.ZodNumber>;
3378
+ arrowPlacement: z.ZodDefault<z.ZodEnum<["endpoint", "boundary"]>>;
3379
+ opacity: z.ZodDefault<z.ZodNumber>;
3380
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
3381
+ tension: z.ZodDefault<z.ZodNumber>;
3382
+ fromAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
3383
+ x: z.ZodNumber;
3384
+ y: z.ZodNumber;
3385
+ }, "strict", z.ZodTypeAny, {
3386
+ x: number;
3387
+ y: number;
3388
+ }, {
3389
+ x: number;
3390
+ y: number;
3391
+ }>]>>;
3392
+ toAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
3393
+ x: z.ZodNumber;
3394
+ y: z.ZodNumber;
3395
+ }, "strict", z.ZodTypeAny, {
3396
+ x: number;
3397
+ y: number;
3398
+ }, {
3399
+ x: number;
3400
+ y: number;
3401
+ }>]>>;
3402
+ }, "strict", z.ZodTypeAny, {
3403
+ type: "connection";
3404
+ opacity: number;
3405
+ from: string;
3406
+ to: string;
3407
+ style: "solid" | "dashed" | "dotted";
3408
+ strokeStyle: "solid" | "dashed" | "dotted";
3409
+ arrow: "end" | "start" | "both" | "none";
3410
+ labelPosition: "end" | "start" | "middle";
3411
+ strokeWidth: number;
3412
+ arrowPlacement: "endpoint" | "boundary";
3413
+ routing: "auto" | "orthogonal" | "curve" | "arc";
3414
+ tension: number;
3415
+ width?: number | undefined;
3416
+ label?: string | undefined;
3417
+ color?: string | undefined;
3418
+ arrowSize?: number | undefined;
3419
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3420
+ x: number;
3421
+ y: number;
3422
+ } | undefined;
3423
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3424
+ x: number;
3425
+ y: number;
3426
+ } | undefined;
3427
+ }, {
3428
+ type: "connection";
3429
+ from: string;
3430
+ to: string;
3431
+ width?: number | undefined;
3432
+ label?: string | undefined;
3433
+ color?: string | undefined;
3434
+ opacity?: number | undefined;
3435
+ style?: "solid" | "dashed" | "dotted" | undefined;
3436
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
3437
+ arrow?: "end" | "start" | "both" | "none" | undefined;
3438
+ labelPosition?: "end" | "start" | "middle" | undefined;
3439
+ strokeWidth?: number | undefined;
3440
+ arrowSize?: number | undefined;
3441
+ arrowPlacement?: "endpoint" | "boundary" | undefined;
3442
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
3443
+ tension?: number | undefined;
3444
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3445
+ x: number;
3446
+ y: number;
3447
+ } | undefined;
3448
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3449
+ x: number;
3450
+ y: number;
3451
+ } | undefined;
3452
+ }>]>, "many">;
3453
+ layout: z.ZodDefault<z.ZodObject<{
3454
+ mode: z.ZodDefault<z.ZodEnum<["manual", "auto"]>>;
3455
+ positions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
3456
+ x: z.ZodNumber;
3457
+ y: z.ZodNumber;
3458
+ width: z.ZodNumber;
3459
+ height: z.ZodNumber;
3460
+ }, "strict", z.ZodTypeAny, {
3461
+ width: number;
3462
+ height: number;
3463
+ x: number;
3464
+ y: number;
3465
+ }, {
3466
+ width: number;
3467
+ height: number;
3468
+ x: number;
3469
+ y: number;
3470
+ }>>>;
3471
+ diagramCenter: z.ZodOptional<z.ZodObject<{
3472
+ x: z.ZodNumber;
3473
+ y: z.ZodNumber;
3474
+ }, "strict", z.ZodTypeAny, {
3475
+ x: number;
3476
+ y: number;
3477
+ }, {
3478
+ x: number;
3479
+ y: number;
3480
+ }>>;
3481
+ }, "strict", z.ZodTypeAny, {
3482
+ mode: "auto" | "manual";
3483
+ diagramCenter?: {
3484
+ x: number;
3485
+ y: number;
3486
+ } | undefined;
3487
+ positions?: Record<string, {
3488
+ width: number;
3489
+ height: number;
3490
+ x: number;
3491
+ y: number;
3492
+ }> | undefined;
3493
+ }, {
3494
+ mode?: "auto" | "manual" | undefined;
3495
+ diagramCenter?: {
3496
+ x: number;
3497
+ y: number;
3498
+ } | undefined;
3499
+ positions?: Record<string, {
3500
+ width: number;
3501
+ height: number;
3502
+ x: number;
3503
+ y: number;
3504
+ }> | undefined;
3505
+ }>>;
3506
+ }, "strict", z.ZodTypeAny, {
3507
+ version: 1;
3508
+ canvas: {
3509
+ width: number;
3510
+ height: number;
3511
+ };
3512
+ elements: ({
3513
+ type: "flow-node";
3514
+ id: string;
3515
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
3516
+ label: string;
3517
+ fillOpacity: number;
3518
+ opacity: number;
3519
+ badgePosition: "top" | "inside-top";
3520
+ width?: number | undefined;
3521
+ height?: number | undefined;
3522
+ sublabel?: string | undefined;
3523
+ sublabelColor?: string | undefined;
3524
+ sublabel2?: string | undefined;
3525
+ sublabel2Color?: string | undefined;
3526
+ sublabel2FontSize?: number | undefined;
3527
+ labelColor?: string | undefined;
3528
+ labelFontSize?: number | undefined;
3529
+ color?: string | undefined;
3530
+ borderColor?: string | undefined;
3531
+ borderWidth?: number | undefined;
3532
+ cornerRadius?: number | undefined;
3533
+ badgeText?: string | undefined;
3534
+ badgeColor?: string | undefined;
3535
+ badgeBackground?: string | undefined;
3536
+ shadow?: {
3537
+ opacity: number;
3538
+ blur: number;
3539
+ offsetX: number;
3540
+ offsetY: number;
3541
+ color?: string | undefined;
3542
+ } | undefined;
3543
+ } | {
3544
+ type: "connection";
3545
+ opacity: number;
3546
+ from: string;
3547
+ to: string;
3548
+ style: "solid" | "dashed" | "dotted";
3549
+ strokeStyle: "solid" | "dashed" | "dotted";
3550
+ arrow: "end" | "start" | "both" | "none";
3551
+ labelPosition: "end" | "start" | "middle";
3552
+ strokeWidth: number;
3553
+ arrowPlacement: "endpoint" | "boundary";
3554
+ routing: "auto" | "orthogonal" | "curve" | "arc";
3555
+ tension: number;
3556
+ width?: number | undefined;
3557
+ label?: string | undefined;
3558
+ color?: string | undefined;
3559
+ arrowSize?: number | undefined;
3560
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3561
+ x: number;
3562
+ y: number;
3563
+ } | undefined;
3564
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3565
+ x: number;
3566
+ y: number;
3567
+ } | undefined;
3568
+ })[];
3569
+ layout: {
3570
+ mode: "auto" | "manual";
3571
+ diagramCenter?: {
3572
+ x: number;
3573
+ y: number;
3574
+ } | undefined;
3575
+ positions?: Record<string, {
3576
+ width: number;
3577
+ height: number;
3578
+ x: number;
3579
+ y: number;
3580
+ }> | undefined;
3581
+ };
3582
+ theme?: {
3583
+ code: {
3584
+ string: string;
3585
+ number: string;
3586
+ function: string;
3587
+ background: string;
3588
+ text: string;
3589
+ comment: string;
3590
+ keyword: string;
3591
+ variable: string;
3592
+ operator: string;
3593
+ punctuation: string;
3594
+ };
3595
+ background: string;
3596
+ surface: string;
3597
+ surfaceMuted: string;
3598
+ surfaceElevated: string;
3599
+ text: string;
3600
+ textMuted: string;
3601
+ textInverse: string;
3602
+ primary: string;
3603
+ secondary: string;
3604
+ accent: string;
3605
+ success: string;
3606
+ warning: string;
3607
+ error: string;
3608
+ info: string;
3609
+ border: string;
3610
+ borderMuted: string;
3611
+ fonts: {
3612
+ body: string;
3613
+ heading: string;
3614
+ mono: string;
3615
+ };
3616
+ } | undefined;
2436
3617
  }, {
2437
- code: {
2438
- string: string;
2439
- number: string;
2440
- function: string;
3618
+ version: 1;
3619
+ elements: ({
3620
+ type: "flow-node";
3621
+ id: string;
3622
+ label: string;
3623
+ width?: number | undefined;
3624
+ height?: number | undefined;
3625
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
3626
+ sublabel?: string | undefined;
3627
+ sublabelColor?: string | undefined;
3628
+ sublabel2?: string | undefined;
3629
+ sublabel2Color?: string | undefined;
3630
+ sublabel2FontSize?: number | undefined;
3631
+ labelColor?: string | undefined;
3632
+ labelFontSize?: number | undefined;
3633
+ color?: string | undefined;
3634
+ borderColor?: string | undefined;
3635
+ borderWidth?: number | undefined;
3636
+ cornerRadius?: number | undefined;
3637
+ fillOpacity?: number | undefined;
3638
+ opacity?: number | undefined;
3639
+ badgeText?: string | undefined;
3640
+ badgeColor?: string | undefined;
3641
+ badgeBackground?: string | undefined;
3642
+ badgePosition?: "top" | "inside-top" | undefined;
3643
+ shadow?: {
3644
+ color?: string | undefined;
3645
+ opacity?: number | undefined;
3646
+ blur?: number | undefined;
3647
+ offsetX?: number | undefined;
3648
+ offsetY?: number | undefined;
3649
+ } | undefined;
3650
+ } | {
3651
+ type: "connection";
3652
+ from: string;
3653
+ to: string;
3654
+ width?: number | undefined;
3655
+ label?: string | undefined;
3656
+ color?: string | undefined;
3657
+ opacity?: number | undefined;
3658
+ style?: "solid" | "dashed" | "dotted" | undefined;
3659
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
3660
+ arrow?: "end" | "start" | "both" | "none" | undefined;
3661
+ labelPosition?: "end" | "start" | "middle" | undefined;
3662
+ strokeWidth?: number | undefined;
3663
+ arrowSize?: number | undefined;
3664
+ arrowPlacement?: "endpoint" | "boundary" | undefined;
3665
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
3666
+ tension?: number | undefined;
3667
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3668
+ x: number;
3669
+ y: number;
3670
+ } | undefined;
3671
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3672
+ x: number;
3673
+ y: number;
3674
+ } | undefined;
3675
+ })[];
3676
+ theme?: {
3677
+ code: {
3678
+ string: string;
3679
+ number: string;
3680
+ function: string;
3681
+ background: string;
3682
+ text: string;
3683
+ comment: string;
3684
+ keyword: string;
3685
+ variable: string;
3686
+ operator: string;
3687
+ punctuation: string;
3688
+ };
2441
3689
  background: string;
3690
+ surface: string;
3691
+ surfaceMuted: string;
3692
+ surfaceElevated: string;
2442
3693
  text: string;
2443
- comment: string;
2444
- keyword: string;
2445
- variable: string;
2446
- operator: string;
2447
- punctuation: string;
2448
- };
2449
- background: string;
2450
- surface: string;
2451
- surfaceMuted: string;
2452
- surfaceElevated: string;
2453
- text: string;
2454
- textMuted: string;
2455
- textInverse: string;
2456
- primary: string;
2457
- secondary: string;
2458
- accent: string;
2459
- success: string;
2460
- warning: string;
2461
- error: string;
2462
- info: string;
2463
- border: string;
2464
- borderMuted: string;
2465
- fonts: {
2466
- body: string;
2467
- heading: string;
2468
- mono: string;
2469
- };
2470
- }>]>;
3694
+ textMuted: string;
3695
+ textInverse: string;
3696
+ primary: string;
3697
+ secondary: string;
3698
+ accent: string;
3699
+ success: string;
3700
+ warning: string;
3701
+ error: string;
3702
+ info: string;
3703
+ border: string;
3704
+ borderMuted: string;
3705
+ fonts: {
3706
+ body: string;
3707
+ heading: string;
3708
+ mono: string;
3709
+ };
3710
+ } | undefined;
3711
+ canvas?: {
3712
+ width?: number | undefined;
3713
+ height?: number | undefined;
3714
+ } | undefined;
3715
+ layout?: {
3716
+ mode?: "auto" | "manual" | undefined;
3717
+ diagramCenter?: {
3718
+ x: number;
3719
+ y: number;
3720
+ } | undefined;
3721
+ positions?: Record<string, {
3722
+ width: number;
3723
+ height: number;
3724
+ x: number;
3725
+ y: number;
3726
+ }> | undefined;
3727
+ } | undefined;
3728
+ }>;
2471
3729
  /** Zod schema that validates and transforms raw input into a fully resolved {@link DesignSpec}. This is the source of truth for spec validation. */
2472
3730
  declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
2473
3731
  version: z.ZodDefault<z.ZodLiteral<2>>;
@@ -2721,7 +3979,7 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
2721
3979
  }>, z.ZodObject<{
2722
3980
  type: z.ZodLiteral<"flow-node">;
2723
3981
  id: z.ZodString;
2724
- shape: z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram"]>;
3982
+ shape: z.ZodDefault<z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram", "hexagon"]>>;
2725
3983
  label: z.ZodString;
2726
3984
  sublabel: z.ZodOptional<z.ZodString>;
2727
3985
  sublabelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
@@ -2742,14 +4000,35 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
2742
4000
  badgeColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2743
4001
  badgeBackground: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2744
4002
  badgePosition: z.ZodDefault<z.ZodEnum<["top", "inside-top"]>>;
4003
+ shadow: z.ZodOptional<z.ZodObject<{
4004
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4005
+ blur: z.ZodDefault<z.ZodNumber>;
4006
+ offsetX: z.ZodDefault<z.ZodNumber>;
4007
+ offsetY: z.ZodDefault<z.ZodNumber>;
4008
+ opacity: z.ZodDefault<z.ZodNumber>;
4009
+ }, "strict", z.ZodTypeAny, {
4010
+ opacity: number;
4011
+ blur: number;
4012
+ offsetX: number;
4013
+ offsetY: number;
4014
+ color?: string | undefined;
4015
+ }, {
4016
+ color?: string | undefined;
4017
+ opacity?: number | undefined;
4018
+ blur?: number | undefined;
4019
+ offsetX?: number | undefined;
4020
+ offsetY?: number | undefined;
4021
+ }>>;
2745
4022
  }, "strict", z.ZodTypeAny, {
2746
4023
  type: "flow-node";
2747
4024
  id: string;
2748
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
4025
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
2749
4026
  label: string;
2750
4027
  fillOpacity: number;
2751
4028
  opacity: number;
2752
4029
  badgePosition: "top" | "inside-top";
4030
+ width?: number | undefined;
4031
+ height?: number | undefined;
2753
4032
  sublabel?: string | undefined;
2754
4033
  sublabelColor?: string | undefined;
2755
4034
  sublabel2?: string | undefined;
@@ -2761,16 +4040,23 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
2761
4040
  borderColor?: string | undefined;
2762
4041
  borderWidth?: number | undefined;
2763
4042
  cornerRadius?: number | undefined;
2764
- width?: number | undefined;
2765
- height?: number | undefined;
2766
4043
  badgeText?: string | undefined;
2767
4044
  badgeColor?: string | undefined;
2768
4045
  badgeBackground?: string | undefined;
4046
+ shadow?: {
4047
+ opacity: number;
4048
+ blur: number;
4049
+ offsetX: number;
4050
+ offsetY: number;
4051
+ color?: string | undefined;
4052
+ } | undefined;
2769
4053
  }, {
2770
4054
  type: "flow-node";
2771
4055
  id: string;
2772
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
2773
4056
  label: string;
4057
+ width?: number | undefined;
4058
+ height?: number | undefined;
4059
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
2774
4060
  sublabel?: string | undefined;
2775
4061
  sublabelColor?: string | undefined;
2776
4062
  sublabel2?: string | undefined;
@@ -2782,50 +4068,106 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
2782
4068
  borderColor?: string | undefined;
2783
4069
  borderWidth?: number | undefined;
2784
4070
  cornerRadius?: number | undefined;
2785
- width?: number | undefined;
2786
- height?: number | undefined;
2787
4071
  fillOpacity?: number | undefined;
2788
4072
  opacity?: number | undefined;
2789
4073
  badgeText?: string | undefined;
2790
4074
  badgeColor?: string | undefined;
2791
4075
  badgeBackground?: string | undefined;
2792
4076
  badgePosition?: "top" | "inside-top" | undefined;
4077
+ shadow?: {
4078
+ color?: string | undefined;
4079
+ opacity?: number | undefined;
4080
+ blur?: number | undefined;
4081
+ offsetX?: number | undefined;
4082
+ offsetY?: number | undefined;
4083
+ } | undefined;
2793
4084
  }>, z.ZodObject<{
2794
4085
  type: z.ZodLiteral<"connection">;
2795
4086
  from: z.ZodString;
2796
4087
  to: z.ZodString;
2797
4088
  style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
4089
+ strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2798
4090
  arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
2799
4091
  label: z.ZodOptional<z.ZodString>;
2800
4092
  labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
2801
4093
  color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2802
4094
  width: z.ZodOptional<z.ZodNumber>;
4095
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
2803
4096
  arrowSize: z.ZodOptional<z.ZodNumber>;
4097
+ arrowPlacement: z.ZodDefault<z.ZodEnum<["endpoint", "boundary"]>>;
2804
4098
  opacity: z.ZodDefault<z.ZodNumber>;
4099
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
4100
+ tension: z.ZodDefault<z.ZodNumber>;
4101
+ fromAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
4102
+ x: z.ZodNumber;
4103
+ y: z.ZodNumber;
4104
+ }, "strict", z.ZodTypeAny, {
4105
+ x: number;
4106
+ y: number;
4107
+ }, {
4108
+ x: number;
4109
+ y: number;
4110
+ }>]>>;
4111
+ toAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
4112
+ x: z.ZodNumber;
4113
+ y: z.ZodNumber;
4114
+ }, "strict", z.ZodTypeAny, {
4115
+ x: number;
4116
+ y: number;
4117
+ }, {
4118
+ x: number;
4119
+ y: number;
4120
+ }>]>>;
2805
4121
  }, "strict", z.ZodTypeAny, {
2806
4122
  type: "connection";
2807
4123
  opacity: number;
2808
4124
  from: string;
2809
4125
  to: string;
2810
4126
  style: "solid" | "dashed" | "dotted";
4127
+ strokeStyle: "solid" | "dashed" | "dotted";
2811
4128
  arrow: "end" | "start" | "both" | "none";
2812
4129
  labelPosition: "end" | "start" | "middle";
4130
+ strokeWidth: number;
4131
+ arrowPlacement: "endpoint" | "boundary";
4132
+ routing: "auto" | "orthogonal" | "curve" | "arc";
4133
+ tension: number;
4134
+ width?: number | undefined;
2813
4135
  label?: string | undefined;
2814
4136
  color?: string | undefined;
2815
- width?: number | undefined;
2816
4137
  arrowSize?: number | undefined;
4138
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
4139
+ x: number;
4140
+ y: number;
4141
+ } | undefined;
4142
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
4143
+ x: number;
4144
+ y: number;
4145
+ } | undefined;
2817
4146
  }, {
2818
4147
  type: "connection";
2819
4148
  from: string;
2820
4149
  to: string;
4150
+ width?: number | undefined;
2821
4151
  label?: string | undefined;
2822
4152
  color?: string | undefined;
2823
- width?: number | undefined;
2824
4153
  opacity?: number | undefined;
2825
4154
  style?: "solid" | "dashed" | "dotted" | undefined;
4155
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
2826
4156
  arrow?: "end" | "start" | "both" | "none" | undefined;
2827
4157
  labelPosition?: "end" | "start" | "middle" | undefined;
4158
+ strokeWidth?: number | undefined;
2828
4159
  arrowSize?: number | undefined;
4160
+ arrowPlacement?: "endpoint" | "boundary" | undefined;
4161
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
4162
+ tension?: number | undefined;
4163
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
4164
+ x: number;
4165
+ y: number;
4166
+ } | undefined;
4167
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
4168
+ x: number;
4169
+ y: number;
4170
+ } | undefined;
2829
4171
  }>, z.ZodObject<{
2830
4172
  type: z.ZodLiteral<"code-block">;
2831
4173
  id: z.ZodString;
@@ -3033,8 +4375,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3033
4375
  id: string;
3034
4376
  shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
3035
4377
  fill?: string | undefined;
3036
- stroke?: string | undefined;
3037
4378
  strokeWidth?: number | undefined;
4379
+ stroke?: string | undefined;
3038
4380
  }>, z.ZodObject<{
3039
4381
  type: z.ZodLiteral<"image">;
3040
4382
  id: z.ZodString;
@@ -3043,18 +4385,18 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3043
4385
  fit: z.ZodDefault<z.ZodEnum<["contain", "cover", "fill", "none"]>>;
3044
4386
  borderRadius: z.ZodDefault<z.ZodNumber>;
3045
4387
  }, "strict", z.ZodTypeAny, {
4388
+ fit: "contain" | "cover" | "fill" | "none";
3046
4389
  type: "image";
3047
4390
  id: string;
3048
4391
  src: string;
3049
- fit: "fill" | "none" | "contain" | "cover";
3050
4392
  borderRadius: number;
3051
4393
  alt?: string | undefined;
3052
4394
  }, {
3053
4395
  type: "image";
3054
4396
  id: string;
3055
4397
  src: string;
4398
+ fit?: "contain" | "cover" | "fill" | "none" | undefined;
3056
4399
  alt?: string | undefined;
3057
- fit?: "fill" | "none" | "contain" | "cover" | undefined;
3058
4400
  borderRadius?: number | undefined;
3059
4401
  }>]>, "many">>;
3060
4402
  footer: z.ZodOptional<z.ZodObject<{
@@ -3202,9 +4544,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3202
4544
  radius: z.ZodDefault<z.ZodNumber>;
3203
4545
  opacity: z.ZodDefault<z.ZodNumber>;
3204
4546
  }, "strict", z.ZodTypeAny, {
3205
- type: "rect";
3206
4547
  width: number;
3207
4548
  height: number;
4549
+ type: "rect";
3208
4550
  opacity: number;
3209
4551
  strokeWidth: number;
3210
4552
  x: number;
@@ -3213,15 +4555,15 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3213
4555
  fill?: string | undefined;
3214
4556
  stroke?: string | undefined;
3215
4557
  }, {
3216
- type: "rect";
3217
4558
  width: number;
3218
4559
  height: number;
4560
+ type: "rect";
3219
4561
  x: number;
3220
4562
  y: number;
3221
4563
  fill?: string | undefined;
3222
4564
  opacity?: number | undefined;
3223
- stroke?: string | undefined;
3224
4565
  strokeWidth?: number | undefined;
4566
+ stroke?: string | undefined;
3225
4567
  radius?: number | undefined;
3226
4568
  }>, z.ZodObject<{
3227
4569
  type: z.ZodLiteral<"circle">;
@@ -3248,8 +4590,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3248
4590
  cy: number;
3249
4591
  fill?: string | undefined;
3250
4592
  opacity?: number | undefined;
3251
- stroke?: string | undefined;
3252
4593
  strokeWidth?: number | undefined;
4594
+ stroke?: string | undefined;
3253
4595
  }>, z.ZodObject<{
3254
4596
  type: z.ZodLiteral<"text">;
3255
4597
  x: z.ZodNumber;
@@ -3269,10 +4611,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3269
4611
  color: string;
3270
4612
  opacity: number;
3271
4613
  text: string;
3272
- fontSize: number;
3273
- align: "center" | "left" | "right";
3274
4614
  x: number;
3275
4615
  y: number;
4616
+ fontSize: number;
4617
+ align: "center" | "left" | "right";
3276
4618
  fontWeight: number;
3277
4619
  fontFamily: "body" | "heading" | "mono";
3278
4620
  baseline: "top" | "alphabetic" | "bottom" | "middle";
@@ -3305,9 +4647,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3305
4647
  arrowSize: z.ZodDefault<z.ZodNumber>;
3306
4648
  opacity: z.ZodDefault<z.ZodNumber>;
3307
4649
  }, "strict", z.ZodTypeAny, {
4650
+ width: number;
3308
4651
  type: "line";
3309
4652
  color: string;
3310
- width: number;
3311
4653
  opacity: number;
3312
4654
  arrow: "end" | "start" | "both" | "none";
3313
4655
  arrowSize: number;
@@ -3322,8 +4664,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3322
4664
  y1: number;
3323
4665
  x2: number;
3324
4666
  y2: number;
3325
- color?: string | undefined;
3326
4667
  width?: number | undefined;
4668
+ color?: string | undefined;
3327
4669
  opacity?: number | undefined;
3328
4670
  arrow?: "end" | "start" | "both" | "none" | undefined;
3329
4671
  arrowSize?: number | undefined;
@@ -3347,9 +4689,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3347
4689
  arrowSize: z.ZodDefault<z.ZodNumber>;
3348
4690
  opacity: z.ZodDefault<z.ZodNumber>;
3349
4691
  }, "strict", z.ZodTypeAny, {
4692
+ width: number;
3350
4693
  type: "bezier";
3351
4694
  color: string;
3352
- width: number;
3353
4695
  opacity: number;
3354
4696
  arrow: "end" | "start" | "both" | "none";
3355
4697
  arrowSize: number;
@@ -3364,8 +4706,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3364
4706
  x: number;
3365
4707
  y: number;
3366
4708
  }[];
3367
- color?: string | undefined;
3368
4709
  width?: number | undefined;
4710
+ color?: string | undefined;
3369
4711
  opacity?: number | undefined;
3370
4712
  arrow?: "end" | "start" | "both" | "none" | undefined;
3371
4713
  arrowSize?: number | undefined;
@@ -3389,8 +4731,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3389
4731
  d: string;
3390
4732
  fill?: string | undefined;
3391
4733
  opacity?: number | undefined;
3392
- stroke?: string | undefined;
3393
4734
  strokeWidth?: number | undefined;
4735
+ stroke?: string | undefined;
3394
4736
  }>, z.ZodObject<{
3395
4737
  type: z.ZodLiteral<"badge">;
3396
4738
  x: z.ZodNumber;
@@ -3410,10 +4752,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3410
4752
  opacity: number;
3411
4753
  background: string;
3412
4754
  text: string;
3413
- fontSize: number;
3414
- borderRadius: number;
3415
4755
  x: number;
3416
4756
  y: number;
4757
+ fontSize: number;
4758
+ borderRadius: number;
3417
4759
  fontFamily: "body" | "heading" | "mono";
3418
4760
  paddingX: number;
3419
4761
  paddingY: number;
@@ -3491,9 +4833,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3491
4833
  radius: z.ZodDefault<z.ZodNumber>;
3492
4834
  opacity: z.ZodDefault<z.ZodNumber>;
3493
4835
  }, "strict", z.ZodTypeAny, {
3494
- type: "gradient-rect";
3495
4836
  width: number;
3496
4837
  height: number;
4838
+ type: "gradient-rect";
3497
4839
  opacity: number;
3498
4840
  x: number;
3499
4841
  y: number;
@@ -3513,9 +4855,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3513
4855
  }[];
3514
4856
  };
3515
4857
  }, {
3516
- type: "gradient-rect";
3517
4858
  width: number;
3518
4859
  height: number;
4860
+ type: "gradient-rect";
3519
4861
  x: number;
3520
4862
  y: number;
3521
4863
  gradient: {
@@ -3534,6 +4876,30 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3534
4876
  };
3535
4877
  opacity?: number | undefined;
3536
4878
  radius?: number | undefined;
4879
+ }>, z.ZodObject<{
4880
+ type: z.ZodLiteral<"grid">;
4881
+ spacing: z.ZodDefault<z.ZodNumber>;
4882
+ color: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4883
+ width: z.ZodDefault<z.ZodNumber>;
4884
+ opacity: z.ZodDefault<z.ZodNumber>;
4885
+ offsetX: z.ZodDefault<z.ZodNumber>;
4886
+ offsetY: z.ZodDefault<z.ZodNumber>;
4887
+ }, "strict", z.ZodTypeAny, {
4888
+ width: number;
4889
+ type: "grid";
4890
+ color: string;
4891
+ opacity: number;
4892
+ offsetX: number;
4893
+ offsetY: number;
4894
+ spacing: number;
4895
+ }, {
4896
+ type: "grid";
4897
+ width?: number | undefined;
4898
+ color?: string | undefined;
4899
+ opacity?: number | undefined;
4900
+ offsetX?: number | undefined;
4901
+ offsetY?: number | undefined;
4902
+ spacing?: number | undefined;
3537
4903
  }>]>, "many">>;
3538
4904
  layout: z.ZodOptional<z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3539
4905
  mode: z.ZodLiteral<"auto">;
@@ -3551,6 +4917,17 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3551
4917
  radialCompaction: z.ZodOptional<z.ZodEnum<["none", "radial", "wedge"]>>;
3552
4918
  /** Sort strategy for radial layout node ordering. Only relevant when algorithm is 'radial'. */
3553
4919
  radialSortBy: z.ZodOptional<z.ZodEnum<["id", "connections"]>>;
4920
+ /** Explicit center used by curve/arc connection routing. */
4921
+ diagramCenter: z.ZodOptional<z.ZodObject<{
4922
+ x: z.ZodNumber;
4923
+ y: z.ZodNumber;
4924
+ }, "strict", z.ZodTypeAny, {
4925
+ x: number;
4926
+ y: number;
4927
+ }, {
4928
+ x: number;
4929
+ y: number;
4930
+ }>>;
3554
4931
  }, "strict", z.ZodTypeAny, {
3555
4932
  mode: "auto";
3556
4933
  direction: "TB" | "BT" | "LR" | "RL";
@@ -3558,6 +4935,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3558
4935
  nodeSpacing: number;
3559
4936
  rankSpacing: number;
3560
4937
  edgeRouting: "orthogonal" | "polyline" | "spline";
4938
+ diagramCenter?: {
4939
+ x: number;
4940
+ y: number;
4941
+ } | undefined;
3561
4942
  aspectRatio?: number | undefined;
3562
4943
  radialRoot?: string | undefined;
3563
4944
  radialRadius?: number | undefined;
@@ -3566,6 +4947,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3566
4947
  }, {
3567
4948
  mode: "auto";
3568
4949
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
4950
+ diagramCenter?: {
4951
+ x: number;
4952
+ y: number;
4953
+ } | undefined;
3569
4954
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
3570
4955
  nodeSpacing?: number | undefined;
3571
4956
  rankSpacing?: number | undefined;
@@ -3582,16 +4967,35 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3582
4967
  cardMinHeight: z.ZodOptional<z.ZodNumber>;
3583
4968
  cardMaxHeight: z.ZodOptional<z.ZodNumber>;
3584
4969
  equalHeight: z.ZodDefault<z.ZodBoolean>;
4970
+ /** Explicit center used by curve/arc connection routing. */
4971
+ diagramCenter: z.ZodOptional<z.ZodObject<{
4972
+ x: z.ZodNumber;
4973
+ y: z.ZodNumber;
4974
+ }, "strict", z.ZodTypeAny, {
4975
+ x: number;
4976
+ y: number;
4977
+ }, {
4978
+ x: number;
4979
+ y: number;
4980
+ }>>;
3585
4981
  }, "strict", z.ZodTypeAny, {
3586
4982
  mode: "grid";
3587
4983
  gap: number;
3588
4984
  columns: number;
3589
4985
  equalHeight: boolean;
4986
+ diagramCenter?: {
4987
+ x: number;
4988
+ y: number;
4989
+ } | undefined;
3590
4990
  cardMinHeight?: number | undefined;
3591
4991
  cardMaxHeight?: number | undefined;
3592
4992
  }, {
3593
4993
  mode: "grid";
3594
4994
  gap?: number | undefined;
4995
+ diagramCenter?: {
4996
+ x: number;
4997
+ y: number;
4998
+ } | undefined;
3595
4999
  columns?: number | undefined;
3596
5000
  cardMinHeight?: number | undefined;
3597
5001
  cardMaxHeight?: number | undefined;
@@ -3601,16 +5005,35 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3601
5005
  direction: z.ZodDefault<z.ZodEnum<["vertical", "horizontal"]>>;
3602
5006
  gap: z.ZodDefault<z.ZodNumber>;
3603
5007
  alignment: z.ZodDefault<z.ZodEnum<["start", "center", "end", "stretch"]>>;
5008
+ /** Explicit center used by curve/arc connection routing. */
5009
+ diagramCenter: z.ZodOptional<z.ZodObject<{
5010
+ x: z.ZodNumber;
5011
+ y: z.ZodNumber;
5012
+ }, "strict", z.ZodTypeAny, {
5013
+ x: number;
5014
+ y: number;
5015
+ }, {
5016
+ x: number;
5017
+ y: number;
5018
+ }>>;
3604
5019
  }, "strict", z.ZodTypeAny, {
3605
5020
  mode: "stack";
3606
5021
  direction: "vertical" | "horizontal";
3607
5022
  gap: number;
3608
5023
  alignment: "end" | "start" | "center" | "stretch";
5024
+ diagramCenter?: {
5025
+ x: number;
5026
+ y: number;
5027
+ } | undefined;
3609
5028
  }, {
3610
5029
  mode: "stack";
3611
5030
  direction?: "vertical" | "horizontal" | undefined;
3612
5031
  gap?: number | undefined;
3613
5032
  alignment?: "end" | "start" | "center" | "stretch" | undefined;
5033
+ diagramCenter?: {
5034
+ x: number;
5035
+ y: number;
5036
+ } | undefined;
3614
5037
  }>, z.ZodObject<{
3615
5038
  mode: z.ZodLiteral<"manual">;
3616
5039
  positions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
@@ -3629,6 +5052,17 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3629
5052
  width?: number | undefined;
3630
5053
  height?: number | undefined;
3631
5054
  }>>>;
5055
+ /** Explicit center used by curve/arc connection routing. */
5056
+ diagramCenter: z.ZodOptional<z.ZodObject<{
5057
+ x: z.ZodNumber;
5058
+ y: z.ZodNumber;
5059
+ }, "strict", z.ZodTypeAny, {
5060
+ x: number;
5061
+ y: number;
5062
+ }, {
5063
+ x: number;
5064
+ y: number;
5065
+ }>>;
3632
5066
  }, "strict", z.ZodTypeAny, {
3633
5067
  mode: "manual";
3634
5068
  positions: Record<string, {
@@ -3637,8 +5071,16 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3637
5071
  width?: number | undefined;
3638
5072
  height?: number | undefined;
3639
5073
  }>;
5074
+ diagramCenter?: {
5075
+ x: number;
5076
+ y: number;
5077
+ } | undefined;
3640
5078
  }, {
3641
5079
  mode: "manual";
5080
+ diagramCenter?: {
5081
+ x: number;
5082
+ y: number;
5083
+ } | undefined;
3642
5084
  positions?: Record<string, {
3643
5085
  x: number;
3644
5086
  y: number;
@@ -3664,9 +5106,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3664
5106
  }>>;
3665
5107
  }, "strict", z.ZodTypeAny, {
3666
5108
  draw: ({
3667
- type: "rect";
3668
5109
  width: number;
3669
5110
  height: number;
5111
+ type: "rect";
3670
5112
  opacity: number;
3671
5113
  strokeWidth: number;
3672
5114
  x: number;
@@ -3688,19 +5130,19 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3688
5130
  color: string;
3689
5131
  opacity: number;
3690
5132
  text: string;
3691
- fontSize: number;
3692
- align: "center" | "left" | "right";
3693
5133
  x: number;
3694
5134
  y: number;
5135
+ fontSize: number;
5136
+ align: "center" | "left" | "right";
3695
5137
  fontWeight: number;
3696
5138
  fontFamily: "body" | "heading" | "mono";
3697
5139
  baseline: "top" | "alphabetic" | "bottom" | "middle";
3698
5140
  letterSpacing: number;
3699
5141
  maxWidth?: number | undefined;
3700
5142
  } | {
5143
+ width: number;
3701
5144
  type: "line";
3702
5145
  color: string;
3703
- width: number;
3704
5146
  opacity: number;
3705
5147
  arrow: "end" | "start" | "both" | "none";
3706
5148
  arrowSize: number;
@@ -3710,9 +5152,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3710
5152
  y2: number;
3711
5153
  dash?: number[] | undefined;
3712
5154
  } | {
5155
+ width: number;
3713
5156
  type: "bezier";
3714
5157
  color: string;
3715
- width: number;
3716
5158
  opacity: number;
3717
5159
  arrow: "end" | "start" | "both" | "none";
3718
5160
  arrowSize: number;
@@ -3734,17 +5176,17 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3734
5176
  opacity: number;
3735
5177
  background: string;
3736
5178
  text: string;
3737
- fontSize: number;
3738
- borderRadius: number;
3739
5179
  x: number;
3740
5180
  y: number;
5181
+ fontSize: number;
5182
+ borderRadius: number;
3741
5183
  fontFamily: "body" | "heading" | "mono";
3742
5184
  paddingX: number;
3743
5185
  paddingY: number;
3744
5186
  } | {
3745
- type: "gradient-rect";
3746
5187
  width: number;
3747
5188
  height: number;
5189
+ type: "gradient-rect";
3748
5190
  opacity: number;
3749
5191
  x: number;
3750
5192
  y: number;
@@ -3763,6 +5205,14 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3763
5205
  offset: number;
3764
5206
  }[];
3765
5207
  };
5208
+ } | {
5209
+ width: number;
5210
+ type: "grid";
5211
+ color: string;
5212
+ opacity: number;
5213
+ offsetX: number;
5214
+ offsetY: number;
5215
+ spacing: number;
3766
5216
  })[];
3767
5217
  theme: {
3768
5218
  code: {
@@ -3808,11 +5258,13 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3808
5258
  elements: ({
3809
5259
  type: "flow-node";
3810
5260
  id: string;
3811
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
5261
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
3812
5262
  label: string;
3813
5263
  fillOpacity: number;
3814
5264
  opacity: number;
3815
5265
  badgePosition: "top" | "inside-top";
5266
+ width?: number | undefined;
5267
+ height?: number | undefined;
3816
5268
  sublabel?: string | undefined;
3817
5269
  sublabelColor?: string | undefined;
3818
5270
  sublabel2?: string | undefined;
@@ -3824,11 +5276,16 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3824
5276
  borderColor?: string | undefined;
3825
5277
  borderWidth?: number | undefined;
3826
5278
  cornerRadius?: number | undefined;
3827
- width?: number | undefined;
3828
- height?: number | undefined;
3829
5279
  badgeText?: string | undefined;
3830
5280
  badgeColor?: string | undefined;
3831
5281
  badgeBackground?: string | undefined;
5282
+ shadow?: {
5283
+ opacity: number;
5284
+ blur: number;
5285
+ offsetX: number;
5286
+ offsetY: number;
5287
+ color?: string | undefined;
5288
+ } | undefined;
3832
5289
  } | {
3833
5290
  body: string;
3834
5291
  type: "card";
@@ -3844,12 +5301,25 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3844
5301
  from: string;
3845
5302
  to: string;
3846
5303
  style: "solid" | "dashed" | "dotted";
5304
+ strokeStyle: "solid" | "dashed" | "dotted";
3847
5305
  arrow: "end" | "start" | "both" | "none";
3848
5306
  labelPosition: "end" | "start" | "middle";
5307
+ strokeWidth: number;
5308
+ arrowPlacement: "endpoint" | "boundary";
5309
+ routing: "auto" | "orthogonal" | "curve" | "arc";
5310
+ tension: number;
5311
+ width?: number | undefined;
3849
5312
  label?: string | undefined;
3850
5313
  color?: string | undefined;
3851
- width?: number | undefined;
3852
5314
  arrowSize?: number | undefined;
5315
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
5316
+ x: number;
5317
+ y: number;
5318
+ } | undefined;
5319
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
5320
+ x: number;
5321
+ y: number;
5322
+ } | undefined;
3853
5323
  } | {
3854
5324
  type: "code-block";
3855
5325
  code: string;
@@ -3906,10 +5376,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3906
5376
  fill?: string | undefined;
3907
5377
  stroke?: string | undefined;
3908
5378
  } | {
5379
+ fit: "contain" | "cover" | "fill" | "none";
3909
5380
  type: "image";
3910
5381
  id: string;
3911
5382
  src: string;
3912
- fit: "fill" | "none" | "contain" | "cover";
3913
5383
  borderRadius: number;
3914
5384
  alt?: string | undefined;
3915
5385
  })[];
@@ -3979,6 +5449,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3979
5449
  direction: "vertical" | "horizontal";
3980
5450
  gap: number;
3981
5451
  alignment: "end" | "start" | "center" | "stretch";
5452
+ diagramCenter?: {
5453
+ x: number;
5454
+ y: number;
5455
+ } | undefined;
3982
5456
  } | {
3983
5457
  mode: "auto";
3984
5458
  direction: "TB" | "BT" | "LR" | "RL";
@@ -3986,6 +5460,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3986
5460
  nodeSpacing: number;
3987
5461
  rankSpacing: number;
3988
5462
  edgeRouting: "orthogonal" | "polyline" | "spline";
5463
+ diagramCenter?: {
5464
+ x: number;
5465
+ y: number;
5466
+ } | undefined;
3989
5467
  aspectRatio?: number | undefined;
3990
5468
  radialRoot?: string | undefined;
3991
5469
  radialRadius?: number | undefined;
@@ -3996,6 +5474,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3996
5474
  gap: number;
3997
5475
  columns: number;
3998
5476
  equalHeight: boolean;
5477
+ diagramCenter?: {
5478
+ x: number;
5479
+ y: number;
5480
+ } | undefined;
3999
5481
  cardMinHeight?: number | undefined;
4000
5482
  cardMaxHeight?: number | undefined;
4001
5483
  } | {
@@ -4006,6 +5488,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4006
5488
  width?: number | undefined;
4007
5489
  height?: number | undefined;
4008
5490
  }>;
5491
+ diagramCenter?: {
5492
+ x: number;
5493
+ y: number;
5494
+ } | undefined;
4009
5495
  } | undefined;
4010
5496
  }, {
4011
5497
  background?: string | {
@@ -4035,15 +5521,15 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4035
5521
  tagline?: string | undefined;
4036
5522
  } | undefined;
4037
5523
  draw?: ({
4038
- type: "rect";
4039
5524
  width: number;
4040
5525
  height: number;
5526
+ type: "rect";
4041
5527
  x: number;
4042
5528
  y: number;
4043
5529
  fill?: string | undefined;
4044
5530
  opacity?: number | undefined;
4045
- stroke?: string | undefined;
4046
5531
  strokeWidth?: number | undefined;
5532
+ stroke?: string | undefined;
4047
5533
  radius?: number | undefined;
4048
5534
  } | {
4049
5535
  type: "circle";
@@ -4052,8 +5538,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4052
5538
  cy: number;
4053
5539
  fill?: string | undefined;
4054
5540
  opacity?: number | undefined;
4055
- stroke?: string | undefined;
4056
5541
  strokeWidth?: number | undefined;
5542
+ stroke?: string | undefined;
4057
5543
  } | {
4058
5544
  type: "text";
4059
5545
  text: string;
@@ -4074,8 +5560,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4074
5560
  y1: number;
4075
5561
  x2: number;
4076
5562
  y2: number;
4077
- color?: string | undefined;
4078
5563
  width?: number | undefined;
5564
+ color?: string | undefined;
4079
5565
  opacity?: number | undefined;
4080
5566
  arrow?: "end" | "start" | "both" | "none" | undefined;
4081
5567
  arrowSize?: number | undefined;
@@ -4086,8 +5572,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4086
5572
  x: number;
4087
5573
  y: number;
4088
5574
  }[];
4089
- color?: string | undefined;
4090
5575
  width?: number | undefined;
5576
+ color?: string | undefined;
4091
5577
  opacity?: number | undefined;
4092
5578
  arrow?: "end" | "start" | "both" | "none" | undefined;
4093
5579
  arrowSize?: number | undefined;
@@ -4097,8 +5583,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4097
5583
  d: string;
4098
5584
  fill?: string | undefined;
4099
5585
  opacity?: number | undefined;
4100
- stroke?: string | undefined;
4101
5586
  strokeWidth?: number | undefined;
5587
+ stroke?: string | undefined;
4102
5588
  } | {
4103
5589
  type: "badge";
4104
5590
  text: string;
@@ -4113,9 +5599,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4113
5599
  paddingX?: number | undefined;
4114
5600
  paddingY?: number | undefined;
4115
5601
  } | {
4116
- type: "gradient-rect";
4117
5602
  width: number;
4118
5603
  height: number;
5604
+ type: "gradient-rect";
4119
5605
  x: number;
4120
5606
  y: number;
4121
5607
  gradient: {
@@ -4134,6 +5620,14 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4134
5620
  };
4135
5621
  opacity?: number | undefined;
4136
5622
  radius?: number | undefined;
5623
+ } | {
5624
+ type: "grid";
5625
+ width?: number | undefined;
5626
+ color?: string | undefined;
5627
+ opacity?: number | undefined;
5628
+ offsetX?: number | undefined;
5629
+ offsetY?: number | undefined;
5630
+ spacing?: number | undefined;
4137
5631
  })[] | undefined;
4138
5632
  theme?: {
4139
5633
  code: {
@@ -4179,8 +5673,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4179
5673
  elements?: ({
4180
5674
  type: "flow-node";
4181
5675
  id: string;
4182
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
4183
5676
  label: string;
5677
+ width?: number | undefined;
5678
+ height?: number | undefined;
5679
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
4184
5680
  sublabel?: string | undefined;
4185
5681
  sublabelColor?: string | undefined;
4186
5682
  sublabel2?: string | undefined;
@@ -4192,14 +5688,19 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4192
5688
  borderColor?: string | undefined;
4193
5689
  borderWidth?: number | undefined;
4194
5690
  cornerRadius?: number | undefined;
4195
- width?: number | undefined;
4196
- height?: number | undefined;
4197
5691
  fillOpacity?: number | undefined;
4198
5692
  opacity?: number | undefined;
4199
5693
  badgeText?: string | undefined;
4200
5694
  badgeColor?: string | undefined;
4201
5695
  badgeBackground?: string | undefined;
4202
5696
  badgePosition?: "top" | "inside-top" | undefined;
5697
+ shadow?: {
5698
+ color?: string | undefined;
5699
+ opacity?: number | undefined;
5700
+ blur?: number | undefined;
5701
+ offsetX?: number | undefined;
5702
+ offsetY?: number | undefined;
5703
+ } | undefined;
4203
5704
  } | {
4204
5705
  body: string;
4205
5706
  type: "card";
@@ -4213,14 +5714,27 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4213
5714
  type: "connection";
4214
5715
  from: string;
4215
5716
  to: string;
5717
+ width?: number | undefined;
4216
5718
  label?: string | undefined;
4217
5719
  color?: string | undefined;
4218
- width?: number | undefined;
4219
5720
  opacity?: number | undefined;
4220
5721
  style?: "solid" | "dashed" | "dotted" | undefined;
5722
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
4221
5723
  arrow?: "end" | "start" | "both" | "none" | undefined;
4222
5724
  labelPosition?: "end" | "start" | "middle" | undefined;
5725
+ strokeWidth?: number | undefined;
4223
5726
  arrowSize?: number | undefined;
5727
+ arrowPlacement?: "endpoint" | "boundary" | undefined;
5728
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
5729
+ tension?: number | undefined;
5730
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
5731
+ x: number;
5732
+ y: number;
5733
+ } | undefined;
5734
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
5735
+ x: number;
5736
+ y: number;
5737
+ } | undefined;
4224
5738
  } | {
4225
5739
  type: "code-block";
4226
5740
  code: string;
@@ -4274,14 +5788,14 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4274
5788
  id: string;
4275
5789
  shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
4276
5790
  fill?: string | undefined;
4277
- stroke?: string | undefined;
4278
5791
  strokeWidth?: number | undefined;
5792
+ stroke?: string | undefined;
4279
5793
  } | {
4280
5794
  type: "image";
4281
5795
  id: string;
4282
5796
  src: string;
5797
+ fit?: "contain" | "cover" | "fill" | "none" | undefined;
4283
5798
  alt?: string | undefined;
4284
- fit?: "fill" | "none" | "contain" | "cover" | undefined;
4285
5799
  borderRadius?: number | undefined;
4286
5800
  })[] | undefined;
4287
5801
  decorators?: ({
@@ -4318,9 +5832,17 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4318
5832
  direction?: "vertical" | "horizontal" | undefined;
4319
5833
  gap?: number | undefined;
4320
5834
  alignment?: "end" | "start" | "center" | "stretch" | undefined;
5835
+ diagramCenter?: {
5836
+ x: number;
5837
+ y: number;
5838
+ } | undefined;
4321
5839
  } | {
4322
5840
  mode: "auto";
4323
5841
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
5842
+ diagramCenter?: {
5843
+ x: number;
5844
+ y: number;
5845
+ } | undefined;
4324
5846
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
4325
5847
  nodeSpacing?: number | undefined;
4326
5848
  rankSpacing?: number | undefined;
@@ -4333,12 +5855,20 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4333
5855
  } | {
4334
5856
  mode: "grid";
4335
5857
  gap?: number | undefined;
5858
+ diagramCenter?: {
5859
+ x: number;
5860
+ y: number;
5861
+ } | undefined;
4336
5862
  columns?: number | undefined;
4337
5863
  cardMinHeight?: number | undefined;
4338
5864
  cardMaxHeight?: number | undefined;
4339
5865
  equalHeight?: boolean | undefined;
4340
5866
  } | {
4341
5867
  mode: "manual";
5868
+ diagramCenter?: {
5869
+ x: number;
5870
+ y: number;
5871
+ } | undefined;
4342
5872
  positions?: Record<string, {
4343
5873
  x: number;
4344
5874
  y: number;
@@ -4358,6 +5888,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4358
5888
  direction: "vertical" | "horizontal";
4359
5889
  gap: number;
4360
5890
  alignment: "end" | "start" | "center" | "stretch";
5891
+ diagramCenter?: {
5892
+ x: number;
5893
+ y: number;
5894
+ } | undefined;
4361
5895
  } | {
4362
5896
  mode: "auto";
4363
5897
  direction: "TB" | "BT" | "LR" | "RL";
@@ -4365,6 +5899,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4365
5899
  nodeSpacing: number;
4366
5900
  rankSpacing: number;
4367
5901
  edgeRouting: "orthogonal" | "polyline" | "spline";
5902
+ diagramCenter?: {
5903
+ x: number;
5904
+ y: number;
5905
+ } | undefined;
4368
5906
  aspectRatio?: number | undefined;
4369
5907
  radialRoot?: string | undefined;
4370
5908
  radialRadius?: number | undefined;
@@ -4375,6 +5913,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4375
5913
  gap: number;
4376
5914
  columns: number;
4377
5915
  equalHeight: boolean;
5916
+ diagramCenter?: {
5917
+ x: number;
5918
+ y: number;
5919
+ } | undefined;
4378
5920
  cardMinHeight?: number | undefined;
4379
5921
  cardMaxHeight?: number | undefined;
4380
5922
  } | {
@@ -4385,11 +5927,15 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4385
5927
  width?: number | undefined;
4386
5928
  height?: number | undefined;
4387
5929
  }>;
5930
+ diagramCenter?: {
5931
+ x: number;
5932
+ y: number;
5933
+ } | undefined;
4388
5934
  };
4389
5935
  draw: ({
4390
- type: "rect";
4391
5936
  width: number;
4392
5937
  height: number;
5938
+ type: "rect";
4393
5939
  opacity: number;
4394
5940
  strokeWidth: number;
4395
5941
  x: number;
@@ -4411,19 +5957,19 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4411
5957
  color: string;
4412
5958
  opacity: number;
4413
5959
  text: string;
4414
- fontSize: number;
4415
- align: "center" | "left" | "right";
4416
5960
  x: number;
4417
5961
  y: number;
5962
+ fontSize: number;
5963
+ align: "center" | "left" | "right";
4418
5964
  fontWeight: number;
4419
5965
  fontFamily: "body" | "heading" | "mono";
4420
5966
  baseline: "top" | "alphabetic" | "bottom" | "middle";
4421
5967
  letterSpacing: number;
4422
5968
  maxWidth?: number | undefined;
4423
5969
  } | {
5970
+ width: number;
4424
5971
  type: "line";
4425
5972
  color: string;
4426
- width: number;
4427
5973
  opacity: number;
4428
5974
  arrow: "end" | "start" | "both" | "none";
4429
5975
  arrowSize: number;
@@ -4433,9 +5979,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4433
5979
  y2: number;
4434
5980
  dash?: number[] | undefined;
4435
5981
  } | {
5982
+ width: number;
4436
5983
  type: "bezier";
4437
5984
  color: string;
4438
- width: number;
4439
5985
  opacity: number;
4440
5986
  arrow: "end" | "start" | "both" | "none";
4441
5987
  arrowSize: number;
@@ -4457,17 +6003,17 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4457
6003
  opacity: number;
4458
6004
  background: string;
4459
6005
  text: string;
4460
- fontSize: number;
4461
- borderRadius: number;
4462
6006
  x: number;
4463
6007
  y: number;
6008
+ fontSize: number;
6009
+ borderRadius: number;
4464
6010
  fontFamily: "body" | "heading" | "mono";
4465
6011
  paddingX: number;
4466
6012
  paddingY: number;
4467
6013
  } | {
4468
- type: "gradient-rect";
4469
6014
  width: number;
4470
6015
  height: number;
6016
+ type: "gradient-rect";
4471
6017
  opacity: number;
4472
6018
  x: number;
4473
6019
  y: number;
@@ -4486,6 +6032,14 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4486
6032
  offset: number;
4487
6033
  }[];
4488
6034
  };
6035
+ } | {
6036
+ width: number;
6037
+ type: "grid";
6038
+ color: string;
6039
+ opacity: number;
6040
+ offsetX: number;
6041
+ offsetY: number;
6042
+ spacing: number;
4489
6043
  })[];
4490
6044
  theme: {
4491
6045
  code: {
@@ -4531,11 +6085,13 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4531
6085
  elements: ({
4532
6086
  type: "flow-node";
4533
6087
  id: string;
4534
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
6088
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
4535
6089
  label: string;
4536
6090
  fillOpacity: number;
4537
6091
  opacity: number;
4538
6092
  badgePosition: "top" | "inside-top";
6093
+ width?: number | undefined;
6094
+ height?: number | undefined;
4539
6095
  sublabel?: string | undefined;
4540
6096
  sublabelColor?: string | undefined;
4541
6097
  sublabel2?: string | undefined;
@@ -4547,11 +6103,16 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4547
6103
  borderColor?: string | undefined;
4548
6104
  borderWidth?: number | undefined;
4549
6105
  cornerRadius?: number | undefined;
4550
- width?: number | undefined;
4551
- height?: number | undefined;
4552
6106
  badgeText?: string | undefined;
4553
6107
  badgeColor?: string | undefined;
4554
6108
  badgeBackground?: string | undefined;
6109
+ shadow?: {
6110
+ opacity: number;
6111
+ blur: number;
6112
+ offsetX: number;
6113
+ offsetY: number;
6114
+ color?: string | undefined;
6115
+ } | undefined;
4555
6116
  } | {
4556
6117
  body: string;
4557
6118
  type: "card";
@@ -4567,12 +6128,25 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4567
6128
  from: string;
4568
6129
  to: string;
4569
6130
  style: "solid" | "dashed" | "dotted";
6131
+ strokeStyle: "solid" | "dashed" | "dotted";
4570
6132
  arrow: "end" | "start" | "both" | "none";
4571
6133
  labelPosition: "end" | "start" | "middle";
6134
+ strokeWidth: number;
6135
+ arrowPlacement: "endpoint" | "boundary";
6136
+ routing: "auto" | "orthogonal" | "curve" | "arc";
6137
+ tension: number;
6138
+ width?: number | undefined;
4572
6139
  label?: string | undefined;
4573
6140
  color?: string | undefined;
4574
- width?: number | undefined;
4575
6141
  arrowSize?: number | undefined;
6142
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
6143
+ x: number;
6144
+ y: number;
6145
+ } | undefined;
6146
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
6147
+ x: number;
6148
+ y: number;
6149
+ } | undefined;
4576
6150
  } | {
4577
6151
  type: "code-block";
4578
6152
  code: string;
@@ -4629,10 +6203,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4629
6203
  fill?: string | undefined;
4630
6204
  stroke?: string | undefined;
4631
6205
  } | {
6206
+ fit: "contain" | "cover" | "fill" | "none";
4632
6207
  type: "image";
4633
6208
  id: string;
4634
6209
  src: string;
4635
- fit: "fill" | "none" | "contain" | "cover";
4636
6210
  borderRadius: number;
4637
6211
  alt?: string | undefined;
4638
6212
  })[];
@@ -4725,15 +6299,15 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4725
6299
  tagline?: string | undefined;
4726
6300
  } | undefined;
4727
6301
  draw?: ({
4728
- type: "rect";
4729
6302
  width: number;
4730
6303
  height: number;
6304
+ type: "rect";
4731
6305
  x: number;
4732
6306
  y: number;
4733
6307
  fill?: string | undefined;
4734
6308
  opacity?: number | undefined;
4735
- stroke?: string | undefined;
4736
6309
  strokeWidth?: number | undefined;
6310
+ stroke?: string | undefined;
4737
6311
  radius?: number | undefined;
4738
6312
  } | {
4739
6313
  type: "circle";
@@ -4742,8 +6316,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4742
6316
  cy: number;
4743
6317
  fill?: string | undefined;
4744
6318
  opacity?: number | undefined;
4745
- stroke?: string | undefined;
4746
6319
  strokeWidth?: number | undefined;
6320
+ stroke?: string | undefined;
4747
6321
  } | {
4748
6322
  type: "text";
4749
6323
  text: string;
@@ -4764,8 +6338,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4764
6338
  y1: number;
4765
6339
  x2: number;
4766
6340
  y2: number;
4767
- color?: string | undefined;
4768
6341
  width?: number | undefined;
6342
+ color?: string | undefined;
4769
6343
  opacity?: number | undefined;
4770
6344
  arrow?: "end" | "start" | "both" | "none" | undefined;
4771
6345
  arrowSize?: number | undefined;
@@ -4776,8 +6350,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4776
6350
  x: number;
4777
6351
  y: number;
4778
6352
  }[];
4779
- color?: string | undefined;
4780
6353
  width?: number | undefined;
6354
+ color?: string | undefined;
4781
6355
  opacity?: number | undefined;
4782
6356
  arrow?: "end" | "start" | "both" | "none" | undefined;
4783
6357
  arrowSize?: number | undefined;
@@ -4787,8 +6361,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4787
6361
  d: string;
4788
6362
  fill?: string | undefined;
4789
6363
  opacity?: number | undefined;
4790
- stroke?: string | undefined;
4791
6364
  strokeWidth?: number | undefined;
6365
+ stroke?: string | undefined;
4792
6366
  } | {
4793
6367
  type: "badge";
4794
6368
  text: string;
@@ -4803,9 +6377,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4803
6377
  paddingX?: number | undefined;
4804
6378
  paddingY?: number | undefined;
4805
6379
  } | {
4806
- type: "gradient-rect";
4807
6380
  width: number;
4808
6381
  height: number;
6382
+ type: "gradient-rect";
4809
6383
  x: number;
4810
6384
  y: number;
4811
6385
  gradient: {
@@ -4824,6 +6398,14 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4824
6398
  };
4825
6399
  opacity?: number | undefined;
4826
6400
  radius?: number | undefined;
6401
+ } | {
6402
+ type: "grid";
6403
+ width?: number | undefined;
6404
+ color?: string | undefined;
6405
+ opacity?: number | undefined;
6406
+ offsetX?: number | undefined;
6407
+ offsetY?: number | undefined;
6408
+ spacing?: number | undefined;
4827
6409
  })[] | undefined;
4828
6410
  theme?: {
4829
6411
  code: {
@@ -4869,8 +6451,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4869
6451
  elements?: ({
4870
6452
  type: "flow-node";
4871
6453
  id: string;
4872
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
4873
6454
  label: string;
6455
+ width?: number | undefined;
6456
+ height?: number | undefined;
6457
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
4874
6458
  sublabel?: string | undefined;
4875
6459
  sublabelColor?: string | undefined;
4876
6460
  sublabel2?: string | undefined;
@@ -4882,14 +6466,19 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4882
6466
  borderColor?: string | undefined;
4883
6467
  borderWidth?: number | undefined;
4884
6468
  cornerRadius?: number | undefined;
4885
- width?: number | undefined;
4886
- height?: number | undefined;
4887
6469
  fillOpacity?: number | undefined;
4888
6470
  opacity?: number | undefined;
4889
6471
  badgeText?: string | undefined;
4890
6472
  badgeColor?: string | undefined;
4891
6473
  badgeBackground?: string | undefined;
4892
6474
  badgePosition?: "top" | "inside-top" | undefined;
6475
+ shadow?: {
6476
+ color?: string | undefined;
6477
+ opacity?: number | undefined;
6478
+ blur?: number | undefined;
6479
+ offsetX?: number | undefined;
6480
+ offsetY?: number | undefined;
6481
+ } | undefined;
4893
6482
  } | {
4894
6483
  body: string;
4895
6484
  type: "card";
@@ -4903,14 +6492,27 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4903
6492
  type: "connection";
4904
6493
  from: string;
4905
6494
  to: string;
6495
+ width?: number | undefined;
4906
6496
  label?: string | undefined;
4907
6497
  color?: string | undefined;
4908
- width?: number | undefined;
4909
6498
  opacity?: number | undefined;
4910
6499
  style?: "solid" | "dashed" | "dotted" | undefined;
6500
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
4911
6501
  arrow?: "end" | "start" | "both" | "none" | undefined;
4912
6502
  labelPosition?: "end" | "start" | "middle" | undefined;
6503
+ strokeWidth?: number | undefined;
4913
6504
  arrowSize?: number | undefined;
6505
+ arrowPlacement?: "endpoint" | "boundary" | undefined;
6506
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
6507
+ tension?: number | undefined;
6508
+ fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
6509
+ x: number;
6510
+ y: number;
6511
+ } | undefined;
6512
+ toAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
6513
+ x: number;
6514
+ y: number;
6515
+ } | undefined;
4914
6516
  } | {
4915
6517
  type: "code-block";
4916
6518
  code: string;
@@ -4964,14 +6566,14 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4964
6566
  id: string;
4965
6567
  shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
4966
6568
  fill?: string | undefined;
4967
- stroke?: string | undefined;
4968
6569
  strokeWidth?: number | undefined;
6570
+ stroke?: string | undefined;
4969
6571
  } | {
4970
6572
  type: "image";
4971
6573
  id: string;
4972
6574
  src: string;
6575
+ fit?: "contain" | "cover" | "fill" | "none" | undefined;
4973
6576
  alt?: string | undefined;
4974
- fit?: "fill" | "none" | "contain" | "cover" | undefined;
4975
6577
  borderRadius?: number | undefined;
4976
6578
  })[] | undefined;
4977
6579
  decorators?: ({
@@ -5008,9 +6610,17 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
5008
6610
  direction?: "vertical" | "horizontal" | undefined;
5009
6611
  gap?: number | undefined;
5010
6612
  alignment?: "end" | "start" | "center" | "stretch" | undefined;
6613
+ diagramCenter?: {
6614
+ x: number;
6615
+ y: number;
6616
+ } | undefined;
5011
6617
  } | {
5012
6618
  mode: "auto";
5013
6619
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
6620
+ diagramCenter?: {
6621
+ x: number;
6622
+ y: number;
6623
+ } | undefined;
5014
6624
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
5015
6625
  nodeSpacing?: number | undefined;
5016
6626
  rankSpacing?: number | undefined;
@@ -5023,12 +6633,20 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
5023
6633
  } | {
5024
6634
  mode: "grid";
5025
6635
  gap?: number | undefined;
6636
+ diagramCenter?: {
6637
+ x: number;
6638
+ y: number;
6639
+ } | undefined;
5026
6640
  columns?: number | undefined;
5027
6641
  cardMinHeight?: number | undefined;
5028
6642
  cardMaxHeight?: number | undefined;
5029
6643
  equalHeight?: boolean | undefined;
5030
6644
  } | {
5031
6645
  mode: "manual";
6646
+ diagramCenter?: {
6647
+ x: number;
6648
+ y: number;
6649
+ } | undefined;
5032
6650
  positions?: Record<string, {
5033
6651
  x: number;
5034
6652
  y: number;
@@ -5047,7 +6665,12 @@ type DesignSpec = z.infer<typeof designSpecSchema>;
5047
6665
  type Element = z.infer<typeof elementSchema>;
5048
6666
  type CardElement = z.infer<typeof cardElementSchema>;
5049
6667
  type FlowNodeElement = z.infer<typeof flowNodeElementSchema>;
6668
+ type FlowNodeShadow = z.infer<typeof flowNodeShadowSchema>;
5050
6669
  type ConnectionElement = z.infer<typeof connectionElementSchema>;
6670
+ type AnchorHint = z.infer<typeof anchorHintSchema>;
6671
+ type DiagramElement = z.infer<typeof diagramElementSchema>;
6672
+ type DiagramLayout = z.infer<typeof diagramLayoutSchema>;
6673
+ type DiagramSpec = z.infer<typeof diagramSpecSchema>;
5051
6674
  type CodeBlockStyle = z.infer<typeof codeBlockStyleSchema>;
5052
6675
  type CodeBlockElement = z.infer<typeof codeBlockElementSchema>;
5053
6676
  type TerminalElement = z.infer<typeof terminalElementSchema>;
@@ -5064,6 +6687,7 @@ type DrawBezier = z.infer<typeof drawBezierSchema>;
5064
6687
  type DrawPath = z.infer<typeof drawPathSchema>;
5065
6688
  type DrawBadge = z.infer<typeof drawBadgeSchema>;
5066
6689
  type DrawGradientRect = z.infer<typeof drawGradientRectSchema>;
6690
+ type DrawGrid = z.infer<typeof drawGridSchema>;
5067
6691
  type DrawCommand = z.infer<typeof drawCommandSchema>;
5068
6692
  type LayoutConfig = z.infer<typeof layoutConfigSchema>;
5069
6693
  type AutoLayoutConfig = z.infer<typeof autoLayoutConfigSchema>;
@@ -5072,6 +6696,8 @@ type StackLayoutConfig = z.infer<typeof stackLayoutConfigSchema>;
5072
6696
  type ManualLayoutConfig = z.infer<typeof manualLayoutConfigSchema>;
5073
6697
  type ConstraintSpec = z.infer<typeof constraintsSchema>;
5074
6698
  type Theme = z.infer<typeof themeSchema>;
6699
+ type DesignTheme = Theme;
6700
+ type DesignCardSpec = CardElement;
5075
6701
  type BuiltInTheme = z.infer<typeof builtInThemeSchema>;
5076
6702
  type ThemeInput = z.infer<typeof themeInputSchema>;
5077
6703
  type GradientStop = z.infer<typeof gradientStopSchema>;
@@ -5116,6 +6742,7 @@ declare function deriveSafeFrame(spec: DesignSpec): DesignSafeFrame;
5116
6742
  * @returns A validated and transformed {@link DesignSpec}.
5117
6743
  * @throws {import('zod').ZodError} When the input fails schema validation.
5118
6744
  */
6745
+ declare function parseDiagramSpec(input: unknown): DiagramSpec;
5119
6746
  declare function parseDesignSpec(input: unknown): DesignSpec;
5120
6747
 
5121
- export { defaultGridLayout as $, type AutoLayoutConfig as A, type BuiltInTheme as B, type CardElement as C, type DesignSpec as D, type Element as E, type FlowNodeElement as F, type Gradient as G, type RainbowRuleDecorator as H, type ImageElement as I, type RenderResult as J, type StackLayoutConfig as K, type LayoutConfig as L, type ManualLayoutConfig as M, type TerminalElement as N, type TextElement as O, type ThemeInput as P, builtInThemeBackgrounds as Q, type RenderMetadata as R, type ShapeElement as S, type ThemeInput$1 as T, builtInThemes as U, type VignetteDecorator as V, type WrittenArtifacts as W, computeSpecHash as X, defaultAutoLayout as Y, defaultCanvas as Z, defaultConstraints as _, type Rect as a, defaultLayout as a0, defaultStackLayout as a1, defaultTheme as a2, deriveSafeFrame as a3, designSpecSchema as a4, drawGradientRect as a5, drawRainbowRule as a6, drawVignette as a7, inferLayout as a8, inferSidecarPath as a9, parseDesignSpec as aa, renderDesign as ab, resolveTheme as ac, writeRenderArtifacts as ad, type CodeBlockStyle as ae, type GradientStop as af, type LinearGradient as ag, type RadialGradient as ah, type DrawCommand as b, type Theme as c, type RenderedElement as d, type CodeBlockElement as e, type ConnectionElement as f, type ConstraintSpec as g, DEFAULT_GENERATOR_VERSION as h, DEFAULT_RAINBOW_COLORS as i, type Decorator as j, type DesignSafeFrame as k, type DrawBadge as l, type DrawBezier as m, type DrawCircle as n, type DrawFontFamily as o, type DrawGradientRect as p, type DrawLine as q, type DrawPath as r, type DrawPoint as s, type DrawRect as t, type DrawText as u, type GradientOverlayDecorator as v, type GradientSpec as w, type GradientStop$1 as x, type GridLayoutConfig as y, type LayoutSnapshot as z };
6748
+ export { builtInThemeBackgrounds as $, type AnchorHint as A, type BuiltInTheme as B, type ConnectionElement as C, type DesignSpec as D, type DrawText as E, type Element as F, type FlowNodeElement as G, type Gradient as H, type GradientOverlayDecorator as I, type GradientSpec as J, type GradientStop$1 as K, type GridLayoutConfig as L, type ImageElement as M, type LayoutConfig as N, type LayoutSnapshot as O, type ManualLayoutConfig as P, type RainbowRuleDecorator as Q, type RenderMetadata as R, type RenderResult as S, type ThemeInput$1 as T, type ShapeElement as U, type StackLayoutConfig as V, type TerminalElement as W, type TextElement as X, type ThemeInput as Y, type VignetteDecorator as Z, type WrittenArtifacts as _, type Rect as a, builtInThemes as a0, computeSpecHash as a1, connectionElementSchema as a2, defaultAutoLayout as a3, defaultCanvas as a4, defaultConstraints as a5, defaultGridLayout as a6, defaultLayout as a7, defaultStackLayout as a8, defaultTheme as a9, deriveSafeFrame as aa, designSpecSchema as ab, diagramElementSchema as ac, diagramLayoutSchema as ad, diagramSpecSchema as ae, drawGradientRect as af, drawRainbowRule as ag, drawVignette as ah, flowNodeElementSchema as ai, inferLayout as aj, inferSidecarPath as ak, parseDesignSpec as al, parseDiagramSpec as am, renderDesign as an, resolveTheme as ao, writeRenderArtifacts as ap, type CodeBlockStyle as aq, type DrawGrid as ar, type FlowNodeShadow as as, type GradientStop as at, type LinearGradient as au, type RadialGradient as av, type DrawCommand as b, type Theme as c, type RenderedElement as d, type AutoLayoutConfig as e, type CardElement as f, type CodeBlockElement as g, type ConstraintSpec as h, DEFAULT_GENERATOR_VERSION as i, DEFAULT_RAINBOW_COLORS as j, type Decorator as k, type DesignCardSpec as l, type DesignSafeFrame as m, type DesignTheme as n, type DiagramElement as o, type DiagramLayout as p, type DiagramSpec as q, type DrawBadge as r, type DrawBezier as s, type DrawCircle as t, type DrawFontFamily as u, type DrawGradientRect as v, type DrawLine as w, type DrawPath as x, type DrawPoint as y, type DrawRect as z };