@tscircuit/fake-snippets 0.0.81 → 0.0.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/bun-tests/fake-snippets-api/routes/package_releases/create.test.ts +3 -3
  2. package/dist/bundle.js +41 -13
  3. package/dist/index.d.ts +24 -4
  4. package/dist/index.js +5 -1
  5. package/dist/schema.d.ts +37 -5
  6. package/dist/schema.js +5 -1
  7. package/fake-snippets-api/lib/db/schema.ts +5 -1
  8. package/fake-snippets-api/lib/public-mapping/public-map-package-release.ts +14 -1
  9. package/fake-snippets-api/routes/api/package_releases/get.ts +11 -3
  10. package/fake-snippets-api/routes/api/package_releases/list.ts +8 -1
  11. package/fake-snippets-api/routes/api/packages/generate_from_jlcpcb.ts +3 -3
  12. package/package.json +1 -1
  13. package/src/App.tsx +0 -2
  14. package/src/components/JLCPCBImportDialog.tsx +164 -62
  15. package/src/components/PackageBuildsPage/LogContent.tsx +12 -5
  16. package/src/components/PackageBuildsPage/PackageBuildDetailsPage.tsx +8 -7
  17. package/src/components/PackageBuildsPage/build-preview-content.tsx +1 -1
  18. package/src/components/PackageBuildsPage/collapsible-section.tsx +14 -46
  19. package/src/components/PackageBuildsPage/package-build-details-panel.tsx +28 -10
  20. package/src/components/PackageBuildsPage/package-build-header.tsx +16 -4
  21. package/src/components/ViewPackagePage/components/build-status.tsx +24 -85
  22. package/src/components/ViewPackagePage/components/important-files-view.tsx +8 -1
  23. package/src/components/ViewPackagePage/components/sidebar-releases-section.tsx +28 -5
  24. package/src/components/ViewPackagePage/hooks/use-toast.tsx +70 -0
  25. package/src/components/dialogs/{import-snippet-dialog.tsx → import-package-dialog.tsx} +25 -24
  26. package/src/components/package-port/CodeEditor.tsx +9 -1
  27. package/src/components/package-port/CodeEditorHeader.tsx +7 -6
  28. package/src/components/ui/toaster.tsx +1 -33
  29. package/src/hooks/use-current-package-release.ts +14 -3
  30. package/src/hooks/use-now.ts +12 -0
  31. package/src/hooks/use-package-release.ts +17 -15
  32. package/src/hooks/use-toast.tsx +50 -169
  33. package/src/pages/dashboard.tsx +3 -1
  34. package/src/pages/user-profile.tsx +9 -2
  35. package/src/pages/view-package.tsx +1 -0
  36. package/.github/workflows/formatbot.yml +0 -63
  37. package/src/components/ViewPackagePage/hooks/use-toast.ts +0 -191
package/dist/index.d.ts CHANGED
@@ -435,7 +435,11 @@ declare const packageReleaseSchema: z.ZodObject<{
435
435
  circuit_json_build_completed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
436
436
  circuit_json_build_logs: z.ZodDefault<z.ZodArray<z.ZodAny, "many">>;
437
437
  circuit_json_build_is_stale: z.ZodDefault<z.ZodBoolean>;
438
- ai_review_text: z.ZodDefault<z.ZodNullable<z.ZodString>>;
438
+ ai_review_text: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
439
+ ai_review_started_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
440
+ ai_review_completed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
441
+ ai_review_error: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
442
+ ai_review_logs: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodAny, "many">>>;
439
443
  ai_review_requested: z.ZodDefault<z.ZodBoolean>;
440
444
  }, "strip", z.ZodTypeAny, {
441
445
  package_release_id: string;
@@ -454,7 +458,6 @@ declare const packageReleaseSchema: z.ZodObject<{
454
458
  circuit_json_build_in_progress: boolean;
455
459
  circuit_json_build_logs: any[];
456
460
  circuit_json_build_is_stale: boolean;
457
- ai_review_text: string | null;
458
461
  ai_review_requested: boolean;
459
462
  commit_sha?: string | null | undefined;
460
463
  license?: string | null | undefined;
@@ -467,6 +470,11 @@ declare const packageReleaseSchema: z.ZodObject<{
467
470
  transpilation_completed_at?: string | null | undefined;
468
471
  circuit_json_build_started_at?: string | null | undefined;
469
472
  circuit_json_build_completed_at?: string | null | undefined;
473
+ ai_review_text?: string | null | undefined;
474
+ ai_review_started_at?: string | null | undefined;
475
+ ai_review_completed_at?: string | null | undefined;
476
+ ai_review_error?: any;
477
+ ai_review_logs?: any[] | null | undefined;
470
478
  }, {
471
479
  package_release_id: string;
472
480
  created_at: string;
@@ -496,6 +504,10 @@ declare const packageReleaseSchema: z.ZodObject<{
496
504
  circuit_json_build_logs?: any[] | undefined;
497
505
  circuit_json_build_is_stale?: boolean | undefined;
498
506
  ai_review_text?: string | null | undefined;
507
+ ai_review_started_at?: string | null | undefined;
508
+ ai_review_completed_at?: string | null | undefined;
509
+ ai_review_error?: any;
510
+ ai_review_logs?: any[] | null | undefined;
499
511
  ai_review_requested?: boolean | undefined;
500
512
  }>;
501
513
  type PackageRelease = z.infer<typeof packageReleaseSchema>;
@@ -766,7 +778,6 @@ declare const createDatabase: ({ seed }?: {
766
778
  circuit_json_build_in_progress: boolean;
767
779
  circuit_json_build_logs: any[];
768
780
  circuit_json_build_is_stale: boolean;
769
- ai_review_text: string | null;
770
781
  ai_review_requested: boolean;
771
782
  commit_sha?: string | null | undefined;
772
783
  license?: string | null | undefined;
@@ -779,6 +790,11 @@ declare const createDatabase: ({ seed }?: {
779
790
  transpilation_completed_at?: string | null | undefined;
780
791
  circuit_json_build_started_at?: string | null | undefined;
781
792
  circuit_json_build_completed_at?: string | null | undefined;
793
+ ai_review_text?: string | null | undefined;
794
+ ai_review_started_at?: string | null | undefined;
795
+ ai_review_completed_at?: string | null | undefined;
796
+ ai_review_error?: any;
797
+ ai_review_logs?: any[] | null | undefined;
782
798
  }[];
783
799
  packageFiles: {
784
800
  package_release_id: string;
@@ -1078,7 +1094,6 @@ declare const createDatabase: ({ seed }?: {
1078
1094
  circuit_json_build_in_progress: boolean;
1079
1095
  circuit_json_build_logs: any[];
1080
1096
  circuit_json_build_is_stale: boolean;
1081
- ai_review_text: string | null;
1082
1097
  ai_review_requested: boolean;
1083
1098
  commit_sha?: string | null | undefined;
1084
1099
  license?: string | null | undefined;
@@ -1091,6 +1106,11 @@ declare const createDatabase: ({ seed }?: {
1091
1106
  transpilation_completed_at?: string | null | undefined;
1092
1107
  circuit_json_build_started_at?: string | null | undefined;
1093
1108
  circuit_json_build_completed_at?: string | null | undefined;
1109
+ ai_review_text?: string | null | undefined;
1110
+ ai_review_started_at?: string | null | undefined;
1111
+ ai_review_completed_at?: string | null | undefined;
1112
+ ai_review_error?: any;
1113
+ ai_review_logs?: any[] | null | undefined;
1094
1114
  }[];
1095
1115
  packageFiles: {
1096
1116
  package_release_id: string;
package/dist/index.js CHANGED
@@ -167,7 +167,11 @@ var packageReleaseSchema = z.object({
167
167
  circuit_json_build_logs: z.array(z.any()).default([]),
168
168
  circuit_json_build_is_stale: z.boolean().default(false),
169
169
  // AI Review
170
- ai_review_text: z.string().nullable().default(null),
170
+ ai_review_text: z.string().nullable().default(null).optional(),
171
+ ai_review_started_at: z.string().datetime().nullable().optional(),
172
+ ai_review_completed_at: z.string().datetime().nullable().optional(),
173
+ ai_review_error: z.any().optional().nullable(),
174
+ ai_review_logs: z.array(z.any()).optional().nullable(),
171
175
  ai_review_requested: z.boolean().default(false)
172
176
  });
173
177
  var packageFileSchema = z.object({
package/dist/schema.d.ts CHANGED
@@ -560,7 +560,11 @@ declare const packageReleaseSchema: z.ZodObject<{
560
560
  circuit_json_build_completed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
561
561
  circuit_json_build_logs: z.ZodDefault<z.ZodArray<z.ZodAny, "many">>;
562
562
  circuit_json_build_is_stale: z.ZodDefault<z.ZodBoolean>;
563
- ai_review_text: z.ZodDefault<z.ZodNullable<z.ZodString>>;
563
+ ai_review_text: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
564
+ ai_review_started_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
565
+ ai_review_completed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
566
+ ai_review_error: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
567
+ ai_review_logs: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodAny, "many">>>;
564
568
  ai_review_requested: z.ZodDefault<z.ZodBoolean>;
565
569
  }, "strip", z.ZodTypeAny, {
566
570
  package_release_id: string;
@@ -579,7 +583,6 @@ declare const packageReleaseSchema: z.ZodObject<{
579
583
  circuit_json_build_in_progress: boolean;
580
584
  circuit_json_build_logs: any[];
581
585
  circuit_json_build_is_stale: boolean;
582
- ai_review_text: string | null;
583
586
  ai_review_requested: boolean;
584
587
  commit_sha?: string | null | undefined;
585
588
  license?: string | null | undefined;
@@ -592,6 +595,11 @@ declare const packageReleaseSchema: z.ZodObject<{
592
595
  transpilation_completed_at?: string | null | undefined;
593
596
  circuit_json_build_started_at?: string | null | undefined;
594
597
  circuit_json_build_completed_at?: string | null | undefined;
598
+ ai_review_text?: string | null | undefined;
599
+ ai_review_started_at?: string | null | undefined;
600
+ ai_review_completed_at?: string | null | undefined;
601
+ ai_review_error?: any;
602
+ ai_review_logs?: any[] | null | undefined;
595
603
  }, {
596
604
  package_release_id: string;
597
605
  created_at: string;
@@ -621,6 +629,10 @@ declare const packageReleaseSchema: z.ZodObject<{
621
629
  circuit_json_build_logs?: any[] | undefined;
622
630
  circuit_json_build_is_stale?: boolean | undefined;
623
631
  ai_review_text?: string | null | undefined;
632
+ ai_review_started_at?: string | null | undefined;
633
+ ai_review_completed_at?: string | null | undefined;
634
+ ai_review_error?: any;
635
+ ai_review_logs?: any[] | null | undefined;
624
636
  ai_review_requested?: boolean | undefined;
625
637
  }>;
626
638
  type PackageRelease = z.infer<typeof packageReleaseSchema>;
@@ -945,7 +957,11 @@ declare const databaseSchema: z.ZodObject<{
945
957
  circuit_json_build_completed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
946
958
  circuit_json_build_logs: z.ZodDefault<z.ZodArray<z.ZodAny, "many">>;
947
959
  circuit_json_build_is_stale: z.ZodDefault<z.ZodBoolean>;
948
- ai_review_text: z.ZodDefault<z.ZodNullable<z.ZodString>>;
960
+ ai_review_text: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
961
+ ai_review_started_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
962
+ ai_review_completed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
963
+ ai_review_error: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
964
+ ai_review_logs: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodAny, "many">>>;
949
965
  ai_review_requested: z.ZodDefault<z.ZodBoolean>;
950
966
  }, "strip", z.ZodTypeAny, {
951
967
  package_release_id: string;
@@ -964,7 +980,6 @@ declare const databaseSchema: z.ZodObject<{
964
980
  circuit_json_build_in_progress: boolean;
965
981
  circuit_json_build_logs: any[];
966
982
  circuit_json_build_is_stale: boolean;
967
- ai_review_text: string | null;
968
983
  ai_review_requested: boolean;
969
984
  commit_sha?: string | null | undefined;
970
985
  license?: string | null | undefined;
@@ -977,6 +992,11 @@ declare const databaseSchema: z.ZodObject<{
977
992
  transpilation_completed_at?: string | null | undefined;
978
993
  circuit_json_build_started_at?: string | null | undefined;
979
994
  circuit_json_build_completed_at?: string | null | undefined;
995
+ ai_review_text?: string | null | undefined;
996
+ ai_review_started_at?: string | null | undefined;
997
+ ai_review_completed_at?: string | null | undefined;
998
+ ai_review_error?: any;
999
+ ai_review_logs?: any[] | null | undefined;
980
1000
  }, {
981
1001
  package_release_id: string;
982
1002
  created_at: string;
@@ -1006,6 +1026,10 @@ declare const databaseSchema: z.ZodObject<{
1006
1026
  circuit_json_build_logs?: any[] | undefined;
1007
1027
  circuit_json_build_is_stale?: boolean | undefined;
1008
1028
  ai_review_text?: string | null | undefined;
1029
+ ai_review_started_at?: string | null | undefined;
1030
+ ai_review_completed_at?: string | null | undefined;
1031
+ ai_review_error?: any;
1032
+ ai_review_logs?: any[] | null | undefined;
1009
1033
  ai_review_requested?: boolean | undefined;
1010
1034
  }>, "many">>;
1011
1035
  packageFiles: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -1614,7 +1638,6 @@ declare const databaseSchema: z.ZodObject<{
1614
1638
  circuit_json_build_in_progress: boolean;
1615
1639
  circuit_json_build_logs: any[];
1616
1640
  circuit_json_build_is_stale: boolean;
1617
- ai_review_text: string | null;
1618
1641
  ai_review_requested: boolean;
1619
1642
  commit_sha?: string | null | undefined;
1620
1643
  license?: string | null | undefined;
@@ -1627,6 +1650,11 @@ declare const databaseSchema: z.ZodObject<{
1627
1650
  transpilation_completed_at?: string | null | undefined;
1628
1651
  circuit_json_build_started_at?: string | null | undefined;
1629
1652
  circuit_json_build_completed_at?: string | null | undefined;
1653
+ ai_review_text?: string | null | undefined;
1654
+ ai_review_started_at?: string | null | undefined;
1655
+ ai_review_completed_at?: string | null | undefined;
1656
+ ai_review_error?: any;
1657
+ ai_review_logs?: any[] | null | undefined;
1630
1658
  }[];
1631
1659
  packageFiles: {
1632
1660
  package_release_id: string;
@@ -1860,6 +1888,10 @@ declare const databaseSchema: z.ZodObject<{
1860
1888
  circuit_json_build_logs?: any[] | undefined;
1861
1889
  circuit_json_build_is_stale?: boolean | undefined;
1862
1890
  ai_review_text?: string | null | undefined;
1891
+ ai_review_started_at?: string | null | undefined;
1892
+ ai_review_completed_at?: string | null | undefined;
1893
+ ai_review_error?: any;
1894
+ ai_review_logs?: any[] | null | undefined;
1863
1895
  ai_review_requested?: boolean | undefined;
1864
1896
  }[] | undefined;
1865
1897
  packageFiles?: {
package/dist/schema.js CHANGED
@@ -162,7 +162,11 @@ var packageReleaseSchema = z.object({
162
162
  circuit_json_build_logs: z.array(z.any()).default([]),
163
163
  circuit_json_build_is_stale: z.boolean().default(false),
164
164
  // AI Review
165
- ai_review_text: z.string().nullable().default(null),
165
+ ai_review_text: z.string().nullable().default(null).optional(),
166
+ ai_review_started_at: z.string().datetime().nullable().optional(),
167
+ ai_review_completed_at: z.string().datetime().nullable().optional(),
168
+ ai_review_error: z.any().optional().nullable(),
169
+ ai_review_logs: z.array(z.any()).optional().nullable(),
166
170
  ai_review_requested: z.boolean().default(false)
167
171
  });
168
172
  var packageFileSchema = z.object({
@@ -203,7 +203,11 @@ export const packageReleaseSchema = z.object({
203
203
  circuit_json_build_is_stale: z.boolean().default(false),
204
204
 
205
205
  // AI Review
206
- ai_review_text: z.string().nullable().default(null),
206
+ ai_review_text: z.string().nullable().default(null).optional(),
207
+ ai_review_started_at: z.string().datetime().nullable().optional(),
208
+ ai_review_completed_at: z.string().datetime().nullable().optional(),
209
+ ai_review_error: z.any().optional().nullable(),
210
+ ai_review_logs: z.array(z.any()).optional().nullable(),
207
211
  ai_review_requested: z.boolean().default(false),
208
212
  })
209
213
  export type PackageRelease = z.infer<typeof packageReleaseSchema>
@@ -4,11 +4,13 @@ export const publicMapPackageRelease = (
4
4
  internal_package_release: ZT.PackageRelease,
5
5
  options: {
6
6
  include_logs?: boolean
7
+ include_ai_review?: boolean
7
8
  } = {
8
9
  include_logs: false,
10
+ include_ai_review: false,
9
11
  },
10
12
  ): ZT.PackageRelease => {
11
- return {
13
+ const result = {
12
14
  ...internal_package_release,
13
15
  created_at: internal_package_release.created_at,
14
16
  circuit_json_build_error_last_updated_at:
@@ -21,4 +23,15 @@ export const publicMapPackageRelease = (
21
23
  ? internal_package_release.circuit_json_build_logs
22
24
  : [],
23
25
  }
26
+
27
+ // Only include AI review fields when include_ai_review is true
28
+ if (!options.include_ai_review) {
29
+ delete result.ai_review_text
30
+ delete result.ai_review_started_at
31
+ delete result.ai_review_completed_at
32
+ delete result.ai_review_error
33
+ delete result.ai_review_logs
34
+ }
35
+
36
+ return result
24
37
  }
@@ -8,6 +8,7 @@ export default withRouteSpec({
8
8
  auth: "none",
9
9
  commonParams: z.object({
10
10
  include_logs: z.boolean().optional().default(false),
11
+ include_ai_review: z.boolean().optional().default(false),
11
12
  }),
12
13
  jsonBody: z.object({
13
14
  package_release_id: z.string().optional(),
@@ -58,7 +59,9 @@ export default withRouteSpec({
58
59
 
59
60
  return ctx.json({
60
61
  ok: true,
61
- package_release: publicMapPackageRelease(packageReleases[0]),
62
+ package_release: publicMapPackageRelease(packageReleases[0], {
63
+ include_ai_review: req.commonParams?.include_ai_review,
64
+ }),
62
65
  })
63
66
  }
64
67
 
@@ -82,7 +85,9 @@ export default withRouteSpec({
82
85
 
83
86
  return ctx.json({
84
87
  ok: true,
85
- package_release: publicMapPackageRelease(packageReleases[0]),
88
+ package_release: publicMapPackageRelease(packageReleases[0], {
89
+ include_ai_review: req.commonParams?.include_ai_review,
90
+ }),
86
91
  })
87
92
  }
88
93
 
@@ -102,7 +107,9 @@ export default withRouteSpec({
102
107
 
103
108
  return ctx.json({
104
109
  ok: true,
105
- package_release: publicMapPackageRelease(pkgRelease),
110
+ package_release: publicMapPackageRelease(pkgRelease, {
111
+ include_ai_review: req.commonParams?.include_ai_review,
112
+ }),
106
113
  })
107
114
  }
108
115
 
@@ -120,6 +127,7 @@ export default withRouteSpec({
120
127
  ok: true,
121
128
  package_release: publicMapPackageRelease(foundRelease, {
122
129
  include_logs: req.commonParams?.include_logs,
130
+ include_ai_review: req.commonParams?.include_ai_review,
123
131
  }),
124
132
  })
125
133
  })
@@ -6,6 +6,9 @@ import { z } from "zod"
6
6
  export default withRouteSpec({
7
7
  methods: ["POST"],
8
8
  auth: "none",
9
+ commonParams: z.object({
10
+ include_ai_review: z.boolean().optional().default(false),
11
+ }),
9
12
  jsonBody: z
10
13
  .object({
11
14
  package_id: z.string().optional(),
@@ -72,6 +75,10 @@ export default withRouteSpec({
72
75
 
73
76
  return ctx.json({
74
77
  ok: true,
75
- package_releases: releases.map((pr) => publicMapPackageRelease(pr)),
78
+ package_releases: releases.map((pr) =>
79
+ publicMapPackageRelease(pr, {
80
+ include_ai_review: req.commonParams?.include_ai_review,
81
+ }),
82
+ ),
76
83
  })
77
84
  })
@@ -46,9 +46,9 @@ export default withRouteSpec({
46
46
  const existingPackage = ctx.db.packages.find((p) => p.name === packageName)
47
47
 
48
48
  if (existingPackage) {
49
- return ctx.json({
50
- ok: true,
51
- package: existingPackage,
49
+ return ctx.error(409, {
50
+ error_code: "package_already_exists",
51
+ message: componentName,
52
52
  })
53
53
  }
54
54
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tscircuit/fake-snippets",
3
- "version": "0.0.81",
3
+ "version": "0.0.83",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
package/src/App.tsx CHANGED
@@ -1,5 +1,4 @@
1
1
  import { ComponentType, Suspense, lazy } from "react"
2
- import { Toaster } from "@/components/ui/toaster"
3
2
  import { Route, Switch } from "wouter"
4
3
  import "./components/CmdKMenu"
5
4
  import { ContextProviders } from "./ContextProviders"
@@ -129,7 +128,6 @@ function App() {
129
128
  <Route component={lazyImport(() => import("@/pages/404"))} />
130
129
  </Switch>
131
130
  </Suspense>
132
- <Toaster />
133
131
  </ErrorBoundary>
134
132
  </ContextProviders>
135
133
  )