grain.social is a photo sharing platform built on atproto.

update bff, try to prevent server crashes on lex validation

Changed files
+392 -26
static
+1 -1
deno.json
··· 2 2 "imports": { 3 3 "$lexicon/": "./__generated__/", 4 4 "@atproto/syntax": "npm:@atproto/syntax@^0.4.0", 5 - "@bigmoves/bff": "jsr:@bigmoves/bff@0.3.0-beta.33", 5 + "@bigmoves/bff": "jsr:@bigmoves/bff@0.3.0-beta.35", 6 6 "@luca/esbuild-deno-loader": "jsr:@luca/esbuild-deno-loader@^0.11.1", 7 7 "@std/http": "jsr:@std/http@^1.0.17", 8 8 "@std/path": "jsr:@std/path@^1.0.9",
+391 -20
deno.lock
··· 2 2 "version": "5", 3 3 "specifiers": { 4 4 "jsr:@bigmoves/atproto-oauth-client@0.2": "0.2.0", 5 - "jsr:@bigmoves/bff@0.3.0-beta.33": "0.3.0-beta.33", 5 + "jsr:@bigmoves/bff@0.3.0-beta.35": "0.3.0-beta.35", 6 + "jsr:@deno/gfm@0.10": "0.10.0", 7 + "jsr:@denosaurs/emoji@0.3": "0.3.1", 6 8 "jsr:@luca/esbuild-deno-loader@~0.11.1": "0.11.1", 9 + "jsr:@std/assert@^1.0.12": "1.0.13", 7 10 "jsr:@std/assert@^1.0.13": "1.0.13", 11 + "jsr:@std/async@^1.0.12": "1.0.12", 8 12 "jsr:@std/bytes@^1.0.2": "1.0.6", 9 13 "jsr:@std/cache@0.2": "0.2.0", 14 + "jsr:@std/cli@^1.0.16": "1.0.19", 10 15 "jsr:@std/cli@^1.0.18": "1.0.19", 16 + "jsr:@std/data-structures@^1.0.6": "1.0.7", 11 17 "jsr:@std/encoding@^1.0.10": "1.0.10", 12 18 "jsr:@std/encoding@^1.0.5": "1.0.10", 13 19 "jsr:@std/fmt@^1.0.8": "1.0.8", 20 + "jsr:@std/fs@^1.0.16": "1.0.17", 14 21 "jsr:@std/html@^1.0.4": "1.0.4", 15 22 "jsr:@std/http@^1.0.13": "1.0.17", 16 23 "jsr:@std/http@^1.0.17": "1.0.17", ··· 22 29 "jsr:@std/path@^1.0.9": "1.1.0", 23 30 "jsr:@std/path@^1.1.0": "1.1.0", 24 31 "jsr:@std/streams@^1.0.9": "1.0.9", 32 + "jsr:@std/testing@^1.0.11": "1.0.11", 25 33 "npm:@atproto-labs/handle-resolver-node@~0.1.14": "0.1.16", 26 34 "npm:@atproto-labs/simple-store@~0.1.2": "0.1.2", 27 - "npm:@atproto/api@~0.15.7": "0.15.12", 35 + "npm:@atproto/api@~0.15.7": "0.15.14", 28 36 "npm:@atproto/common@~0.4.10": "0.4.11", 29 37 "npm:@atproto/identity@~0.4.7": "0.4.8", 30 38 "npm:@atproto/jwk@0.1.4": "0.1.4", 31 39 "npm:@atproto/lexicon@*": "0.4.11", 32 40 "npm:@atproto/lexicon@0.4.11": "0.4.11", 33 41 "npm:@atproto/lexicon@~0.4.11": "0.4.11", 34 - "npm:@atproto/oauth-client@~0.3.13": "0.3.20", 42 + "npm:@atproto/oauth-client@~0.3.13": "0.3.21", 35 43 "npm:@atproto/oauth-types@~0.2.4": "0.2.8", 36 44 "npm:@atproto/syntax@0.4": "0.4.0", 37 45 "npm:@atproto/xrpc-server@*": "0.7.19", 38 46 "npm:@atproto/xrpc-server@0.7.18": "0.7.18", 39 47 "npm:@tailwindcss/cli@*": "4.1.8", 48 + "npm:@tailwindcss/cli@^4.0.12": "4.1.8", 49 + "npm:@tailwindcss/cli@^4.1.3": "4.1.8", 40 50 "npm:@tailwindcss/cli@^4.1.4": "4.1.8", 41 51 "npm:@types/node@*": "22.15.15", 42 52 "npm:clsx@^2.1.1": "2.1.1", 43 53 "npm:date-fns@^4.1.0": "4.1.0", 44 54 "npm:esbuild@~0.25.5": "0.25.5", 55 + "npm:github-slugger@2": "2.0.0", 56 + "npm:he@^1.2.0": "1.2.0", 45 57 "npm:htmx.org@^1.9.12": "1.9.12", 46 58 "npm:hyperscript.org@~0.9.14": "0.9.14", 47 59 "npm:jose@5.9.6": "5.9.6", 48 - "npm:multiformats@*": "13.3.6", 49 - "npm:multiformats@^13.3.2": "13.3.6", 60 + "npm:katex@0.16": "0.16.22", 61 + "npm:marked-alert@2": "2.1.2_marked@12.0.2", 62 + "npm:marked-footnote@^1.2.0": "1.2.4_marked@12.0.2", 63 + "npm:marked-gfm-heading-id@^3.1.0": "3.2.0_marked@12.0.2", 64 + "npm:marked@12": "12.0.2", 65 + "npm:multiformats@*": "13.3.7", 66 + "npm:multiformats@^13.3.2": "13.3.7", 50 67 "npm:popmotion@^11.0.5": "11.0.5", 51 68 "npm:preact-render-to-string@^6.5.13": "6.5.13_preact@10.26.8", 52 69 "npm:preact@^10.26.5": "10.26.8", 70 + "npm:prismjs@^1.29.0": "1.30.0", 71 + "npm:sanitize-html@^2.13.0": "2.17.0", 72 + "npm:sharp@~0.34.1": "0.34.1", 53 73 "npm:sortablejs@^1.15.6": "1.15.6", 54 - "npm:tailwind-merge@^3.2.0": "3.3.0", 74 + "npm:tailwind-merge@^3.2.0": "3.3.1", 75 + "npm:tailwindcss@^4.0.12": "4.1.8", 76 + "npm:tailwindcss@^4.1.3": "4.1.8", 55 77 "npm:tailwindcss@^4.1.4": "4.1.8", 56 78 "npm:typed-htmx@~0.3.1": "0.3.1" 57 79 }, ··· 75 97 "npm:tailwind-merge" 76 98 ] 77 99 }, 78 - "@bigmoves/bff@0.3.0-beta.33": { 79 - "integrity": "6e1f7ca871be05270e45742a7a6576dc1bf3247de7fa1ec966a30a93d2a79556", 100 + "@bigmoves/bff@0.3.0-beta.35": { 101 + "integrity": "c59e2663ff3a73d48925ec03844fd04e4445dc5a53eb35f8a6178450dff19188", 80 102 "dependencies": [ 81 103 "jsr:@bigmoves/atproto-oauth-client", 82 - "jsr:@std/assert", 104 + "jsr:@std/assert@^1.0.13", 83 105 "jsr:@std/cache", 84 106 "jsr:@std/fmt", 85 107 "jsr:@std/http@^1.0.13", ··· 99 121 "npm:tailwind-merge" 100 122 ] 101 123 }, 124 + "@deno/gfm@0.10.0": { 125 + "integrity": "51708205e3559a4aeb6afb29d07c5bfafe7941f91bb360351ef6621de9a39527", 126 + "dependencies": [ 127 + "jsr:@denosaurs/emoji", 128 + "npm:github-slugger", 129 + "npm:he", 130 + "npm:katex", 131 + "npm:marked", 132 + "npm:marked-alert", 133 + "npm:marked-footnote", 134 + "npm:marked-gfm-heading-id", 135 + "npm:prismjs", 136 + "npm:sanitize-html" 137 + ] 138 + }, 139 + "@denosaurs/emoji@0.3.1": { 140 + "integrity": "b0aed5f55dec99e83da7c9637fe0a36d1d6252b7c99deaaa3fc5dea3fcf3da8b" 141 + }, 102 142 "@luca/esbuild-deno-loader@0.11.1": { 103 143 "integrity": "dc020d16d75b591f679f6b9288b10f38bdb4f24345edb2f5732affa1d9885267", 104 144 "dependencies": [ ··· 113 153 "jsr:@std/internal" 114 154 ] 115 155 }, 156 + "@std/async@1.0.12": { 157 + "integrity": "d1bfcec459e8012846fe4e38dfc4241ab23240ecda3d8d6dfcf6d81a632e803d" 158 + }, 116 159 "@std/bytes@1.0.6": { 117 160 "integrity": "f6ac6adbd8ccd99314045f5703e23af0a68d7f7e58364b47d2c7f408aeb5820a" 118 161 }, ··· 122 165 "@std/cli@1.0.19": { 123 166 "integrity": "b3601a54891f89f3f738023af11960c4e6f7a45dc76cde39a6861124cba79e88" 124 167 }, 168 + "@std/data-structures@1.0.7": { 169 + "integrity": "16932d2c8d281f65eaaa2209af2473209881e33b1ced54cd1b015e7b4cdbb0d2" 170 + }, 125 171 "@std/encoding@1.0.10": { 126 172 "integrity": "8783c6384a2d13abd5e9e87a7ae0520a30e9f56aeeaa3bdf910a3eaaf5c811a1" 127 173 }, 128 174 "@std/fmt@1.0.8": { 129 175 "integrity": "71e1fc498787e4434d213647a6e43e794af4fd393ef8f52062246e06f7e372b7" 130 176 }, 177 + "@std/fs@1.0.17": { 178 + "integrity": "1c00c632677c1158988ef7a004cb16137f870aafdb8163b9dce86ec652f3952b", 179 + "dependencies": [ 180 + "jsr:@std/path@^1.0.9" 181 + ] 182 + }, 131 183 "@std/html@1.0.4": { 132 184 "integrity": "eff3497c08164e6ada49b7f81a28b5108087033823153d065e3f89467dd3d50e" 133 185 }, 134 186 "@std/http@1.0.17": { 135 187 "integrity": "98aec8ab4080d95c21f731e3008f69c29c5012d12f1b4e553f85935db601569f", 136 188 "dependencies": [ 137 - "jsr:@std/cli", 189 + "jsr:@std/cli@^1.0.18", 138 190 "jsr:@std/encoding@^1.0.10", 139 191 "jsr:@std/fmt", 140 192 "jsr:@std/html", ··· 158 210 }, 159 211 "@std/streams@1.0.9": { 160 212 "integrity": "a9d26b1988cdd7aa7b1f4b51e1c36c1557f3f252880fa6cc5b9f37078b1a5035" 213 + }, 214 + "@std/testing@1.0.11": { 215 + "integrity": "12b3db12d34f0f385a26248933bde766c0f8c5ad8b6ab34d4d38f528ab852f48", 216 + "dependencies": [ 217 + "jsr:@std/assert@^1.0.12", 218 + "jsr:@std/async", 219 + "jsr:@std/data-structures", 220 + "jsr:@std/fs", 221 + "jsr:@std/internal", 222 + "jsr:@std/path@^1.0.8" 223 + ] 161 224 } 162 225 }, 163 226 "npm": { ··· 235 298 "@atproto-labs/simple-store@0.2.0": { 236 299 "integrity": "sha512-0bRbAlI8Ayh03wRwncAMEAyUKtZ+AuTS1jgPrfym1WVOAOiottI/ZmgccqLl6w5MbxVcClNQF7WYGKvGwGoIhA==" 237 300 }, 238 - "@atproto/api@0.15.12": { 239 - "integrity": "sha512-51IHenZMA+Ekfe2OlZL/mTFqvZQU93jI4xsLvTFhGc4tSQYCHV9r/AJTANPZLFrhm9GfWZ0n90r/9IQl9eicjg==", 301 + "@atproto/api@0.15.14": { 302 + "integrity": "sha512-FHEMAdscG+r2OFcZUIzPyTDpwzRAyinRsIIaTcuqe0MgZWF4CEGNAKPos0IbecBzMxTOzUHE18dQDKhoXMdgvg==", 240 303 "dependencies": [ 241 304 "@atproto/common-web", 242 305 "@atproto/lexicon", ··· 313 376 "zod" 314 377 ] 315 378 }, 316 - "@atproto/oauth-client@0.3.20": { 317 - "integrity": "sha512-aclxN2vD5ldc9YiQtX6z4S5g5lU12sz297gzuTxBFUYiS3bh7dxU8j/cbD/BDvXIiVRzzzc5kOgE1CgT9XZ2mg==", 379 + "@atproto/oauth-client@0.3.21": { 380 + "integrity": "sha512-a+YM3aaOAY8/otlAnYmXC0XO+KLOo2cZGHwVvudTSnzwpps8sxhuELdPFl3JN16fS45TUnkYUIaqBgb9MLpx8w==", 318 381 "dependencies": [ 319 382 "@atproto-labs/did-resolver", 320 383 "@atproto-labs/fetch", ··· 555 618 "os": ["win32"], 556 619 "cpu": ["x64"] 557 620 }, 621 + "@img/sharp-darwin-arm64@0.34.1": { 622 + "integrity": "sha512-pn44xgBtgpEbZsu+lWf2KNb6OAf70X68k+yk69Ic2Xz11zHR/w24/U49XT7AeRwJ0Px+mhALhU5LPci1Aymk7A==", 623 + "optionalDependencies": [ 624 + "@img/sharp-libvips-darwin-arm64" 625 + ], 626 + "os": ["darwin"], 627 + "cpu": ["arm64"] 628 + }, 629 + "@img/sharp-darwin-x64@0.34.1": { 630 + "integrity": "sha512-VfuYgG2r8BpYiOUN+BfYeFo69nP/MIwAtSJ7/Zpxc5QF3KS22z8Pvg3FkrSFJBPNQ7mmcUcYQFBmEQp7eu1F8Q==", 631 + "optionalDependencies": [ 632 + "@img/sharp-libvips-darwin-x64" 633 + ], 634 + "os": ["darwin"], 635 + "cpu": ["x64"] 636 + }, 637 + "@img/sharp-libvips-darwin-arm64@1.1.0": { 638 + "integrity": "sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==", 639 + "os": ["darwin"], 640 + "cpu": ["arm64"] 641 + }, 642 + "@img/sharp-libvips-darwin-x64@1.1.0": { 643 + "integrity": "sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==", 644 + "os": ["darwin"], 645 + "cpu": ["x64"] 646 + }, 647 + "@img/sharp-libvips-linux-arm64@1.1.0": { 648 + "integrity": "sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==", 649 + "os": ["linux"], 650 + "cpu": ["arm64"] 651 + }, 652 + "@img/sharp-libvips-linux-arm@1.1.0": { 653 + "integrity": "sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==", 654 + "os": ["linux"], 655 + "cpu": ["arm"] 656 + }, 657 + "@img/sharp-libvips-linux-ppc64@1.1.0": { 658 + "integrity": "sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==", 659 + "os": ["linux"], 660 + "cpu": ["ppc64"] 661 + }, 662 + "@img/sharp-libvips-linux-s390x@1.1.0": { 663 + "integrity": "sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==", 664 + "os": ["linux"], 665 + "cpu": ["s390x"] 666 + }, 667 + "@img/sharp-libvips-linux-x64@1.1.0": { 668 + "integrity": "sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==", 669 + "os": ["linux"], 670 + "cpu": ["x64"] 671 + }, 672 + "@img/sharp-libvips-linuxmusl-arm64@1.1.0": { 673 + "integrity": "sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==", 674 + "os": ["linux"], 675 + "cpu": ["arm64"] 676 + }, 677 + "@img/sharp-libvips-linuxmusl-x64@1.1.0": { 678 + "integrity": "sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==", 679 + "os": ["linux"], 680 + "cpu": ["x64"] 681 + }, 682 + "@img/sharp-linux-arm64@0.34.1": { 683 + "integrity": "sha512-kX2c+vbvaXC6vly1RDf/IWNXxrlxLNpBVWkdpRq5Ka7OOKj6nr66etKy2IENf6FtOgklkg9ZdGpEu9kwdlcwOQ==", 684 + "optionalDependencies": [ 685 + "@img/sharp-libvips-linux-arm64" 686 + ], 687 + "os": ["linux"], 688 + "cpu": ["arm64"] 689 + }, 690 + "@img/sharp-linux-arm@0.34.1": { 691 + "integrity": "sha512-anKiszvACti2sGy9CirTlNyk7BjjZPiML1jt2ZkTdcvpLU1YH6CXwRAZCA2UmRXnhiIftXQ7+Oh62Ji25W72jA==", 692 + "optionalDependencies": [ 693 + "@img/sharp-libvips-linux-arm" 694 + ], 695 + "os": ["linux"], 696 + "cpu": ["arm"] 697 + }, 698 + "@img/sharp-linux-s390x@0.34.1": { 699 + "integrity": "sha512-7s0KX2tI9mZI2buRipKIw2X1ufdTeaRgwmRabt5bi9chYfhur+/C1OXg3TKg/eag1W+6CCWLVmSauV1owmRPxA==", 700 + "optionalDependencies": [ 701 + "@img/sharp-libvips-linux-s390x" 702 + ], 703 + "os": ["linux"], 704 + "cpu": ["s390x"] 705 + }, 706 + "@img/sharp-linux-x64@0.34.1": { 707 + "integrity": "sha512-wExv7SH9nmoBW3Wr2gvQopX1k8q2g5V5Iag8Zk6AVENsjwd+3adjwxtp3Dcu2QhOXr8W9NusBU6XcQUohBZ5MA==", 708 + "optionalDependencies": [ 709 + "@img/sharp-libvips-linux-x64" 710 + ], 711 + "os": ["linux"], 712 + "cpu": ["x64"] 713 + }, 714 + "@img/sharp-linuxmusl-arm64@0.34.1": { 715 + "integrity": "sha512-DfvyxzHxw4WGdPiTF0SOHnm11Xv4aQexvqhRDAoD00MzHekAj9a/jADXeXYCDFH/DzYruwHbXU7uz+H+nWmSOQ==", 716 + "optionalDependencies": [ 717 + "@img/sharp-libvips-linuxmusl-arm64" 718 + ], 719 + "os": ["linux"], 720 + "cpu": ["arm64"] 721 + }, 722 + "@img/sharp-linuxmusl-x64@0.34.1": { 723 + "integrity": "sha512-pax/kTR407vNb9qaSIiWVnQplPcGU8LRIJpDT5o8PdAx5aAA7AS3X9PS8Isw1/WfqgQorPotjrZL3Pqh6C5EBg==", 724 + "optionalDependencies": [ 725 + "@img/sharp-libvips-linuxmusl-x64" 726 + ], 727 + "os": ["linux"], 728 + "cpu": ["x64"] 729 + }, 730 + "@img/sharp-wasm32@0.34.1": { 731 + "integrity": "sha512-YDybQnYrLQfEpzGOQe7OKcyLUCML4YOXl428gOOzBgN6Gw0rv8dpsJ7PqTHxBnXnwXr8S1mYFSLSa727tpz0xg==", 732 + "dependencies": [ 733 + "@emnapi/runtime" 734 + ], 735 + "cpu": ["wasm32"] 736 + }, 737 + "@img/sharp-win32-ia32@0.34.1": { 738 + "integrity": "sha512-WKf/NAZITnonBf3U1LfdjoMgNO5JYRSlhovhRhMxXVdvWYveM4kM3L8m35onYIdh75cOMCo1BexgVQcCDzyoWw==", 739 + "os": ["win32"], 740 + "cpu": ["ia32"] 741 + }, 742 + "@img/sharp-win32-x64@0.34.1": { 743 + "integrity": "sha512-hw1iIAHpNE8q3uMIRCgGOeDoz9KtFNarFLQclLxr/LK1VBkj8nby18RjFvr6aP7USRYAjTZW6yisnBWMX571Tw==", 744 + "os": ["win32"], 745 + "cpu": ["x64"] 746 + }, 558 747 "@ipld/dag-cbor@7.0.3": { 559 748 "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", 560 749 "dependencies": [ ··· 943 1132 "clsx@2.1.1": { 944 1133 "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==" 945 1134 }, 1135 + "color-convert@2.0.1": { 1136 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1137 + "dependencies": [ 1138 + "color-name" 1139 + ] 1140 + }, 1141 + "color-name@1.1.4": { 1142 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 1143 + }, 1144 + "color-string@1.9.1": { 1145 + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", 1146 + "dependencies": [ 1147 + "color-name", 1148 + "simple-swizzle" 1149 + ] 1150 + }, 1151 + "color@4.2.3": { 1152 + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", 1153 + "dependencies": [ 1154 + "color-convert", 1155 + "color-string" 1156 + ] 1157 + }, 946 1158 "commander@2.20.3": { 947 1159 "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" 1160 + }, 1161 + "commander@8.3.0": { 1162 + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" 948 1163 }, 949 1164 "content-disposition@0.5.4": { 950 1165 "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", ··· 970 1185 "ms@2.0.0" 971 1186 ] 972 1187 }, 1188 + "deepmerge@4.3.1": { 1189 + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" 1190 + }, 973 1191 "depd@2.0.0": { 974 1192 "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" 975 1193 }, ··· 983 1201 "detect-libc@2.0.4": { 984 1202 "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==" 985 1203 }, 1204 + "dom-serializer@2.0.0": { 1205 + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", 1206 + "dependencies": [ 1207 + "domelementtype", 1208 + "domhandler", 1209 + "entities" 1210 + ] 1211 + }, 1212 + "domelementtype@2.3.0": { 1213 + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" 1214 + }, 1215 + "domhandler@5.0.3": { 1216 + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", 1217 + "dependencies": [ 1218 + "domelementtype" 1219 + ] 1220 + }, 1221 + "domutils@3.2.2": { 1222 + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", 1223 + "dependencies": [ 1224 + "dom-serializer", 1225 + "domelementtype", 1226 + "domhandler" 1227 + ] 1228 + }, 986 1229 "dunder-proto@1.0.1": { 987 1230 "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 988 1231 "dependencies": [ ··· 1007 1250 "tapable" 1008 1251 ] 1009 1252 }, 1253 + "entities@4.5.0": { 1254 + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" 1255 + }, 1010 1256 "es-define-property@1.0.1": { 1011 1257 "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" 1012 1258 }, ··· 1053 1299 }, 1054 1300 "escape-html@1.0.3": { 1055 1301 "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" 1302 + }, 1303 + "escape-string-regexp@4.0.0": { 1304 + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" 1056 1305 }, 1057 1306 "etag@1.8.1": { 1058 1307 "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" ··· 1157 1406 "es-object-atoms" 1158 1407 ] 1159 1408 }, 1409 + "github-slugger@2.0.0": { 1410 + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" 1411 + }, 1160 1412 "gopd@1.2.0": { 1161 1413 "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" 1162 1414 }, ··· 1174 1426 "dependencies": [ 1175 1427 "function-bind" 1176 1428 ] 1429 + }, 1430 + "he@1.2.0": { 1431 + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 1432 + "bin": true 1177 1433 }, 1178 1434 "hey-listen@1.0.8": { 1179 1435 "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" 1180 1436 }, 1437 + "htmlparser2@8.0.2": { 1438 + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", 1439 + "dependencies": [ 1440 + "domelementtype", 1441 + "domhandler", 1442 + "domutils", 1443 + "entities" 1444 + ] 1445 + }, 1181 1446 "htmx.org@1.9.12": { 1182 1447 "integrity": "sha512-VZAohXyF7xPGS52IM8d1T1283y+X4D+Owf3qY1NZ9RuBypyu9l8cGsxUMAG5fEAb/DhT7rDoJ9Hpu5/HxFD3cw==" 1183 1448 }, ··· 1217 1482 "ipaddr.js@2.2.0": { 1218 1483 "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==" 1219 1484 }, 1485 + "is-arrayish@0.3.2": { 1486 + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" 1487 + }, 1220 1488 "is-extglob@2.1.1": { 1221 1489 "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" 1222 1490 }, ··· 1229 1497 "is-number@7.0.0": { 1230 1498 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" 1231 1499 }, 1500 + "is-plain-object@5.0.0": { 1501 + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" 1502 + }, 1232 1503 "iso-datestring-validator@2.2.2": { 1233 1504 "integrity": "sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==" 1234 1505 }, ··· 1238 1509 }, 1239 1510 "jose@5.9.6": { 1240 1511 "integrity": "sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ==" 1512 + }, 1513 + "katex@0.16.22": { 1514 + "integrity": "sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==", 1515 + "dependencies": [ 1516 + "commander@8.3.0" 1517 + ], 1518 + "bin": true 1241 1519 }, 1242 1520 "lightningcss-darwin-arm64@1.30.1": { 1243 1521 "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", ··· 1319 1597 "markdown-it-deflist@2.1.0": { 1320 1598 "integrity": "sha512-3OuqoRUlSxJiuQYu0cWTLHNhhq2xtoSFqsZK8plANg91+RJQU1ziQ6lA2LzmFAEes18uPBsHZpcX6We5l76Nzg==" 1321 1599 }, 1600 + "marked-alert@2.1.2_marked@12.0.2": { 1601 + "integrity": "sha512-EFNRZ08d8L/iEIPLTlQMDjvwIsj03gxWCczYTht6DCiHJIZhMk4NK5gtPY9UqAYb09eV5VGT+jD4lp396E0I+w==", 1602 + "dependencies": [ 1603 + "marked" 1604 + ] 1605 + }, 1606 + "marked-footnote@1.2.4_marked@12.0.2": { 1607 + "integrity": "sha512-DB2Kl+wFh6YwZd70qABMY6WUkG1UuyqoNTFoDfGyG79Pz24neYtLBkB+45a7o72V7gkfvbC3CGzIYFobxfMT1Q==", 1608 + "dependencies": [ 1609 + "marked" 1610 + ] 1611 + }, 1612 + "marked-gfm-heading-id@3.2.0_marked@12.0.2": { 1613 + "integrity": "sha512-Xfxpr5lXLDLY10XqzSCA9l2dDaiabQUgtYM9hw8yunyVsB/xYBRpiic6BOiY/EAJw1ik1eWr1ET1HKOAPZBhXg==", 1614 + "dependencies": [ 1615 + "github-slugger", 1616 + "marked" 1617 + ] 1618 + }, 1619 + "marked@12.0.2": { 1620 + "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", 1621 + "bin": true 1622 + }, 1322 1623 "math-intrinsics@1.1.0": { 1323 1624 "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" 1324 1625 }, ··· 1373 1674 "ms@2.1.3": { 1374 1675 "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 1375 1676 }, 1376 - "multiformats@13.3.6": { 1377 - "integrity": "sha512-yakbt9cPYj8d3vi/8o/XWm61MrOILo7fsTL0qxNx6zS0Nso6K5JqqS2WV7vK/KSuDBvrW3KfCwAdAgarAgOmww==" 1677 + "multiformats@13.3.7": { 1678 + "integrity": "sha512-meL9DERHj+fFVWoOX9fXqfcYcSpUfSYJPcFvDPKrxitICbwAoWR+Ut4j5NO9zAT917HUHLQmqzQbAsGNHlDcxQ==" 1378 1679 }, 1379 1680 "multiformats@9.9.0": { 1380 1681 "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" 1381 1682 }, 1683 + "nanoid@3.3.11": { 1684 + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 1685 + "bin": true 1686 + }, 1382 1687 "negotiator@0.6.3": { 1383 1688 "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" 1384 1689 }, ··· 1403 1708 "dependencies": [ 1404 1709 "ee-first" 1405 1710 ] 1711 + }, 1712 + "parse-srcset@1.0.2": { 1713 + "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==" 1406 1714 }, 1407 1715 "parseurl@1.3.3": { 1408 1716 "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" ··· 1450 1758 "hey-listen", 1451 1759 "style-value-types", 1452 1760 "tslib@2.4.0" 1761 + ] 1762 + }, 1763 + "postcss@8.5.3": { 1764 + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", 1765 + "dependencies": [ 1766 + "nanoid", 1767 + "picocolors", 1768 + "source-map-js" 1453 1769 ] 1454 1770 }, 1455 1771 "preact-render-to-string@6.5.13_preact@10.26.8": { ··· 1461 1777 "preact@10.26.8": { 1462 1778 "integrity": "sha512-1nMfdFjucm5hKvq0IClqZwK4FJkGXhRrQstOQ3P4vp8HxKrJEMFcY6RdBRVTdfQS/UlnX6gfbPuTvaqx/bDoeQ==" 1463 1779 }, 1780 + "prismjs@1.30.0": { 1781 + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==" 1782 + }, 1464 1783 "process-warning@3.0.0": { 1465 1784 "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" 1466 1785 }, ··· 1520 1839 "safer-buffer@2.1.2": { 1521 1840 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1522 1841 }, 1842 + "sanitize-html@2.17.0": { 1843 + "integrity": "sha512-dLAADUSS8rBwhaevT12yCezvioCA+bmUTPH/u57xKPT8d++voeYE6HeluA/bPbQ15TwDBG2ii+QZIEmYx8VdxA==", 1844 + "dependencies": [ 1845 + "deepmerge", 1846 + "escape-string-regexp", 1847 + "htmlparser2", 1848 + "is-plain-object", 1849 + "parse-srcset", 1850 + "postcss" 1851 + ] 1852 + }, 1853 + "semver@7.7.2": { 1854 + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 1855 + "bin": true 1856 + }, 1523 1857 "send@0.19.0": { 1524 1858 "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", 1525 1859 "dependencies": [ ··· 1550 1884 "setprototypeof@1.2.0": { 1551 1885 "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 1552 1886 }, 1887 + "sharp@0.34.1": { 1888 + "integrity": "sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==", 1889 + "dependencies": [ 1890 + "color", 1891 + "detect-libc@2.0.4", 1892 + "semver" 1893 + ], 1894 + "optionalDependencies": [ 1895 + "@img/sharp-darwin-arm64", 1896 + "@img/sharp-darwin-x64", 1897 + "@img/sharp-libvips-darwin-arm64", 1898 + "@img/sharp-libvips-darwin-x64", 1899 + "@img/sharp-libvips-linux-arm", 1900 + "@img/sharp-libvips-linux-arm64", 1901 + "@img/sharp-libvips-linux-ppc64", 1902 + "@img/sharp-libvips-linux-s390x", 1903 + "@img/sharp-libvips-linux-x64", 1904 + "@img/sharp-libvips-linuxmusl-arm64", 1905 + "@img/sharp-libvips-linuxmusl-x64", 1906 + "@img/sharp-linux-arm", 1907 + "@img/sharp-linux-arm64", 1908 + "@img/sharp-linux-s390x", 1909 + "@img/sharp-linux-x64", 1910 + "@img/sharp-linuxmusl-arm64", 1911 + "@img/sharp-linuxmusl-x64", 1912 + "@img/sharp-wasm32", 1913 + "@img/sharp-win32-ia32", 1914 + "@img/sharp-win32-x64" 1915 + ], 1916 + "scripts": true 1917 + }, 1553 1918 "side-channel-list@1.0.0": { 1554 1919 "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", 1555 1920 "dependencies": [ ··· 1586 1951 "side-channel-weakmap" 1587 1952 ] 1588 1953 }, 1954 + "simple-swizzle@0.2.2": { 1955 + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", 1956 + "dependencies": [ 1957 + "is-arrayish" 1958 + ] 1959 + }, 1589 1960 "sonic-boom@3.8.1": { 1590 1961 "integrity": "sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==", 1591 1962 "dependencies": [ ··· 1627 1998 "tslib@2.4.0" 1628 1999 ] 1629 2000 }, 1630 - "tailwind-merge@3.3.0": { 1631 - "integrity": "sha512-fyW/pEfcQSiigd5SNn0nApUOxx0zB/dm6UDU/rEwc2c3sX2smWUNbapHv+QRqLGVp9GWX3THIa7MUGPo+YkDzQ==" 2001 + "tailwind-merge@3.3.1": { 2002 + "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==" 1632 2003 }, 1633 2004 "tailwindcss@4.1.8": { 1634 2005 "integrity": "sha512-kjeW8gjdxasbmFKpVGrGd5T4i40mV5J2Rasw48QARfYeQ8YS9x02ON9SFWax3Qf616rt4Cp3nVNIj6Hd1mP3og==" ··· 1652 2023 "dependencies": [ 1653 2024 "@jridgewell/source-map", 1654 2025 "acorn", 1655 - "commander", 2026 + "commander@2.20.3", 1656 2027 "source-map-support" 1657 2028 ], 1658 2029 "bin": true ··· 1731 2102 }, 1732 2103 "workspace": { 1733 2104 "dependencies": [ 1734 - "jsr:@bigmoves/bff@0.3.0-beta.33", 2105 + "jsr:@bigmoves/bff@0.3.0-beta.35", 1735 2106 "jsr:@luca/esbuild-deno-loader@~0.11.1", 1736 2107 "jsr:@std/http@^1.0.17", 1737 2108 "jsr:@std/path@^1.0.9",
-5
static/styles.css
··· 1072 1072 color: var(--color-zinc-100); 1073 1073 } 1074 1074 } 1075 - .dark\:text-zinc-200 { 1076 - @media (prefers-color-scheme: dark) { 1077 - color: var(--color-zinc-200); 1078 - } 1079 - } 1080 1075 .dark\:text-zinc-300 { 1081 1076 @media (prefers-color-scheme: dark) { 1082 1077 color: var(--color-zinc-300);