diff --git a/package-lock.json b/package-lock.json index fe2266d6..b6ee6a48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,12 +18,12 @@ "malloy-packages": "scripts/malloy-packages.js" }, "devDependencies": { - "@malloydata/db-duckdb": "0.0.397", - "@malloydata/malloy": "0.0.397", - "@malloydata/malloy-sql": "0.0.397", - "@malloydata/render": "0.0.397", - "@malloydata/render-validator": "0.0.397", - "@malloydata/syntax-highlight": "0.0.397", + "@malloydata/db-duckdb": "0.0.433", + "@malloydata/malloy": "0.0.433", + "@malloydata/malloy-sql": "0.0.433", + "@malloydata/render": "0.0.433", + "@malloydata/render-validator": "0.0.433", + "@malloydata/syntax-highlight": "0.0.433", "@types/uglify-js": "^3.17.5", "concurrently": "^6.2.1", "fs-extra": "^10.1.0", @@ -160,43 +160,50 @@ } }, "node_modules/@duckdb/duckdb-wasm": { - "version": "1.33.1-dev13.0", - "resolved": "https://registry.npmjs.org/@duckdb/duckdb-wasm/-/duckdb-wasm-1.33.1-dev13.0.tgz", - "integrity": "sha512-d6TuZRKnOMZPvoZqeCTLXUbpr8QcZwujrQ2cJRr4tk0hBdMO8AF8h6J39MX7BRtbQS9X6ZDihjAcfHJhiKIhug==", + "version": "1.33.1-dev57.0", + "resolved": "https://registry.npmjs.org/@duckdb/duckdb-wasm/-/duckdb-wasm-1.33.1-dev57.0.tgz", + "integrity": "sha512-ndn5l2EHq1PEMvCg8G6lRV0vjhSUcbqdM/niNBTTqH4/PyyUUVKbge0uUyCnj27b9SF/CiqBwDsgKLTqBvaxdw==", "dev": true, "license": "MIT", "dependencies": { - "apache-arrow": "^17.0.0" + "apache-arrow": "^17.0.0", + "qs": "^6.14.1" } }, "node_modules/@duckdb/node-api": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-api/-/node-api-1.4.4-r.1.tgz", - "integrity": "sha512-oqaH9DXTJNwyLkd2FgJwmSnWVqjB5irbESeTeNVMBnM03iRaNY545BhfBDumu1TnOV2koIdG1mNsmjgq/ZTIkA==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-api/-/node-api-1.5.5-r.4.tgz", + "integrity": "sha512-8v0CZNo7aM6GQCNUHERGTrZWIfss8xKzZPF3ACNhPdMMrt7UjkNI5nRQ9FTFO7Yx8ghxYxVpdotmBBMQ5vXUOA==", "dev": true, "license": "MIT", "dependencies": { - "@duckdb/node-bindings": "1.4.4-r.1" + "@duckdb/node-bindings": "1.5.5-r.4" } }, "node_modules/@duckdb/node-bindings": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings/-/node-bindings-1.4.4-r.1.tgz", - "integrity": "sha512-NFm0AMrK3kiVLQhgnGUEjX5c8Elm93dYePZ9BUCvvd0AVVTKEBeRhBp9afziuzP3Sl5+7XQ1TyaBLsZJKKBDBQ==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings/-/node-bindings-1.5.5-r.4.tgz", + "integrity": "sha512-n+4hEfjp4vny3BuWn5p1Gh5CzHaPRxoI8TzTytxL1GMlIKKrXcg/o6sSAjrsROUXGAM4WQCiWPLKnPsjJJSggg==", "dev": true, "license": "MIT", + "dependencies": { + "detect-libc": "^2.1.2" + }, "optionalDependencies": { - "@duckdb/node-bindings-darwin-arm64": "1.4.4-r.1", - "@duckdb/node-bindings-darwin-x64": "1.4.4-r.1", - "@duckdb/node-bindings-linux-arm64": "1.4.4-r.1", - "@duckdb/node-bindings-linux-x64": "1.4.4-r.1", - "@duckdb/node-bindings-win32-x64": "1.4.4-r.1" + "@duckdb/node-bindings-darwin-arm64": "1.5.5-r.4", + "@duckdb/node-bindings-darwin-x64": "1.5.5-r.4", + "@duckdb/node-bindings-linux-arm64": "1.5.5-r.4", + "@duckdb/node-bindings-linux-arm64-musl": "1.5.5-r.4", + "@duckdb/node-bindings-linux-x64": "1.5.5-r.4", + "@duckdb/node-bindings-linux-x64-musl": "1.5.5-r.4", + "@duckdb/node-bindings-win32-arm64": "1.5.5-r.4", + "@duckdb/node-bindings-win32-x64": "1.5.5-r.4" } }, "node_modules/@duckdb/node-bindings-darwin-arm64": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-darwin-arm64/-/node-bindings-darwin-arm64-1.4.4-r.1.tgz", - "integrity": "sha512-/NtbkCgCAOJDxw41XvSGV/mxQAlsx+2xUvhIVUj6fxoOfTG4jTttRhuphwE3EXNoWzJOjZxCZ5LwhC/qb6ZwLg==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-darwin-arm64/-/node-bindings-darwin-arm64-1.5.5-r.4.tgz", + "integrity": "sha512-4OdO3pkoJzAZDnZ2iyehi67XL4+WqHPCGYWbyAsYyhGJS+WscGrAnFhMhHudMM2XF8pIEM2tuOKMmwWnTNN2wQ==", "cpu": [ "arm64" ], @@ -208,9 +215,9 @@ ] }, "node_modules/@duckdb/node-bindings-darwin-x64": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-darwin-x64/-/node-bindings-darwin-x64-1.4.4-r.1.tgz", - "integrity": "sha512-lzFRDrZwc1EoV513vmKufasiAQ2WlhEb0O6guRBarbvOKKVhRb8tQ5H7LPVTrIewjTI3XDgHrnK+vfh9L+xQcA==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-darwin-x64/-/node-bindings-darwin-x64-1.5.5-r.4.tgz", + "integrity": "sha512-WHg3E+TupdujG31LGujMMcmtPIdW6rqRHeihlKgJR8EMetHycoYkwYxRud0niitJvS+uV0du/6pdemzs3HG9GQ==", "cpu": [ "x64" ], @@ -222,9 +229,23 @@ ] }, "node_modules/@duckdb/node-bindings-linux-arm64": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-arm64/-/node-bindings-linux-arm64-1.4.4-r.1.tgz", - "integrity": "sha512-wq92/EcTiOTRW1RSDOwjeLyMMXWwNVNwU21TQdfu3sgS86+Ih3raaK68leDgY5cWgf72We3J2W7HYz8GwxcMYw==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-arm64/-/node-bindings-linux-arm64-1.5.5-r.4.tgz", + "integrity": "sha512-VIeHMpYAKpGiWZ4QYsOhODAHDEcXcn089aKty0MFsMEKaEfRJWixKwnwXy/ba2/wwFmnPiSFhKNqygj2BrQbqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@duckdb/node-bindings-linux-arm64-musl": { + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-arm64-musl/-/node-bindings-linux-arm64-musl-1.5.5-r.4.tgz", + "integrity": "sha512-Tswnf+/XWpOcFJNUUu1fkFIX/su4tMcnNz0ZV0Nru3/CkJKIMwBh+VL4SM9YV4zPK90GC4Lm8gzafjc1qDmfyQ==", "cpu": [ "arm64" ], @@ -236,9 +257,9 @@ ] }, "node_modules/@duckdb/node-bindings-linux-x64": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-x64/-/node-bindings-linux-x64-1.4.4-r.1.tgz", - "integrity": "sha512-fjYNc+t4/T7mhzZ57oJoIQaWvbYVvxhidcNNansQFiWnd6/JMLCULd4qnt8XI3Tt2BrZsraH690KSBIS3QPt0w==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-x64/-/node-bindings-linux-x64-1.5.5-r.4.tgz", + "integrity": "sha512-EY+CL/4h8MQZd9MxTBq+98m3U9osmvHBwhE9b5fMWQGt2I6p1j8fvX0SXiwy9KBfQIbjVUOf5XvGdXncI54KSg==", "cpu": [ "x64" ], @@ -249,10 +270,38 @@ "linux" ] }, + "node_modules/@duckdb/node-bindings-linux-x64-musl": { + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-x64-musl/-/node-bindings-linux-x64-musl-1.5.5-r.4.tgz", + "integrity": "sha512-h0ixrgGHtHh+C/Fu1eAL9hX4iCf8yuyJN6Y24Gh8axXXP8UuSh0rQRAQUQTYarQ8pm2qSG/67ZYjyYYydD+J/w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@duckdb/node-bindings-win32-arm64": { + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-win32-arm64/-/node-bindings-win32-arm64-1.5.5-r.4.tgz", + "integrity": "sha512-uorAnySIMwWkRDuUhM1yTDxWIislnX8mndhFIw6r4VKhVW61HEOOMX5oAgkSQFII4RNWpC5PCcUAEhSATgNvVQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@duckdb/node-bindings-win32-x64": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-win32-x64/-/node-bindings-win32-x64-1.4.4-r.1.tgz", - "integrity": "sha512-+J+MUYGvYWfX0balWToDIy3CBYg7hHI0KQUQ39+SniinXlMF8+puRW6ebyQ+AXrcrKkwuj4wzJuEBD0AdhHGtw==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-win32-x64/-/node-bindings-win32-x64-1.5.5-r.4.tgz", + "integrity": "sha512-X9XGcWQ10P3mvUIaMXXk2bi94Cow7b/ziTPMKxJ0U8U3wQPxsLzEUP7D7C/KrBWINl5am2k+5SkDVyA/THUgPg==", "cpu": [ "x64" ], @@ -679,78 +728,63 @@ "node": ">=18" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/@malloydata/db-duckdb": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/db-duckdb/-/db-duckdb-0.0.397.tgz", - "integrity": "sha512-L23mLSa28rpj7xH1WBLn7dF6715SkZGCFMRS7/Y/1EC/q/xx8EXKOGIlsCgYl7hKaonPkre1Ldi1nU4SmzqrIw==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/db-duckdb/-/db-duckdb-0.0.433.tgz", + "integrity": "sha512-FDjcZVpnf140Cwhg2sSMVvdMmpn6vy1O7lggarUfkWdWqAxWPrc8M2qFHiV8WEbtNLtqylUhY20E1yo9P+d18w==", "dev": true, "license": "MIT", "dependencies": { - "@duckdb/duckdb-wasm": "1.33.1-dev13.0", - "@duckdb/node-api": "1.4.4-r.1", - "@malloydata/malloy": "0.0.397", - "@motherduck/wasm-client": "^0.6.6", + "@duckdb/duckdb-wasm": "1.33.1-dev57.0", + "@duckdb/node-api": "1.5.5-r.4", + "@malloydata/malloy": "0.0.433", + "@motherduck/wasm-client": "0.6.6", "apache-arrow": "^17.0.0", - "web-worker": "^1.3.0" + "web-worker": "^1.5.0" }, "engines": { "node": ">=20" } }, "node_modules/@malloydata/malloy": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/malloy/-/malloy-0.0.397.tgz", - "integrity": "sha512-GQQeZ8mAwCANhJJxNicOqqdhH6ppK/bqma3x4F2+xIl5KQRb5Qy76gBDox/16aYY+fSerEFqboR3T8+mssj2Kw==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/malloy/-/malloy-0.0.433.tgz", + "integrity": "sha512-/Ixa19U6AISFF+UxTYCR/+/rMCU6MzuccLjRTgmLXeSRFq3flyo1hzvMqPL3M46FKRbSPT9A92/A62RXiYFt2w==", "dev": true, "license": "MIT", "dependencies": { - "@malloydata/malloy-filter": "0.0.397", - "@malloydata/malloy-interfaces": "0.0.397", - "@malloydata/malloy-tag": "0.0.397", + "@malloydata/malloy-filter": "0.0.433", + "@malloydata/malloy-interfaces": "0.0.433", + "@malloydata/malloy-tag": "0.0.433", "@noble/hashes": "^1.8.0", "antlr4ts": "^0.5.0-alpha.4", "assert": "^2.0.0", "jaro-winkler": "^0.2.8", - "jest-diff": "^29.6.2", "lodash": "^4.18.1", - "luxon": "^3.5.0", - "uuid": "^8.3.2" + "luxon": "^3.7.2", + "uuid": "^11.1.1" }, "engines": { "node": ">=20" } }, "node_modules/@malloydata/malloy-filter": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/malloy-filter/-/malloy-filter-0.0.397.tgz", - "integrity": "sha512-aAsnNGcTzWcLFGAmPXhXLoESMYBA81pj+PnDVj785Vet13CWIPLg4x9hwRt95u/E602+h41dovxiVIWwWe4lzg==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/malloy-filter/-/malloy-filter-0.0.433.tgz", + "integrity": "sha512-2OqPTYUh7Hn2rf8XFHzW69i/fOJQ6gh12wxlvbFUiiC9EesFJ/POmtBJXbTT/rmZ1Q9JIKptMPoKm3nCU/BAJA==", "dev": true, "license": "MIT", "dependencies": { - "jest-diff": "^29.6.2", - "luxon": "^3.5.0" + "luxon": "^3.7.2" }, "engines": { "node": ">=20" } }, "node_modules/@malloydata/malloy-interfaces": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/malloy-interfaces/-/malloy-interfaces-0.0.397.tgz", - "integrity": "sha512-+Puyz/o+1t5FXH/ivLipoGMXKgs7MCxcSUjrILbYG8boJD5HBvFUxeAlL8r7tGs4JIQHgkJ9Q3MTlOr3wJLKTQ==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/malloy-interfaces/-/malloy-interfaces-0.0.433.tgz", + "integrity": "sha512-zc24MbPAxwMzZtbhW4JirrAdVMXUSRyz8zFI6AE4UIqvZuSi2J02VXOXEk82j2RWqc5lwTk8PgHQfpFGxUAhvQ==", "dev": true, "license": "MIT", "dependencies": { @@ -761,26 +795,26 @@ } }, "node_modules/@malloydata/malloy-sql": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/malloy-sql/-/malloy-sql-0.0.397.tgz", - "integrity": "sha512-PbmRzmu1xxls7LiJ/3UqNq/yhJvkKNRMcJUkpyOyp1JtiRbhAvdSO9CGNblpXuo83BVfVcPgH2mlfXFrBRdPRw==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/malloy-sql/-/malloy-sql-0.0.433.tgz", + "integrity": "sha512-ZxxXfi57fQONkeecIQOlmceLFm50269h2IP+BSdVo4bv2+iP9M2hfLblAIplqGQcz1TeZf23VAiqtlif83mQ9g==", "dev": true, "license": "MIT", "dependencies": { - "@malloydata/malloy": "0.0.397" + "@malloydata/malloy": "0.0.433" }, "engines": { "node": ">=20" } }, "node_modules/@malloydata/malloy-tag": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/malloy-tag/-/malloy-tag-0.0.397.tgz", - "integrity": "sha512-YI8FmZ/6srNJ09CeU1wIvtVRT9fXiowSwSjDyZ1lyoZmJMxlsB69+OBkwJLN3G4EdjuJ0o+vR0wMQgqvd9BEoQ==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/malloy-tag/-/malloy-tag-0.0.433.tgz", + "integrity": "sha512-5XrTZZT63DIoMk5OhIlTje6s0Ss/IUGbiPJP+GcsyzJ8PCtjNJASQC6zXxEGZbdxSL5+mBMOIez8kp3bQte69w==", "dev": true, "license": "MIT", "dependencies": { - "@malloydata/motly-ts-parser": "^0.8.0", + "@malloydata/motly-ts-parser": "^0.9.0", "assert": "^2.0.0" }, "engines": { @@ -788,27 +822,27 @@ } }, "node_modules/@malloydata/motly-ts-parser": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@malloydata/motly-ts-parser/-/motly-ts-parser-0.8.1.tgz", - "integrity": "sha512-aNo6Yr8Z1T3fHwNta7mCUKEeQksYuft9/dxyzt4KWL40u9VwQzOjsnrbHPO7czfZNdq5/IKTccqnDIyAV0eiqw==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@malloydata/motly-ts-parser/-/motly-ts-parser-0.9.0.tgz", + "integrity": "sha512-r3OneNVn3734XV3C4NS4xg/VbVDIVaF3/zxorBCuNUihpPV+JHe2KyfDcFVBJligJxGKkHiFtEu0uw98B9budA==", "dev": true, "license": "MIT" }, "node_modules/@malloydata/render": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/render/-/render-0.0.397.tgz", - "integrity": "sha512-96FhfMf1MDKEitxNowpgBixcGNbiiqwem1CRo+WQ+KP81gzmwAVWARnEH+quPSse+7g7EgVb7dvxpwg/7ZJMUA==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/render/-/render-0.0.433.tgz", + "integrity": "sha512-4tt8BYabpBMfMcWBxAe/yw6zERHCiZGWMpUu0/7Dgt2+4Gb3XWZQT0IQlJ1XycJtN3edLRp6fRGxNoc7hbLxwQ==", "dev": true, "license": "MIT", "dependencies": { - "@malloydata/malloy-interfaces": "0.0.397", - "@malloydata/malloy-tag": "0.0.397", - "@tanstack/solid-virtual": "^3.10.4", + "@malloydata/malloy-interfaces": "0.0.433", + "@malloydata/malloy-tag": "0.0.433", + "@tanstack/solid-virtual": "^3.13.33", "lodash": "^4.18.1", - "luxon": "^3.5.0", - "solid-js": "^1.8.15", + "luxon": "^3.7.2", + "solid-js": "^1.9.14", "ssf": "^0.11.2", - "us-atlas": "^3.0.0", + "us-atlas": "^3.0.1", "vega": "^6.2.0", "vega-interpreter": "^2.0.0", "vega-lite": "^5.2.0" @@ -818,14 +852,14 @@ } }, "node_modules/@malloydata/render-validator": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/render-validator/-/render-validator-0.0.397.tgz", - "integrity": "sha512-tluN1E1+S1HjdTzZH6wNFbmOyifJZvk/yPxSn5SdjWBpH7COuNpRcnEVxE71vP72gfY0CY4v2v2P/fA/HKGmwg==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/render-validator/-/render-validator-0.0.433.tgz", + "integrity": "sha512-xy7JGRC+P28a1uQwH6d1Of/FnmsPv4E+Dk1SUpZ/6mnWlas4AX67BDYCS8tPmg7YrrTJNgVyFOuGw+fsStk3Uw==", "dev": true, "license": "MIT", "dependencies": { - "@malloydata/malloy-interfaces": "0.0.397", - "@malloydata/render": "0.0.397" + "@malloydata/malloy-interfaces": "0.0.433", + "@malloydata/render": "0.0.433" }, "engines": { "node": ">=20" @@ -1252,9 +1286,9 @@ } }, "node_modules/@malloydata/syntax-highlight": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/syntax-highlight/-/syntax-highlight-0.0.397.tgz", - "integrity": "sha512-wrBlCnqH6gJCwqWrV81rIgR5rshRIN2SVKf3rw9cA/MJuj+3oBy4AzMfZccbYwqYAY4wqZ8qbYrpBT3sJF5niQ==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/syntax-highlight/-/syntax-highlight-0.0.433.tgz", + "integrity": "sha512-X0we6ei9EhF5RKZWMd5AJGIZxH8uu+tmEZZaScHqgxj29RWM0e891J925H78UxpD27joRVA1bMlvwF9k2YnnYQ==", "dev": true, "license": "MIT", "engines": { @@ -1283,13 +1317,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@sinclair/typebox": { - "version": "0.27.10", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", - "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", - "dev": true, - "license": "MIT" - }, "node_modules/@swc/helpers": { "version": "0.5.15", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", @@ -1306,12 +1333,13 @@ "dev": true }, "node_modules/@tanstack/solid-virtual": { - "version": "3.10.8", - "resolved": "https://registry.npmjs.org/@tanstack/solid-virtual/-/solid-virtual-3.10.8.tgz", - "integrity": "sha512-4dmUYIjjIVRFmpm7qha1tEDk5L6yzCEh63gTCUlo9ECXz7n3gvY95YQsrFNO020en5gXIUPHIzMBd56qqafyhQ==", + "version": "3.13.37", + "resolved": "https://registry.npmjs.org/@tanstack/solid-virtual/-/solid-virtual-3.13.37.tgz", + "integrity": "sha512-RxJC8n/6nnFHcPvDGMg7ZkqSzCVUco4JNw3ctIChj1HjoKs5I9wt5nsU+DUVtMVEiMfizUxOAx4TPIN8SHjxUQ==", "dev": true, + "license": "MIT", "dependencies": { - "@tanstack/virtual-core": "3.10.8" + "@tanstack/virtual-core": "3.17.8" }, "funding": { "type": "github", @@ -1322,10 +1350,11 @@ } }, "node_modules/@tanstack/virtual-core": { - "version": "3.10.8", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.10.8.tgz", - "integrity": "sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==", + "version": "3.17.8", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.17.8.tgz", + "integrity": "sha512-BfEvehNpOT75r5Ksc5xW6NZuXujTfb7nlSEyVu4XHG3gdxNg1KqXruWbDewXOUaUYIo4oRbSfkjIajz4MAT8tA==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" @@ -1380,9 +1409,9 @@ "peer": true }, "node_modules/@types/lodash": { - "version": "4.17.24", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz", - "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.25.tgz", + "integrity": "sha512-+K1NIO8I+F9/wNulfVvu23QYd0Pe9/OCqRrim4NoYIf1VoEDL90Ve4ClzpyqBLc7NpGGWRvYNCKZ1BE/Jpf8dQ==", "dev": true, "license": "MIT" }, @@ -1847,10 +1876,11 @@ } }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" }, "node_modules/d3-array": { "version": "3.2.4", @@ -2164,14 +2194,14 @@ "node": ">=6" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, "node_modules/dunder-proto": { @@ -2855,32 +2885,6 @@ "integrity": "sha512-yr+mElb6dWxA1mzFu0+26njV5DWAQRNTi5pB6fFMm79zHrfAs3d0qjhe/IpZI4AHIUJkzvu5QXQRWOw2O0GQyw==", "dev": true }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -4100,34 +4104,6 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/qs": { "version": "6.15.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", @@ -4143,13 +4119,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true, - "license": "MIT" - }, "node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -4314,19 +4283,21 @@ } }, "node_modules/seroval": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.5.0.tgz", - "integrity": "sha512-OE4cvmJ1uSPrKorFIH9/w/Qwuvi/IMcGbv5RKgcJ/zjA/IohDLU6SVaxFN9FwajbP7nsX0dQqMDes1whk3y+yw==", + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.5.6.tgz", + "integrity": "sha512-rVQVWjjSvlINzaQPZH5JFqsqEsIWdTxY3iJZCnTL/5gQbXIRooVZKI60tVCkOVfzcRPejboxO2t0P89dg5mQaA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/seroval-plugins": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.5.0.tgz", - "integrity": "sha512-EAHqADIQondwRZIdeW2I636zgsODzoBDwb3PT/+7TLDWyw1Dy/Xv7iGUIEXXav7usHDE9HVhOU61irI3EnyyHA==", + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.5.6.tgz", + "integrity": "sha512-HXuLAX2pu/UByPpaeo/TaMfvMIi+1QqIoPJYCcAtU8QkVNwgR6MPlGuCQTErV1JwraaMbYaWVIBX7mppzGLATQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -4418,14 +4389,15 @@ } }, "node_modules/solid-js": { - "version": "1.9.11", - "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.11.tgz", - "integrity": "sha512-WEJtcc5mkh/BnHA6Yrg4whlF8g6QwpmXXRg4P2ztPmcKeHHlH4+djYecBLhSpecZY2RRECXYUwIc/C2r3yzQ4Q==", + "version": "1.9.15", + "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.15.tgz", + "integrity": "sha512-EeiY2xfpZJqPLjXspVEKjAII4yv8NyG//NxZ3IpOFHdUNnnTyL0uJOeS9LWGvA7cFCz5y94cjFwYlmw5Luncsg==", "dev": true, + "license": "MIT", "dependencies": { "csstype": "^3.1.0", - "seroval": "~1.5.0", - "seroval-plugins": "~1.5.0" + "seroval": "~1.5.4", + "seroval-plugins": "~1.5.4" } }, "node_modules/source-map": { @@ -4809,10 +4781,11 @@ "dev": true }, "node_modules/us-atlas": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/us-atlas/-/us-atlas-3.0.0.tgz", - "integrity": "sha512-cqvwK7Tdt8PZxhf5Nq5uenoHg/6cYWP3GFJocwDY01IszUC5HgwkODNKKXNWj1o24LFGK5ZgALqlcHK2R5EHwQ==", - "dev": true + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/us-atlas/-/us-atlas-3.0.1.tgz", + "integrity": "sha512-wEIZCq0ImPvGblTd8gZMqNNCPkQshugMUG/8nkSWXb02+XqNFREg9atHOKP9w6prLZTpqcLhSvdBW81MkV3/0Q==", + "dev": true, + "license": "ISC" }, "node_modules/util": { "version": "0.12.5", @@ -4828,12 +4801,17 @@ } }, "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.1.tgz", + "integrity": "sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==", "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist/esm/bin/uuid" } }, "node_modules/uvu": { @@ -5456,10 +5434,11 @@ "dev": true }, "node_modules/web-worker": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz", - "integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==", - "dev": true + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.5.0.tgz", + "integrity": "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==", + "dev": true, + "license": "Apache-2.0" }, "node_modules/webidl-conversions": { "version": "3.0.1", @@ -5701,68 +5680,94 @@ } }, "@duckdb/duckdb-wasm": { - "version": "1.33.1-dev13.0", - "resolved": "https://registry.npmjs.org/@duckdb/duckdb-wasm/-/duckdb-wasm-1.33.1-dev13.0.tgz", - "integrity": "sha512-d6TuZRKnOMZPvoZqeCTLXUbpr8QcZwujrQ2cJRr4tk0hBdMO8AF8h6J39MX7BRtbQS9X6ZDihjAcfHJhiKIhug==", + "version": "1.33.1-dev57.0", + "resolved": "https://registry.npmjs.org/@duckdb/duckdb-wasm/-/duckdb-wasm-1.33.1-dev57.0.tgz", + "integrity": "sha512-ndn5l2EHq1PEMvCg8G6lRV0vjhSUcbqdM/niNBTTqH4/PyyUUVKbge0uUyCnj27b9SF/CiqBwDsgKLTqBvaxdw==", "dev": true, "requires": { - "apache-arrow": "^17.0.0" + "apache-arrow": "^17.0.0", + "qs": "^6.14.1" } }, "@duckdb/node-api": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-api/-/node-api-1.4.4-r.1.tgz", - "integrity": "sha512-oqaH9DXTJNwyLkd2FgJwmSnWVqjB5irbESeTeNVMBnM03iRaNY545BhfBDumu1TnOV2koIdG1mNsmjgq/ZTIkA==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-api/-/node-api-1.5.5-r.4.tgz", + "integrity": "sha512-8v0CZNo7aM6GQCNUHERGTrZWIfss8xKzZPF3ACNhPdMMrt7UjkNI5nRQ9FTFO7Yx8ghxYxVpdotmBBMQ5vXUOA==", "dev": true, "requires": { - "@duckdb/node-bindings": "1.4.4-r.1" + "@duckdb/node-bindings": "1.5.5-r.4" } }, "@duckdb/node-bindings": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings/-/node-bindings-1.4.4-r.1.tgz", - "integrity": "sha512-NFm0AMrK3kiVLQhgnGUEjX5c8Elm93dYePZ9BUCvvd0AVVTKEBeRhBp9afziuzP3Sl5+7XQ1TyaBLsZJKKBDBQ==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings/-/node-bindings-1.5.5-r.4.tgz", + "integrity": "sha512-n+4hEfjp4vny3BuWn5p1Gh5CzHaPRxoI8TzTytxL1GMlIKKrXcg/o6sSAjrsROUXGAM4WQCiWPLKnPsjJJSggg==", "dev": true, "requires": { - "@duckdb/node-bindings-darwin-arm64": "1.4.4-r.1", - "@duckdb/node-bindings-darwin-x64": "1.4.4-r.1", - "@duckdb/node-bindings-linux-arm64": "1.4.4-r.1", - "@duckdb/node-bindings-linux-x64": "1.4.4-r.1", - "@duckdb/node-bindings-win32-x64": "1.4.4-r.1" + "@duckdb/node-bindings-darwin-arm64": "1.5.5-r.4", + "@duckdb/node-bindings-darwin-x64": "1.5.5-r.4", + "@duckdb/node-bindings-linux-arm64": "1.5.5-r.4", + "@duckdb/node-bindings-linux-arm64-musl": "1.5.5-r.4", + "@duckdb/node-bindings-linux-x64": "1.5.5-r.4", + "@duckdb/node-bindings-linux-x64-musl": "1.5.5-r.4", + "@duckdb/node-bindings-win32-arm64": "1.5.5-r.4", + "@duckdb/node-bindings-win32-x64": "1.5.5-r.4", + "detect-libc": "^2.1.2" } }, "@duckdb/node-bindings-darwin-arm64": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-darwin-arm64/-/node-bindings-darwin-arm64-1.4.4-r.1.tgz", - "integrity": "sha512-/NtbkCgCAOJDxw41XvSGV/mxQAlsx+2xUvhIVUj6fxoOfTG4jTttRhuphwE3EXNoWzJOjZxCZ5LwhC/qb6ZwLg==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-darwin-arm64/-/node-bindings-darwin-arm64-1.5.5-r.4.tgz", + "integrity": "sha512-4OdO3pkoJzAZDnZ2iyehi67XL4+WqHPCGYWbyAsYyhGJS+WscGrAnFhMhHudMM2XF8pIEM2tuOKMmwWnTNN2wQ==", "dev": true, "optional": true }, "@duckdb/node-bindings-darwin-x64": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-darwin-x64/-/node-bindings-darwin-x64-1.4.4-r.1.tgz", - "integrity": "sha512-lzFRDrZwc1EoV513vmKufasiAQ2WlhEb0O6guRBarbvOKKVhRb8tQ5H7LPVTrIewjTI3XDgHrnK+vfh9L+xQcA==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-darwin-x64/-/node-bindings-darwin-x64-1.5.5-r.4.tgz", + "integrity": "sha512-WHg3E+TupdujG31LGujMMcmtPIdW6rqRHeihlKgJR8EMetHycoYkwYxRud0niitJvS+uV0du/6pdemzs3HG9GQ==", "dev": true, "optional": true }, "@duckdb/node-bindings-linux-arm64": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-arm64/-/node-bindings-linux-arm64-1.4.4-r.1.tgz", - "integrity": "sha512-wq92/EcTiOTRW1RSDOwjeLyMMXWwNVNwU21TQdfu3sgS86+Ih3raaK68leDgY5cWgf72We3J2W7HYz8GwxcMYw==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-arm64/-/node-bindings-linux-arm64-1.5.5-r.4.tgz", + "integrity": "sha512-VIeHMpYAKpGiWZ4QYsOhODAHDEcXcn089aKty0MFsMEKaEfRJWixKwnwXy/ba2/wwFmnPiSFhKNqygj2BrQbqw==", + "dev": true, + "optional": true + }, + "@duckdb/node-bindings-linux-arm64-musl": { + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-arm64-musl/-/node-bindings-linux-arm64-musl-1.5.5-r.4.tgz", + "integrity": "sha512-Tswnf+/XWpOcFJNUUu1fkFIX/su4tMcnNz0ZV0Nru3/CkJKIMwBh+VL4SM9YV4zPK90GC4Lm8gzafjc1qDmfyQ==", "dev": true, "optional": true }, "@duckdb/node-bindings-linux-x64": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-x64/-/node-bindings-linux-x64-1.4.4-r.1.tgz", - "integrity": "sha512-fjYNc+t4/T7mhzZ57oJoIQaWvbYVvxhidcNNansQFiWnd6/JMLCULd4qnt8XI3Tt2BrZsraH690KSBIS3QPt0w==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-x64/-/node-bindings-linux-x64-1.5.5-r.4.tgz", + "integrity": "sha512-EY+CL/4h8MQZd9MxTBq+98m3U9osmvHBwhE9b5fMWQGt2I6p1j8fvX0SXiwy9KBfQIbjVUOf5XvGdXncI54KSg==", + "dev": true, + "optional": true + }, + "@duckdb/node-bindings-linux-x64-musl": { + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-linux-x64-musl/-/node-bindings-linux-x64-musl-1.5.5-r.4.tgz", + "integrity": "sha512-h0ixrgGHtHh+C/Fu1eAL9hX4iCf8yuyJN6Y24Gh8axXXP8UuSh0rQRAQUQTYarQ8pm2qSG/67ZYjyYYydD+J/w==", + "dev": true, + "optional": true + }, + "@duckdb/node-bindings-win32-arm64": { + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-win32-arm64/-/node-bindings-win32-arm64-1.5.5-r.4.tgz", + "integrity": "sha512-uorAnySIMwWkRDuUhM1yTDxWIislnX8mndhFIw6r4VKhVW61HEOOMX5oAgkSQFII4RNWpC5PCcUAEhSATgNvVQ==", "dev": true, "optional": true }, "@duckdb/node-bindings-win32-x64": { - "version": "1.4.4-r.1", - "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-win32-x64/-/node-bindings-win32-x64-1.4.4-r.1.tgz", - "integrity": "sha512-+J+MUYGvYWfX0balWToDIy3CBYg7hHI0KQUQ39+SniinXlMF8+puRW6ebyQ+AXrcrKkwuj4wzJuEBD0AdhHGtw==", + "version": "1.5.5-r.4", + "resolved": "https://registry.npmjs.org/@duckdb/node-bindings-win32-x64/-/node-bindings-win32-x64-1.5.5-r.4.tgz", + "integrity": "sha512-X9XGcWQ10P3mvUIaMXXk2bi94Cow7b/ziTPMKxJ0U8U3wQPxsLzEUP7D7C/KrBWINl5am2k+5SkDVyA/THUgPg==", "dev": true, "optional": true }, @@ -5948,106 +5953,95 @@ "dev": true, "optional": true }, - "@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, "@malloydata/db-duckdb": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/db-duckdb/-/db-duckdb-0.0.397.tgz", - "integrity": "sha512-L23mLSa28rpj7xH1WBLn7dF6715SkZGCFMRS7/Y/1EC/q/xx8EXKOGIlsCgYl7hKaonPkre1Ldi1nU4SmzqrIw==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/db-duckdb/-/db-duckdb-0.0.433.tgz", + "integrity": "sha512-FDjcZVpnf140Cwhg2sSMVvdMmpn6vy1O7lggarUfkWdWqAxWPrc8M2qFHiV8WEbtNLtqylUhY20E1yo9P+d18w==", "dev": true, "requires": { - "@duckdb/duckdb-wasm": "1.33.1-dev13.0", - "@duckdb/node-api": "1.4.4-r.1", - "@malloydata/malloy": "0.0.397", - "@motherduck/wasm-client": "^0.6.6", + "@duckdb/duckdb-wasm": "1.33.1-dev57.0", + "@duckdb/node-api": "1.5.5-r.4", + "@malloydata/malloy": "0.0.433", + "@motherduck/wasm-client": "0.6.6", "apache-arrow": "^17.0.0", - "web-worker": "^1.3.0" + "web-worker": "^1.5.0" } }, "@malloydata/malloy": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/malloy/-/malloy-0.0.397.tgz", - "integrity": "sha512-GQQeZ8mAwCANhJJxNicOqqdhH6ppK/bqma3x4F2+xIl5KQRb5Qy76gBDox/16aYY+fSerEFqboR3T8+mssj2Kw==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/malloy/-/malloy-0.0.433.tgz", + "integrity": "sha512-/Ixa19U6AISFF+UxTYCR/+/rMCU6MzuccLjRTgmLXeSRFq3flyo1hzvMqPL3M46FKRbSPT9A92/A62RXiYFt2w==", "dev": true, "requires": { - "@malloydata/malloy-filter": "0.0.397", - "@malloydata/malloy-interfaces": "0.0.397", - "@malloydata/malloy-tag": "0.0.397", + "@malloydata/malloy-filter": "0.0.433", + "@malloydata/malloy-interfaces": "0.0.433", + "@malloydata/malloy-tag": "0.0.433", "@noble/hashes": "^1.8.0", "antlr4ts": "^0.5.0-alpha.4", "assert": "^2.0.0", "jaro-winkler": "^0.2.8", - "jest-diff": "^29.6.2", "lodash": "^4.18.1", - "luxon": "^3.5.0", - "uuid": "^8.3.2" + "luxon": "^3.7.2", + "uuid": "^11.1.1" } }, "@malloydata/malloy-filter": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/malloy-filter/-/malloy-filter-0.0.397.tgz", - "integrity": "sha512-aAsnNGcTzWcLFGAmPXhXLoESMYBA81pj+PnDVj785Vet13CWIPLg4x9hwRt95u/E602+h41dovxiVIWwWe4lzg==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/malloy-filter/-/malloy-filter-0.0.433.tgz", + "integrity": "sha512-2OqPTYUh7Hn2rf8XFHzW69i/fOJQ6gh12wxlvbFUiiC9EesFJ/POmtBJXbTT/rmZ1Q9JIKptMPoKm3nCU/BAJA==", "dev": true, "requires": { - "jest-diff": "^29.6.2", - "luxon": "^3.5.0" + "luxon": "^3.7.2" } }, "@malloydata/malloy-interfaces": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/malloy-interfaces/-/malloy-interfaces-0.0.397.tgz", - "integrity": "sha512-+Puyz/o+1t5FXH/ivLipoGMXKgs7MCxcSUjrILbYG8boJD5HBvFUxeAlL8r7tGs4JIQHgkJ9Q3MTlOr3wJLKTQ==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/malloy-interfaces/-/malloy-interfaces-0.0.433.tgz", + "integrity": "sha512-zc24MbPAxwMzZtbhW4JirrAdVMXUSRyz8zFI6AE4UIqvZuSi2J02VXOXEk82j2RWqc5lwTk8PgHQfpFGxUAhvQ==", "dev": true, "requires": { "@creditkarma/thrift-server-core": "^1.0.4" } }, "@malloydata/malloy-sql": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/malloy-sql/-/malloy-sql-0.0.397.tgz", - "integrity": "sha512-PbmRzmu1xxls7LiJ/3UqNq/yhJvkKNRMcJUkpyOyp1JtiRbhAvdSO9CGNblpXuo83BVfVcPgH2mlfXFrBRdPRw==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/malloy-sql/-/malloy-sql-0.0.433.tgz", + "integrity": "sha512-ZxxXfi57fQONkeecIQOlmceLFm50269h2IP+BSdVo4bv2+iP9M2hfLblAIplqGQcz1TeZf23VAiqtlif83mQ9g==", "dev": true, "requires": { - "@malloydata/malloy": "0.0.397" + "@malloydata/malloy": "0.0.433" } }, "@malloydata/malloy-tag": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/malloy-tag/-/malloy-tag-0.0.397.tgz", - "integrity": "sha512-YI8FmZ/6srNJ09CeU1wIvtVRT9fXiowSwSjDyZ1lyoZmJMxlsB69+OBkwJLN3G4EdjuJ0o+vR0wMQgqvd9BEoQ==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/malloy-tag/-/malloy-tag-0.0.433.tgz", + "integrity": "sha512-5XrTZZT63DIoMk5OhIlTje6s0Ss/IUGbiPJP+GcsyzJ8PCtjNJASQC6zXxEGZbdxSL5+mBMOIez8kp3bQte69w==", "dev": true, "requires": { - "@malloydata/motly-ts-parser": "^0.8.0", + "@malloydata/motly-ts-parser": "^0.9.0", "assert": "^2.0.0" } }, "@malloydata/motly-ts-parser": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@malloydata/motly-ts-parser/-/motly-ts-parser-0.8.1.tgz", - "integrity": "sha512-aNo6Yr8Z1T3fHwNta7mCUKEeQksYuft9/dxyzt4KWL40u9VwQzOjsnrbHPO7czfZNdq5/IKTccqnDIyAV0eiqw==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@malloydata/motly-ts-parser/-/motly-ts-parser-0.9.0.tgz", + "integrity": "sha512-r3OneNVn3734XV3C4NS4xg/VbVDIVaF3/zxorBCuNUihpPV+JHe2KyfDcFVBJligJxGKkHiFtEu0uw98B9budA==", "dev": true }, "@malloydata/render": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/render/-/render-0.0.397.tgz", - "integrity": "sha512-96FhfMf1MDKEitxNowpgBixcGNbiiqwem1CRo+WQ+KP81gzmwAVWARnEH+quPSse+7g7EgVb7dvxpwg/7ZJMUA==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/render/-/render-0.0.433.tgz", + "integrity": "sha512-4tt8BYabpBMfMcWBxAe/yw6zERHCiZGWMpUu0/7Dgt2+4Gb3XWZQT0IQlJ1XycJtN3edLRp6fRGxNoc7hbLxwQ==", "dev": true, "requires": { - "@malloydata/malloy-interfaces": "0.0.397", - "@malloydata/malloy-tag": "0.0.397", - "@tanstack/solid-virtual": "^3.10.4", + "@malloydata/malloy-interfaces": "0.0.433", + "@malloydata/malloy-tag": "0.0.433", + "@tanstack/solid-virtual": "^3.13.33", "lodash": "^4.18.1", - "luxon": "^3.5.0", - "solid-js": "^1.8.15", + "luxon": "^3.7.2", + "solid-js": "^1.9.14", "ssf": "^0.11.2", - "us-atlas": "^3.0.0", + "us-atlas": "^3.0.1", "vega": "^6.2.0", "vega-interpreter": "^2.0.0", "vega-lite": "^5.2.0" @@ -6441,19 +6435,19 @@ } }, "@malloydata/render-validator": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/render-validator/-/render-validator-0.0.397.tgz", - "integrity": "sha512-tluN1E1+S1HjdTzZH6wNFbmOyifJZvk/yPxSn5SdjWBpH7COuNpRcnEVxE71vP72gfY0CY4v2v2P/fA/HKGmwg==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/render-validator/-/render-validator-0.0.433.tgz", + "integrity": "sha512-xy7JGRC+P28a1uQwH6d1Of/FnmsPv4E+Dk1SUpZ/6mnWlas4AX67BDYCS8tPmg7YrrTJNgVyFOuGw+fsStk3Uw==", "dev": true, "requires": { - "@malloydata/malloy-interfaces": "0.0.397", - "@malloydata/render": "0.0.397" + "@malloydata/malloy-interfaces": "0.0.433", + "@malloydata/render": "0.0.433" } }, "@malloydata/syntax-highlight": { - "version": "0.0.397", - "resolved": "https://registry.npmjs.org/@malloydata/syntax-highlight/-/syntax-highlight-0.0.397.tgz", - "integrity": "sha512-wrBlCnqH6gJCwqWrV81rIgR5rshRIN2SVKf3rw9cA/MJuj+3oBy4AzMfZccbYwqYAY4wqZ8qbYrpBT3sJF5niQ==", + "version": "0.0.433", + "resolved": "https://registry.npmjs.org/@malloydata/syntax-highlight/-/syntax-highlight-0.0.433.tgz", + "integrity": "sha512-X0we6ei9EhF5RKZWMd5AJGIZxH8uu+tmEZZaScHqgxj29RWM0e891J925H78UxpD27joRVA1bMlvwF9k2YnnYQ==", "dev": true }, "@motherduck/wasm-client": { @@ -6469,12 +6463,6 @@ "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", "dev": true }, - "@sinclair/typebox": { - "version": "0.27.10", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", - "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", - "dev": true - }, "@swc/helpers": { "version": "0.5.15", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", @@ -6493,18 +6481,18 @@ } }, "@tanstack/solid-virtual": { - "version": "3.10.8", - "resolved": "https://registry.npmjs.org/@tanstack/solid-virtual/-/solid-virtual-3.10.8.tgz", - "integrity": "sha512-4dmUYIjjIVRFmpm7qha1tEDk5L6yzCEh63gTCUlo9ECXz7n3gvY95YQsrFNO020en5gXIUPHIzMBd56qqafyhQ==", + "version": "3.13.37", + "resolved": "https://registry.npmjs.org/@tanstack/solid-virtual/-/solid-virtual-3.13.37.tgz", + "integrity": "sha512-RxJC8n/6nnFHcPvDGMg7ZkqSzCVUco4JNw3ctIChj1HjoKs5I9wt5nsU+DUVtMVEiMfizUxOAx4TPIN8SHjxUQ==", "dev": true, "requires": { - "@tanstack/virtual-core": "3.10.8" + "@tanstack/virtual-core": "3.17.8" } }, "@tanstack/virtual-core": { - "version": "3.10.8", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.10.8.tgz", - "integrity": "sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==", + "version": "3.17.8", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.17.8.tgz", + "integrity": "sha512-BfEvehNpOT75r5Ksc5xW6NZuXujTfb7nlSEyVu4XHG3gdxNg1KqXruWbDewXOUaUYIo4oRbSfkjIajz4MAT8tA==", "dev": true }, "@types/clone": { @@ -6556,9 +6544,9 @@ "peer": true }, "@types/lodash": { - "version": "4.17.24", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz", - "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.25.tgz", + "integrity": "sha512-+K1NIO8I+F9/wNulfVvu23QYd0Pe9/OCqRrim4NoYIf1VoEDL90Ve4ClzpyqBLc7NpGGWRvYNCKZ1BE/Jpf8dQ==", "dev": true }, "@types/mdast": { @@ -6921,9 +6909,9 @@ "dev": true }, "csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "dev": true }, "d3-array": { @@ -7135,10 +7123,10 @@ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true }, - "diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true }, "dunder-proto": { @@ -7624,24 +7612,6 @@ "integrity": "sha512-yr+mElb6dWxA1mzFu0+26njV5DWAQRNTi5pB6fFMm79zHrfAs3d0qjhe/IpZI4AHIUJkzvu5QXQRWOw2O0GQyw==", "dev": true }, - "jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - } - }, - "jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -8427,25 +8397,6 @@ "integrity": "sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ==", "dev": true }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, "qs": { "version": "6.15.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", @@ -8455,12 +8406,6 @@ "side-channel": "^1.1.0" } }, - "react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -8591,15 +8536,15 @@ "dev": true }, "seroval": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.5.0.tgz", - "integrity": "sha512-OE4cvmJ1uSPrKorFIH9/w/Qwuvi/IMcGbv5RKgcJ/zjA/IohDLU6SVaxFN9FwajbP7nsX0dQqMDes1whk3y+yw==", + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.5.6.tgz", + "integrity": "sha512-rVQVWjjSvlINzaQPZH5JFqsqEsIWdTxY3iJZCnTL/5gQbXIRooVZKI60tVCkOVfzcRPejboxO2t0P89dg5mQaA==", "dev": true }, "seroval-plugins": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.5.0.tgz", - "integrity": "sha512-EAHqADIQondwRZIdeW2I636zgsODzoBDwb3PT/+7TLDWyw1Dy/Xv7iGUIEXXav7usHDE9HVhOU61irI3EnyyHA==", + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.5.6.tgz", + "integrity": "sha512-HXuLAX2pu/UByPpaeo/TaMfvMIi+1QqIoPJYCcAtU8QkVNwgR6MPlGuCQTErV1JwraaMbYaWVIBX7mppzGLATQ==", "dev": true, "requires": {} }, @@ -8663,14 +8608,14 @@ } }, "solid-js": { - "version": "1.9.11", - "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.11.tgz", - "integrity": "sha512-WEJtcc5mkh/BnHA6Yrg4whlF8g6QwpmXXRg4P2ztPmcKeHHlH4+djYecBLhSpecZY2RRECXYUwIc/C2r3yzQ4Q==", + "version": "1.9.15", + "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.15.tgz", + "integrity": "sha512-EeiY2xfpZJqPLjXspVEKjAII4yv8NyG//NxZ3IpOFHdUNnnTyL0uJOeS9LWGvA7cFCz5y94cjFwYlmw5Luncsg==", "dev": true, "requires": { "csstype": "^3.1.0", - "seroval": "~1.5.0", - "seroval-plugins": "~1.5.0" + "seroval": "~1.5.4", + "seroval-plugins": "~1.5.4" } }, "source-map": { @@ -8948,9 +8893,9 @@ "dev": true }, "us-atlas": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/us-atlas/-/us-atlas-3.0.0.tgz", - "integrity": "sha512-cqvwK7Tdt8PZxhf5Nq5uenoHg/6cYWP3GFJocwDY01IszUC5HgwkODNKKXNWj1o24LFGK5ZgALqlcHK2R5EHwQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/us-atlas/-/us-atlas-3.0.1.tgz", + "integrity": "sha512-wEIZCq0ImPvGblTd8gZMqNNCPkQshugMUG/8nkSWXb02+XqNFREg9atHOKP9w6prLZTpqcLhSvdBW81MkV3/0Q==", "dev": true }, "util": { @@ -8967,9 +8912,9 @@ } }, "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.1.tgz", + "integrity": "sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==", "dev": true }, "uvu": { @@ -9558,9 +9503,9 @@ "dev": true }, "web-worker": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz", - "integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.5.0.tgz", + "integrity": "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==", "dev": true }, "webidl-conversions": { diff --git a/package.json b/package.json index db897bc7..3eb12784 100644 --- a/package.json +++ b/package.json @@ -31,12 +31,12 @@ }, "homepage": "https://github.com/malloydata/malloydata.github.io#readme", "devDependencies": { - "@malloydata/db-duckdb": "0.0.397", - "@malloydata/malloy": "0.0.397", - "@malloydata/malloy-sql": "0.0.397", - "@malloydata/render": "0.0.397", - "@malloydata/render-validator": "0.0.397", - "@malloydata/syntax-highlight": "0.0.397", + "@malloydata/db-duckdb": "0.0.433", + "@malloydata/malloy": "0.0.433", + "@malloydata/malloy-sql": "0.0.433", + "@malloydata/render": "0.0.433", + "@malloydata/render-validator": "0.0.433", + "@malloydata/syntax-highlight": "0.0.433", "@types/uglify-js": "^3.17.5", "concurrently": "^6.2.1", "fs-extra": "^10.1.0", diff --git a/scripts/render_document.ts b/scripts/render_document.ts index cd199094..37c7017a 100644 --- a/scripts/render_document.ts +++ b/scripts/render_document.ts @@ -78,14 +78,10 @@ class Renderer { }[] = []; private cellNumber = 0; private mode: "markdown" | "malloy" | undefined = undefined; - private modelDef: ModelDef = { - name: "notebook", - exports: [], - contents: {}, - queryList: [], - dependencies: {}, - sourceRegistry: {}, - }; + // Undefined until the first Malloy cell compiles: cell 1 has no base model + // to extend, so it is compiled on its own and every later cell extends what + // came before. + private modelDef: ModelDef | undefined = undefined; constructor(path: string) { this.path = path; @@ -116,7 +112,8 @@ class Renderer { showCode, this.path, { dataStyles: {} }, - this.modelDef + this.modelDef, + this.cellNumber ); result = rendered; hidden = isHidden; diff --git a/scripts/run_code.ts b/scripts/run_code.ts index 6fc5199f..004a0ac4 100644 --- a/scripts/run_code.ts +++ b/scripts/run_code.ts @@ -28,7 +28,6 @@ import { QueryMaterializer, Result, ModelDef, - annotationToTag, API, } from "@malloydata/malloy"; import { validateRenderTags } from "@malloydata/render-validator"; @@ -270,9 +269,17 @@ export async function runNotebookCode( showCode: string, documentPath: string, options: RunOptions, - modelDef: ModelDef + modelDef: ModelDef | undefined, + cellNumber: number ): Promise<{ rendered: string; newModel: ModelDef; isHidden: boolean }> { - const fakeURL = new URL("file://" + path.join(DOCS_ROOT_PATH, documentPath)); + // Each cell compiles under its own URL, because the URL is the model's + // identity: `modelAnnotations` is keyed by it, and every cell sharing one URL + // would mean every cell overwriting the one entry, losing the `##!` + // experiment flags that earlier cells in the notebook turned on. Distinct + // URLs make the notebook a real extend chain, one link per cell. + const fakeURL = new URL( + `file://${path.join(DOCS_ROOT_PATH, documentPath)}#cell${cellNumber}` + ); const urlReader = new DocsURLReader( documentPath, new Map([[fakeURL.toString(), code]]) @@ -286,19 +293,17 @@ export async function runNotebookCode( .substring(0, 50)}..."`; log(` >> Running (notebook) query ${querySummary}`); const runStartTime = performance.now(); - const newModel = runtime - ._loadModelFromModelDef(modelDef) - .extendModel(fakeURL); + // The first Malloy cell has nothing to extend, so it compiles on its own — + // no need to hand-build an empty `ModelDef` for it to sit on top of. + const newModel = modelDef + ? runtime._loadModelFromModelDef(modelDef).extendModel(fakeURL) + : runtime.loadModel(fakeURL); const model = await newModel.getModel(); - // Synthetic Annotation with `notes` only (no `inherits`): each notebook + // `.annotations` is this model's own `##` bundle alone, so each notebook // cell sees only its own model annotations, not `##(docs) hidden` from - // prior cells. `annotationToTag` takes the synthetic value directly; - // `.annotations.parseAsTag('docs')` on the model would walk inherits. - const modelTagParse = annotationToTag( - { notes: model._modelDef?.annotation?.notes }, - 'docs' - ); - const modelTags = modelTagParse.tag; + // prior cells. `.modelAnnotations` is the other one — it folds the + // import/extend lineage, which would leak a prior cell's `hidden`. + const modelTags = model.annotations.parseAsTag('docs').tag; const newModelDef = model._modelDef; let hasQuery = false; try { diff --git a/src/documentation/language/dialect/mysql.malloynb b/src/documentation/language/dialect/mysql.malloynb index 885fab5e..0a6563e9 100644 --- a/src/documentation/language/dialect/mysql.malloynb +++ b/src/documentation/language/dialect/mysql.malloynb @@ -16,13 +16,65 @@ any of the listed functions here without needing to use [Raw SQL Functions](../f repeat reverse +# Schema Types + +When Malloy reads a MySQL table or query schema, each column type becomes a +Malloy type as follows. `UNSIGNED` and `ZEROFILL` never change the Malloy type. + +| MySQL type | Malloy type | +|---|---| +| `TINYINT`, `SMALLINT`, `MEDIUMINT`, `INT` | `number` (integer) | +| `BIGINT` | `number` (bigint) | +| `FLOAT`, `DOUBLE` | `number` (float) | +| `DECIMAL` with fractional digits | `number` (float) | +| `DECIMAL` with no fractional digits, 15 digits or fewer | `number` (integer) | +| `DECIMAL` with no fractional digits, 16 digits or more | `number` (bigint) | +| `CHAR`, `VARCHAR`, `TINYTEXT`, `TEXT`, `MEDIUMTEXT`, `LONGTEXT` | `string` | +| `TIME` | `string` | +| `DATE` | `date` | +| `DATETIME`, `TIMESTAMP` | `timestamp` | + +`DECIMAL` is an exact type, so a decimal with no fractional digits is a whole +number rather than a floating point one. Above 15 digits it no longer fits a +JavaScript number exactly, which is why it becomes a `bigint`. See +[Number](../datatypes.malloynb#number). + +MySQL rewrites type aliases when a table is created, so the name Malloy sees is +not always the name you declared: `INTEGER` becomes `INT`, `NUMERIC`, `DEC` and +`FIXED` become `DECIMAL`, `REAL` and `DOUBLE PRECISION` become `DOUBLE`, +`BOOLEAN` becomes `TINYINT(1)`, and `SERIAL` becomes `BIGINT UNSIGNED`. + +Every other MySQL type is read as +[SQL native data](../datatypes.malloynb#unsupported-sql-native-data), which +Malloy can carry but cannot operate on: `BIT`, `ENUM`, `SET`, `YEAR`, `JSON`, +`BINARY`, `VARBINARY`, the `BLOB` family, and the spatial types. + +## Casting to a MySQL type + +The type names recognized by a +[database native cast](../expressions.malloynb#casting-to-specific-database-types) +are the schema types in the table above; any other name produces SQL native +data. + +MySQL's own `CAST` accepts a different and smaller set of target names -- +`SIGNED`, `UNSIGNED`, `CHAR`, `DOUBLE`, `FLOAT`, `REAL`, `DECIMAL`, `BINARY`, +`NCHAR`, `DATE`, `DATETIME`, `TIME`, `YEAR`, `JSON` -- and rejects `INT`, +`BIGINT`, `VARCHAR` and `TEXT`. Because a native cast is passed through to the +database unchanged, a name in one set but not the other will fail one way or +the other. Prefer Malloy's own type names, `x::number` and `x::string`, which +always work. + # Errata -## Boolean Filter Expressions +## Boolean Columns and Filter Expressions + +MySQL has no boolean type. `BOOLEAN` is a spelling of `TINYINT(1)`, where the +`(1)` is a display width that constrains nothing -- a `TINYINT(1)` column will +happily store 42 -- so there is no fact in the schema that could identify a +boolean column, and Malloy reads every `TINYINT` as a number. -Becase MySQL doesn't have a true boolean data type, a columns which contains boolean values -will be read as numeric by Malloy. This will make it impossible to use boolean [filter expressions](../filter-expressions.malloynb) -without explicitly casting the value to type boolean +To use boolean [filter expressions](../filter-expressions.malloynb) on such a +column, cast it explicitly. ```malloy dimension: presentAndNotAccountedFor is present::boolean ~ f'true' and accountedFor::boolean ~ f'false'