@tscircuit/fake-snippets 0.0.70 → 0.0.72
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.
- package/api/generated-index.js +77 -3
- package/bun-tests/fake-snippets-api/routes/accounts/get.test.ts +53 -0
- package/bun-tests/fake-snippets-api/routes/package_files/create_or_update.test.ts +26 -0
- package/bun.lock +30 -46
- package/dist/bundle.js +17 -6
- package/fake-snippets-api/routes/api/accounts/get.ts +16 -3
- package/fake-snippets-api/routes/api/package_files/create_or_update.ts +3 -3
- package/index.html +3 -0
- package/package.json +7 -7
- package/src/ContextProviders.tsx +2 -0
- package/src/components/FileSidebar.tsx +111 -37
- package/src/components/HeaderLogin.tsx +2 -2
- package/src/components/package-port/CodeAndPreview.tsx +78 -267
- package/src/components/package-port/CodeEditor.tsx +29 -18
- package/src/components/package-port/CodeEditorHeader.tsx +7 -6
- package/src/components/ui/tree-view.tsx +3 -3
- package/src/hooks/useFileManagement.ts +257 -38
- package/src/hooks/usePackageFilesLoader.ts +2 -2
- package/src/hooks/useUpdatePackageFilesMutation.ts +50 -24
- package/src/lib/populate-query-cache-with-ssr-data.ts +52 -0
- package/src/pages/dashboard.tsx +2 -2
- package/src/pages/landing.tsx +14 -3
package/api/generated-index.js
CHANGED
|
@@ -18,11 +18,12 @@ function getHtmlWithModifiedSeoTags({
|
|
|
18
18
|
description,
|
|
19
19
|
canonicalUrl,
|
|
20
20
|
imageUrl,
|
|
21
|
+
ssrPackageData,
|
|
21
22
|
}) {
|
|
22
23
|
const seoStartTag = "<!-- SEO_START -->"
|
|
23
24
|
const seoEndTag = "<!-- SEO_END -->"
|
|
24
|
-
const
|
|
25
|
-
const
|
|
25
|
+
const seoStartIndex = htmlContent.indexOf(seoStartTag)
|
|
26
|
+
const seoEndIndex = htmlContent.indexOf(seoEndTag) + seoEndTag.length
|
|
26
27
|
|
|
27
28
|
const seoTags = `
|
|
28
29
|
<title>${title}</title>
|
|
@@ -42,7 +43,47 @@ function getHtmlWithModifiedSeoTags({
|
|
|
42
43
|
<link rel="canonical" href="${canonicalUrl}" />
|
|
43
44
|
`
|
|
44
45
|
|
|
45
|
-
|
|
46
|
+
// First replace SEO tags
|
|
47
|
+
let modifiedHtml = `${htmlContent.substring(0, seoStartIndex)}${seoTags}${htmlContent.substring(seoEndIndex)}`
|
|
48
|
+
|
|
49
|
+
// Then handle SSR data injection
|
|
50
|
+
if (ssrPackageData) {
|
|
51
|
+
const ssrStartTag = "<!-- SSR_START -->"
|
|
52
|
+
const ssrEndTag = "<!-- SSR_END -->"
|
|
53
|
+
const {
|
|
54
|
+
package: packageData,
|
|
55
|
+
packageRelease,
|
|
56
|
+
packageFiles,
|
|
57
|
+
} = ssrPackageData
|
|
58
|
+
|
|
59
|
+
const assignments = []
|
|
60
|
+
if (packageData) {
|
|
61
|
+
assignments.push(`window.SSR_PACKAGE = ${JSON.stringify(packageData)};`)
|
|
62
|
+
}
|
|
63
|
+
if (packageRelease) {
|
|
64
|
+
assignments.push(
|
|
65
|
+
`window.SSR_PACKAGE_RELEASE = ${JSON.stringify(packageRelease)};`,
|
|
66
|
+
)
|
|
67
|
+
}
|
|
68
|
+
if (packageFiles) {
|
|
69
|
+
assignments.push(
|
|
70
|
+
`window.SSR_PACKAGE_FILES = ${JSON.stringify(packageFiles)};`,
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const ssrScripts =
|
|
75
|
+
assignments.length > 0 ? `<script>${assignments.join(" ")}</script>` : ""
|
|
76
|
+
|
|
77
|
+
if (ssrScripts) {
|
|
78
|
+
const ssrContent = `\n ${ssrScripts}\n `
|
|
79
|
+
modifiedHtml = modifiedHtml.replace(
|
|
80
|
+
`${ssrStartTag}\n ${ssrEndTag}`,
|
|
81
|
+
`${ssrStartTag}${ssrContent}${ssrEndTag}`,
|
|
82
|
+
)
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return modifiedHtml
|
|
46
87
|
}
|
|
47
88
|
|
|
48
89
|
async function handleCustomPackageHtml(req, res) {
|
|
@@ -64,6 +105,38 @@ async function handleCustomPackageHtml(req, res) {
|
|
|
64
105
|
throw new Error("Package not found")
|
|
65
106
|
}
|
|
66
107
|
|
|
108
|
+
let packageRelease = null
|
|
109
|
+
let packageFiles = null
|
|
110
|
+
try {
|
|
111
|
+
const releaseResponse = await ky
|
|
112
|
+
.post(`https://registry-api.tscircuit.com/package_releases/get`, {
|
|
113
|
+
json: {
|
|
114
|
+
package_id: packageInfo.package_id,
|
|
115
|
+
is_latest: true,
|
|
116
|
+
},
|
|
117
|
+
})
|
|
118
|
+
.json()
|
|
119
|
+
packageRelease = releaseResponse.package_release
|
|
120
|
+
|
|
121
|
+
// Get package files for the latest release
|
|
122
|
+
if (packageRelease?.package_release_id) {
|
|
123
|
+
try {
|
|
124
|
+
const filesResponse = await ky
|
|
125
|
+
.post(`https://registry-api.tscircuit.com/package_files/list`, {
|
|
126
|
+
json: {
|
|
127
|
+
package_release_id: packageRelease.package_release_id,
|
|
128
|
+
},
|
|
129
|
+
})
|
|
130
|
+
.json()
|
|
131
|
+
packageFiles = filesResponse.package_files || []
|
|
132
|
+
} catch (e) {
|
|
133
|
+
console.warn("Failed to fetch package files:", e)
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
} catch (e) {
|
|
137
|
+
console.warn("Failed to fetch package release:", e)
|
|
138
|
+
}
|
|
139
|
+
|
|
67
140
|
const description = he.encode(
|
|
68
141
|
`${packageInfo.description || packageInfo.ai_description || "A tscircuit component created by " + author} ${packageInfo.ai_usage_instructions ?? ""}`,
|
|
69
142
|
)
|
|
@@ -74,6 +147,7 @@ async function handleCustomPackageHtml(req, res) {
|
|
|
74
147
|
description,
|
|
75
148
|
canonicalUrl: `https://tscircuit.com/${he.encode(author)}/${he.encode(unscopedPackageName)}`,
|
|
76
149
|
imageUrl: `https://registry-api.tscircuit.com/snippets/images/${he.encode(author)}/${he.encode(unscopedPackageName)}/pcb.png`,
|
|
150
|
+
ssrPackageData: { package: packageInfo, packageRelease, packageFiles },
|
|
77
151
|
})
|
|
78
152
|
|
|
79
153
|
res.setHeader("Content-Type", "text/html; charset=utf-8")
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { getTestServer } from "bun-tests/fake-snippets-api/fixtures/get-test-server"
|
|
2
|
+
import { expect, test } from "bun:test"
|
|
3
|
+
|
|
4
|
+
test("GET /api/accounts/get - should return account when authenticated", async () => {
|
|
5
|
+
const { axios } = await getTestServer()
|
|
6
|
+
|
|
7
|
+
// The test server should automatically create a test account and set up authentication
|
|
8
|
+
const response = await axios.get("/api/accounts/get")
|
|
9
|
+
|
|
10
|
+
expect(response.status).toBe(200)
|
|
11
|
+
expect(response.data.account).toBeDefined()
|
|
12
|
+
expect(response.data.account.account_id).toBeDefined()
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
test("GET /api/accounts/get - should return 404 if account not found", async () => {
|
|
16
|
+
const { unauthenticatedAxios } = await getTestServer()
|
|
17
|
+
|
|
18
|
+
try {
|
|
19
|
+
await unauthenticatedAxios.get("/api/accounts/get")
|
|
20
|
+
throw new Error("Expected request to fail")
|
|
21
|
+
} catch (error: any) {
|
|
22
|
+
expect(error.status).toBe(404)
|
|
23
|
+
expect(error.data.error.error_code).toBe("account_not_found")
|
|
24
|
+
expect(error.data.error.message).toBe("Account not found")
|
|
25
|
+
}
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
test("POST /api/accounts/get - should return account when authenticated", async () => {
|
|
29
|
+
const { axios } = await getTestServer()
|
|
30
|
+
|
|
31
|
+
const response = await axios.post("/api/accounts/get", {
|
|
32
|
+
github_username: "testuser",
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
expect(response.status).toBe(200)
|
|
36
|
+
expect(response.data.account).toBeDefined()
|
|
37
|
+
expect(response.data.account.account_id).toBeDefined()
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
test("POST /api/accounts/get - should return 404 if account not found", async () => {
|
|
41
|
+
const { axios } = await getTestServer()
|
|
42
|
+
|
|
43
|
+
try {
|
|
44
|
+
await axios.post("/api/accounts/get", {
|
|
45
|
+
github_username: "nonexistentuser",
|
|
46
|
+
})
|
|
47
|
+
throw new Error("Expected request to fail")
|
|
48
|
+
} catch (error: any) {
|
|
49
|
+
expect(error.status).toBe(404)
|
|
50
|
+
expect(error.data.error.error_code).toBe("account_not_found")
|
|
51
|
+
expect(error.data.error.message).toBe("Account not found")
|
|
52
|
+
}
|
|
53
|
+
})
|
|
@@ -278,6 +278,32 @@ test("create_or_update - 404 for non-existent package", async () => {
|
|
|
278
278
|
}
|
|
279
279
|
})
|
|
280
280
|
|
|
281
|
+
test("create_or_update - allow empty content_text", async () => {
|
|
282
|
+
const { axios } = await getTestServer()
|
|
283
|
+
|
|
284
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
285
|
+
name: "@test/package-files-create-or-update-error",
|
|
286
|
+
description: "A test package for error cases",
|
|
287
|
+
})
|
|
288
|
+
const createdPackage = packageResponse.data.package
|
|
289
|
+
|
|
290
|
+
const releaseResponse = await axios.post("/api/package_releases/create", {
|
|
291
|
+
package_id: createdPackage.package_id,
|
|
292
|
+
version: "1.0.0",
|
|
293
|
+
})
|
|
294
|
+
const createdRelease = releaseResponse.data.package_release
|
|
295
|
+
const response = await axios.post("/api/package_files/create_or_update", {
|
|
296
|
+
package_release_id: createdRelease.package_release_id,
|
|
297
|
+
file_path: "/test.js",
|
|
298
|
+
content_text: "",
|
|
299
|
+
})
|
|
300
|
+
console.log(response.data.package_file)
|
|
301
|
+
expect(response.status).toBe(200)
|
|
302
|
+
expect(response.data.ok).toBe(true)
|
|
303
|
+
expect(response.data.package_file).toBeDefined()
|
|
304
|
+
expect(response.data.package_file.content_text).toBe("")
|
|
305
|
+
})
|
|
306
|
+
|
|
281
307
|
test("create_or_update - 400 for missing content", async () => {
|
|
282
308
|
const { axios } = await getTestServer()
|
|
283
309
|
|
package/bun.lock
CHANGED
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
"@radix-ui/react-toggle-group": "^1.1.0",
|
|
43
43
|
"@radix-ui/react-tooltip": "^1.1.2",
|
|
44
44
|
"@tscircuit/eval": "^0.0.198",
|
|
45
|
-
"@tscircuit/footprinter": "^0.0.
|
|
45
|
+
"@tscircuit/footprinter": "^0.0.169",
|
|
46
46
|
"@tscircuit/layout": "^0.0.29",
|
|
47
47
|
"@tscircuit/math-utils": "^0.0.10",
|
|
48
48
|
"@tscircuit/mm": "^0.0.8",
|
|
49
|
-
"@tscircuit/props": "^0.0.
|
|
49
|
+
"@tscircuit/props": "^0.0.194",
|
|
50
50
|
"@types/file-saver": "^2.0.7",
|
|
51
51
|
"@types/ms": "^0.7.34",
|
|
52
52
|
"@typescript/ata": "^0.9.7",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@valtown/codemirror-ts": "^2.2.0",
|
|
55
55
|
"@vercel/analytics": "^1.4.1",
|
|
56
56
|
"change-case": "^5.4.4",
|
|
57
|
-
"circuit-json": "^0.0.
|
|
57
|
+
"circuit-json": "^0.0.190",
|
|
58
58
|
"circuit-json-to-bom-csv": "^0.0.6",
|
|
59
59
|
"circuit-json-to-gerber": "^0.0.21",
|
|
60
60
|
"circuit-json-to-pnp-csv": "^0.0.6",
|
|
@@ -116,9 +116,9 @@
|
|
|
116
116
|
"@biomejs/biome": "^1.9.2",
|
|
117
117
|
"@playwright/test": "^1.48.0",
|
|
118
118
|
"@tailwindcss/typography": "^0.5.16",
|
|
119
|
-
"@tscircuit/core": "^0.0.
|
|
119
|
+
"@tscircuit/core": "^0.0.428",
|
|
120
120
|
"@tscircuit/prompt-benchmarks": "^0.0.28",
|
|
121
|
-
"@tscircuit/runframe": "^0.0.
|
|
121
|
+
"@tscircuit/runframe": "^0.0.507",
|
|
122
122
|
"@types/babel__standalone": "^7.1.7",
|
|
123
123
|
"@types/bun": "^1.1.10",
|
|
124
124
|
"@types/country-list": "^2.1.4",
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
"@typescript/vfs": "^1.6.0",
|
|
133
133
|
"@vitejs/plugin-react": "^4.3.1",
|
|
134
134
|
"autoprefixer": "^10.4.20",
|
|
135
|
-
"circuit-to-svg": "^0.0.
|
|
135
|
+
"circuit-to-svg": "^0.0.131",
|
|
136
136
|
"get-port": "^7.1.0",
|
|
137
137
|
"globals": "^15.9.0",
|
|
138
138
|
"he": "^1.2.0",
|
|
@@ -692,7 +692,7 @@
|
|
|
692
692
|
|
|
693
693
|
"@ts-morph/common": ["@ts-morph/common@0.22.0", "", { "dependencies": { "fast-glob": "^3.3.2", "minimatch": "^9.0.3", "mkdirp": "^3.0.1", "path-browserify": "^1.0.1" } }, "sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw=="],
|
|
694
694
|
|
|
695
|
-
"@tscircuit/3d-viewer": ["@tscircuit/3d-viewer@0.0.
|
|
695
|
+
"@tscircuit/3d-viewer": ["@tscircuit/3d-viewer@0.0.240", "", { "dependencies": { "@jscad/regl-renderer": "^2.6.12", "@jscad/stl-serializer": "^2.1.20", "@react-three/drei": "^9.121.4", "@react-three/fiber": "^8.17.14", "@tscircuit/core": "^0.0.426", "@tscircuit/props": "^0.0.193", "@tscircuit/soup-util": "^0.0.41", "jscad-electronics": "^0.0.29", "jscad-fiber": "^0.0.79", "jscad-planner": "^0.0.13", "manifold-3d": "^3.1.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-use-gesture": "^9.1.3" }, "peerDependencies": { "three": "*" } }, "sha512-xFGptIFrJF6A7oVOzINpCEL10LpGQn1f5M0XvtJEQoIbnBwrL4QwojncCwJwYIpUePxF92IAFCB8kq+QD19Ong=="],
|
|
696
696
|
|
|
697
697
|
"@tscircuit/alphabet": ["@tscircuit/alphabet@0.0.2", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-vLdnx3iJqBQhnFb7mf5IREemtQYidJzGBtYVvzxd3u1WOwgtXkrj9VY2hDjaPNozMVC4zjKOG87z0SHLO74uAQ=="],
|
|
698
698
|
|
|
@@ -704,7 +704,7 @@
|
|
|
704
704
|
|
|
705
705
|
"@tscircuit/circuit-json-util": ["@tscircuit/circuit-json-util@0.0.47", "", { "dependencies": { "parsel-js": "^1.1.2" }, "peerDependencies": { "circuit-json": "*", "transformation-matrix": "*", "zod": "*" } }, "sha512-IUEPGJT5WcDo7Eudtgqs8Ia+zzBWtFIuuLtUguYMBHnnt037CKBStpaGGGDCLzRq2Bmsf4ynxMN3Sb0JWGsz4w=="],
|
|
706
706
|
|
|
707
|
-
"@tscircuit/core": ["@tscircuit/core@0.0.
|
|
707
|
+
"@tscircuit/core": ["@tscircuit/core@0.0.428", "", { "dependencies": { "@lume/kiwi": "^0.4.3", "css-select": "^5.1.0", "format-si-unit": "^0.0.3", "nanoid": "^5.0.7", "performance-now": "^2.1.0", "react-reconciler": "^0.31.0", "react-reconciler-18": "npm:react-reconciler@0.29.2", "transformation-matrix": "^2.16.1", "zod": "^3.23.8" }, "peerDependencies": { "@tscircuit/capacity-autorouter": "*", "@tscircuit/checks": "*", "@tscircuit/circuit-json-util": "*", "@tscircuit/footprinter": "*", "@tscircuit/infgrid-ijump-astar": "*", "@tscircuit/math-utils": "*", "@tscircuit/props": "*", "@tscircuit/schematic-autolayout": "*", "circuit-json": "*", "circuit-json-to-connectivity-map": "*", "schematic-symbols": "*", "typescript": "^5.0.0" } }, "sha512-sKJV6UyvP0Ueqqfhnl6FHd0igURPib1COD3L1Xv2KXE6xdpTuZkNLX44D29BirjFOM372BD/YglMTnoGDF5fDg=="],
|
|
708
708
|
|
|
709
709
|
"@tscircuit/create-snippet-url": ["@tscircuit/create-snippet-url@0.0.8", "", { "dependencies": { "fflate": "^0.8.2" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-VMixgwQRsOXlQGwVh2RZIFLLtsn8YWl2Bht61T26MHNM71A1Wzo5qGZtqcdbVkFnvlA42KmdVVjvxYDvEyWdJw=="],
|
|
710
710
|
|
|
@@ -714,7 +714,7 @@
|
|
|
714
714
|
|
|
715
715
|
"@tscircuit/file-server": ["@tscircuit/file-server@0.0.24", "", { "dependencies": { "winterspec": "^0.0.86", "zod": "^3.23.8", "zustand": "^4.5.5", "zustand-hoist": "^2.0.1" }, "peerDependencies": { "typescript": "^5.0.0" }, "bin": { "file-server": "dist/cli.js" } }, "sha512-brJF94eQsgh2sA29LRn9USIhKlbwWrq8APCk24MyTszfXj1WzcvdL5memMEkAp3s+qWYoRJLRYjlJ9EN6t3kdw=="],
|
|
716
716
|
|
|
717
|
-
"@tscircuit/footprinter": ["@tscircuit/footprinter@0.0.
|
|
717
|
+
"@tscircuit/footprinter": ["@tscircuit/footprinter@0.0.169", "", { "dependencies": { "@tscircuit/mm": "^0.0.8", "zod": "^3.23.8" }, "peerDependencies": { "circuit-json": "*" } }, "sha512-xM2T8PNyqj8E4wy4EDfZip9YzND0HpskfQYlNWVzBoFM4c/AY8Ey47sbrCAajDjdWQoZh622q7J9xchsg6tJog=="],
|
|
718
718
|
|
|
719
719
|
"@tscircuit/infgrid-ijump-astar": ["@tscircuit/infgrid-ijump-astar@0.0.33", "", {}, "sha512-tmX4Esp+HqyIGCUD43steVUH8pKRuyBNs21r4NlApGGLu+K1XSrK9FinhVJyMiEsuwJdajLnMTzmVt8vSYSafA=="],
|
|
720
720
|
|
|
@@ -726,15 +726,13 @@
|
|
|
726
726
|
|
|
727
727
|
"@tscircuit/mm": ["@tscircuit/mm@0.0.8", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-nl7nxE7AhARbKuobflI0LUzoir7+wJyvwfPw6bzA/O0Q3YTcH3vBkU/Of+V/fp6ht+AofiCXj7YAH9E446138Q=="],
|
|
728
728
|
|
|
729
|
-
"@tscircuit/pcb-viewer": ["@tscircuit/pcb-viewer@1.11.
|
|
729
|
+
"@tscircuit/pcb-viewer": ["@tscircuit/pcb-viewer@1.11.156", "", { "dependencies": { "@emotion/css": "^11.11.2", "@tscircuit/core": "^0.0.426", "@tscircuit/math-utils": "^0.0.18", "circuit-json-to-connectivity-map": "^0.0.22", "circuit-to-svg": "^0.0.130", "color": "^4.2.3", "graphics-debug": "^0.0.24", "react-supergrid": "^1.0.10", "react-toastify": "^10.0.5", "transformation-matrix": "^2.13.0", "zustand": "^4.5.2" }, "peerDependencies": { "react": "*" } }, "sha512-jz5qxU5Tw7iYqpeqUwRgtEH9zpsWrF8Jh8O6LCtl6uNXSZSFbQnDXz5wyTWyqDuG7jjG1t8J8L11sUxsN077Sg=="],
|
|
730
730
|
|
|
731
731
|
"@tscircuit/prompt-benchmarks": ["@tscircuit/prompt-benchmarks@0.0.28", "", { "dependencies": { "@babel/standalone": "^7.25.7", "@tscircuit/featured-snippets": "^0.0.1", "@tscircuit/footprinter": "^0.0.102", "debug": "^4.3.7", "dotenv": "^16.4.7", "evalite": "^0.8.2", "extract-codefence": "^0.0.4", "toml": "^3.0.0" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-SOhKWAWp3bSvUvbGbtl1ygyyDhF42IbezS965fyUz5cUMJVFyGOoRD0kJak78NVqmHHDMRRPf1R8c5UUaIdBnw=="],
|
|
732
732
|
|
|
733
|
-
"@tscircuit/props": ["@tscircuit/props@0.0.
|
|
733
|
+
"@tscircuit/props": ["@tscircuit/props@0.0.194", "", { "peerDependencies": { "@tscircuit/layout": "*", "circuit-json": "*", "react": "*", "zod": "*" } }, "sha512-dJCKx97nyQXipW/T7zMv8TCxpu2Qn0x0aiJqUikwQz9w4eFiw6wT9rDvIr19URY2u9IWz0KccK8N//QcdE9Xeg=="],
|
|
734
734
|
|
|
735
|
-
"@tscircuit/
|
|
736
|
-
|
|
737
|
-
"@tscircuit/runframe": ["@tscircuit/runframe@0.0.494", "", { "dependencies": { "@radix-ui/react-alert-dialog": "^1.1.6", "@radix-ui/react-checkbox": "^1.1.4", "@radix-ui/react-dialog": "^1.1.11", "@radix-ui/react-dropdown-menu": "^2.1.4", "@radix-ui/react-icons": "^1.3.2", "@radix-ui/react-progress": "^1.1.2", "@radix-ui/react-slot": "^1.1.1", "@radix-ui/react-tabs": "^1.1.2", "@tscircuit/3d-viewer": "^0.0.228", "@tscircuit/assembly-viewer": "^0.0.1", "@tscircuit/core": "^0.0.416", "@tscircuit/create-snippet-url": "^0.0.8", "@tscircuit/eval": "^0.0.216", "@tscircuit/file-server": "^0.0.24", "@tscircuit/footprinter": "^0.0.164", "@tscircuit/pcb-viewer": "^1.11.147", "@tscircuit/props": "^0.0.186", "@tscircuit/schematic-viewer": "2.0.20", "circuit-to-svg": "^0.0.130", "clsx": "^2.1.1", "comlink": "^4.4.2", "cssnano": "^7.0.6", "jscad-fiber": "^0.0.77", "lucide-react": "^0.488.0", "react-error-boundary": "^6.0.0", "react-query": "^3.39.3", "schematic-symbols": "^0.0.139", "tailwind-merge": "^2.6.0", "tailwindcss-animate": "^1.0.7" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-WL36oUFOxHpdKnPjXyW1smLhE4exNPHKGvk76Xo9uPlm/SiQFI0BX51EU7LuWguZhZfn6uJf4nQ7ZsES7yF3MQ=="],
|
|
735
|
+
"@tscircuit/runframe": ["@tscircuit/runframe@0.0.507", "", { "dependencies": { "@radix-ui/react-alert-dialog": "^1.1.6", "@radix-ui/react-checkbox": "^1.1.4", "@radix-ui/react-dialog": "^1.1.11", "@radix-ui/react-dropdown-menu": "^2.1.4", "@radix-ui/react-icons": "^1.3.2", "@radix-ui/react-progress": "^1.1.2", "@radix-ui/react-slot": "^1.1.1", "@radix-ui/react-tabs": "^1.1.2", "@tscircuit/3d-viewer": "^0.0.240", "@tscircuit/assembly-viewer": "^0.0.1", "@tscircuit/core": "^0.0.424", "@tscircuit/create-snippet-url": "^0.0.8", "@tscircuit/eval": "^0.0.216", "@tscircuit/file-server": "^0.0.24", "@tscircuit/footprinter": "^0.0.169", "@tscircuit/pcb-viewer": "^1.11.156", "@tscircuit/props": "^0.0.193", "@tscircuit/schematic-viewer": "2.0.20", "circuit-to-svg": "^0.0.131", "clsx": "^2.1.1", "comlink": "^4.4.2", "cssnano": "^7.0.6", "jscad-fiber": "^0.0.77", "lucide-react": "^0.488.0", "react-error-boundary": "^6.0.0", "react-query": "^3.39.3", "schematic-symbols": "^0.0.139", "tailwind-merge": "^2.6.0", "tailwindcss-animate": "^1.0.7" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-YPgiDK5gcViz9EqgVbaaiMHuqPu/OmUx2plwMxCx2I6w/24/RHHEiayS1aOQVjrS2VkR7q763sIGrAjBOYBa4Q=="],
|
|
738
736
|
|
|
739
737
|
"@tscircuit/schematic-autolayout": ["@tscircuit/schematic-autolayout@0.0.6", "", { "dependencies": { "@tscircuit/soup-util": "^0.0.38", "transformation-matrix": "^2.16.1" } }, "sha512-34cQxtlSylBKyHkzaMBCynaWJgN9c/mWm7cz63StTYIafKmfFs383K8Xoc4QX8HXCvVrHYl1aK15onZua9MxeA=="],
|
|
740
738
|
|
|
@@ -938,8 +936,6 @@
|
|
|
938
936
|
|
|
939
937
|
"bare-stream": ["bare-stream@2.6.5", "", { "dependencies": { "streamx": "^2.21.0" }, "peerDependencies": { "bare-buffer": "*", "bare-events": "*" }, "optionalPeers": ["bare-buffer", "bare-events"] }, "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA=="],
|
|
940
938
|
|
|
941
|
-
"base-x": ["base-x@4.0.1", "", {}, "sha512-uAZ8x6r6S3aUM9rbHGVOIsR15U/ZSc82b3ymnCPsT45Gk1DDvhDPdIgB5MrhirZWt+5K0EEPQH985kNqZgNPFw=="],
|
|
942
|
-
|
|
943
939
|
"base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="],
|
|
944
940
|
|
|
945
941
|
"better-sqlite3": ["better-sqlite3@11.9.1", "", { "dependencies": { "bindings": "^1.5.0", "prebuild-install": "^7.1.1" } }, "sha512-Ba0KR+Fzxh2jDRhdg6TSH0SJGzb8C0aBY4hR8w8madIdIzzC6Y1+kx5qR6eS1Z+Gy20h6ZU28aeyg0z1VIrShQ=="],
|
|
@@ -966,8 +962,6 @@
|
|
|
966
962
|
|
|
967
963
|
"browserslist": ["browserslist@4.24.4", "", { "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" } }, "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A=="],
|
|
968
964
|
|
|
969
|
-
"bs58": ["bs58@5.0.0", "", { "dependencies": { "base-x": "^4.0.0" } }, "sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ=="],
|
|
970
|
-
|
|
971
965
|
"buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="],
|
|
972
966
|
|
|
973
967
|
"buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="],
|
|
@@ -1018,11 +1012,11 @@
|
|
|
1018
1012
|
|
|
1019
1013
|
"chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="],
|
|
1020
1014
|
|
|
1021
|
-
"circuit-json": ["circuit-json@0.0.
|
|
1015
|
+
"circuit-json": ["circuit-json@0.0.190", "", { "dependencies": { "nanoid": "^5.0.7", "zod": "^3.23.6" } }, "sha512-HbJAQZ/h1Abm4jSOYcQ/eaJ5PgmgXXskP1corGD/gmZExgPHo44Zr+9OaGNOGGf1MC+zH1vo1vhWSzg5e8cLoQ=="],
|
|
1022
1016
|
|
|
1023
1017
|
"circuit-json-to-bom-csv": ["circuit-json-to-bom-csv@0.0.6", "", { "dependencies": { "format-si-prefix": "^0.3.2", "papaparse": "^5.4.1" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-kGMszPG5jc7DbMyb84mgbkeQmDTewhRtWDHdUtWOQqmPw8HIwqzt64GK9aIy8BHyv+iUIthfaqiR3Rf8LqbLeg=="],
|
|
1024
1018
|
|
|
1025
|
-
"circuit-json-to-connectivity-map": ["circuit-json-to-connectivity-map@0.0.
|
|
1019
|
+
"circuit-json-to-connectivity-map": ["circuit-json-to-connectivity-map@0.0.22", "", { "dependencies": { "@tscircuit/math-utils": "^0.0.9" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-HN8DiISjZZLTglGEkYNRpKeQ/DMG4dDo5j4Hck0UGSJbpux9aFwtJOGszMf06Inh/gu5oKBrpZJIeWxaNacKUg=="],
|
|
1026
1020
|
|
|
1027
1021
|
"circuit-json-to-gerber": ["circuit-json-to-gerber@0.0.21", "", { "dependencies": { "@tscircuit/alphabet": "^0.0.2", "fast-json-stable-stringify": "^2.1.0", "transformation-matrix": "^3.0.0" }, "peerDependencies": { "circuit-json": "^0.0.164", "typescript": "^5.0.0" }, "bin": { "circuit-to-gerber": "dist/cli.js" } }, "sha512-9petb2qmaZyfU7khOwL/jVdwX73FU+jDlbHhXfnNJfTmfZL0yVdV4BK3uyM9+sYNXk7v2JLy9EwvzSL8qK+iIQ=="],
|
|
1028
1022
|
|
|
@@ -1032,7 +1026,7 @@
|
|
|
1032
1026
|
|
|
1033
1027
|
"circuit-json-to-tscircuit": ["circuit-json-to-tscircuit@0.0.4", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-LpHbOwdPE4+CooWPAPoKXWs4vxTrjJgu/avnxE3AqGwCD9r0ZnT73mEAB9oQi6T1i7T53zdkSR6y+zpsyCSE7g=="],
|
|
1034
1028
|
|
|
1035
|
-
"circuit-to-svg": ["circuit-to-svg@0.0.
|
|
1029
|
+
"circuit-to-svg": ["circuit-to-svg@0.0.131", "", { "dependencies": { "@types/node": "^22.5.5", "bun-types": "^1.1.40", "svgson": "^5.3.1", "transformation-matrix": "^2.16.1" }, "peerDependencies": { "@tscircuit/circuit-json-util": "*", "@tscircuit/footprinter": "*", "circuit-json": "*", "schematic-symbols": "*" } }, "sha512-iTpU1mNjhj38lnpLEysF6Mxm99LvuZgnXR4Qpt6pqdCwh+Fe9TfyEEbTXG9HngQAW7QQBoIVc/sA9sIbay9xIA=="],
|
|
1036
1030
|
|
|
1037
1031
|
"class-variance-authority": ["class-variance-authority@0.7.1", "", { "dependencies": { "clsx": "^2.1.1" } }, "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg=="],
|
|
1038
1032
|
|
|
@@ -1402,8 +1396,6 @@
|
|
|
1402
1396
|
|
|
1403
1397
|
"he": ["he@1.2.0", "", { "bin": { "he": "bin/he" } }, "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="],
|
|
1404
1398
|
|
|
1405
|
-
"heap": ["heap@0.2.5", "", {}, "sha512-G7HLD+WKcrOyJP5VQwYZNC3Z6FcQ7YYjEFiFoIj8PfEr73mu421o8B1N5DKUcc8K37EsJ2XXWA8DtrDz/2dReg=="],
|
|
1406
|
-
|
|
1407
1399
|
"highlight.js": ["highlight.js@10.7.3", "", {}, "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A=="],
|
|
1408
1400
|
|
|
1409
1401
|
"highlightjs-vue": ["highlightjs-vue@1.0.0", "", {}, "sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA=="],
|
|
@@ -1634,6 +1626,8 @@
|
|
|
1634
1626
|
|
|
1635
1627
|
"make-vfs": ["make-vfs@1.1.0", "", { "bin": { "make-vfs": "dist/cli.js" } }, "sha512-rIotyFrjN7wzjVvLu1eh8YBv/K4Ttkl2zKwvj9RZ34/X/x4v2hLl4cC2VDzIUBk4jemKUr8VDWtEA6R1OGEZOw=="],
|
|
1636
1628
|
|
|
1629
|
+
"manifold-3d": ["manifold-3d@3.1.0", "", {}, "sha512-/XM+G7y45FBx+eVoti5i/xCzcNbCM5J4Q057HccszcectKUZ7YT1qyyCh0xX2QFGmsQ8ooWmVlglIBblZuPosA=="],
|
|
1630
|
+
|
|
1637
1631
|
"markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="],
|
|
1638
1632
|
|
|
1639
1633
|
"match-sorter": ["match-sorter@6.4.0", "", { "dependencies": { "@babel/runtime": "^7.23.8", "remove-accents": "0.5.0" } }, "sha512-d4664ahzdL1QTTvmK1iI0JsrxWeJ6gn33qkYtnPg3mcn+naBLtXSgSPOe+X2vUgtgGwaAk3eiaj7gwKjjMAq+Q=="],
|
|
@@ -1860,8 +1854,6 @@
|
|
|
1860
1854
|
|
|
1861
1855
|
"pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="],
|
|
1862
1856
|
|
|
1863
|
-
"pathfinding": ["pathfinding@0.4.18", "", { "dependencies": { "heap": "0.2.5" } }, "sha512-R0TGEQ9GRcFCDvAWlJAWC+KGJ9SLbW4c0nuZRcioVlXVTlw+F5RvXQ8SQgSqI9KXWC1ew95vgmIiyaWTlCe9Ag=="],
|
|
1864
|
-
|
|
1865
1857
|
"peek-readable": ["peek-readable@5.4.2", "", {}, "sha512-peBp3qZyuS6cNIJ2akRNG1uo1WJ1d0wTxg/fxMdZ0BqCVhx242bSFHM9eNqflfJVS9SsgkzgT/1UgnsurBOTMg=="],
|
|
1866
1858
|
|
|
1867
1859
|
"performance-now": ["performance-now@2.1.0", "", {}, "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="],
|
|
@@ -2790,9 +2782,11 @@
|
|
|
2790
2782
|
|
|
2791
2783
|
"@react-three/fiber/zustand": ["zustand@3.7.2", "", { "peerDependencies": { "react": ">=16.8" }, "optionalPeers": ["react"] }, "sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA=="],
|
|
2792
2784
|
|
|
2793
|
-
"@tscircuit/3d-viewer/@tscircuit/core": ["@tscircuit/core@0.0.
|
|
2785
|
+
"@tscircuit/3d-viewer/@tscircuit/core": ["@tscircuit/core@0.0.426", "", { "dependencies": { "@lume/kiwi": "^0.4.3", "css-select": "^5.1.0", "format-si-unit": "^0.0.3", "nanoid": "^5.0.7", "performance-now": "^2.1.0", "react-reconciler": "^0.31.0", "react-reconciler-18": "npm:react-reconciler@0.29.2", "transformation-matrix": "^2.16.1", "zod": "^3.23.8" }, "peerDependencies": { "@tscircuit/capacity-autorouter": "*", "@tscircuit/checks": "*", "@tscircuit/circuit-json-util": "*", "@tscircuit/footprinter": "*", "@tscircuit/infgrid-ijump-astar": "*", "@tscircuit/math-utils": "*", "@tscircuit/props": "*", "@tscircuit/schematic-autolayout": "*", "circuit-json": "*", "circuit-json-to-connectivity-map": "*", "schematic-symbols": "*", "typescript": "^5.0.0" } }, "sha512-VDivGa+gxgTtjlfr2bcP3B6n1JhlQJyYgUBQHNoBTHl0b62BkaHlYAtH9/NJZXutUzz+CPKaZFf+D5UPqoL/eQ=="],
|
|
2794
2786
|
|
|
2795
|
-
"@tscircuit/3d-viewer/
|
|
2787
|
+
"@tscircuit/3d-viewer/@tscircuit/props": ["@tscircuit/props@0.0.193", "", { "peerDependencies": { "@tscircuit/layout": "*", "circuit-json": "*", "react": "*", "zod": "*" } }, "sha512-IBG5uJGedxVG8KVuyaMVBDAzbuuR+CNQ/YezqlVHbmRKkn+OMB/f0zUCr9HpFnZ3+3w8ByybL+cv/mcrxfXKjA=="],
|
|
2788
|
+
|
|
2789
|
+
"@tscircuit/3d-viewer/jscad-electronics": ["jscad-electronics@0.0.29", "", { "dependencies": { "@tscircuit/footprinter": "^0.0.132", "circuit-json": "^0.0.92" } }, "sha512-Q2M/Iq8M4ra2NA/5zE5zR0YbT6hGWuBZy12he5yipae1pL/07SU4K0q1gSYDwIdxyLMoZDtQGbK2OeSMuFjdtw=="],
|
|
2796
2790
|
|
|
2797
2791
|
"@tscircuit/3d-viewer/jscad-fiber": ["jscad-fiber@0.0.79", "", { "dependencies": { "color": "^4.2.3", "lucide-react": "^0.456.0", "react-code-blocks": "^0.1.6", "react-reconciler": "^0.29.2" }, "peerDependencies": { "@jscad/modeling": "*", "@react-three/fiber": "*", "react": "*", "three": "*" } }, "sha512-pSj1vwBxKxW0c7xnE82nElPecKUfUMR/Gl2SHRPIqaibPvn4wxu+Pp0sB6KDLnB1nmnKa4F2queRdGDN9AeZxw=="],
|
|
2798
2792
|
|
|
@@ -2800,35 +2794,25 @@
|
|
|
2800
2794
|
|
|
2801
2795
|
"@tscircuit/checks/@tscircuit/math-utils": ["@tscircuit/math-utils@0.0.13", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-Iq3HmMas4qRClFLzB0LrlLcQAlcIXU5dTo9dAM4TjU/ztPoOyqm5BZYV//UVwM/abdkRZD3kTPEBpPvqnSHnCQ=="],
|
|
2802
2796
|
|
|
2803
|
-
"@tscircuit/
|
|
2804
|
-
|
|
2805
|
-
"@tscircuit/core/@tscircuit/props": ["@tscircuit/props@0.0.172", "", { "peerDependencies": { "@tscircuit/layout": "*", "circuit-json": "*", "react": "*", "zod": "*" } }, "sha512-RKC8g5kBy8+XnT7gjvhXPYR9hogEQJ9Nh0MMRAC3rMyqO3kBCuB2UZduEUwvREyoo42mwN2qlyydDlnIu41Ztg=="],
|
|
2806
|
-
|
|
2807
|
-
"@tscircuit/core/circuit-json": ["circuit-json@0.0.159", "", { "dependencies": { "nanoid": "^5.0.7", "zod": "^3.23.6" } }, "sha512-NW2xGkLGhjCas6EMvbSjnpak9GV9+axJZnTh6fdu4UHVj97EMMtZOZs9/n4AEyjKexZ9SOknQiW7fTaUkvdnGA=="],
|
|
2808
|
-
|
|
2809
|
-
"@tscircuit/core/schematic-symbols": ["schematic-symbols@0.0.121", "", { "peerDependencies": { "typescript": "^5.5.4" } }, "sha512-xqWY43VC10wIVL+Kf8PlHj27Ojr7JdFeFHTRoSvmc6zvHirPQiXlnb3l70BerZQy6S/EOH+Q9yGRADYU0m8T1w=="],
|
|
2797
|
+
"@tscircuit/checks/circuit-json-to-connectivity-map": ["circuit-json-to-connectivity-map@0.0.20", "", { "dependencies": { "@tscircuit/math-utils": "^0.0.9" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-q8McyEomIZdprsSjGQv5puKLlMOM5w9EGRYA4TxaHPBLe03BoqVoN8wQxhdqmmbe4Tpa30KQFH9eISGVMs6HGg=="],
|
|
2810
2798
|
|
|
2811
2799
|
"@tscircuit/file-server/winterspec": ["winterspec@0.0.86", "", { "dependencies": { "@anatine/zod-openapi": "^2.2.3", "@edge-runtime/node-utils": "^2.3.0", "@edge-runtime/primitives": "^4.1.0", "async-mutex": "^0.4.1", "birpc": "^0.2.17", "bundle-require": "^4.0.2", "camelcase": "^8.0.0", "clipanion": "^4.0.0-rc.3", "edge-runtime": "^2.5.9", "esbuild": "^0.19.11", "globby": "^14.0.0", "human-readable": "^0.2.1", "kleur": "^4.1.5", "make-vfs": "^1.1.0", "next-route-matcher": "^1.0.2", "object-hash": "^3.0.0", "ora": "^8.0.1", "ts-morph": "^21.0.1", "watcher": "^2.3.0", "yargs": "^17.7.2", "zod": "^3.22.4" }, "peerDependencies": { "@ava/get-port": ">=2.0.0", "typescript": ">=4.0.0" }, "optionalPeers": ["@ava/get-port", "typescript"], "bin": { "winterspec": "dist/cli/cli.js" } }, "sha512-lErhEec/+hflbzyAHywJsyKs6nl5G/trBQX32D9R4YD3CJQ7BgSKgkaHu7Gm3Yk9Rr6KlvLTm6lYyPfDCTY6mA=="],
|
|
2812
2800
|
|
|
2813
|
-
"@tscircuit/pcb-viewer/@tscircuit/core": ["@tscircuit/core@0.0.
|
|
2801
|
+
"@tscircuit/pcb-viewer/@tscircuit/core": ["@tscircuit/core@0.0.426", "", { "dependencies": { "@lume/kiwi": "^0.4.3", "css-select": "^5.1.0", "format-si-unit": "^0.0.3", "nanoid": "^5.0.7", "performance-now": "^2.1.0", "react-reconciler": "^0.31.0", "react-reconciler-18": "npm:react-reconciler@0.29.2", "transformation-matrix": "^2.16.1", "zod": "^3.23.8" }, "peerDependencies": { "@tscircuit/capacity-autorouter": "*", "@tscircuit/checks": "*", "@tscircuit/circuit-json-util": "*", "@tscircuit/footprinter": "*", "@tscircuit/infgrid-ijump-astar": "*", "@tscircuit/math-utils": "*", "@tscircuit/props": "*", "@tscircuit/schematic-autolayout": "*", "circuit-json": "*", "circuit-json-to-connectivity-map": "*", "schematic-symbols": "*", "typescript": "^5.0.0" } }, "sha512-VDivGa+gxgTtjlfr2bcP3B6n1JhlQJyYgUBQHNoBTHl0b62BkaHlYAtH9/NJZXutUzz+CPKaZFf+D5UPqoL/eQ=="],
|
|
2814
2802
|
|
|
2815
2803
|
"@tscircuit/pcb-viewer/@tscircuit/math-utils": ["@tscircuit/math-utils@0.0.18", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-P45v7V/BiVZZjXTUzjWSUsy0M8GpI5o6d+JWhPWE5+JwI/sYZARuLT4e1xzV7LaavEX4GQ0NKG9hKN48xTZJsw=="],
|
|
2816
2804
|
|
|
2817
|
-
"@tscircuit/pcb-viewer/circuit-
|
|
2805
|
+
"@tscircuit/pcb-viewer/circuit-to-svg": ["circuit-to-svg@0.0.130", "", { "dependencies": { "@types/node": "^22.5.5", "bun-types": "^1.1.40", "svgson": "^5.3.1", "transformation-matrix": "^2.16.1" }, "peerDependencies": { "@tscircuit/circuit-json-util": "*", "@tscircuit/footprinter": "*", "circuit-json": "*", "schematic-symbols": "*" } }, "sha512-xL5LkvwylGVwmxIjWX9Rp/x6v02ppBay+eNyhH4D5bOjQ8KWvwC2aCwCTBft2l5GPn/KAJeI2vNKy/njzGbJhw=="],
|
|
2818
2806
|
|
|
2819
2807
|
"@tscircuit/prompt-benchmarks/@tscircuit/footprinter": ["@tscircuit/footprinter@0.0.102", "", { "dependencies": { "@tscircuit/mm": "^0.0.8", "zod": "^3.23.8" }, "peerDependencies": { "circuit-json": "*" } }, "sha512-cuc5iUU42uIa6FpQzMILSaa41TZnEGxvXDn3SoE/tnDFvUrJ+DPsCuiGu7PMnWjy+ip7XjCbghrVkFB4GK3kCg=="],
|
|
2820
2808
|
|
|
2821
|
-
"@tscircuit/routing/react-error-boundary": ["react-error-boundary@4.1.2", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "react": ">=16.13.1" } }, "sha512-GQDxZ5Jd+Aq/qUxbCm1UtzmL/s++V7zKgE8yMktJiCQXCCFZnMZh9ng+6/Ne6PjNSXH0L9CjeOEREfRnq6Duag=="],
|
|
2822
|
-
|
|
2823
2809
|
"@tscircuit/runframe/@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.2", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.7", "@radix-ui/react-focus-guards": "1.1.2", "@radix-ui/react-focus-scope": "1.1.4", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-portal": "1.1.6", "@radix-ui/react-presence": "1.1.4", "@radix-ui/react-primitive": "2.1.0", "@radix-ui/react-slot": "1.2.0", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-yI7S1ipkP5/+99qhSI6nthfo/tR6bL6Zgxi/+1UO6qPa6UeM6nlafWcQ65vB4rU2XjgjMfMhI3k9Y5MztA62VQ=="],
|
|
2824
2810
|
|
|
2825
|
-
"@tscircuit/runframe/@tscircuit/core": ["@tscircuit/core@0.0.
|
|
2811
|
+
"@tscircuit/runframe/@tscircuit/core": ["@tscircuit/core@0.0.424", "", { "dependencies": { "@lume/kiwi": "^0.4.3", "css-select": "^5.1.0", "format-si-unit": "^0.0.3", "nanoid": "^5.0.7", "performance-now": "^2.1.0", "react-reconciler": "^0.31.0", "react-reconciler-18": "npm:react-reconciler@0.29.2", "transformation-matrix": "^2.16.1", "zod": "^3.23.8" }, "peerDependencies": { "@tscircuit/capacity-autorouter": "*", "@tscircuit/checks": "*", "@tscircuit/circuit-json-util": "*", "@tscircuit/footprinter": "*", "@tscircuit/infgrid-ijump-astar": "*", "@tscircuit/math-utils": "*", "@tscircuit/props": "*", "@tscircuit/schematic-autolayout": "*", "circuit-json": "*", "circuit-json-to-connectivity-map": "*", "schematic-symbols": "*", "typescript": "^5.0.0" } }, "sha512-XmlSpty2ltVs0SxQ4z//RWlIk5S3FjAVPPwoOLPSfUrrL7JMWiyncbO2GQSzrNRbS01t7NapQ+3hwzKb+V2s9Q=="],
|
|
2826
2812
|
|
|
2827
2813
|
"@tscircuit/runframe/@tscircuit/eval": ["@tscircuit/eval@0.0.216", "", { "peerDependencies": { "@tscircuit/core": "*", "circuit-json": "*", "jscad-fiber": "*", "typescript": "^5.0.0" } }, "sha512-OPjTJSDfZyQm09tAn4+IephbBtUG+a+HtPf8A7wZQcOcI3gc0qRKYmzjbW/CStCzVNObf7ziO3uXWUNI5h0cBQ=="],
|
|
2828
2814
|
|
|
2829
|
-
"@tscircuit/runframe/@tscircuit/
|
|
2830
|
-
|
|
2831
|
-
"@tscircuit/runframe/circuit-to-svg": ["circuit-to-svg@0.0.130", "", { "dependencies": { "@types/node": "^22.5.5", "bun-types": "^1.1.40", "svgson": "^5.3.1", "transformation-matrix": "^2.16.1" }, "peerDependencies": { "@tscircuit/circuit-json-util": "*", "@tscircuit/footprinter": "*", "circuit-json": "*", "schematic-symbols": "*" } }, "sha512-xL5LkvwylGVwmxIjWX9Rp/x6v02ppBay+eNyhH4D5bOjQ8KWvwC2aCwCTBft2l5GPn/KAJeI2vNKy/njzGbJhw=="],
|
|
2815
|
+
"@tscircuit/runframe/@tscircuit/props": ["@tscircuit/props@0.0.193", "", { "peerDependencies": { "@tscircuit/layout": "*", "circuit-json": "*", "react": "*", "zod": "*" } }, "sha512-IBG5uJGedxVG8KVuyaMVBDAzbuuR+CNQ/YezqlVHbmRKkn+OMB/f0zUCr9HpFnZ3+3w8ByybL+cv/mcrxfXKjA=="],
|
|
2832
2816
|
|
|
2833
2817
|
"@tscircuit/runframe/schematic-symbols": ["schematic-symbols@0.0.139", "", { "peerDependencies": { "typescript": "^5.5.4" } }, "sha512-Kag2LjPbJFTBtmGG7L67F9pIlsbSumnvbsg1fbFKfaIle2yfeYXsowf22TEullYwoJIPKOHP7w2eK8Sl0i77kg=="],
|
|
2834
2818
|
|
|
@@ -2856,8 +2840,6 @@
|
|
|
2856
2840
|
|
|
2857
2841
|
"circuit-json-to-readable-netlist/circuit-json-to-connectivity-map": ["circuit-json-to-connectivity-map@0.0.17", "", { "dependencies": { "@tscircuit/math-utils": "^0.0.4" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-0IlFTwGWFXzlrYSvXQocXi6pYriF/JKnfihfvnVZ4p60kMC+1QvtJdivW9C4I0VNXEe922xak70v3YZNJrjI1g=="],
|
|
2858
2842
|
|
|
2859
|
-
"circuit-to-svg/@tscircuit/footprinter": ["@tscircuit/footprinter@0.0.91", "", { "dependencies": { "@tscircuit/mm": "^0.0.8", "zod": "^3.23.8" }, "peerDependencies": { "@tscircuit/soup": "*", "circuit-json": "*" } }, "sha512-6H3CYXNPJlIcT9BLpeC8I18RdsmolkEWAt2ih4RgT3MwTEjNxmJOr6alppXvGUXdw0zu/QOwAOF/NxAUqlxBFQ=="],
|
|
2860
|
-
|
|
2861
2843
|
"cliui/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
|
2862
2844
|
|
|
2863
2845
|
"cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
|
@@ -2914,6 +2896,8 @@
|
|
|
2914
2896
|
|
|
2915
2897
|
"js-beautify/nopt": ["nopt@7.2.1", "", { "dependencies": { "abbrev": "^2.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w=="],
|
|
2916
2898
|
|
|
2899
|
+
"jscad-electronics/@tscircuit/footprinter": ["@tscircuit/footprinter@0.0.124", "", { "dependencies": { "@tscircuit/mm": "^0.0.8", "zod": "^3.23.8" }, "peerDependencies": { "circuit-json": "*" } }, "sha512-sWYTOILmxC6VchCa9877O+wFr6N44Mi0isAEeB/OGnUfjq2iCMgrb0C4scpYDbiStgYqHPk2hAkTFa7Yao6XjA=="],
|
|
2900
|
+
|
|
2917
2901
|
"jscad-electronics/circuit-json": ["circuit-json@0.0.92", "", { "dependencies": { "nanoid": "^5.0.7", "zod": "^3.23.6" } }, "sha512-cEqFxLadAxS+tm7y5/llS4FtqN3QbzjBNubely7vFo8w05sZnGRCcLzZwKL7rC7He1CqqyFynD4MdeL+F/PjBQ=="],
|
|
2918
2902
|
|
|
2919
2903
|
"jscad-fiber/lucide-react": ["lucide-react@0.456.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc" } }, "sha512-DIIGJqTT5X05sbAsQ+OhA8OtJYyD4NsEMCA/HQW/Y6ToPQ7gwbtujIoeAaup4HpHzV35SQOarKAWH8LYglB6eA=="],
|
|
@@ -3170,14 +3154,14 @@
|
|
|
3170
3154
|
|
|
3171
3155
|
"@tscircuit/assembly-viewer/@tscircuit/core/schematic-symbols": ["schematic-symbols@0.0.121", "", { "peerDependencies": { "typescript": "^5.5.4" } }, "sha512-xqWY43VC10wIVL+Kf8PlHj27Ojr7JdFeFHTRoSvmc6zvHirPQiXlnb3l70BerZQy6S/EOH+Q9yGRADYU0m8T1w=="],
|
|
3172
3156
|
|
|
3157
|
+
"@tscircuit/checks/circuit-json-to-connectivity-map/@tscircuit/math-utils": ["@tscircuit/math-utils@0.0.9", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-sPzfXndijet8z29X6f5vnSZddiso2tRg7m6rB+268bVj60mxnxUMD14rKuMlLn6n84fMOpD/X7pRTZUfi6M+Tg=="],
|
|
3158
|
+
|
|
3173
3159
|
"@tscircuit/file-server/winterspec/bundle-require": ["bundle-require@4.2.1", "", { "dependencies": { "load-tsconfig": "^0.2.3" }, "peerDependencies": { "esbuild": ">=0.17" } }, "sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA=="],
|
|
3174
3160
|
|
|
3175
3161
|
"@tscircuit/file-server/winterspec/esbuild": ["esbuild@0.19.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.19.12", "@esbuild/android-arm": "0.19.12", "@esbuild/android-arm64": "0.19.12", "@esbuild/android-x64": "0.19.12", "@esbuild/darwin-arm64": "0.19.12", "@esbuild/darwin-x64": "0.19.12", "@esbuild/freebsd-arm64": "0.19.12", "@esbuild/freebsd-x64": "0.19.12", "@esbuild/linux-arm": "0.19.12", "@esbuild/linux-arm64": "0.19.12", "@esbuild/linux-ia32": "0.19.12", "@esbuild/linux-loong64": "0.19.12", "@esbuild/linux-mips64el": "0.19.12", "@esbuild/linux-ppc64": "0.19.12", "@esbuild/linux-riscv64": "0.19.12", "@esbuild/linux-s390x": "0.19.12", "@esbuild/linux-x64": "0.19.12", "@esbuild/netbsd-x64": "0.19.12", "@esbuild/openbsd-x64": "0.19.12", "@esbuild/sunos-x64": "0.19.12", "@esbuild/win32-arm64": "0.19.12", "@esbuild/win32-ia32": "0.19.12", "@esbuild/win32-x64": "0.19.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg=="],
|
|
3176
3162
|
|
|
3177
3163
|
"@tscircuit/file-server/winterspec/kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="],
|
|
3178
3164
|
|
|
3179
|
-
"@tscircuit/pcb-viewer/circuit-json-to-connectivity-map/@tscircuit/math-utils": ["@tscircuit/math-utils@0.0.9", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-sPzfXndijet8z29X6f5vnSZddiso2tRg7m6rB+268bVj60mxnxUMD14rKuMlLn6n84fMOpD/X7pRTZUfi6M+Tg=="],
|
|
3180
|
-
|
|
3181
3165
|
"@tscircuit/runframe/@radix-ui/react-dialog/@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.7", "", { "dependencies": { "@radix-ui/primitive": "1.1.2", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.0", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-escape-keydown": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-j5+WBUdhccJsmH5/H0K6RncjDtoALSEr6jbkaZu+bjw6hOPOhHycr6vEUujl+HBK8kjUfWcoCJXxP6e4lUlMZw=="],
|
|
3182
3166
|
|
|
3183
3167
|
"@tscircuit/runframe/@radix-ui/react-dialog/@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA=="],
|