@tscircuit/props 0.0.617 → 0.0.618

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.
@@ -479,6 +479,39 @@ export const autorouterProp: z.ZodType<AutorouterProp> = z.union([
479
479
 
480
480
  export const autorouterEffortLevel = z.enum(["1x", "2x", "5x", "10x", "100x"])
481
481
 
482
+ export type AutorouterVersion =
483
+ | "beta_pipeline1"
484
+ | "beta_pipeline3"
485
+ | "beta_pipeline4"
486
+ | "beta_pipeline5"
487
+ | "beta_pipeline7"
488
+ | "beta_pipeline9"
489
+ | "latest"
490
+
491
+ const knownAutorouterVersion = z.enum([
492
+ "beta_pipeline1",
493
+ "beta_pipeline3",
494
+ "beta_pipeline4",
495
+ "beta_pipeline5",
496
+ "beta_pipeline7",
497
+ "beta_pipeline9",
498
+ "latest",
499
+ ])
500
+
501
+ const autorouterVersion = z
502
+ .custom<AutocompleteString<AutorouterVersion>>(
503
+ (value) => typeof value === "string",
504
+ )
505
+ .transform((value): AutorouterVersion => {
506
+ const parsedAutorouterVersion = knownAutorouterVersion.safeParse(value)
507
+ if (parsedAutorouterVersion.success) return parsedAutorouterVersion.data
508
+
509
+ console.warn(
510
+ `Unknown autorouterVersion "${value}", falling back to "latest".`,
511
+ )
512
+ return "latest"
513
+ })
514
+
482
515
  export interface SubcircuitGroupProps
483
516
  extends BaseGroupProps,
484
517
  RoutingTolerances {
@@ -498,15 +531,19 @@ export interface SubcircuitGroupProps
498
531
 
499
532
  autorouter?: AutorouterProp
500
533
  autorouterEffortLevel?: "1x" | "2x" | "5x" | "10x" | "100x"
534
+ /**
535
+ * Selects the local autorouting pipeline. Unknown string values emit a
536
+ * warning and fall back to `latest`.
537
+ */
501
538
  autorouterVersion?:
502
- | "v1"
503
- | "v2"
504
- | "v3"
505
- | "v4"
506
- | "v5"
507
- | "v6"
539
+ | "beta_pipeline1"
540
+ | "beta_pipeline3"
541
+ | "beta_pipeline4"
542
+ | "beta_pipeline5"
543
+ | "beta_pipeline7"
508
544
  | "beta_pipeline9"
509
545
  | "latest"
546
+ | (string & {})
510
547
 
511
548
  /**
512
549
  * Serialized circuit JSON describing a precompiled subcircuit
@@ -684,9 +721,7 @@ export const subcircuitGroupProps = baseGroupProps.extend({
684
721
  pcbRouteCache: z.custom<PcbRouteCache>((v) => true).optional(),
685
722
  autorouter: autorouterProp.optional(),
686
723
  autorouterEffortLevel: autorouterEffortLevel.optional(),
687
- autorouterVersion: z
688
- .enum(["v1", "v2", "v3", "v4", "v5", "v6", "beta_pipeline9", "latest"])
689
- .optional(),
724
+ autorouterVersion: autorouterVersion.optional(),
690
725
  square: z.boolean().optional(),
691
726
  emptyArea: z.string().optional(),
692
727
  filledArea: z.string().optional(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tscircuit/props",
3
- "version": "0.0.617",
3
+ "version": "0.0.618",
4
4
  "description": "Props for tscircuit builtin component types",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",