@spectratools/graphic-designer-cli 0.4.0 → 0.6.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">;
@@ -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">;
@@ -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: {
@@ -804,9 +804,9 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
804
804
  radius: z.ZodDefault<z.ZodNumber>;
805
805
  opacity: z.ZodDefault<z.ZodNumber>;
806
806
  }, "strict", z.ZodTypeAny, {
807
- type: "rect";
808
807
  width: number;
809
808
  height: number;
809
+ type: "rect";
810
810
  opacity: number;
811
811
  strokeWidth: number;
812
812
  x: number;
@@ -815,15 +815,15 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
815
815
  fill?: string | undefined;
816
816
  stroke?: string | undefined;
817
817
  }, {
818
- type: "rect";
819
818
  width: number;
820
819
  height: number;
820
+ type: "rect";
821
821
  x: number;
822
822
  y: number;
823
823
  fill?: string | undefined;
824
824
  opacity?: number | undefined;
825
- stroke?: string | undefined;
826
825
  strokeWidth?: number | undefined;
826
+ stroke?: string | undefined;
827
827
  radius?: number | undefined;
828
828
  }>, z.ZodObject<{
829
829
  type: z.ZodLiteral<"circle">;
@@ -850,8 +850,8 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
850
850
  cy: number;
851
851
  fill?: string | undefined;
852
852
  opacity?: number | undefined;
853
- stroke?: string | undefined;
854
853
  strokeWidth?: number | undefined;
854
+ stroke?: string | undefined;
855
855
  }>, z.ZodObject<{
856
856
  type: z.ZodLiteral<"text">;
857
857
  x: z.ZodNumber;
@@ -907,9 +907,9 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
907
907
  arrowSize: z.ZodDefault<z.ZodNumber>;
908
908
  opacity: z.ZodDefault<z.ZodNumber>;
909
909
  }, "strict", z.ZodTypeAny, {
910
+ width: number;
910
911
  type: "line";
911
912
  color: string;
912
- width: number;
913
913
  opacity: number;
914
914
  arrow: "end" | "start" | "both" | "none";
915
915
  arrowSize: number;
@@ -924,8 +924,8 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
924
924
  y1: number;
925
925
  x2: number;
926
926
  y2: number;
927
- color?: string | undefined;
928
927
  width?: number | undefined;
928
+ color?: string | undefined;
929
929
  opacity?: number | undefined;
930
930
  arrow?: "end" | "start" | "both" | "none" | undefined;
931
931
  arrowSize?: number | undefined;
@@ -949,9 +949,9 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
949
949
  arrowSize: z.ZodDefault<z.ZodNumber>;
950
950
  opacity: z.ZodDefault<z.ZodNumber>;
951
951
  }, "strict", z.ZodTypeAny, {
952
+ width: number;
952
953
  type: "bezier";
953
954
  color: string;
954
- width: number;
955
955
  opacity: number;
956
956
  arrow: "end" | "start" | "both" | "none";
957
957
  arrowSize: number;
@@ -966,8 +966,8 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
966
966
  x: number;
967
967
  y: number;
968
968
  }[];
969
- color?: string | undefined;
970
969
  width?: number | undefined;
970
+ color?: string | undefined;
971
971
  opacity?: number | undefined;
972
972
  arrow?: "end" | "start" | "both" | "none" | undefined;
973
973
  arrowSize?: number | undefined;
@@ -991,8 +991,8 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
991
991
  d: string;
992
992
  fill?: string | undefined;
993
993
  opacity?: number | undefined;
994
- stroke?: string | undefined;
995
994
  strokeWidth?: number | undefined;
995
+ stroke?: string | undefined;
996
996
  }>, z.ZodObject<{
997
997
  type: z.ZodLiteral<"badge">;
998
998
  x: z.ZodNumber;
@@ -1093,9 +1093,9 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1093
1093
  radius: z.ZodDefault<z.ZodNumber>;
1094
1094
  opacity: z.ZodDefault<z.ZodNumber>;
1095
1095
  }, "strict", z.ZodTypeAny, {
1096
- type: "gradient-rect";
1097
1096
  width: number;
1098
1097
  height: number;
1098
+ type: "gradient-rect";
1099
1099
  opacity: number;
1100
1100
  x: number;
1101
1101
  y: number;
@@ -1115,9 +1115,9 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1115
1115
  }[];
1116
1116
  };
1117
1117
  }, {
1118
- type: "gradient-rect";
1119
1118
  width: number;
1120
1119
  height: number;
1120
+ type: "gradient-rect";
1121
1121
  x: number;
1122
1122
  y: number;
1123
1123
  gradient: {
@@ -1226,10 +1226,29 @@ declare const cardElementSchema: z.ZodObject<{
1226
1226
  tone?: "accent" | "success" | "warning" | "error" | "neutral" | undefined;
1227
1227
  icon?: string | undefined;
1228
1228
  }>;
1229
+ declare const flowNodeShadowSchema: z.ZodObject<{
1230
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1231
+ blur: z.ZodDefault<z.ZodNumber>;
1232
+ offsetX: z.ZodDefault<z.ZodNumber>;
1233
+ offsetY: z.ZodDefault<z.ZodNumber>;
1234
+ opacity: z.ZodDefault<z.ZodNumber>;
1235
+ }, "strict", z.ZodTypeAny, {
1236
+ opacity: number;
1237
+ blur: number;
1238
+ offsetX: number;
1239
+ offsetY: number;
1240
+ color?: string | undefined;
1241
+ }, {
1242
+ color?: string | undefined;
1243
+ opacity?: number | undefined;
1244
+ blur?: number | undefined;
1245
+ offsetX?: number | undefined;
1246
+ offsetY?: number | undefined;
1247
+ }>;
1229
1248
  declare const flowNodeElementSchema: z.ZodObject<{
1230
1249
  type: z.ZodLiteral<"flow-node">;
1231
1250
  id: z.ZodString;
1232
- shape: z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram"]>;
1251
+ shape: z.ZodDefault<z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram", "hexagon"]>>;
1233
1252
  label: z.ZodString;
1234
1253
  sublabel: z.ZodOptional<z.ZodString>;
1235
1254
  sublabelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
@@ -1250,14 +1269,35 @@ declare const flowNodeElementSchema: z.ZodObject<{
1250
1269
  badgeColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1251
1270
  badgeBackground: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1252
1271
  badgePosition: z.ZodDefault<z.ZodEnum<["top", "inside-top"]>>;
1272
+ shadow: z.ZodOptional<z.ZodObject<{
1273
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1274
+ blur: z.ZodDefault<z.ZodNumber>;
1275
+ offsetX: z.ZodDefault<z.ZodNumber>;
1276
+ offsetY: z.ZodDefault<z.ZodNumber>;
1277
+ opacity: z.ZodDefault<z.ZodNumber>;
1278
+ }, "strict", z.ZodTypeAny, {
1279
+ opacity: number;
1280
+ blur: number;
1281
+ offsetX: number;
1282
+ offsetY: number;
1283
+ color?: string | undefined;
1284
+ }, {
1285
+ color?: string | undefined;
1286
+ opacity?: number | undefined;
1287
+ blur?: number | undefined;
1288
+ offsetX?: number | undefined;
1289
+ offsetY?: number | undefined;
1290
+ }>>;
1253
1291
  }, "strict", z.ZodTypeAny, {
1254
1292
  type: "flow-node";
1255
1293
  id: string;
1256
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1294
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
1257
1295
  label: string;
1258
1296
  fillOpacity: number;
1259
1297
  opacity: number;
1260
1298
  badgePosition: "top" | "inside-top";
1299
+ width?: number | undefined;
1300
+ height?: number | undefined;
1261
1301
  sublabel?: string | undefined;
1262
1302
  sublabelColor?: string | undefined;
1263
1303
  sublabel2?: string | undefined;
@@ -1269,16 +1309,23 @@ declare const flowNodeElementSchema: z.ZodObject<{
1269
1309
  borderColor?: string | undefined;
1270
1310
  borderWidth?: number | undefined;
1271
1311
  cornerRadius?: number | undefined;
1272
- width?: number | undefined;
1273
- height?: number | undefined;
1274
1312
  badgeText?: string | undefined;
1275
1313
  badgeColor?: string | undefined;
1276
1314
  badgeBackground?: string | undefined;
1315
+ shadow?: {
1316
+ opacity: number;
1317
+ blur: number;
1318
+ offsetX: number;
1319
+ offsetY: number;
1320
+ color?: string | undefined;
1321
+ } | undefined;
1277
1322
  }, {
1278
1323
  type: "flow-node";
1279
1324
  id: string;
1280
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1281
1325
  label: string;
1326
+ width?: number | undefined;
1327
+ height?: number | undefined;
1328
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
1282
1329
  sublabel?: string | undefined;
1283
1330
  sublabelColor?: string | undefined;
1284
1331
  sublabel2?: string | undefined;
@@ -1290,51 +1337,68 @@ declare const flowNodeElementSchema: z.ZodObject<{
1290
1337
  borderColor?: string | undefined;
1291
1338
  borderWidth?: number | undefined;
1292
1339
  cornerRadius?: number | undefined;
1293
- width?: number | undefined;
1294
- height?: number | undefined;
1295
1340
  fillOpacity?: number | undefined;
1296
1341
  opacity?: number | undefined;
1297
1342
  badgeText?: string | undefined;
1298
1343
  badgeColor?: string | undefined;
1299
1344
  badgeBackground?: string | undefined;
1300
1345
  badgePosition?: "top" | "inside-top" | undefined;
1346
+ shadow?: {
1347
+ color?: string | undefined;
1348
+ opacity?: number | undefined;
1349
+ blur?: number | undefined;
1350
+ offsetX?: number | undefined;
1351
+ offsetY?: number | undefined;
1352
+ } | undefined;
1301
1353
  }>;
1302
1354
  declare const connectionElementSchema: z.ZodObject<{
1303
1355
  type: z.ZodLiteral<"connection">;
1304
1356
  from: z.ZodString;
1305
1357
  to: z.ZodString;
1306
1358
  style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
1359
+ strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
1307
1360
  arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
1308
1361
  label: z.ZodOptional<z.ZodString>;
1309
1362
  labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
1310
1363
  color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1311
1364
  width: z.ZodOptional<z.ZodNumber>;
1365
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
1312
1366
  arrowSize: z.ZodOptional<z.ZodNumber>;
1313
1367
  opacity: z.ZodDefault<z.ZodNumber>;
1368
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
1369
+ tension: z.ZodDefault<z.ZodNumber>;
1314
1370
  }, "strict", z.ZodTypeAny, {
1315
1371
  type: "connection";
1316
1372
  opacity: number;
1317
1373
  from: string;
1318
1374
  to: string;
1319
1375
  style: "solid" | "dashed" | "dotted";
1376
+ strokeStyle: "solid" | "dashed" | "dotted";
1320
1377
  arrow: "end" | "start" | "both" | "none";
1321
1378
  labelPosition: "end" | "start" | "middle";
1379
+ strokeWidth: number;
1380
+ routing: "auto" | "orthogonal" | "curve" | "arc";
1381
+ tension: number;
1382
+ width?: number | undefined;
1322
1383
  label?: string | undefined;
1323
1384
  color?: string | undefined;
1324
- width?: number | undefined;
1325
1385
  arrowSize?: number | undefined;
1326
1386
  }, {
1327
1387
  type: "connection";
1328
1388
  from: string;
1329
1389
  to: string;
1390
+ width?: number | undefined;
1330
1391
  label?: string | undefined;
1331
1392
  color?: string | undefined;
1332
- width?: number | undefined;
1333
1393
  opacity?: number | undefined;
1334
1394
  style?: "solid" | "dashed" | "dotted" | undefined;
1395
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
1335
1396
  arrow?: "end" | "start" | "both" | "none" | undefined;
1336
1397
  labelPosition?: "end" | "start" | "middle" | undefined;
1398
+ strokeWidth?: number | undefined;
1337
1399
  arrowSize?: number | undefined;
1400
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
1401
+ tension?: number | undefined;
1338
1402
  }>;
1339
1403
  declare const codeBlockStyleSchema: z.ZodObject<{
1340
1404
  paddingVertical: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
@@ -1580,8 +1644,8 @@ declare const shapeElementSchema: z.ZodObject<{
1580
1644
  id: string;
1581
1645
  shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
1582
1646
  fill?: string | undefined;
1583
- stroke?: string | undefined;
1584
1647
  strokeWidth?: number | undefined;
1648
+ stroke?: string | undefined;
1585
1649
  }>;
1586
1650
  declare const imageElementSchema: z.ZodObject<{
1587
1651
  type: z.ZodLiteral<"image">;
@@ -1591,18 +1655,18 @@ declare const imageElementSchema: z.ZodObject<{
1591
1655
  fit: z.ZodDefault<z.ZodEnum<["contain", "cover", "fill", "none"]>>;
1592
1656
  borderRadius: z.ZodDefault<z.ZodNumber>;
1593
1657
  }, "strict", z.ZodTypeAny, {
1658
+ fit: "contain" | "cover" | "fill" | "none";
1594
1659
  type: "image";
1595
1660
  id: string;
1596
1661
  src: string;
1597
- fit: "fill" | "none" | "contain" | "cover";
1598
1662
  borderRadius: number;
1599
1663
  alt?: string | undefined;
1600
1664
  }, {
1601
1665
  type: "image";
1602
1666
  id: string;
1603
1667
  src: string;
1668
+ fit?: "contain" | "cover" | "fill" | "none" | undefined;
1604
1669
  alt?: string | undefined;
1605
- fit?: "fill" | "none" | "contain" | "cover" | undefined;
1606
1670
  borderRadius?: number | undefined;
1607
1671
  }>;
1608
1672
  declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
@@ -1635,7 +1699,7 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1635
1699
  }>, z.ZodObject<{
1636
1700
  type: z.ZodLiteral<"flow-node">;
1637
1701
  id: z.ZodString;
1638
- shape: z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram"]>;
1702
+ shape: z.ZodDefault<z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram", "hexagon"]>>;
1639
1703
  label: z.ZodString;
1640
1704
  sublabel: z.ZodOptional<z.ZodString>;
1641
1705
  sublabelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
@@ -1656,14 +1720,35 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1656
1720
  badgeColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1657
1721
  badgeBackground: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1658
1722
  badgePosition: z.ZodDefault<z.ZodEnum<["top", "inside-top"]>>;
1723
+ shadow: z.ZodOptional<z.ZodObject<{
1724
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1725
+ blur: z.ZodDefault<z.ZodNumber>;
1726
+ offsetX: z.ZodDefault<z.ZodNumber>;
1727
+ offsetY: z.ZodDefault<z.ZodNumber>;
1728
+ opacity: z.ZodDefault<z.ZodNumber>;
1729
+ }, "strict", z.ZodTypeAny, {
1730
+ opacity: number;
1731
+ blur: number;
1732
+ offsetX: number;
1733
+ offsetY: number;
1734
+ color?: string | undefined;
1735
+ }, {
1736
+ color?: string | undefined;
1737
+ opacity?: number | undefined;
1738
+ blur?: number | undefined;
1739
+ offsetX?: number | undefined;
1740
+ offsetY?: number | undefined;
1741
+ }>>;
1659
1742
  }, "strict", z.ZodTypeAny, {
1660
1743
  type: "flow-node";
1661
1744
  id: string;
1662
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1745
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
1663
1746
  label: string;
1664
1747
  fillOpacity: number;
1665
1748
  opacity: number;
1666
1749
  badgePosition: "top" | "inside-top";
1750
+ width?: number | undefined;
1751
+ height?: number | undefined;
1667
1752
  sublabel?: string | undefined;
1668
1753
  sublabelColor?: string | undefined;
1669
1754
  sublabel2?: string | undefined;
@@ -1675,16 +1760,23 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1675
1760
  borderColor?: string | undefined;
1676
1761
  borderWidth?: number | undefined;
1677
1762
  cornerRadius?: number | undefined;
1678
- width?: number | undefined;
1679
- height?: number | undefined;
1680
1763
  badgeText?: string | undefined;
1681
1764
  badgeColor?: string | undefined;
1682
1765
  badgeBackground?: string | undefined;
1766
+ shadow?: {
1767
+ opacity: number;
1768
+ blur: number;
1769
+ offsetX: number;
1770
+ offsetY: number;
1771
+ color?: string | undefined;
1772
+ } | undefined;
1683
1773
  }, {
1684
1774
  type: "flow-node";
1685
1775
  id: string;
1686
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
1687
1776
  label: string;
1777
+ width?: number | undefined;
1778
+ height?: number | undefined;
1779
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
1688
1780
  sublabel?: string | undefined;
1689
1781
  sublabelColor?: string | undefined;
1690
1782
  sublabel2?: string | undefined;
@@ -1696,50 +1788,67 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1696
1788
  borderColor?: string | undefined;
1697
1789
  borderWidth?: number | undefined;
1698
1790
  cornerRadius?: number | undefined;
1699
- width?: number | undefined;
1700
- height?: number | undefined;
1701
1791
  fillOpacity?: number | undefined;
1702
1792
  opacity?: number | undefined;
1703
1793
  badgeText?: string | undefined;
1704
1794
  badgeColor?: string | undefined;
1705
1795
  badgeBackground?: string | undefined;
1706
1796
  badgePosition?: "top" | "inside-top" | undefined;
1797
+ shadow?: {
1798
+ color?: string | undefined;
1799
+ opacity?: number | undefined;
1800
+ blur?: number | undefined;
1801
+ offsetX?: number | undefined;
1802
+ offsetY?: number | undefined;
1803
+ } | undefined;
1707
1804
  }>, z.ZodObject<{
1708
1805
  type: z.ZodLiteral<"connection">;
1709
1806
  from: z.ZodString;
1710
1807
  to: z.ZodString;
1711
1808
  style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
1809
+ strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
1712
1810
  arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
1713
1811
  label: z.ZodOptional<z.ZodString>;
1714
1812
  labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
1715
1813
  color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1716
1814
  width: z.ZodOptional<z.ZodNumber>;
1815
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
1717
1816
  arrowSize: z.ZodOptional<z.ZodNumber>;
1718
1817
  opacity: z.ZodDefault<z.ZodNumber>;
1818
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
1819
+ tension: z.ZodDefault<z.ZodNumber>;
1719
1820
  }, "strict", z.ZodTypeAny, {
1720
1821
  type: "connection";
1721
1822
  opacity: number;
1722
1823
  from: string;
1723
1824
  to: string;
1724
1825
  style: "solid" | "dashed" | "dotted";
1826
+ strokeStyle: "solid" | "dashed" | "dotted";
1725
1827
  arrow: "end" | "start" | "both" | "none";
1726
1828
  labelPosition: "end" | "start" | "middle";
1829
+ strokeWidth: number;
1830
+ routing: "auto" | "orthogonal" | "curve" | "arc";
1831
+ tension: number;
1832
+ width?: number | undefined;
1727
1833
  label?: string | undefined;
1728
1834
  color?: string | undefined;
1729
- width?: number | undefined;
1730
1835
  arrowSize?: number | undefined;
1731
1836
  }, {
1732
1837
  type: "connection";
1733
1838
  from: string;
1734
1839
  to: string;
1840
+ width?: number | undefined;
1735
1841
  label?: string | undefined;
1736
1842
  color?: string | undefined;
1737
- width?: number | undefined;
1738
1843
  opacity?: number | undefined;
1739
1844
  style?: "solid" | "dashed" | "dotted" | undefined;
1845
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
1740
1846
  arrow?: "end" | "start" | "both" | "none" | undefined;
1741
1847
  labelPosition?: "end" | "start" | "middle" | undefined;
1848
+ strokeWidth?: number | undefined;
1742
1849
  arrowSize?: number | undefined;
1850
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
1851
+ tension?: number | undefined;
1743
1852
  }>, z.ZodObject<{
1744
1853
  type: z.ZodLiteral<"code-block">;
1745
1854
  id: z.ZodString;
@@ -1947,8 +2056,8 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1947
2056
  id: string;
1948
2057
  shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
1949
2058
  fill?: string | undefined;
1950
- stroke?: string | undefined;
1951
2059
  strokeWidth?: number | undefined;
2060
+ stroke?: string | undefined;
1952
2061
  }>, z.ZodObject<{
1953
2062
  type: z.ZodLiteral<"image">;
1954
2063
  id: z.ZodString;
@@ -1957,18 +2066,18 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1957
2066
  fit: z.ZodDefault<z.ZodEnum<["contain", "cover", "fill", "none"]>>;
1958
2067
  borderRadius: z.ZodDefault<z.ZodNumber>;
1959
2068
  }, "strict", z.ZodTypeAny, {
2069
+ fit: "contain" | "cover" | "fill" | "none";
1960
2070
  type: "image";
1961
2071
  id: string;
1962
2072
  src: string;
1963
- fit: "fill" | "none" | "contain" | "cover";
1964
2073
  borderRadius: number;
1965
2074
  alt?: string | undefined;
1966
2075
  }, {
1967
2076
  type: "image";
1968
2077
  id: string;
1969
2078
  src: string;
2079
+ fit?: "contain" | "cover" | "fill" | "none" | undefined;
1970
2080
  alt?: string | undefined;
1971
- fit?: "fill" | "none" | "contain" | "cover" | undefined;
1972
2081
  borderRadius?: number | undefined;
1973
2082
  }>]>;
1974
2083
  declare const autoLayoutConfigSchema: z.ZodObject<{
@@ -1987,6 +2096,17 @@ declare const autoLayoutConfigSchema: z.ZodObject<{
1987
2096
  radialCompaction: z.ZodOptional<z.ZodEnum<["none", "radial", "wedge"]>>;
1988
2097
  /** Sort strategy for radial layout node ordering. Only relevant when algorithm is 'radial'. */
1989
2098
  radialSortBy: z.ZodOptional<z.ZodEnum<["id", "connections"]>>;
2099
+ /** Explicit center used by curve/arc connection routing. */
2100
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2101
+ x: z.ZodNumber;
2102
+ y: z.ZodNumber;
2103
+ }, "strict", z.ZodTypeAny, {
2104
+ x: number;
2105
+ y: number;
2106
+ }, {
2107
+ x: number;
2108
+ y: number;
2109
+ }>>;
1990
2110
  }, "strict", z.ZodTypeAny, {
1991
2111
  mode: "auto";
1992
2112
  direction: "TB" | "BT" | "LR" | "RL";
@@ -1994,6 +2114,10 @@ declare const autoLayoutConfigSchema: z.ZodObject<{
1994
2114
  nodeSpacing: number;
1995
2115
  rankSpacing: number;
1996
2116
  edgeRouting: "orthogonal" | "polyline" | "spline";
2117
+ diagramCenter?: {
2118
+ x: number;
2119
+ y: number;
2120
+ } | undefined;
1997
2121
  aspectRatio?: number | undefined;
1998
2122
  radialRoot?: string | undefined;
1999
2123
  radialRadius?: number | undefined;
@@ -2002,6 +2126,10 @@ declare const autoLayoutConfigSchema: z.ZodObject<{
2002
2126
  }, {
2003
2127
  mode: "auto";
2004
2128
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
2129
+ diagramCenter?: {
2130
+ x: number;
2131
+ y: number;
2132
+ } | undefined;
2005
2133
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
2006
2134
  nodeSpacing?: number | undefined;
2007
2135
  rankSpacing?: number | undefined;
@@ -2019,16 +2147,35 @@ declare const gridLayoutConfigSchema: z.ZodObject<{
2019
2147
  cardMinHeight: z.ZodOptional<z.ZodNumber>;
2020
2148
  cardMaxHeight: z.ZodOptional<z.ZodNumber>;
2021
2149
  equalHeight: z.ZodDefault<z.ZodBoolean>;
2150
+ /** Explicit center used by curve/arc connection routing. */
2151
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2152
+ x: z.ZodNumber;
2153
+ y: z.ZodNumber;
2154
+ }, "strict", z.ZodTypeAny, {
2155
+ x: number;
2156
+ y: number;
2157
+ }, {
2158
+ x: number;
2159
+ y: number;
2160
+ }>>;
2022
2161
  }, "strict", z.ZodTypeAny, {
2023
2162
  mode: "grid";
2024
2163
  gap: number;
2025
2164
  columns: number;
2026
2165
  equalHeight: boolean;
2166
+ diagramCenter?: {
2167
+ x: number;
2168
+ y: number;
2169
+ } | undefined;
2027
2170
  cardMinHeight?: number | undefined;
2028
2171
  cardMaxHeight?: number | undefined;
2029
2172
  }, {
2030
2173
  mode: "grid";
2031
2174
  gap?: number | undefined;
2175
+ diagramCenter?: {
2176
+ x: number;
2177
+ y: number;
2178
+ } | undefined;
2032
2179
  columns?: number | undefined;
2033
2180
  cardMinHeight?: number | undefined;
2034
2181
  cardMaxHeight?: number | undefined;
@@ -2039,16 +2186,35 @@ declare const stackLayoutConfigSchema: z.ZodObject<{
2039
2186
  direction: z.ZodDefault<z.ZodEnum<["vertical", "horizontal"]>>;
2040
2187
  gap: z.ZodDefault<z.ZodNumber>;
2041
2188
  alignment: z.ZodDefault<z.ZodEnum<["start", "center", "end", "stretch"]>>;
2189
+ /** Explicit center used by curve/arc connection routing. */
2190
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2191
+ x: z.ZodNumber;
2192
+ y: z.ZodNumber;
2193
+ }, "strict", z.ZodTypeAny, {
2194
+ x: number;
2195
+ y: number;
2196
+ }, {
2197
+ x: number;
2198
+ y: number;
2199
+ }>>;
2042
2200
  }, "strict", z.ZodTypeAny, {
2043
2201
  mode: "stack";
2044
2202
  direction: "vertical" | "horizontal";
2045
2203
  gap: number;
2046
2204
  alignment: "end" | "start" | "center" | "stretch";
2205
+ diagramCenter?: {
2206
+ x: number;
2207
+ y: number;
2208
+ } | undefined;
2047
2209
  }, {
2048
2210
  mode: "stack";
2049
2211
  direction?: "vertical" | "horizontal" | undefined;
2050
2212
  gap?: number | undefined;
2051
2213
  alignment?: "end" | "start" | "center" | "stretch" | undefined;
2214
+ diagramCenter?: {
2215
+ x: number;
2216
+ y: number;
2217
+ } | undefined;
2052
2218
  }>;
2053
2219
  declare const manualLayoutConfigSchema: z.ZodObject<{
2054
2220
  mode: z.ZodLiteral<"manual">;
@@ -2068,6 +2234,17 @@ declare const manualLayoutConfigSchema: z.ZodObject<{
2068
2234
  width?: number | undefined;
2069
2235
  height?: number | undefined;
2070
2236
  }>>>;
2237
+ /** Explicit center used by curve/arc connection routing. */
2238
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2239
+ x: z.ZodNumber;
2240
+ y: z.ZodNumber;
2241
+ }, "strict", z.ZodTypeAny, {
2242
+ x: number;
2243
+ y: number;
2244
+ }, {
2245
+ x: number;
2246
+ y: number;
2247
+ }>>;
2071
2248
  }, "strict", z.ZodTypeAny, {
2072
2249
  mode: "manual";
2073
2250
  positions: Record<string, {
@@ -2076,8 +2253,16 @@ declare const manualLayoutConfigSchema: z.ZodObject<{
2076
2253
  width?: number | undefined;
2077
2254
  height?: number | undefined;
2078
2255
  }>;
2256
+ diagramCenter?: {
2257
+ x: number;
2258
+ y: number;
2259
+ } | undefined;
2079
2260
  }, {
2080
2261
  mode: "manual";
2262
+ diagramCenter?: {
2263
+ x: number;
2264
+ y: number;
2265
+ } | undefined;
2081
2266
  positions?: Record<string, {
2082
2267
  x: number;
2083
2268
  y: number;
@@ -2101,6 +2286,17 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2101
2286
  radialCompaction: z.ZodOptional<z.ZodEnum<["none", "radial", "wedge"]>>;
2102
2287
  /** Sort strategy for radial layout node ordering. Only relevant when algorithm is 'radial'. */
2103
2288
  radialSortBy: z.ZodOptional<z.ZodEnum<["id", "connections"]>>;
2289
+ /** Explicit center used by curve/arc connection routing. */
2290
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2291
+ x: z.ZodNumber;
2292
+ y: z.ZodNumber;
2293
+ }, "strict", z.ZodTypeAny, {
2294
+ x: number;
2295
+ y: number;
2296
+ }, {
2297
+ x: number;
2298
+ y: number;
2299
+ }>>;
2104
2300
  }, "strict", z.ZodTypeAny, {
2105
2301
  mode: "auto";
2106
2302
  direction: "TB" | "BT" | "LR" | "RL";
@@ -2108,6 +2304,10 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2108
2304
  nodeSpacing: number;
2109
2305
  rankSpacing: number;
2110
2306
  edgeRouting: "orthogonal" | "polyline" | "spline";
2307
+ diagramCenter?: {
2308
+ x: number;
2309
+ y: number;
2310
+ } | undefined;
2111
2311
  aspectRatio?: number | undefined;
2112
2312
  radialRoot?: string | undefined;
2113
2313
  radialRadius?: number | undefined;
@@ -2116,6 +2316,10 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2116
2316
  }, {
2117
2317
  mode: "auto";
2118
2318
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
2319
+ diagramCenter?: {
2320
+ x: number;
2321
+ y: number;
2322
+ } | undefined;
2119
2323
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
2120
2324
  nodeSpacing?: number | undefined;
2121
2325
  rankSpacing?: number | undefined;
@@ -2132,16 +2336,35 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2132
2336
  cardMinHeight: z.ZodOptional<z.ZodNumber>;
2133
2337
  cardMaxHeight: z.ZodOptional<z.ZodNumber>;
2134
2338
  equalHeight: z.ZodDefault<z.ZodBoolean>;
2339
+ /** Explicit center used by curve/arc connection routing. */
2340
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2341
+ x: z.ZodNumber;
2342
+ y: z.ZodNumber;
2343
+ }, "strict", z.ZodTypeAny, {
2344
+ x: number;
2345
+ y: number;
2346
+ }, {
2347
+ x: number;
2348
+ y: number;
2349
+ }>>;
2135
2350
  }, "strict", z.ZodTypeAny, {
2136
2351
  mode: "grid";
2137
2352
  gap: number;
2138
2353
  columns: number;
2139
2354
  equalHeight: boolean;
2355
+ diagramCenter?: {
2356
+ x: number;
2357
+ y: number;
2358
+ } | undefined;
2140
2359
  cardMinHeight?: number | undefined;
2141
2360
  cardMaxHeight?: number | undefined;
2142
2361
  }, {
2143
2362
  mode: "grid";
2144
2363
  gap?: number | undefined;
2364
+ diagramCenter?: {
2365
+ x: number;
2366
+ y: number;
2367
+ } | undefined;
2145
2368
  columns?: number | undefined;
2146
2369
  cardMinHeight?: number | undefined;
2147
2370
  cardMaxHeight?: number | undefined;
@@ -2151,16 +2374,35 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2151
2374
  direction: z.ZodDefault<z.ZodEnum<["vertical", "horizontal"]>>;
2152
2375
  gap: z.ZodDefault<z.ZodNumber>;
2153
2376
  alignment: z.ZodDefault<z.ZodEnum<["start", "center", "end", "stretch"]>>;
2377
+ /** Explicit center used by curve/arc connection routing. */
2378
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2379
+ x: z.ZodNumber;
2380
+ y: z.ZodNumber;
2381
+ }, "strict", z.ZodTypeAny, {
2382
+ x: number;
2383
+ y: number;
2384
+ }, {
2385
+ x: number;
2386
+ y: number;
2387
+ }>>;
2154
2388
  }, "strict", z.ZodTypeAny, {
2155
2389
  mode: "stack";
2156
2390
  direction: "vertical" | "horizontal";
2157
2391
  gap: number;
2158
2392
  alignment: "end" | "start" | "center" | "stretch";
2393
+ diagramCenter?: {
2394
+ x: number;
2395
+ y: number;
2396
+ } | undefined;
2159
2397
  }, {
2160
2398
  mode: "stack";
2161
2399
  direction?: "vertical" | "horizontal" | undefined;
2162
2400
  gap?: number | undefined;
2163
2401
  alignment?: "end" | "start" | "center" | "stretch" | undefined;
2402
+ diagramCenter?: {
2403
+ x: number;
2404
+ y: number;
2405
+ } | undefined;
2164
2406
  }>, z.ZodObject<{
2165
2407
  mode: z.ZodLiteral<"manual">;
2166
2408
  positions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
@@ -2179,6 +2421,17 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2179
2421
  width?: number | undefined;
2180
2422
  height?: number | undefined;
2181
2423
  }>>>;
2424
+ /** Explicit center used by curve/arc connection routing. */
2425
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2426
+ x: z.ZodNumber;
2427
+ y: z.ZodNumber;
2428
+ }, "strict", z.ZodTypeAny, {
2429
+ x: number;
2430
+ y: number;
2431
+ }, {
2432
+ x: number;
2433
+ y: number;
2434
+ }>>;
2182
2435
  }, "strict", z.ZodTypeAny, {
2183
2436
  mode: "manual";
2184
2437
  positions: Record<string, {
@@ -2187,8 +2440,16 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
2187
2440
  width?: number | undefined;
2188
2441
  height?: number | undefined;
2189
2442
  }>;
2443
+ diagramCenter?: {
2444
+ x: number;
2445
+ y: number;
2446
+ } | undefined;
2190
2447
  }, {
2191
2448
  mode: "manual";
2449
+ diagramCenter?: {
2450
+ x: number;
2451
+ y: number;
2452
+ } | undefined;
2192
2453
  positions?: Record<string, {
2193
2454
  x: number;
2194
2455
  y: number;
@@ -2468,6 +2729,770 @@ declare const themeInputSchema: z.ZodUnion<[z.ZodEnum<["dark", "light", "dracula
2468
2729
  mono: string;
2469
2730
  };
2470
2731
  }>]>;
2732
+ declare const diagramElementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2733
+ type: z.ZodLiteral<"flow-node">;
2734
+ id: z.ZodString;
2735
+ shape: z.ZodDefault<z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram", "hexagon"]>>;
2736
+ label: z.ZodString;
2737
+ sublabel: z.ZodOptional<z.ZodString>;
2738
+ sublabelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2739
+ sublabel2: z.ZodOptional<z.ZodString>;
2740
+ sublabel2Color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2741
+ sublabel2FontSize: z.ZodOptional<z.ZodNumber>;
2742
+ labelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2743
+ labelFontSize: z.ZodOptional<z.ZodNumber>;
2744
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2745
+ borderColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2746
+ borderWidth: z.ZodOptional<z.ZodNumber>;
2747
+ cornerRadius: z.ZodOptional<z.ZodNumber>;
2748
+ width: z.ZodOptional<z.ZodNumber>;
2749
+ height: z.ZodOptional<z.ZodNumber>;
2750
+ fillOpacity: z.ZodDefault<z.ZodNumber>;
2751
+ opacity: z.ZodDefault<z.ZodNumber>;
2752
+ badgeText: z.ZodOptional<z.ZodString>;
2753
+ badgeColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2754
+ badgeBackground: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2755
+ badgePosition: z.ZodDefault<z.ZodEnum<["top", "inside-top"]>>;
2756
+ shadow: z.ZodOptional<z.ZodObject<{
2757
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2758
+ blur: z.ZodDefault<z.ZodNumber>;
2759
+ offsetX: z.ZodDefault<z.ZodNumber>;
2760
+ offsetY: z.ZodDefault<z.ZodNumber>;
2761
+ opacity: z.ZodDefault<z.ZodNumber>;
2762
+ }, "strict", z.ZodTypeAny, {
2763
+ opacity: number;
2764
+ blur: number;
2765
+ offsetX: number;
2766
+ offsetY: number;
2767
+ color?: string | undefined;
2768
+ }, {
2769
+ color?: string | undefined;
2770
+ opacity?: number | undefined;
2771
+ blur?: number | undefined;
2772
+ offsetX?: number | undefined;
2773
+ offsetY?: number | undefined;
2774
+ }>>;
2775
+ }, "strict", z.ZodTypeAny, {
2776
+ type: "flow-node";
2777
+ id: string;
2778
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
2779
+ label: string;
2780
+ fillOpacity: number;
2781
+ opacity: number;
2782
+ badgePosition: "top" | "inside-top";
2783
+ width?: number | undefined;
2784
+ height?: number | undefined;
2785
+ sublabel?: string | undefined;
2786
+ sublabelColor?: string | undefined;
2787
+ sublabel2?: string | undefined;
2788
+ sublabel2Color?: string | undefined;
2789
+ sublabel2FontSize?: number | undefined;
2790
+ labelColor?: string | undefined;
2791
+ labelFontSize?: number | undefined;
2792
+ color?: string | undefined;
2793
+ borderColor?: string | undefined;
2794
+ borderWidth?: number | undefined;
2795
+ cornerRadius?: number | undefined;
2796
+ badgeText?: string | undefined;
2797
+ badgeColor?: string | undefined;
2798
+ badgeBackground?: string | undefined;
2799
+ shadow?: {
2800
+ opacity: number;
2801
+ blur: number;
2802
+ offsetX: number;
2803
+ offsetY: number;
2804
+ color?: string | undefined;
2805
+ } | undefined;
2806
+ }, {
2807
+ type: "flow-node";
2808
+ id: string;
2809
+ label: string;
2810
+ width?: number | undefined;
2811
+ height?: number | undefined;
2812
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
2813
+ sublabel?: string | undefined;
2814
+ sublabelColor?: string | undefined;
2815
+ sublabel2?: string | undefined;
2816
+ sublabel2Color?: string | undefined;
2817
+ sublabel2FontSize?: number | undefined;
2818
+ labelColor?: string | undefined;
2819
+ labelFontSize?: number | undefined;
2820
+ color?: string | undefined;
2821
+ borderColor?: string | undefined;
2822
+ borderWidth?: number | undefined;
2823
+ cornerRadius?: number | undefined;
2824
+ fillOpacity?: number | undefined;
2825
+ opacity?: number | undefined;
2826
+ badgeText?: string | undefined;
2827
+ badgeColor?: string | undefined;
2828
+ badgeBackground?: string | undefined;
2829
+ badgePosition?: "top" | "inside-top" | undefined;
2830
+ shadow?: {
2831
+ color?: string | undefined;
2832
+ opacity?: number | undefined;
2833
+ blur?: number | undefined;
2834
+ offsetX?: number | undefined;
2835
+ offsetY?: number | undefined;
2836
+ } | undefined;
2837
+ }>, z.ZodObject<{
2838
+ type: z.ZodLiteral<"connection">;
2839
+ from: z.ZodString;
2840
+ to: z.ZodString;
2841
+ style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2842
+ strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2843
+ arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
2844
+ label: z.ZodOptional<z.ZodString>;
2845
+ labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
2846
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2847
+ width: z.ZodOptional<z.ZodNumber>;
2848
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
2849
+ arrowSize: z.ZodOptional<z.ZodNumber>;
2850
+ opacity: z.ZodDefault<z.ZodNumber>;
2851
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
2852
+ tension: z.ZodDefault<z.ZodNumber>;
2853
+ }, "strict", z.ZodTypeAny, {
2854
+ type: "connection";
2855
+ opacity: number;
2856
+ from: string;
2857
+ to: string;
2858
+ style: "solid" | "dashed" | "dotted";
2859
+ strokeStyle: "solid" | "dashed" | "dotted";
2860
+ arrow: "end" | "start" | "both" | "none";
2861
+ labelPosition: "end" | "start" | "middle";
2862
+ strokeWidth: number;
2863
+ routing: "auto" | "orthogonal" | "curve" | "arc";
2864
+ tension: number;
2865
+ width?: number | undefined;
2866
+ label?: string | undefined;
2867
+ color?: string | undefined;
2868
+ arrowSize?: number | undefined;
2869
+ }, {
2870
+ type: "connection";
2871
+ from: string;
2872
+ to: string;
2873
+ width?: number | undefined;
2874
+ label?: string | undefined;
2875
+ color?: string | undefined;
2876
+ opacity?: number | undefined;
2877
+ style?: "solid" | "dashed" | "dotted" | undefined;
2878
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
2879
+ arrow?: "end" | "start" | "both" | "none" | undefined;
2880
+ labelPosition?: "end" | "start" | "middle" | undefined;
2881
+ strokeWidth?: number | undefined;
2882
+ arrowSize?: number | undefined;
2883
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
2884
+ tension?: number | undefined;
2885
+ }>]>;
2886
+ declare const diagramLayoutSchema: z.ZodObject<{
2887
+ mode: z.ZodDefault<z.ZodEnum<["manual", "auto"]>>;
2888
+ positions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2889
+ x: z.ZodNumber;
2890
+ y: z.ZodNumber;
2891
+ width: z.ZodNumber;
2892
+ height: z.ZodNumber;
2893
+ }, "strict", z.ZodTypeAny, {
2894
+ width: number;
2895
+ height: number;
2896
+ x: number;
2897
+ y: number;
2898
+ }, {
2899
+ width: number;
2900
+ height: number;
2901
+ x: number;
2902
+ y: number;
2903
+ }>>>;
2904
+ diagramCenter: z.ZodOptional<z.ZodObject<{
2905
+ x: z.ZodNumber;
2906
+ y: z.ZodNumber;
2907
+ }, "strict", z.ZodTypeAny, {
2908
+ x: number;
2909
+ y: number;
2910
+ }, {
2911
+ x: number;
2912
+ y: number;
2913
+ }>>;
2914
+ }, "strict", z.ZodTypeAny, {
2915
+ mode: "auto" | "manual";
2916
+ diagramCenter?: {
2917
+ x: number;
2918
+ y: number;
2919
+ } | undefined;
2920
+ positions?: Record<string, {
2921
+ width: number;
2922
+ height: number;
2923
+ x: number;
2924
+ y: number;
2925
+ }> | undefined;
2926
+ }, {
2927
+ mode?: "auto" | "manual" | undefined;
2928
+ diagramCenter?: {
2929
+ x: number;
2930
+ y: number;
2931
+ } | undefined;
2932
+ positions?: Record<string, {
2933
+ width: number;
2934
+ height: number;
2935
+ x: number;
2936
+ y: number;
2937
+ }> | undefined;
2938
+ }>;
2939
+ declare const diagramSpecSchema: z.ZodObject<{
2940
+ version: z.ZodLiteral<1>;
2941
+ canvas: z.ZodDefault<z.ZodObject<{
2942
+ width: z.ZodDefault<z.ZodNumber>;
2943
+ height: z.ZodDefault<z.ZodNumber>;
2944
+ }, "strip", z.ZodTypeAny, {
2945
+ width: number;
2946
+ height: number;
2947
+ }, {
2948
+ width?: number | undefined;
2949
+ height?: number | undefined;
2950
+ }>>;
2951
+ theme: z.ZodOptional<z.ZodObject<{
2952
+ background: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2953
+ surface: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2954
+ surfaceMuted: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2955
+ surfaceElevated: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2956
+ text: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2957
+ textMuted: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2958
+ textInverse: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2959
+ primary: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2960
+ secondary: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2961
+ accent: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2962
+ success: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2963
+ warning: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2964
+ error: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2965
+ info: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2966
+ border: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2967
+ borderMuted: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2968
+ code: z.ZodObject<{
2969
+ background: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2970
+ text: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2971
+ comment: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2972
+ keyword: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2973
+ string: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2974
+ number: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2975
+ function: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2976
+ variable: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2977
+ operator: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2978
+ punctuation: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2979
+ }, "strict", z.ZodTypeAny, {
2980
+ string: string;
2981
+ number: string;
2982
+ function: string;
2983
+ background: string;
2984
+ text: string;
2985
+ comment: string;
2986
+ keyword: string;
2987
+ variable: string;
2988
+ operator: string;
2989
+ punctuation: string;
2990
+ }, {
2991
+ string: string;
2992
+ number: string;
2993
+ function: string;
2994
+ background: string;
2995
+ text: string;
2996
+ comment: string;
2997
+ keyword: string;
2998
+ variable: string;
2999
+ operator: string;
3000
+ punctuation: string;
3001
+ }>;
3002
+ fonts: z.ZodObject<{
3003
+ heading: z.ZodString;
3004
+ body: z.ZodString;
3005
+ mono: z.ZodString;
3006
+ }, "strict", z.ZodTypeAny, {
3007
+ body: string;
3008
+ heading: string;
3009
+ mono: string;
3010
+ }, {
3011
+ body: string;
3012
+ heading: string;
3013
+ mono: string;
3014
+ }>;
3015
+ }, "strict", z.ZodTypeAny, {
3016
+ code: {
3017
+ string: string;
3018
+ number: string;
3019
+ function: string;
3020
+ background: string;
3021
+ text: string;
3022
+ comment: string;
3023
+ keyword: string;
3024
+ variable: string;
3025
+ operator: string;
3026
+ punctuation: string;
3027
+ };
3028
+ background: string;
3029
+ surface: string;
3030
+ surfaceMuted: string;
3031
+ surfaceElevated: string;
3032
+ text: string;
3033
+ textMuted: string;
3034
+ textInverse: string;
3035
+ primary: string;
3036
+ secondary: string;
3037
+ accent: string;
3038
+ success: string;
3039
+ warning: string;
3040
+ error: string;
3041
+ info: string;
3042
+ border: string;
3043
+ borderMuted: string;
3044
+ fonts: {
3045
+ body: string;
3046
+ heading: string;
3047
+ mono: string;
3048
+ };
3049
+ }, {
3050
+ code: {
3051
+ string: string;
3052
+ number: string;
3053
+ function: string;
3054
+ background: string;
3055
+ text: string;
3056
+ comment: string;
3057
+ keyword: string;
3058
+ variable: string;
3059
+ operator: string;
3060
+ punctuation: string;
3061
+ };
3062
+ background: string;
3063
+ surface: string;
3064
+ surfaceMuted: string;
3065
+ surfaceElevated: string;
3066
+ text: string;
3067
+ textMuted: string;
3068
+ textInverse: string;
3069
+ primary: string;
3070
+ secondary: string;
3071
+ accent: string;
3072
+ success: string;
3073
+ warning: string;
3074
+ error: string;
3075
+ info: string;
3076
+ border: string;
3077
+ borderMuted: string;
3078
+ fonts: {
3079
+ body: string;
3080
+ heading: string;
3081
+ mono: string;
3082
+ };
3083
+ }>>;
3084
+ elements: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3085
+ type: z.ZodLiteral<"flow-node">;
3086
+ id: z.ZodString;
3087
+ shape: z.ZodDefault<z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram", "hexagon"]>>;
3088
+ label: z.ZodString;
3089
+ sublabel: z.ZodOptional<z.ZodString>;
3090
+ sublabelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3091
+ sublabel2: z.ZodOptional<z.ZodString>;
3092
+ sublabel2Color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3093
+ sublabel2FontSize: z.ZodOptional<z.ZodNumber>;
3094
+ labelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3095
+ labelFontSize: z.ZodOptional<z.ZodNumber>;
3096
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3097
+ borderColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3098
+ borderWidth: z.ZodOptional<z.ZodNumber>;
3099
+ cornerRadius: z.ZodOptional<z.ZodNumber>;
3100
+ width: z.ZodOptional<z.ZodNumber>;
3101
+ height: z.ZodOptional<z.ZodNumber>;
3102
+ fillOpacity: z.ZodDefault<z.ZodNumber>;
3103
+ opacity: z.ZodDefault<z.ZodNumber>;
3104
+ badgeText: z.ZodOptional<z.ZodString>;
3105
+ badgeColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3106
+ badgeBackground: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3107
+ badgePosition: z.ZodDefault<z.ZodEnum<["top", "inside-top"]>>;
3108
+ shadow: z.ZodOptional<z.ZodObject<{
3109
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3110
+ blur: z.ZodDefault<z.ZodNumber>;
3111
+ offsetX: z.ZodDefault<z.ZodNumber>;
3112
+ offsetY: z.ZodDefault<z.ZodNumber>;
3113
+ opacity: z.ZodDefault<z.ZodNumber>;
3114
+ }, "strict", z.ZodTypeAny, {
3115
+ opacity: number;
3116
+ blur: number;
3117
+ offsetX: number;
3118
+ offsetY: number;
3119
+ color?: string | undefined;
3120
+ }, {
3121
+ color?: string | undefined;
3122
+ opacity?: number | undefined;
3123
+ blur?: number | undefined;
3124
+ offsetX?: number | undefined;
3125
+ offsetY?: number | undefined;
3126
+ }>>;
3127
+ }, "strict", z.ZodTypeAny, {
3128
+ type: "flow-node";
3129
+ id: string;
3130
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
3131
+ label: string;
3132
+ fillOpacity: number;
3133
+ opacity: number;
3134
+ badgePosition: "top" | "inside-top";
3135
+ width?: number | undefined;
3136
+ height?: number | undefined;
3137
+ sublabel?: string | undefined;
3138
+ sublabelColor?: string | undefined;
3139
+ sublabel2?: string | undefined;
3140
+ sublabel2Color?: string | undefined;
3141
+ sublabel2FontSize?: number | undefined;
3142
+ labelColor?: string | undefined;
3143
+ labelFontSize?: number | undefined;
3144
+ color?: string | undefined;
3145
+ borderColor?: string | undefined;
3146
+ borderWidth?: number | undefined;
3147
+ cornerRadius?: number | undefined;
3148
+ badgeText?: string | undefined;
3149
+ badgeColor?: string | undefined;
3150
+ badgeBackground?: string | undefined;
3151
+ shadow?: {
3152
+ opacity: number;
3153
+ blur: number;
3154
+ offsetX: number;
3155
+ offsetY: number;
3156
+ color?: string | undefined;
3157
+ } | undefined;
3158
+ }, {
3159
+ type: "flow-node";
3160
+ id: string;
3161
+ label: string;
3162
+ width?: number | undefined;
3163
+ height?: number | undefined;
3164
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
3165
+ sublabel?: string | undefined;
3166
+ sublabelColor?: string | undefined;
3167
+ sublabel2?: string | undefined;
3168
+ sublabel2Color?: string | undefined;
3169
+ sublabel2FontSize?: number | undefined;
3170
+ labelColor?: string | undefined;
3171
+ labelFontSize?: number | undefined;
3172
+ color?: string | undefined;
3173
+ borderColor?: string | undefined;
3174
+ borderWidth?: number | undefined;
3175
+ cornerRadius?: number | undefined;
3176
+ fillOpacity?: number | undefined;
3177
+ opacity?: number | undefined;
3178
+ badgeText?: string | undefined;
3179
+ badgeColor?: string | undefined;
3180
+ badgeBackground?: string | undefined;
3181
+ badgePosition?: "top" | "inside-top" | undefined;
3182
+ shadow?: {
3183
+ color?: string | undefined;
3184
+ opacity?: number | undefined;
3185
+ blur?: number | undefined;
3186
+ offsetX?: number | undefined;
3187
+ offsetY?: number | undefined;
3188
+ } | undefined;
3189
+ }>, z.ZodObject<{
3190
+ type: z.ZodLiteral<"connection">;
3191
+ from: z.ZodString;
3192
+ to: z.ZodString;
3193
+ style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
3194
+ strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
3195
+ arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
3196
+ label: z.ZodOptional<z.ZodString>;
3197
+ labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
3198
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3199
+ width: z.ZodOptional<z.ZodNumber>;
3200
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
3201
+ arrowSize: z.ZodOptional<z.ZodNumber>;
3202
+ opacity: z.ZodDefault<z.ZodNumber>;
3203
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
3204
+ tension: z.ZodDefault<z.ZodNumber>;
3205
+ }, "strict", z.ZodTypeAny, {
3206
+ type: "connection";
3207
+ opacity: number;
3208
+ from: string;
3209
+ to: string;
3210
+ style: "solid" | "dashed" | "dotted";
3211
+ strokeStyle: "solid" | "dashed" | "dotted";
3212
+ arrow: "end" | "start" | "both" | "none";
3213
+ labelPosition: "end" | "start" | "middle";
3214
+ strokeWidth: number;
3215
+ routing: "auto" | "orthogonal" | "curve" | "arc";
3216
+ tension: number;
3217
+ width?: number | undefined;
3218
+ label?: string | undefined;
3219
+ color?: string | undefined;
3220
+ arrowSize?: number | undefined;
3221
+ }, {
3222
+ type: "connection";
3223
+ from: string;
3224
+ to: string;
3225
+ width?: number | undefined;
3226
+ label?: string | undefined;
3227
+ color?: string | undefined;
3228
+ opacity?: number | undefined;
3229
+ style?: "solid" | "dashed" | "dotted" | undefined;
3230
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
3231
+ arrow?: "end" | "start" | "both" | "none" | undefined;
3232
+ labelPosition?: "end" | "start" | "middle" | undefined;
3233
+ strokeWidth?: number | undefined;
3234
+ arrowSize?: number | undefined;
3235
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
3236
+ tension?: number | undefined;
3237
+ }>]>, "many">;
3238
+ layout: z.ZodDefault<z.ZodObject<{
3239
+ mode: z.ZodDefault<z.ZodEnum<["manual", "auto"]>>;
3240
+ positions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
3241
+ x: z.ZodNumber;
3242
+ y: z.ZodNumber;
3243
+ width: z.ZodNumber;
3244
+ height: z.ZodNumber;
3245
+ }, "strict", z.ZodTypeAny, {
3246
+ width: number;
3247
+ height: number;
3248
+ x: number;
3249
+ y: number;
3250
+ }, {
3251
+ width: number;
3252
+ height: number;
3253
+ x: number;
3254
+ y: number;
3255
+ }>>>;
3256
+ diagramCenter: z.ZodOptional<z.ZodObject<{
3257
+ x: z.ZodNumber;
3258
+ y: z.ZodNumber;
3259
+ }, "strict", z.ZodTypeAny, {
3260
+ x: number;
3261
+ y: number;
3262
+ }, {
3263
+ x: number;
3264
+ y: number;
3265
+ }>>;
3266
+ }, "strict", z.ZodTypeAny, {
3267
+ mode: "auto" | "manual";
3268
+ diagramCenter?: {
3269
+ x: number;
3270
+ y: number;
3271
+ } | undefined;
3272
+ positions?: Record<string, {
3273
+ width: number;
3274
+ height: number;
3275
+ x: number;
3276
+ y: number;
3277
+ }> | undefined;
3278
+ }, {
3279
+ mode?: "auto" | "manual" | undefined;
3280
+ diagramCenter?: {
3281
+ x: number;
3282
+ y: number;
3283
+ } | undefined;
3284
+ positions?: Record<string, {
3285
+ width: number;
3286
+ height: number;
3287
+ x: number;
3288
+ y: number;
3289
+ }> | undefined;
3290
+ }>>;
3291
+ }, "strict", z.ZodTypeAny, {
3292
+ version: 1;
3293
+ canvas: {
3294
+ width: number;
3295
+ height: number;
3296
+ };
3297
+ elements: ({
3298
+ type: "flow-node";
3299
+ id: string;
3300
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
3301
+ label: string;
3302
+ fillOpacity: number;
3303
+ opacity: number;
3304
+ badgePosition: "top" | "inside-top";
3305
+ width?: number | undefined;
3306
+ height?: number | undefined;
3307
+ sublabel?: string | undefined;
3308
+ sublabelColor?: string | undefined;
3309
+ sublabel2?: string | undefined;
3310
+ sublabel2Color?: string | undefined;
3311
+ sublabel2FontSize?: number | undefined;
3312
+ labelColor?: string | undefined;
3313
+ labelFontSize?: number | undefined;
3314
+ color?: string | undefined;
3315
+ borderColor?: string | undefined;
3316
+ borderWidth?: number | undefined;
3317
+ cornerRadius?: number | undefined;
3318
+ badgeText?: string | undefined;
3319
+ badgeColor?: string | undefined;
3320
+ badgeBackground?: string | undefined;
3321
+ shadow?: {
3322
+ opacity: number;
3323
+ blur: number;
3324
+ offsetX: number;
3325
+ offsetY: number;
3326
+ color?: string | undefined;
3327
+ } | undefined;
3328
+ } | {
3329
+ type: "connection";
3330
+ opacity: number;
3331
+ from: string;
3332
+ to: string;
3333
+ style: "solid" | "dashed" | "dotted";
3334
+ strokeStyle: "solid" | "dashed" | "dotted";
3335
+ arrow: "end" | "start" | "both" | "none";
3336
+ labelPosition: "end" | "start" | "middle";
3337
+ strokeWidth: number;
3338
+ routing: "auto" | "orthogonal" | "curve" | "arc";
3339
+ tension: number;
3340
+ width?: number | undefined;
3341
+ label?: string | undefined;
3342
+ color?: string | undefined;
3343
+ arrowSize?: number | undefined;
3344
+ })[];
3345
+ layout: {
3346
+ mode: "auto" | "manual";
3347
+ diagramCenter?: {
3348
+ x: number;
3349
+ y: number;
3350
+ } | undefined;
3351
+ positions?: Record<string, {
3352
+ width: number;
3353
+ height: number;
3354
+ x: number;
3355
+ y: number;
3356
+ }> | undefined;
3357
+ };
3358
+ theme?: {
3359
+ code: {
3360
+ string: string;
3361
+ number: string;
3362
+ function: string;
3363
+ background: string;
3364
+ text: string;
3365
+ comment: string;
3366
+ keyword: string;
3367
+ variable: string;
3368
+ operator: string;
3369
+ punctuation: string;
3370
+ };
3371
+ background: string;
3372
+ surface: string;
3373
+ surfaceMuted: string;
3374
+ surfaceElevated: string;
3375
+ text: string;
3376
+ textMuted: string;
3377
+ textInverse: string;
3378
+ primary: string;
3379
+ secondary: string;
3380
+ accent: string;
3381
+ success: string;
3382
+ warning: string;
3383
+ error: string;
3384
+ info: string;
3385
+ border: string;
3386
+ borderMuted: string;
3387
+ fonts: {
3388
+ body: string;
3389
+ heading: string;
3390
+ mono: string;
3391
+ };
3392
+ } | undefined;
3393
+ }, {
3394
+ version: 1;
3395
+ elements: ({
3396
+ type: "flow-node";
3397
+ id: string;
3398
+ label: string;
3399
+ width?: number | undefined;
3400
+ height?: number | undefined;
3401
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
3402
+ sublabel?: string | undefined;
3403
+ sublabelColor?: string | undefined;
3404
+ sublabel2?: string | undefined;
3405
+ sublabel2Color?: string | undefined;
3406
+ sublabel2FontSize?: number | undefined;
3407
+ labelColor?: string | undefined;
3408
+ labelFontSize?: number | undefined;
3409
+ color?: string | undefined;
3410
+ borderColor?: string | undefined;
3411
+ borderWidth?: number | undefined;
3412
+ cornerRadius?: number | undefined;
3413
+ fillOpacity?: number | undefined;
3414
+ opacity?: number | undefined;
3415
+ badgeText?: string | undefined;
3416
+ badgeColor?: string | undefined;
3417
+ badgeBackground?: string | undefined;
3418
+ badgePosition?: "top" | "inside-top" | undefined;
3419
+ shadow?: {
3420
+ color?: string | undefined;
3421
+ opacity?: number | undefined;
3422
+ blur?: number | undefined;
3423
+ offsetX?: number | undefined;
3424
+ offsetY?: number | undefined;
3425
+ } | undefined;
3426
+ } | {
3427
+ type: "connection";
3428
+ from: string;
3429
+ to: string;
3430
+ width?: number | undefined;
3431
+ label?: string | undefined;
3432
+ color?: string | undefined;
3433
+ opacity?: number | undefined;
3434
+ style?: "solid" | "dashed" | "dotted" | undefined;
3435
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
3436
+ arrow?: "end" | "start" | "both" | "none" | undefined;
3437
+ labelPosition?: "end" | "start" | "middle" | undefined;
3438
+ strokeWidth?: number | undefined;
3439
+ arrowSize?: number | undefined;
3440
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
3441
+ tension?: number | undefined;
3442
+ })[];
3443
+ theme?: {
3444
+ code: {
3445
+ string: string;
3446
+ number: string;
3447
+ function: string;
3448
+ background: string;
3449
+ text: string;
3450
+ comment: string;
3451
+ keyword: string;
3452
+ variable: string;
3453
+ operator: string;
3454
+ punctuation: string;
3455
+ };
3456
+ background: string;
3457
+ surface: string;
3458
+ surfaceMuted: string;
3459
+ surfaceElevated: string;
3460
+ text: string;
3461
+ textMuted: string;
3462
+ textInverse: string;
3463
+ primary: string;
3464
+ secondary: string;
3465
+ accent: string;
3466
+ success: string;
3467
+ warning: string;
3468
+ error: string;
3469
+ info: string;
3470
+ border: string;
3471
+ borderMuted: string;
3472
+ fonts: {
3473
+ body: string;
3474
+ heading: string;
3475
+ mono: string;
3476
+ };
3477
+ } | undefined;
3478
+ canvas?: {
3479
+ width?: number | undefined;
3480
+ height?: number | undefined;
3481
+ } | undefined;
3482
+ layout?: {
3483
+ mode?: "auto" | "manual" | undefined;
3484
+ diagramCenter?: {
3485
+ x: number;
3486
+ y: number;
3487
+ } | undefined;
3488
+ positions?: Record<string, {
3489
+ width: number;
3490
+ height: number;
3491
+ x: number;
3492
+ y: number;
3493
+ }> | undefined;
3494
+ } | undefined;
3495
+ }>;
2471
3496
  /** Zod schema that validates and transforms raw input into a fully resolved {@link DesignSpec}. This is the source of truth for spec validation. */
2472
3497
  declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
2473
3498
  version: z.ZodDefault<z.ZodLiteral<2>>;
@@ -2721,7 +3746,7 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
2721
3746
  }>, z.ZodObject<{
2722
3747
  type: z.ZodLiteral<"flow-node">;
2723
3748
  id: z.ZodString;
2724
- shape: z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram"]>;
3749
+ shape: z.ZodDefault<z.ZodEnum<["box", "rounded-box", "diamond", "circle", "pill", "cylinder", "parallelogram", "hexagon"]>>;
2725
3750
  label: z.ZodString;
2726
3751
  sublabel: z.ZodOptional<z.ZodString>;
2727
3752
  sublabelColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
@@ -2742,14 +3767,35 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
2742
3767
  badgeColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2743
3768
  badgeBackground: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2744
3769
  badgePosition: z.ZodDefault<z.ZodEnum<["top", "inside-top"]>>;
3770
+ shadow: z.ZodOptional<z.ZodObject<{
3771
+ color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3772
+ blur: z.ZodDefault<z.ZodNumber>;
3773
+ offsetX: z.ZodDefault<z.ZodNumber>;
3774
+ offsetY: z.ZodDefault<z.ZodNumber>;
3775
+ opacity: z.ZodDefault<z.ZodNumber>;
3776
+ }, "strict", z.ZodTypeAny, {
3777
+ opacity: number;
3778
+ blur: number;
3779
+ offsetX: number;
3780
+ offsetY: number;
3781
+ color?: string | undefined;
3782
+ }, {
3783
+ color?: string | undefined;
3784
+ opacity?: number | undefined;
3785
+ blur?: number | undefined;
3786
+ offsetX?: number | undefined;
3787
+ offsetY?: number | undefined;
3788
+ }>>;
2745
3789
  }, "strict", z.ZodTypeAny, {
2746
3790
  type: "flow-node";
2747
3791
  id: string;
2748
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
3792
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
2749
3793
  label: string;
2750
3794
  fillOpacity: number;
2751
3795
  opacity: number;
2752
3796
  badgePosition: "top" | "inside-top";
3797
+ width?: number | undefined;
3798
+ height?: number | undefined;
2753
3799
  sublabel?: string | undefined;
2754
3800
  sublabelColor?: string | undefined;
2755
3801
  sublabel2?: string | undefined;
@@ -2761,16 +3807,23 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
2761
3807
  borderColor?: string | undefined;
2762
3808
  borderWidth?: number | undefined;
2763
3809
  cornerRadius?: number | undefined;
2764
- width?: number | undefined;
2765
- height?: number | undefined;
2766
3810
  badgeText?: string | undefined;
2767
3811
  badgeColor?: string | undefined;
2768
3812
  badgeBackground?: string | undefined;
3813
+ shadow?: {
3814
+ opacity: number;
3815
+ blur: number;
3816
+ offsetX: number;
3817
+ offsetY: number;
3818
+ color?: string | undefined;
3819
+ } | undefined;
2769
3820
  }, {
2770
3821
  type: "flow-node";
2771
3822
  id: string;
2772
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
2773
3823
  label: string;
3824
+ width?: number | undefined;
3825
+ height?: number | undefined;
3826
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
2774
3827
  sublabel?: string | undefined;
2775
3828
  sublabelColor?: string | undefined;
2776
3829
  sublabel2?: string | undefined;
@@ -2782,50 +3835,67 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
2782
3835
  borderColor?: string | undefined;
2783
3836
  borderWidth?: number | undefined;
2784
3837
  cornerRadius?: number | undefined;
2785
- width?: number | undefined;
2786
- height?: number | undefined;
2787
3838
  fillOpacity?: number | undefined;
2788
3839
  opacity?: number | undefined;
2789
3840
  badgeText?: string | undefined;
2790
3841
  badgeColor?: string | undefined;
2791
3842
  badgeBackground?: string | undefined;
2792
3843
  badgePosition?: "top" | "inside-top" | undefined;
3844
+ shadow?: {
3845
+ color?: string | undefined;
3846
+ opacity?: number | undefined;
3847
+ blur?: number | undefined;
3848
+ offsetX?: number | undefined;
3849
+ offsetY?: number | undefined;
3850
+ } | undefined;
2793
3851
  }>, z.ZodObject<{
2794
3852
  type: z.ZodLiteral<"connection">;
2795
3853
  from: z.ZodString;
2796
3854
  to: z.ZodString;
2797
3855
  style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
3856
+ strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2798
3857
  arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
2799
3858
  label: z.ZodOptional<z.ZodString>;
2800
3859
  labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
2801
3860
  color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2802
3861
  width: z.ZodOptional<z.ZodNumber>;
3862
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
2803
3863
  arrowSize: z.ZodOptional<z.ZodNumber>;
2804
3864
  opacity: z.ZodDefault<z.ZodNumber>;
3865
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
3866
+ tension: z.ZodDefault<z.ZodNumber>;
2805
3867
  }, "strict", z.ZodTypeAny, {
2806
3868
  type: "connection";
2807
3869
  opacity: number;
2808
3870
  from: string;
2809
3871
  to: string;
2810
3872
  style: "solid" | "dashed" | "dotted";
3873
+ strokeStyle: "solid" | "dashed" | "dotted";
2811
3874
  arrow: "end" | "start" | "both" | "none";
2812
3875
  labelPosition: "end" | "start" | "middle";
3876
+ strokeWidth: number;
3877
+ routing: "auto" | "orthogonal" | "curve" | "arc";
3878
+ tension: number;
3879
+ width?: number | undefined;
2813
3880
  label?: string | undefined;
2814
3881
  color?: string | undefined;
2815
- width?: number | undefined;
2816
3882
  arrowSize?: number | undefined;
2817
3883
  }, {
2818
3884
  type: "connection";
2819
3885
  from: string;
2820
3886
  to: string;
3887
+ width?: number | undefined;
2821
3888
  label?: string | undefined;
2822
3889
  color?: string | undefined;
2823
- width?: number | undefined;
2824
3890
  opacity?: number | undefined;
2825
3891
  style?: "solid" | "dashed" | "dotted" | undefined;
3892
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
2826
3893
  arrow?: "end" | "start" | "both" | "none" | undefined;
2827
3894
  labelPosition?: "end" | "start" | "middle" | undefined;
3895
+ strokeWidth?: number | undefined;
2828
3896
  arrowSize?: number | undefined;
3897
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
3898
+ tension?: number | undefined;
2829
3899
  }>, z.ZodObject<{
2830
3900
  type: z.ZodLiteral<"code-block">;
2831
3901
  id: z.ZodString;
@@ -3033,8 +4103,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3033
4103
  id: string;
3034
4104
  shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
3035
4105
  fill?: string | undefined;
3036
- stroke?: string | undefined;
3037
4106
  strokeWidth?: number | undefined;
4107
+ stroke?: string | undefined;
3038
4108
  }>, z.ZodObject<{
3039
4109
  type: z.ZodLiteral<"image">;
3040
4110
  id: z.ZodString;
@@ -3043,18 +4113,18 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3043
4113
  fit: z.ZodDefault<z.ZodEnum<["contain", "cover", "fill", "none"]>>;
3044
4114
  borderRadius: z.ZodDefault<z.ZodNumber>;
3045
4115
  }, "strict", z.ZodTypeAny, {
4116
+ fit: "contain" | "cover" | "fill" | "none";
3046
4117
  type: "image";
3047
4118
  id: string;
3048
4119
  src: string;
3049
- fit: "fill" | "none" | "contain" | "cover";
3050
4120
  borderRadius: number;
3051
4121
  alt?: string | undefined;
3052
4122
  }, {
3053
4123
  type: "image";
3054
4124
  id: string;
3055
4125
  src: string;
4126
+ fit?: "contain" | "cover" | "fill" | "none" | undefined;
3056
4127
  alt?: string | undefined;
3057
- fit?: "fill" | "none" | "contain" | "cover" | undefined;
3058
4128
  borderRadius?: number | undefined;
3059
4129
  }>]>, "many">>;
3060
4130
  footer: z.ZodOptional<z.ZodObject<{
@@ -3202,9 +4272,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3202
4272
  radius: z.ZodDefault<z.ZodNumber>;
3203
4273
  opacity: z.ZodDefault<z.ZodNumber>;
3204
4274
  }, "strict", z.ZodTypeAny, {
3205
- type: "rect";
3206
4275
  width: number;
3207
4276
  height: number;
4277
+ type: "rect";
3208
4278
  opacity: number;
3209
4279
  strokeWidth: number;
3210
4280
  x: number;
@@ -3213,15 +4283,15 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3213
4283
  fill?: string | undefined;
3214
4284
  stroke?: string | undefined;
3215
4285
  }, {
3216
- type: "rect";
3217
4286
  width: number;
3218
4287
  height: number;
4288
+ type: "rect";
3219
4289
  x: number;
3220
4290
  y: number;
3221
4291
  fill?: string | undefined;
3222
4292
  opacity?: number | undefined;
3223
- stroke?: string | undefined;
3224
4293
  strokeWidth?: number | undefined;
4294
+ stroke?: string | undefined;
3225
4295
  radius?: number | undefined;
3226
4296
  }>, z.ZodObject<{
3227
4297
  type: z.ZodLiteral<"circle">;
@@ -3248,8 +4318,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3248
4318
  cy: number;
3249
4319
  fill?: string | undefined;
3250
4320
  opacity?: number | undefined;
3251
- stroke?: string | undefined;
3252
4321
  strokeWidth?: number | undefined;
4322
+ stroke?: string | undefined;
3253
4323
  }>, z.ZodObject<{
3254
4324
  type: z.ZodLiteral<"text">;
3255
4325
  x: z.ZodNumber;
@@ -3305,9 +4375,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3305
4375
  arrowSize: z.ZodDefault<z.ZodNumber>;
3306
4376
  opacity: z.ZodDefault<z.ZodNumber>;
3307
4377
  }, "strict", z.ZodTypeAny, {
4378
+ width: number;
3308
4379
  type: "line";
3309
4380
  color: string;
3310
- width: number;
3311
4381
  opacity: number;
3312
4382
  arrow: "end" | "start" | "both" | "none";
3313
4383
  arrowSize: number;
@@ -3322,8 +4392,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3322
4392
  y1: number;
3323
4393
  x2: number;
3324
4394
  y2: number;
3325
- color?: string | undefined;
3326
4395
  width?: number | undefined;
4396
+ color?: string | undefined;
3327
4397
  opacity?: number | undefined;
3328
4398
  arrow?: "end" | "start" | "both" | "none" | undefined;
3329
4399
  arrowSize?: number | undefined;
@@ -3347,9 +4417,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3347
4417
  arrowSize: z.ZodDefault<z.ZodNumber>;
3348
4418
  opacity: z.ZodDefault<z.ZodNumber>;
3349
4419
  }, "strict", z.ZodTypeAny, {
4420
+ width: number;
3350
4421
  type: "bezier";
3351
4422
  color: string;
3352
- width: number;
3353
4423
  opacity: number;
3354
4424
  arrow: "end" | "start" | "both" | "none";
3355
4425
  arrowSize: number;
@@ -3364,8 +4434,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3364
4434
  x: number;
3365
4435
  y: number;
3366
4436
  }[];
3367
- color?: string | undefined;
3368
4437
  width?: number | undefined;
4438
+ color?: string | undefined;
3369
4439
  opacity?: number | undefined;
3370
4440
  arrow?: "end" | "start" | "both" | "none" | undefined;
3371
4441
  arrowSize?: number | undefined;
@@ -3389,8 +4459,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3389
4459
  d: string;
3390
4460
  fill?: string | undefined;
3391
4461
  opacity?: number | undefined;
3392
- stroke?: string | undefined;
3393
4462
  strokeWidth?: number | undefined;
4463
+ stroke?: string | undefined;
3394
4464
  }>, z.ZodObject<{
3395
4465
  type: z.ZodLiteral<"badge">;
3396
4466
  x: z.ZodNumber;
@@ -3491,9 +4561,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3491
4561
  radius: z.ZodDefault<z.ZodNumber>;
3492
4562
  opacity: z.ZodDefault<z.ZodNumber>;
3493
4563
  }, "strict", z.ZodTypeAny, {
3494
- type: "gradient-rect";
3495
4564
  width: number;
3496
4565
  height: number;
4566
+ type: "gradient-rect";
3497
4567
  opacity: number;
3498
4568
  x: number;
3499
4569
  y: number;
@@ -3513,9 +4583,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3513
4583
  }[];
3514
4584
  };
3515
4585
  }, {
3516
- type: "gradient-rect";
3517
4586
  width: number;
3518
4587
  height: number;
4588
+ type: "gradient-rect";
3519
4589
  x: number;
3520
4590
  y: number;
3521
4591
  gradient: {
@@ -3551,6 +4621,17 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3551
4621
  radialCompaction: z.ZodOptional<z.ZodEnum<["none", "radial", "wedge"]>>;
3552
4622
  /** Sort strategy for radial layout node ordering. Only relevant when algorithm is 'radial'. */
3553
4623
  radialSortBy: z.ZodOptional<z.ZodEnum<["id", "connections"]>>;
4624
+ /** Explicit center used by curve/arc connection routing. */
4625
+ diagramCenter: z.ZodOptional<z.ZodObject<{
4626
+ x: z.ZodNumber;
4627
+ y: z.ZodNumber;
4628
+ }, "strict", z.ZodTypeAny, {
4629
+ x: number;
4630
+ y: number;
4631
+ }, {
4632
+ x: number;
4633
+ y: number;
4634
+ }>>;
3554
4635
  }, "strict", z.ZodTypeAny, {
3555
4636
  mode: "auto";
3556
4637
  direction: "TB" | "BT" | "LR" | "RL";
@@ -3558,6 +4639,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3558
4639
  nodeSpacing: number;
3559
4640
  rankSpacing: number;
3560
4641
  edgeRouting: "orthogonal" | "polyline" | "spline";
4642
+ diagramCenter?: {
4643
+ x: number;
4644
+ y: number;
4645
+ } | undefined;
3561
4646
  aspectRatio?: number | undefined;
3562
4647
  radialRoot?: string | undefined;
3563
4648
  radialRadius?: number | undefined;
@@ -3566,6 +4651,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3566
4651
  }, {
3567
4652
  mode: "auto";
3568
4653
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
4654
+ diagramCenter?: {
4655
+ x: number;
4656
+ y: number;
4657
+ } | undefined;
3569
4658
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
3570
4659
  nodeSpacing?: number | undefined;
3571
4660
  rankSpacing?: number | undefined;
@@ -3582,16 +4671,35 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3582
4671
  cardMinHeight: z.ZodOptional<z.ZodNumber>;
3583
4672
  cardMaxHeight: z.ZodOptional<z.ZodNumber>;
3584
4673
  equalHeight: z.ZodDefault<z.ZodBoolean>;
4674
+ /** Explicit center used by curve/arc connection routing. */
4675
+ diagramCenter: z.ZodOptional<z.ZodObject<{
4676
+ x: z.ZodNumber;
4677
+ y: z.ZodNumber;
4678
+ }, "strict", z.ZodTypeAny, {
4679
+ x: number;
4680
+ y: number;
4681
+ }, {
4682
+ x: number;
4683
+ y: number;
4684
+ }>>;
3585
4685
  }, "strict", z.ZodTypeAny, {
3586
4686
  mode: "grid";
3587
4687
  gap: number;
3588
4688
  columns: number;
3589
4689
  equalHeight: boolean;
4690
+ diagramCenter?: {
4691
+ x: number;
4692
+ y: number;
4693
+ } | undefined;
3590
4694
  cardMinHeight?: number | undefined;
3591
4695
  cardMaxHeight?: number | undefined;
3592
4696
  }, {
3593
4697
  mode: "grid";
3594
4698
  gap?: number | undefined;
4699
+ diagramCenter?: {
4700
+ x: number;
4701
+ y: number;
4702
+ } | undefined;
3595
4703
  columns?: number | undefined;
3596
4704
  cardMinHeight?: number | undefined;
3597
4705
  cardMaxHeight?: number | undefined;
@@ -3601,16 +4709,35 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3601
4709
  direction: z.ZodDefault<z.ZodEnum<["vertical", "horizontal"]>>;
3602
4710
  gap: z.ZodDefault<z.ZodNumber>;
3603
4711
  alignment: z.ZodDefault<z.ZodEnum<["start", "center", "end", "stretch"]>>;
4712
+ /** Explicit center used by curve/arc connection routing. */
4713
+ diagramCenter: z.ZodOptional<z.ZodObject<{
4714
+ x: z.ZodNumber;
4715
+ y: z.ZodNumber;
4716
+ }, "strict", z.ZodTypeAny, {
4717
+ x: number;
4718
+ y: number;
4719
+ }, {
4720
+ x: number;
4721
+ y: number;
4722
+ }>>;
3604
4723
  }, "strict", z.ZodTypeAny, {
3605
4724
  mode: "stack";
3606
4725
  direction: "vertical" | "horizontal";
3607
4726
  gap: number;
3608
4727
  alignment: "end" | "start" | "center" | "stretch";
4728
+ diagramCenter?: {
4729
+ x: number;
4730
+ y: number;
4731
+ } | undefined;
3609
4732
  }, {
3610
4733
  mode: "stack";
3611
4734
  direction?: "vertical" | "horizontal" | undefined;
3612
4735
  gap?: number | undefined;
3613
4736
  alignment?: "end" | "start" | "center" | "stretch" | undefined;
4737
+ diagramCenter?: {
4738
+ x: number;
4739
+ y: number;
4740
+ } | undefined;
3614
4741
  }>, z.ZodObject<{
3615
4742
  mode: z.ZodLiteral<"manual">;
3616
4743
  positions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
@@ -3629,6 +4756,17 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3629
4756
  width?: number | undefined;
3630
4757
  height?: number | undefined;
3631
4758
  }>>>;
4759
+ /** Explicit center used by curve/arc connection routing. */
4760
+ diagramCenter: z.ZodOptional<z.ZodObject<{
4761
+ x: z.ZodNumber;
4762
+ y: z.ZodNumber;
4763
+ }, "strict", z.ZodTypeAny, {
4764
+ x: number;
4765
+ y: number;
4766
+ }, {
4767
+ x: number;
4768
+ y: number;
4769
+ }>>;
3632
4770
  }, "strict", z.ZodTypeAny, {
3633
4771
  mode: "manual";
3634
4772
  positions: Record<string, {
@@ -3637,8 +4775,16 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3637
4775
  width?: number | undefined;
3638
4776
  height?: number | undefined;
3639
4777
  }>;
4778
+ diagramCenter?: {
4779
+ x: number;
4780
+ y: number;
4781
+ } | undefined;
3640
4782
  }, {
3641
4783
  mode: "manual";
4784
+ diagramCenter?: {
4785
+ x: number;
4786
+ y: number;
4787
+ } | undefined;
3642
4788
  positions?: Record<string, {
3643
4789
  x: number;
3644
4790
  y: number;
@@ -3664,9 +4810,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3664
4810
  }>>;
3665
4811
  }, "strict", z.ZodTypeAny, {
3666
4812
  draw: ({
3667
- type: "rect";
3668
4813
  width: number;
3669
4814
  height: number;
4815
+ type: "rect";
3670
4816
  opacity: number;
3671
4817
  strokeWidth: number;
3672
4818
  x: number;
@@ -3698,9 +4844,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3698
4844
  letterSpacing: number;
3699
4845
  maxWidth?: number | undefined;
3700
4846
  } | {
4847
+ width: number;
3701
4848
  type: "line";
3702
4849
  color: string;
3703
- width: number;
3704
4850
  opacity: number;
3705
4851
  arrow: "end" | "start" | "both" | "none";
3706
4852
  arrowSize: number;
@@ -3710,9 +4856,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3710
4856
  y2: number;
3711
4857
  dash?: number[] | undefined;
3712
4858
  } | {
4859
+ width: number;
3713
4860
  type: "bezier";
3714
4861
  color: string;
3715
- width: number;
3716
4862
  opacity: number;
3717
4863
  arrow: "end" | "start" | "both" | "none";
3718
4864
  arrowSize: number;
@@ -3742,9 +4888,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3742
4888
  paddingX: number;
3743
4889
  paddingY: number;
3744
4890
  } | {
3745
- type: "gradient-rect";
3746
4891
  width: number;
3747
4892
  height: number;
4893
+ type: "gradient-rect";
3748
4894
  opacity: number;
3749
4895
  x: number;
3750
4896
  y: number;
@@ -3808,11 +4954,13 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3808
4954
  elements: ({
3809
4955
  type: "flow-node";
3810
4956
  id: string;
3811
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
4957
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
3812
4958
  label: string;
3813
4959
  fillOpacity: number;
3814
4960
  opacity: number;
3815
4961
  badgePosition: "top" | "inside-top";
4962
+ width?: number | undefined;
4963
+ height?: number | undefined;
3816
4964
  sublabel?: string | undefined;
3817
4965
  sublabelColor?: string | undefined;
3818
4966
  sublabel2?: string | undefined;
@@ -3824,11 +4972,16 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3824
4972
  borderColor?: string | undefined;
3825
4973
  borderWidth?: number | undefined;
3826
4974
  cornerRadius?: number | undefined;
3827
- width?: number | undefined;
3828
- height?: number | undefined;
3829
4975
  badgeText?: string | undefined;
3830
4976
  badgeColor?: string | undefined;
3831
4977
  badgeBackground?: string | undefined;
4978
+ shadow?: {
4979
+ opacity: number;
4980
+ blur: number;
4981
+ offsetX: number;
4982
+ offsetY: number;
4983
+ color?: string | undefined;
4984
+ } | undefined;
3832
4985
  } | {
3833
4986
  body: string;
3834
4987
  type: "card";
@@ -3844,11 +4997,15 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3844
4997
  from: string;
3845
4998
  to: string;
3846
4999
  style: "solid" | "dashed" | "dotted";
5000
+ strokeStyle: "solid" | "dashed" | "dotted";
3847
5001
  arrow: "end" | "start" | "both" | "none";
3848
5002
  labelPosition: "end" | "start" | "middle";
5003
+ strokeWidth: number;
5004
+ routing: "auto" | "orthogonal" | "curve" | "arc";
5005
+ tension: number;
5006
+ width?: number | undefined;
3849
5007
  label?: string | undefined;
3850
5008
  color?: string | undefined;
3851
- width?: number | undefined;
3852
5009
  arrowSize?: number | undefined;
3853
5010
  } | {
3854
5011
  type: "code-block";
@@ -3906,10 +5063,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3906
5063
  fill?: string | undefined;
3907
5064
  stroke?: string | undefined;
3908
5065
  } | {
5066
+ fit: "contain" | "cover" | "fill" | "none";
3909
5067
  type: "image";
3910
5068
  id: string;
3911
5069
  src: string;
3912
- fit: "fill" | "none" | "contain" | "cover";
3913
5070
  borderRadius: number;
3914
5071
  alt?: string | undefined;
3915
5072
  })[];
@@ -3979,6 +5136,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3979
5136
  direction: "vertical" | "horizontal";
3980
5137
  gap: number;
3981
5138
  alignment: "end" | "start" | "center" | "stretch";
5139
+ diagramCenter?: {
5140
+ x: number;
5141
+ y: number;
5142
+ } | undefined;
3982
5143
  } | {
3983
5144
  mode: "auto";
3984
5145
  direction: "TB" | "BT" | "LR" | "RL";
@@ -3986,6 +5147,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3986
5147
  nodeSpacing: number;
3987
5148
  rankSpacing: number;
3988
5149
  edgeRouting: "orthogonal" | "polyline" | "spline";
5150
+ diagramCenter?: {
5151
+ x: number;
5152
+ y: number;
5153
+ } | undefined;
3989
5154
  aspectRatio?: number | undefined;
3990
5155
  radialRoot?: string | undefined;
3991
5156
  radialRadius?: number | undefined;
@@ -3996,6 +5161,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
3996
5161
  gap: number;
3997
5162
  columns: number;
3998
5163
  equalHeight: boolean;
5164
+ diagramCenter?: {
5165
+ x: number;
5166
+ y: number;
5167
+ } | undefined;
3999
5168
  cardMinHeight?: number | undefined;
4000
5169
  cardMaxHeight?: number | undefined;
4001
5170
  } | {
@@ -4006,6 +5175,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4006
5175
  width?: number | undefined;
4007
5176
  height?: number | undefined;
4008
5177
  }>;
5178
+ diagramCenter?: {
5179
+ x: number;
5180
+ y: number;
5181
+ } | undefined;
4009
5182
  } | undefined;
4010
5183
  }, {
4011
5184
  background?: string | {
@@ -4035,15 +5208,15 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4035
5208
  tagline?: string | undefined;
4036
5209
  } | undefined;
4037
5210
  draw?: ({
4038
- type: "rect";
4039
5211
  width: number;
4040
5212
  height: number;
5213
+ type: "rect";
4041
5214
  x: number;
4042
5215
  y: number;
4043
5216
  fill?: string | undefined;
4044
5217
  opacity?: number | undefined;
4045
- stroke?: string | undefined;
4046
5218
  strokeWidth?: number | undefined;
5219
+ stroke?: string | undefined;
4047
5220
  radius?: number | undefined;
4048
5221
  } | {
4049
5222
  type: "circle";
@@ -4052,8 +5225,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4052
5225
  cy: number;
4053
5226
  fill?: string | undefined;
4054
5227
  opacity?: number | undefined;
4055
- stroke?: string | undefined;
4056
5228
  strokeWidth?: number | undefined;
5229
+ stroke?: string | undefined;
4057
5230
  } | {
4058
5231
  type: "text";
4059
5232
  text: string;
@@ -4074,8 +5247,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4074
5247
  y1: number;
4075
5248
  x2: number;
4076
5249
  y2: number;
4077
- color?: string | undefined;
4078
5250
  width?: number | undefined;
5251
+ color?: string | undefined;
4079
5252
  opacity?: number | undefined;
4080
5253
  arrow?: "end" | "start" | "both" | "none" | undefined;
4081
5254
  arrowSize?: number | undefined;
@@ -4086,8 +5259,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4086
5259
  x: number;
4087
5260
  y: number;
4088
5261
  }[];
4089
- color?: string | undefined;
4090
5262
  width?: number | undefined;
5263
+ color?: string | undefined;
4091
5264
  opacity?: number | undefined;
4092
5265
  arrow?: "end" | "start" | "both" | "none" | undefined;
4093
5266
  arrowSize?: number | undefined;
@@ -4097,8 +5270,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4097
5270
  d: string;
4098
5271
  fill?: string | undefined;
4099
5272
  opacity?: number | undefined;
4100
- stroke?: string | undefined;
4101
5273
  strokeWidth?: number | undefined;
5274
+ stroke?: string | undefined;
4102
5275
  } | {
4103
5276
  type: "badge";
4104
5277
  text: string;
@@ -4113,9 +5286,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4113
5286
  paddingX?: number | undefined;
4114
5287
  paddingY?: number | undefined;
4115
5288
  } | {
4116
- type: "gradient-rect";
4117
5289
  width: number;
4118
5290
  height: number;
5291
+ type: "gradient-rect";
4119
5292
  x: number;
4120
5293
  y: number;
4121
5294
  gradient: {
@@ -4179,8 +5352,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4179
5352
  elements?: ({
4180
5353
  type: "flow-node";
4181
5354
  id: string;
4182
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
4183
5355
  label: string;
5356
+ width?: number | undefined;
5357
+ height?: number | undefined;
5358
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
4184
5359
  sublabel?: string | undefined;
4185
5360
  sublabelColor?: string | undefined;
4186
5361
  sublabel2?: string | undefined;
@@ -4192,14 +5367,19 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4192
5367
  borderColor?: string | undefined;
4193
5368
  borderWidth?: number | undefined;
4194
5369
  cornerRadius?: number | undefined;
4195
- width?: number | undefined;
4196
- height?: number | undefined;
4197
5370
  fillOpacity?: number | undefined;
4198
5371
  opacity?: number | undefined;
4199
5372
  badgeText?: string | undefined;
4200
5373
  badgeColor?: string | undefined;
4201
5374
  badgeBackground?: string | undefined;
4202
5375
  badgePosition?: "top" | "inside-top" | undefined;
5376
+ shadow?: {
5377
+ color?: string | undefined;
5378
+ opacity?: number | undefined;
5379
+ blur?: number | undefined;
5380
+ offsetX?: number | undefined;
5381
+ offsetY?: number | undefined;
5382
+ } | undefined;
4203
5383
  } | {
4204
5384
  body: string;
4205
5385
  type: "card";
@@ -4213,14 +5393,18 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4213
5393
  type: "connection";
4214
5394
  from: string;
4215
5395
  to: string;
5396
+ width?: number | undefined;
4216
5397
  label?: string | undefined;
4217
5398
  color?: string | undefined;
4218
- width?: number | undefined;
4219
5399
  opacity?: number | undefined;
4220
5400
  style?: "solid" | "dashed" | "dotted" | undefined;
5401
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
4221
5402
  arrow?: "end" | "start" | "both" | "none" | undefined;
4222
5403
  labelPosition?: "end" | "start" | "middle" | undefined;
5404
+ strokeWidth?: number | undefined;
4223
5405
  arrowSize?: number | undefined;
5406
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
5407
+ tension?: number | undefined;
4224
5408
  } | {
4225
5409
  type: "code-block";
4226
5410
  code: string;
@@ -4274,14 +5458,14 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4274
5458
  id: string;
4275
5459
  shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
4276
5460
  fill?: string | undefined;
4277
- stroke?: string | undefined;
4278
5461
  strokeWidth?: number | undefined;
5462
+ stroke?: string | undefined;
4279
5463
  } | {
4280
5464
  type: "image";
4281
5465
  id: string;
4282
5466
  src: string;
5467
+ fit?: "contain" | "cover" | "fill" | "none" | undefined;
4283
5468
  alt?: string | undefined;
4284
- fit?: "fill" | "none" | "contain" | "cover" | undefined;
4285
5469
  borderRadius?: number | undefined;
4286
5470
  })[] | undefined;
4287
5471
  decorators?: ({
@@ -4318,9 +5502,17 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4318
5502
  direction?: "vertical" | "horizontal" | undefined;
4319
5503
  gap?: number | undefined;
4320
5504
  alignment?: "end" | "start" | "center" | "stretch" | undefined;
5505
+ diagramCenter?: {
5506
+ x: number;
5507
+ y: number;
5508
+ } | undefined;
4321
5509
  } | {
4322
5510
  mode: "auto";
4323
5511
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
5512
+ diagramCenter?: {
5513
+ x: number;
5514
+ y: number;
5515
+ } | undefined;
4324
5516
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
4325
5517
  nodeSpacing?: number | undefined;
4326
5518
  rankSpacing?: number | undefined;
@@ -4333,12 +5525,20 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4333
5525
  } | {
4334
5526
  mode: "grid";
4335
5527
  gap?: number | undefined;
5528
+ diagramCenter?: {
5529
+ x: number;
5530
+ y: number;
5531
+ } | undefined;
4336
5532
  columns?: number | undefined;
4337
5533
  cardMinHeight?: number | undefined;
4338
5534
  cardMaxHeight?: number | undefined;
4339
5535
  equalHeight?: boolean | undefined;
4340
5536
  } | {
4341
5537
  mode: "manual";
5538
+ diagramCenter?: {
5539
+ x: number;
5540
+ y: number;
5541
+ } | undefined;
4342
5542
  positions?: Record<string, {
4343
5543
  x: number;
4344
5544
  y: number;
@@ -4358,6 +5558,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4358
5558
  direction: "vertical" | "horizontal";
4359
5559
  gap: number;
4360
5560
  alignment: "end" | "start" | "center" | "stretch";
5561
+ diagramCenter?: {
5562
+ x: number;
5563
+ y: number;
5564
+ } | undefined;
4361
5565
  } | {
4362
5566
  mode: "auto";
4363
5567
  direction: "TB" | "BT" | "LR" | "RL";
@@ -4365,6 +5569,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4365
5569
  nodeSpacing: number;
4366
5570
  rankSpacing: number;
4367
5571
  edgeRouting: "orthogonal" | "polyline" | "spline";
5572
+ diagramCenter?: {
5573
+ x: number;
5574
+ y: number;
5575
+ } | undefined;
4368
5576
  aspectRatio?: number | undefined;
4369
5577
  radialRoot?: string | undefined;
4370
5578
  radialRadius?: number | undefined;
@@ -4375,6 +5583,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4375
5583
  gap: number;
4376
5584
  columns: number;
4377
5585
  equalHeight: boolean;
5586
+ diagramCenter?: {
5587
+ x: number;
5588
+ y: number;
5589
+ } | undefined;
4378
5590
  cardMinHeight?: number | undefined;
4379
5591
  cardMaxHeight?: number | undefined;
4380
5592
  } | {
@@ -4385,11 +5597,15 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4385
5597
  width?: number | undefined;
4386
5598
  height?: number | undefined;
4387
5599
  }>;
5600
+ diagramCenter?: {
5601
+ x: number;
5602
+ y: number;
5603
+ } | undefined;
4388
5604
  };
4389
5605
  draw: ({
4390
- type: "rect";
4391
5606
  width: number;
4392
5607
  height: number;
5608
+ type: "rect";
4393
5609
  opacity: number;
4394
5610
  strokeWidth: number;
4395
5611
  x: number;
@@ -4421,9 +5637,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4421
5637
  letterSpacing: number;
4422
5638
  maxWidth?: number | undefined;
4423
5639
  } | {
5640
+ width: number;
4424
5641
  type: "line";
4425
5642
  color: string;
4426
- width: number;
4427
5643
  opacity: number;
4428
5644
  arrow: "end" | "start" | "both" | "none";
4429
5645
  arrowSize: number;
@@ -4433,9 +5649,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4433
5649
  y2: number;
4434
5650
  dash?: number[] | undefined;
4435
5651
  } | {
5652
+ width: number;
4436
5653
  type: "bezier";
4437
5654
  color: string;
4438
- width: number;
4439
5655
  opacity: number;
4440
5656
  arrow: "end" | "start" | "both" | "none";
4441
5657
  arrowSize: number;
@@ -4465,9 +5681,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4465
5681
  paddingX: number;
4466
5682
  paddingY: number;
4467
5683
  } | {
4468
- type: "gradient-rect";
4469
5684
  width: number;
4470
5685
  height: number;
5686
+ type: "gradient-rect";
4471
5687
  opacity: number;
4472
5688
  x: number;
4473
5689
  y: number;
@@ -4531,11 +5747,13 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4531
5747
  elements: ({
4532
5748
  type: "flow-node";
4533
5749
  id: string;
4534
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
5750
+ shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon";
4535
5751
  label: string;
4536
5752
  fillOpacity: number;
4537
5753
  opacity: number;
4538
5754
  badgePosition: "top" | "inside-top";
5755
+ width?: number | undefined;
5756
+ height?: number | undefined;
4539
5757
  sublabel?: string | undefined;
4540
5758
  sublabelColor?: string | undefined;
4541
5759
  sublabel2?: string | undefined;
@@ -4547,11 +5765,16 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4547
5765
  borderColor?: string | undefined;
4548
5766
  borderWidth?: number | undefined;
4549
5767
  cornerRadius?: number | undefined;
4550
- width?: number | undefined;
4551
- height?: number | undefined;
4552
5768
  badgeText?: string | undefined;
4553
5769
  badgeColor?: string | undefined;
4554
5770
  badgeBackground?: string | undefined;
5771
+ shadow?: {
5772
+ opacity: number;
5773
+ blur: number;
5774
+ offsetX: number;
5775
+ offsetY: number;
5776
+ color?: string | undefined;
5777
+ } | undefined;
4555
5778
  } | {
4556
5779
  body: string;
4557
5780
  type: "card";
@@ -4567,11 +5790,15 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4567
5790
  from: string;
4568
5791
  to: string;
4569
5792
  style: "solid" | "dashed" | "dotted";
5793
+ strokeStyle: "solid" | "dashed" | "dotted";
4570
5794
  arrow: "end" | "start" | "both" | "none";
4571
5795
  labelPosition: "end" | "start" | "middle";
5796
+ strokeWidth: number;
5797
+ routing: "auto" | "orthogonal" | "curve" | "arc";
5798
+ tension: number;
5799
+ width?: number | undefined;
4572
5800
  label?: string | undefined;
4573
5801
  color?: string | undefined;
4574
- width?: number | undefined;
4575
5802
  arrowSize?: number | undefined;
4576
5803
  } | {
4577
5804
  type: "code-block";
@@ -4629,10 +5856,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4629
5856
  fill?: string | undefined;
4630
5857
  stroke?: string | undefined;
4631
5858
  } | {
5859
+ fit: "contain" | "cover" | "fill" | "none";
4632
5860
  type: "image";
4633
5861
  id: string;
4634
5862
  src: string;
4635
- fit: "fill" | "none" | "contain" | "cover";
4636
5863
  borderRadius: number;
4637
5864
  alt?: string | undefined;
4638
5865
  })[];
@@ -4725,15 +5952,15 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4725
5952
  tagline?: string | undefined;
4726
5953
  } | undefined;
4727
5954
  draw?: ({
4728
- type: "rect";
4729
5955
  width: number;
4730
5956
  height: number;
5957
+ type: "rect";
4731
5958
  x: number;
4732
5959
  y: number;
4733
5960
  fill?: string | undefined;
4734
5961
  opacity?: number | undefined;
4735
- stroke?: string | undefined;
4736
5962
  strokeWidth?: number | undefined;
5963
+ stroke?: string | undefined;
4737
5964
  radius?: number | undefined;
4738
5965
  } | {
4739
5966
  type: "circle";
@@ -4742,8 +5969,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4742
5969
  cy: number;
4743
5970
  fill?: string | undefined;
4744
5971
  opacity?: number | undefined;
4745
- stroke?: string | undefined;
4746
5972
  strokeWidth?: number | undefined;
5973
+ stroke?: string | undefined;
4747
5974
  } | {
4748
5975
  type: "text";
4749
5976
  text: string;
@@ -4764,8 +5991,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4764
5991
  y1: number;
4765
5992
  x2: number;
4766
5993
  y2: number;
4767
- color?: string | undefined;
4768
5994
  width?: number | undefined;
5995
+ color?: string | undefined;
4769
5996
  opacity?: number | undefined;
4770
5997
  arrow?: "end" | "start" | "both" | "none" | undefined;
4771
5998
  arrowSize?: number | undefined;
@@ -4776,8 +6003,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4776
6003
  x: number;
4777
6004
  y: number;
4778
6005
  }[];
4779
- color?: string | undefined;
4780
6006
  width?: number | undefined;
6007
+ color?: string | undefined;
4781
6008
  opacity?: number | undefined;
4782
6009
  arrow?: "end" | "start" | "both" | "none" | undefined;
4783
6010
  arrowSize?: number | undefined;
@@ -4787,8 +6014,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4787
6014
  d: string;
4788
6015
  fill?: string | undefined;
4789
6016
  opacity?: number | undefined;
4790
- stroke?: string | undefined;
4791
6017
  strokeWidth?: number | undefined;
6018
+ stroke?: string | undefined;
4792
6019
  } | {
4793
6020
  type: "badge";
4794
6021
  text: string;
@@ -4803,9 +6030,9 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4803
6030
  paddingX?: number | undefined;
4804
6031
  paddingY?: number | undefined;
4805
6032
  } | {
4806
- type: "gradient-rect";
4807
6033
  width: number;
4808
6034
  height: number;
6035
+ type: "gradient-rect";
4809
6036
  x: number;
4810
6037
  y: number;
4811
6038
  gradient: {
@@ -4869,8 +6096,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4869
6096
  elements?: ({
4870
6097
  type: "flow-node";
4871
6098
  id: string;
4872
- shape: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram";
4873
6099
  label: string;
6100
+ width?: number | undefined;
6101
+ height?: number | undefined;
6102
+ shape?: "box" | "rounded-box" | "diamond" | "circle" | "pill" | "cylinder" | "parallelogram" | "hexagon" | undefined;
4874
6103
  sublabel?: string | undefined;
4875
6104
  sublabelColor?: string | undefined;
4876
6105
  sublabel2?: string | undefined;
@@ -4882,14 +6111,19 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4882
6111
  borderColor?: string | undefined;
4883
6112
  borderWidth?: number | undefined;
4884
6113
  cornerRadius?: number | undefined;
4885
- width?: number | undefined;
4886
- height?: number | undefined;
4887
6114
  fillOpacity?: number | undefined;
4888
6115
  opacity?: number | undefined;
4889
6116
  badgeText?: string | undefined;
4890
6117
  badgeColor?: string | undefined;
4891
6118
  badgeBackground?: string | undefined;
4892
6119
  badgePosition?: "top" | "inside-top" | undefined;
6120
+ shadow?: {
6121
+ color?: string | undefined;
6122
+ opacity?: number | undefined;
6123
+ blur?: number | undefined;
6124
+ offsetX?: number | undefined;
6125
+ offsetY?: number | undefined;
6126
+ } | undefined;
4893
6127
  } | {
4894
6128
  body: string;
4895
6129
  type: "card";
@@ -4903,14 +6137,18 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4903
6137
  type: "connection";
4904
6138
  from: string;
4905
6139
  to: string;
6140
+ width?: number | undefined;
4906
6141
  label?: string | undefined;
4907
6142
  color?: string | undefined;
4908
- width?: number | undefined;
4909
6143
  opacity?: number | undefined;
4910
6144
  style?: "solid" | "dashed" | "dotted" | undefined;
6145
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
4911
6146
  arrow?: "end" | "start" | "both" | "none" | undefined;
4912
6147
  labelPosition?: "end" | "start" | "middle" | undefined;
6148
+ strokeWidth?: number | undefined;
4913
6149
  arrowSize?: number | undefined;
6150
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
6151
+ tension?: number | undefined;
4914
6152
  } | {
4915
6153
  type: "code-block";
4916
6154
  code: string;
@@ -4964,14 +6202,14 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4964
6202
  id: string;
4965
6203
  shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
4966
6204
  fill?: string | undefined;
4967
- stroke?: string | undefined;
4968
6205
  strokeWidth?: number | undefined;
6206
+ stroke?: string | undefined;
4969
6207
  } | {
4970
6208
  type: "image";
4971
6209
  id: string;
4972
6210
  src: string;
6211
+ fit?: "contain" | "cover" | "fill" | "none" | undefined;
4973
6212
  alt?: string | undefined;
4974
- fit?: "fill" | "none" | "contain" | "cover" | undefined;
4975
6213
  borderRadius?: number | undefined;
4976
6214
  })[] | undefined;
4977
6215
  decorators?: ({
@@ -5008,9 +6246,17 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
5008
6246
  direction?: "vertical" | "horizontal" | undefined;
5009
6247
  gap?: number | undefined;
5010
6248
  alignment?: "end" | "start" | "center" | "stretch" | undefined;
6249
+ diagramCenter?: {
6250
+ x: number;
6251
+ y: number;
6252
+ } | undefined;
5011
6253
  } | {
5012
6254
  mode: "auto";
5013
6255
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
6256
+ diagramCenter?: {
6257
+ x: number;
6258
+ y: number;
6259
+ } | undefined;
5014
6260
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
5015
6261
  nodeSpacing?: number | undefined;
5016
6262
  rankSpacing?: number | undefined;
@@ -5023,12 +6269,20 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
5023
6269
  } | {
5024
6270
  mode: "grid";
5025
6271
  gap?: number | undefined;
6272
+ diagramCenter?: {
6273
+ x: number;
6274
+ y: number;
6275
+ } | undefined;
5026
6276
  columns?: number | undefined;
5027
6277
  cardMinHeight?: number | undefined;
5028
6278
  cardMaxHeight?: number | undefined;
5029
6279
  equalHeight?: boolean | undefined;
5030
6280
  } | {
5031
6281
  mode: "manual";
6282
+ diagramCenter?: {
6283
+ x: number;
6284
+ y: number;
6285
+ } | undefined;
5032
6286
  positions?: Record<string, {
5033
6287
  x: number;
5034
6288
  y: number;
@@ -5047,7 +6301,11 @@ type DesignSpec = z.infer<typeof designSpecSchema>;
5047
6301
  type Element = z.infer<typeof elementSchema>;
5048
6302
  type CardElement = z.infer<typeof cardElementSchema>;
5049
6303
  type FlowNodeElement = z.infer<typeof flowNodeElementSchema>;
6304
+ type FlowNodeShadow = z.infer<typeof flowNodeShadowSchema>;
5050
6305
  type ConnectionElement = z.infer<typeof connectionElementSchema>;
6306
+ type DiagramElement = z.infer<typeof diagramElementSchema>;
6307
+ type DiagramLayout = z.infer<typeof diagramLayoutSchema>;
6308
+ type DiagramSpec = z.infer<typeof diagramSpecSchema>;
5051
6309
  type CodeBlockStyle = z.infer<typeof codeBlockStyleSchema>;
5052
6310
  type CodeBlockElement = z.infer<typeof codeBlockElementSchema>;
5053
6311
  type TerminalElement = z.infer<typeof terminalElementSchema>;
@@ -5072,6 +6330,8 @@ type StackLayoutConfig = z.infer<typeof stackLayoutConfigSchema>;
5072
6330
  type ManualLayoutConfig = z.infer<typeof manualLayoutConfigSchema>;
5073
6331
  type ConstraintSpec = z.infer<typeof constraintsSchema>;
5074
6332
  type Theme = z.infer<typeof themeSchema>;
6333
+ type DesignTheme = Theme;
6334
+ type DesignCardSpec = CardElement;
5075
6335
  type BuiltInTheme = z.infer<typeof builtInThemeSchema>;
5076
6336
  type ThemeInput = z.infer<typeof themeInputSchema>;
5077
6337
  type GradientStop = z.infer<typeof gradientStopSchema>;
@@ -5116,6 +6376,7 @@ declare function deriveSafeFrame(spec: DesignSpec): DesignSafeFrame;
5116
6376
  * @returns A validated and transformed {@link DesignSpec}.
5117
6377
  * @throws {import('zod').ZodError} When the input fails schema validation.
5118
6378
  */
6379
+ declare function parseDiagramSpec(input: unknown): DiagramSpec;
5119
6380
  declare function parseDesignSpec(input: unknown): DesignSpec;
5120
6381
 
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 };
6382
+ export { builtInThemes as $, type AutoLayoutConfig as A, type BuiltInTheme as B, type ConnectionElement as C, type DesignSpec as D, type Element as E, type FlowNodeElement as F, type Gradient as G, type GradientOverlayDecorator as H, type GradientSpec as I, type GradientStop$1 as J, type GridLayoutConfig as K, type ImageElement as L, type LayoutConfig as M, type LayoutSnapshot as N, type ManualLayoutConfig as O, type RainbowRuleDecorator as P, type RenderResult as Q, type RenderMetadata as R, type ShapeElement as S, type ThemeInput$1 as T, type StackLayoutConfig as U, type TerminalElement as V, type TextElement as W, type ThemeInput as X, type VignetteDecorator as Y, type WrittenArtifacts as Z, builtInThemeBackgrounds as _, type Rect as a, computeSpecHash as a0, connectionElementSchema as a1, defaultAutoLayout as a2, defaultCanvas as a3, defaultConstraints as a4, defaultGridLayout as a5, defaultLayout as a6, defaultStackLayout as a7, defaultTheme as a8, deriveSafeFrame as a9, designSpecSchema as aa, diagramElementSchema as ab, diagramLayoutSchema as ac, diagramSpecSchema as ad, drawGradientRect as ae, drawRainbowRule as af, drawVignette as ag, flowNodeElementSchema as ah, inferLayout as ai, inferSidecarPath as aj, parseDesignSpec as ak, parseDiagramSpec as al, renderDesign as am, resolveTheme as an, writeRenderArtifacts as ao, type CodeBlockStyle as ap, type FlowNodeShadow as aq, type GradientStop as ar, type LinearGradient as as, type RadialGradient as at, type DrawCommand as b, type Theme as c, type RenderedElement as d, type CardElement as e, type CodeBlockElement as f, type ConstraintSpec as g, DEFAULT_GENERATOR_VERSION as h, DEFAULT_RAINBOW_COLORS as i, type Decorator as j, type DesignCardSpec as k, type DesignSafeFrame as l, type DesignTheme as m, type DiagramElement as n, type DiagramLayout as o, type DiagramSpec as p, type DrawBadge as q, type DrawBezier as r, type DrawCircle as s, type DrawFontFamily as t, type DrawGradientRect as u, type DrawLine as v, type DrawPath as w, type DrawPoint as x, type DrawRect as y, type DrawText as z };