WIP: PDS Admin tool to hopefully make it easier to moderate your PDS
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

some toml stuff

+123 -1668
+2
.env.example
··· 1 + DATABASE_URL=file:./label-watcher.db 2 + MIGRATIONS_FOLDER=drizzle
+1
.gitignore
··· 1 1 node_modules 2 2 dist 3 3 label-watcher.db 4 + settings.toml
+2 -1
package.json
··· 18 18 "@atcute/atproto": "^3.1.10", 19 19 "@atcute/firehose": "^0.1.0", 20 20 "@libsql/client": "^0.17.0", 21 - "drizzle-orm": "^0.45.1" 21 + "drizzle-orm": "^0.45.1", 22 + "smol-toml": "^1.6.0" 22 23 }, 23 24 "devDependencies": { 24 25 "@types/node": "^25.3.0",
+30 -1648
pnpm-lock.yaml
··· 14 14 '@atcute/firehose': 15 15 specifier: ^0.1.0 16 16 version: 0.1.0 17 - '@atproto/lex': 18 - specifier: ^0.0.16 19 - version: 0.0.16 20 - '@atproto/ozone': 21 - specifier: ^0.1.163 22 - version: 0.1.163 23 17 '@libsql/client': 24 18 specifier: ^0.17.0 25 19 version: 0.17.0 26 20 drizzle-orm: 27 21 specifier: ^0.45.1 28 22 version: 0.45.1(@libsql/client@0.17.0)(kysely@0.22.0)(pg@8.18.0) 23 + smol-toml: 24 + specifier: ^1.6.0 25 + version: 1.6.0 29 26 devDependencies: 30 27 '@types/node': 31 28 specifier: ^25.3.0 ··· 63 60 '@atcute/util-text@1.1.1': 64 61 resolution: {integrity: sha512-JH0SxzUQJAmbOBTYyhxQbkkI6M33YpjlVLEcbP5GYt43xgFArzV0FJVmEpvIj0kjsmphHB45b6IitdvxPdec9w==} 65 62 66 - '@atproto-labs/did-resolver@0.2.6': 67 - resolution: {integrity: sha512-2K1bC04nI2fmgNcvof+yA28IhGlpWn2JKYlPa7To9JTKI45FINCGkQSGiL2nyXlyzDJJ34fZ1aq6/IRFIOIiqg==} 68 - 69 - '@atproto-labs/fetch@0.2.3': 70 - resolution: {integrity: sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw==} 71 - 72 - '@atproto-labs/pipe@0.1.1': 73 - resolution: {integrity: sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg==} 74 - 75 - '@atproto-labs/simple-store-memory@0.1.4': 76 - resolution: {integrity: sha512-3mKY4dP8I7yKPFj9VKpYyCRzGJOi5CEpOLPlRhoJyLmgs3J4RzDrjn323Oakjz2Aj2JzRU/AIvWRAZVhpYNJHw==} 77 - 78 - '@atproto-labs/simple-store@0.3.0': 79 - resolution: {integrity: sha512-nOb6ONKBRJHRlukW1sVawUkBqReLlLx6hT35VS3imaNPwiXDxLnTK7lxw3Lrl9k5yugSBDQAkZAq3MPTEFSUBQ==} 80 - 81 - '@atproto/api@0.18.21': 82 - resolution: {integrity: sha512-s35MIJerGT/pKe2xJtKKswqlIr/ola2r2iURBKBL0Mk1OKe6jP4YvTMh1N2d2PEANFzNNTbKoDaLfJPo2Uvc/w==} 83 - 84 - '@atproto/common-web@0.4.16': 85 - resolution: {integrity: sha512-Ufvaff5JgxUyUyTAG0/3o7ltpy3lnZ1DvLjyAnvAf+hHfiK7OMQg+8byr+orN+KP9MtIQaRTsCgYPX+PxMKUoA==} 86 - 87 - '@atproto/common@0.1.0': 88 - resolution: {integrity: sha512-OB5tWE2R19jwiMIs2IjQieH5KTUuMb98XGCn9h3xuu6NanwjlmbCYMv08fMYwIp3UQ6jcq//84cDT3Bu6fJD+A==} 89 - 90 - '@atproto/common@0.5.11': 91 - resolution: {integrity: sha512-WRlT4s+wv80WdQuzkQub9D5vTD82O8dH2p91u4b+x3O17q5IQbmA3Lj+1NICINNSy2voqloqAWdqXEkRfdlAPw==} 92 - engines: {node: '>=18.7.0'} 93 - 94 - '@atproto/crypto@0.1.0': 95 - resolution: {integrity: sha512-9xgFEPtsCiJEPt9o3HtJT30IdFTGw5cQRSJVIy5CFhqBA4vDLcdXiRDLCjkzHEVbtNCsHUW6CrlfOgbeLPcmcg==} 96 - 97 - '@atproto/crypto@0.4.5': 98 - resolution: {integrity: sha512-n40aKkMoCatP0u9Yvhrdk6fXyOHFDDbkdm4h4HCyWW+KlKl8iXfD5iV+ECq+w5BM+QH25aIpt3/j6EUNerhLxw==} 99 - engines: {node: '>=18.7.0'} 100 - 101 - '@atproto/did@0.3.0': 102 - resolution: {integrity: sha512-raUPzUGegtW/6OxwCmM8bhZvuIMzxG5t9oWsth6Tp91Kb5fTnHV2h/KKNF1C82doeA4BdXCErTyg7ISwLbQkzA==} 103 - 104 - '@atproto/identity@0.4.11': 105 - resolution: {integrity: sha512-/xXPPojR0PRD0pqoEPmgKMeclUCrkaMKfFGFkssAmXSuT39aCtiibxNqvhp+S2jOdeM6rKrs2QgH91OCGvwPcg==} 106 - engines: {node: '>=18.7.0'} 107 - 108 - '@atproto/lex-builder@0.0.15': 109 - resolution: {integrity: sha512-OtAjQD02vTaJNOWFMO5+9o+z3sGEDTb6Gre9/8JsjnweZk9JzZ46rGpK7old8Unw9oQDP/l58uzAGTywV350NQ==} 110 - 111 - '@atproto/lex-cbor@0.0.11': 112 - resolution: {integrity: sha512-A7ETtPsEsJ/VuPJOFw4bPNTKxHvFN1JbTQ2NjLuisd3ry7fVxgMpo/qGXsUQsAh/I/uziGbhpNqdS6GnI2p/Wg==} 113 - 114 - '@atproto/lex-client@0.0.12': 115 - resolution: {integrity: sha512-ef4jQQ7SOtBsXr+Gf1UHuBfCiAGYZxO5PCCXl3eT4ObO83SROtIf7pyO06jBQI/IZChSVsXqXsgakR0aru6lYQ==} 116 - 117 - '@atproto/lex-data@0.0.11': 118 - resolution: {integrity: sha512-4+KTtHdqwlhiTKA7D4SACea4jprsNpCQsNALW09wsZ6IHhCDGO5tr1cmV+QnLYe3G3mu1E1yXHXbPUHrUUDT/A==} 119 - 120 - '@atproto/lex-document@0.0.13': 121 - resolution: {integrity: sha512-LWsBsKIbyuG7jFObTtnCFQNYHxWWVpVVspqv6UtnS/QsaCyCMg1GIz5vlgi8QBnmGvaPiQxIzGt6mERpTvEXpg==} 122 - 123 - '@atproto/lex-installer@0.0.16': 124 - resolution: {integrity: sha512-fHLu8VUf9zf2Jz+wJ9+5fvFGxi3930VyUBk/FtszcccTLg1uzb0qElUpVHpieFAHbA2fYqjvPgCpZpH6iploYQ==} 125 - 126 - '@atproto/lex-json@0.0.11': 127 - resolution: {integrity: sha512-2IExAoQ4KsR5fyPa1JjIvtR316PvdgRH/l3BVGLBd3cSxM3m5MftIv1B6qZ9HjNiK60SgkWp0mi9574bTNDhBQ==} 128 - 129 - '@atproto/lex-resolver@0.0.14': 130 - resolution: {integrity: sha512-jBkYRmMKap2OM1zm0VDvs7Heuf3pGjw9xJEHQx1ohkMmM5f+cHPS40RQ8x8SNE+Vl9gMuOrgmgKyPDIuYSIBTw==} 131 - 132 - '@atproto/lex-schema@0.0.12': 133 - resolution: {integrity: sha512-l1RNYmqNwIEjgMEjC9i2o6FLsUFdpAc610xQYK/CRxN31cRzY0lAJ2GFbp2GZ4rRAD3FGYCXid6gZ42KsieUcw==} 134 - 135 - '@atproto/lex@0.0.16': 136 - resolution: {integrity: sha512-k7cxIFxEiztHVVMFzqOOvThPDZ2RaK8+X9L27v0B2DmNPhbqRoKFdDU3dWHFhUhBP/CrK34zDo8YPQ4JmcradA==} 137 - hasBin: true 138 - 139 - '@atproto/lexicon@0.6.1': 140 - resolution: {integrity: sha512-/vI1kVlY50Si+5MXpvOucelnYwb0UJ6Qto5mCp+7Q5C+Jtp+SoSykAPVvjVtTnQUH2vrKOFOwpb3C375vSKzXw==} 141 - 142 - '@atproto/ozone@0.1.163': 143 - resolution: {integrity: sha512-Rz5p0Bf9K3KVo6VuPNe5KTiuJVM5eV7fXSIeWidC1WbDgfEEM8jJu2YRQHvDQq5r95SKKY0gTFYqU6vW0DKSJA==} 144 - engines: {node: '>=18.7.0'} 145 - 146 - '@atproto/repo@0.8.12': 147 - resolution: {integrity: sha512-QpVTVulgfz5PUiCTELlDBiRvnsnwrFWi+6CfY88VwXzrRHd9NE8GItK7sfxQ6U65vD/idH8ddCgFrlrsn1REPQ==} 148 - engines: {node: '>=18.7.0'} 149 - 150 - '@atproto/syntax@0.4.3': 151 - resolution: {integrity: sha512-YoZUz40YAJr5nPwvCDWgodEOlt5IftZqPJvA0JDWjuZKD8yXddTwSzXSaKQAzGOpuM+/A3uXRtPzJJqlScc+iA==} 152 - 153 - '@atproto/ws-client@0.0.4': 154 - resolution: {integrity: sha512-dox1XIymuC7/ZRhUqKezIGgooZS45C6vHCfu0PnWjfvsLCK2kAlnvX4IBkA/WpcoijDhQ9ejChnFbo/sLmgvAg==} 155 - engines: {node: '>=18.7.0'} 156 - 157 - '@atproto/xrpc-server@0.10.12': 158 - resolution: {integrity: sha512-HuciFHxvQfWtvq+dmH3vK9uXii49vqkJgZFLcHums1xMvLvNBY5bgtUBdpQdsdEuq8B4DTuanZRs+z3zGariyg==} 159 - engines: {node: '>=18.7.0'} 160 - 161 - '@atproto/xrpc@0.7.7': 162 - resolution: {integrity: sha512-K1ZyO/BU8JNtXX5dmPp7b5UrkLMMqpsIa/Lrj5D3Su+j1Xwq1m6QJ2XJ1AgjEjkI1v4Muzm7klianLE6XGxtmA==} 163 - 164 - '@did-plc/lib@0.0.1': 165 - resolution: {integrity: sha512-RkY5w9DbYMco3SjeepqIiMveqz35exjlVDipCs2gz9AXF4/cp9hvmrp9zUWEw2vny+FjV8vGEN7QpaXWaO6nhg==} 166 - 167 63 '@drizzle-team/brocli@0.10.2': 168 64 resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} 169 65 ··· 463 359 cpu: [x64] 464 360 os: [win32] 465 361 466 - '@ipld/dag-cbor@7.0.3': 467 - resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==} 468 - 469 362 '@libsql/client@0.17.0': 470 363 resolution: {integrity: sha512-TLjSU9Otdpq0SpKHl1tD1Nc9MKhrsZbCFGot3EbCxRa8m1E5R1mMwoOjKMMM31IyF7fr+hPNHLpYfwbMKNusmg==} 471 364 ··· 532 425 '@neon-rs/load@0.0.4': 533 426 resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} 534 427 535 - '@noble/curves@1.9.7': 536 - resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} 537 - engines: {node: ^14.21.3 || >=16} 538 - 539 - '@noble/hashes@1.8.0': 540 - resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} 541 - engines: {node: ^14.21.3 || >=16} 542 - 543 - '@noble/secp256k1@1.7.2': 544 - resolution: {integrity: sha512-/qzwYl5eFLH8OWIecQWM31qld2g1NfjgylK+TNhqtaUKP37Nm+Y+z30Fjhw0Ct8p9yCQEm2N3W/AckdIb3SMcQ==} 545 - 546 428 '@standard-schema/spec@1.1.0': 547 429 resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} 548 430 549 - '@ts-morph/common@0.28.1': 550 - resolution: {integrity: sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==} 551 - 552 431 '@types/node@25.3.0': 553 432 resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==} 554 433 555 434 '@types/ws@8.18.1': 556 435 resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} 557 436 558 - abort-controller@3.0.0: 559 - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} 560 - engines: {node: '>=6.5'} 561 - 562 - accepts@1.3.8: 563 - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} 564 - engines: {node: '>= 0.6'} 565 - 566 - ansi-regex@5.0.1: 567 - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 568 - engines: {node: '>=8'} 569 - 570 - ansi-styles@4.3.0: 571 - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 572 - engines: {node: '>=8'} 573 - 574 - array-flatten@1.1.1: 575 - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} 576 - 577 - asynckit@0.4.0: 578 - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 579 - 580 - atomic-sleep@1.0.0: 581 - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} 582 - engines: {node: '>=8.0.0'} 583 - 584 - await-lock@2.2.2: 585 - resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==} 586 - 587 - axios@1.13.5: 588 - resolution: {integrity: sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==} 589 - 590 - balanced-match@4.0.3: 591 - resolution: {integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==} 592 - engines: {node: 20 || >=22} 593 - 594 - base64-js@1.5.1: 595 - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 596 - 597 - big-integer@1.6.52: 598 - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} 599 - engines: {node: '>=0.6'} 600 - 601 - body-parser@1.20.4: 602 - resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} 603 - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 604 - 605 - brace-expansion@5.0.2: 606 - resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==} 607 - engines: {node: 20 || >=22} 608 - 609 437 buffer-from@1.1.2: 610 438 resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 611 439 612 - buffer@6.0.3: 613 - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 614 - 615 - bytes@3.1.2: 616 - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 617 - engines: {node: '>= 0.8'} 618 - 619 - call-bind-apply-helpers@1.0.2: 620 - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 621 - engines: {node: '>= 0.4'} 622 - 623 - call-bound@1.0.4: 624 - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 625 - engines: {node: '>= 0.4'} 626 - 627 - cborg@1.10.2: 628 - resolution: {integrity: sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==} 629 - hasBin: true 630 - 631 - cliui@8.0.1: 632 - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 633 - engines: {node: '>=12'} 634 - 635 - code-block-writer@13.0.3: 636 - resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} 637 - 638 - color-convert@2.0.1: 639 - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 640 - engines: {node: '>=7.0.0'} 641 - 642 - color-name@1.1.4: 643 - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 644 - 645 - combined-stream@1.0.8: 646 - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 647 - engines: {node: '>= 0.8'} 648 - 649 - compressible@2.0.18: 650 - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} 651 - engines: {node: '>= 0.6'} 652 - 653 - compression@1.8.1: 654 - resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} 655 - engines: {node: '>= 0.8.0'} 656 - 657 - content-disposition@0.5.4: 658 - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 659 - engines: {node: '>= 0.6'} 660 - 661 - content-type@1.0.5: 662 - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 663 - engines: {node: '>= 0.6'} 664 - 665 - cookie-signature@1.0.7: 666 - resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} 667 - 668 - cookie@0.7.2: 669 - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} 670 - engines: {node: '>= 0.6'} 671 - 672 - core-js@3.48.0: 673 - resolution: {integrity: sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==} 674 - 675 - cors@2.8.6: 676 - resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} 677 - engines: {node: '>= 0.10'} 678 - 679 440 cross-fetch@4.1.0: 680 441 resolution: {integrity: sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==} 681 442 ··· 683 444 resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} 684 445 engines: {node: '>= 12'} 685 446 686 - debug@2.6.9: 687 - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 688 - peerDependencies: 689 - supports-color: '*' 690 - peerDependenciesMeta: 691 - supports-color: 692 - optional: true 693 - 694 447 debug@4.4.3: 695 448 resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} 696 449 engines: {node: '>=6.0'} ··· 700 453 supports-color: 701 454 optional: true 702 455 703 - delay@5.0.0: 704 - resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} 705 - engines: {node: '>=10'} 706 - 707 - delayed-stream@1.0.0: 708 - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 709 - engines: {node: '>=0.4.0'} 710 - 711 - depd@2.0.0: 712 - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 713 - engines: {node: '>= 0.8'} 714 - 715 - destroy@1.2.0: 716 - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 717 - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 718 - 719 456 detect-libc@2.0.2: 720 457 resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} 721 458 engines: {node: '>=8'} ··· 816 553 sqlite3: 817 554 optional: true 818 555 819 - dunder-proto@1.0.1: 820 - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 821 - engines: {node: '>= 0.4'} 822 - 823 - ee-first@1.1.1: 824 - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 825 - 826 - emoji-regex@8.0.0: 827 - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 828 - 829 - encodeurl@2.0.0: 830 - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} 831 - engines: {node: '>= 0.8'} 832 - 833 - es-define-property@1.0.1: 834 - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 835 - engines: {node: '>= 0.4'} 836 - 837 - es-errors@1.3.0: 838 - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 839 - engines: {node: '>= 0.4'} 840 - 841 - es-object-atoms@1.1.1: 842 - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 843 - engines: {node: '>= 0.4'} 844 - 845 - es-set-tostringtag@2.1.0: 846 - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} 847 - engines: {node: '>= 0.4'} 848 - 849 556 esbuild-register@3.6.0: 850 557 resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} 851 558 peerDependencies: ··· 861 568 engines: {node: '>=18'} 862 569 hasBin: true 863 570 864 - escalade@3.2.0: 865 - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 866 - engines: {node: '>=6'} 867 - 868 - escape-html@1.0.3: 869 - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 870 - 871 571 esm-env@1.2.2: 872 572 resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} 873 - 874 - etag@1.8.1: 875 - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 876 - engines: {node: '>= 0.6'} 877 573 878 574 event-target-polyfill@0.0.4: 879 575 resolution: {integrity: sha512-Gs6RLjzlLRdT8X9ZipJdIZI/Y6/HhRLyq9RdDlCsnpxr/+Nn6bU2EFGuC94GjxqhM+Nmij2Vcq98yoHrU8uNFQ==} 880 576 881 - event-target-shim@5.0.1: 882 - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} 883 - engines: {node: '>=6'} 884 - 885 - eventemitter3@4.0.7: 886 - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} 887 - 888 - events@3.3.0: 889 - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 890 - engines: {node: '>=0.8.x'} 891 - 892 - express@4.22.1: 893 - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} 894 - engines: {node: '>= 0.10.0'} 895 - 896 - fast-printf@1.6.10: 897 - resolution: {integrity: sha512-GwTgG9O4FVIdShhbVF3JxOgSBY2+ePGsu2V/UONgoCPzF9VY6ZdBMKsHKCYQHZwNk3qNouUolRDsgVxcVA5G1w==} 898 - engines: {node: '>=10.0'} 899 - 900 - fast-redact@3.5.0: 901 - resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} 902 - engines: {node: '>=6'} 903 - 904 - fdir@6.5.0: 905 - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} 906 - engines: {node: '>=12.0.0'} 907 - peerDependencies: 908 - picomatch: ^3 || ^4 909 - peerDependenciesMeta: 910 - picomatch: 911 - optional: true 912 - 913 577 fetch-blob@3.2.0: 914 578 resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} 915 579 engines: {node: ^12.20 || >= 14.13} 916 580 917 - finalhandler@1.3.2: 918 - resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} 919 - engines: {node: '>= 0.8'} 920 - 921 - follow-redirects@1.15.11: 922 - resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} 923 - engines: {node: '>=4.0'} 924 - peerDependencies: 925 - debug: '*' 926 - peerDependenciesMeta: 927 - debug: 928 - optional: true 929 - 930 - form-data@4.0.5: 931 - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} 932 - engines: {node: '>= 6'} 933 - 934 581 formdata-polyfill@4.0.10: 935 582 resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} 936 583 engines: {node: '>=12.20.0'} 937 584 938 - forwarded@0.2.0: 939 - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 940 - engines: {node: '>= 0.6'} 941 - 942 - fresh@0.5.2: 943 - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 944 - engines: {node: '>= 0.6'} 945 - 946 - function-bind@1.1.2: 947 - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 948 - 949 - get-caller-file@2.0.5: 950 - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 951 - engines: {node: 6.* || 8.* || >= 10.*} 952 - 953 - get-intrinsic@1.3.0: 954 - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 955 - engines: {node: '>= 0.4'} 956 - 957 - get-proto@1.0.1: 958 - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 959 - engines: {node: '>= 0.4'} 960 - 961 585 get-tsconfig@4.13.6: 962 586 resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} 963 587 964 - gopd@1.2.0: 965 - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 966 - engines: {node: '>= 0.4'} 967 - 968 - has-symbols@1.1.0: 969 - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 970 - engines: {node: '>= 0.4'} 971 - 972 - has-tostringtag@1.0.2: 973 - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 974 - engines: {node: '>= 0.4'} 975 - 976 - hasown@2.0.2: 977 - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 978 - engines: {node: '>= 0.4'} 979 - 980 - http-errors@2.0.1: 981 - resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} 982 - engines: {node: '>= 0.8'} 983 - 984 - http-terminator@3.2.0: 985 - resolution: {integrity: sha512-JLjck1EzPaWjsmIf8bziM3p9fgR1Y3JoUKAkyYEbZmFrIvJM6I8vVJfBGWlEtV9IWOvzNnaTtjuwZeBY2kwB4g==} 986 - engines: {node: '>=14'} 987 - 988 - iconv-lite@0.4.24: 989 - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 990 - engines: {node: '>=0.10.0'} 991 - 992 - ieee754@1.2.1: 993 - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 994 - 995 - inherits@2.0.4: 996 - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 997 - 998 - ipaddr.js@1.9.1: 999 - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 1000 - engines: {node: '>= 0.10'} 1001 - 1002 - is-fullwidth-code-point@3.0.0: 1003 - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1004 - engines: {node: '>=8'} 1005 - 1006 - iso-datestring-validator@2.2.2: 1007 - resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} 1008 - 1009 588 js-base64@3.7.8: 1010 589 resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} 1011 590 ··· 1013 592 resolution: {integrity: sha512-ZE3qWtnqLOalodzfK5QUEcm7AEulhxsPNuKaGFsC3XiqO92vMLm+mAHk/NnbSIOtC4RmGm0nsv700i8KDp1gfQ==} 1014 593 engines: {node: '>=14.0.0'} 1015 594 1016 - lande@1.0.10: 1017 - resolution: {integrity: sha512-yT52DQh+UV2pEp08jOYrA4drDv0DbjpiRyZYgl25ak9G2cVR2AimzrqkYQWrD9a7Ud+qkAcaiDDoNH9DXfHPmw==} 1018 - 1019 595 libsql@0.5.22: 1020 596 resolution: {integrity: sha512-NscWthMQt7fpU8lqd7LXMvT9pi+KhhmTHAJWUB/Lj6MWa0MKFv0F2V4C6WKKpjCVZl0VwcDz4nOI3CyaT1DDiA==} 1021 597 cpu: [x64, arm64, wasm32, arm] 1022 598 os: [darwin, linux, win32] 1023 599 1024 - lru-cache@10.4.3: 1025 - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1026 - 1027 - math-intrinsics@1.1.0: 1028 - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1029 - engines: {node: '>= 0.4'} 1030 - 1031 - media-typer@0.3.0: 1032 - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} 1033 - engines: {node: '>= 0.6'} 1034 - 1035 - merge-descriptors@1.0.3: 1036 - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} 1037 - 1038 - methods@1.1.2: 1039 - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} 1040 - engines: {node: '>= 0.6'} 1041 - 1042 - mime-db@1.52.0: 1043 - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 1044 - engines: {node: '>= 0.6'} 1045 - 1046 - mime-db@1.54.0: 1047 - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} 1048 - engines: {node: '>= 0.6'} 1049 - 1050 - mime-types@2.1.35: 1051 - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 1052 - engines: {node: '>= 0.6'} 1053 - 1054 - mime@1.6.0: 1055 - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 1056 - engines: {node: '>=4'} 1057 - hasBin: true 1058 - 1059 - minimatch@10.2.2: 1060 - resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==} 1061 - engines: {node: 18 || 20 || >=22} 1062 - 1063 - ms@2.0.0: 1064 - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 1065 - 1066 600 ms@2.1.3: 1067 601 resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1068 602 1069 - multiformats@9.9.0: 1070 - resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} 1071 - 1072 - negotiator@0.6.3: 1073 - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 1074 - engines: {node: '>= 0.6'} 1075 - 1076 - negotiator@0.6.4: 1077 - resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} 1078 - engines: {node: '>= 0.6'} 1079 - 1080 603 node-domexception@1.0.0: 1081 604 resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 1082 605 engines: {node: '>=10.5.0'} ··· 1095 618 resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} 1096 619 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1097 620 1098 - object-assign@4.1.1: 1099 - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1100 - engines: {node: '>=0.10.0'} 1101 - 1102 - object-inspect@1.13.4: 1103 - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 1104 - engines: {node: '>= 0.4'} 1105 - 1106 - on-exit-leak-free@2.1.2: 1107 - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} 1108 - engines: {node: '>=14.0.0'} 1109 - 1110 - on-finished@2.4.1: 1111 - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 1112 - engines: {node: '>= 0.8'} 1113 - 1114 - on-headers@1.1.0: 1115 - resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} 1116 - engines: {node: '>= 0.8'} 1117 - 1118 - one-webcrypto@1.0.3: 1119 - resolution: {integrity: sha512-fu9ywBVBPx0gS9K0etIROTiCkvI5S1TDjFsYFb3rC1ewFxeOqsbzq7aIMBHsYfrTHBcGXJaONXXjTl8B01cW1Q==} 1120 - 1121 - p-finally@1.0.0: 1122 - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} 1123 - engines: {node: '>=4'} 1124 - 1125 - p-queue@6.6.2: 1126 - resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} 1127 - engines: {node: '>=8'} 1128 - 1129 - p-timeout@3.2.0: 1130 - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} 1131 - engines: {node: '>=8'} 1132 - 1133 - p-wait-for@3.2.0: 1134 - resolution: {integrity: sha512-wpgERjNkLrBiFmkMEjuZJEWKKDrNfHCKA1OhyN1wg1FrLkULbviEy6py1AyJUgZ72YWFbZ38FIpnqvVqAlDUwA==} 1135 - engines: {node: '>=8'} 1136 - 1137 - parseurl@1.3.3: 1138 - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 1139 - engines: {node: '>= 0.8'} 1140 - 1141 621 partysocket@1.1.13: 1142 622 resolution: {integrity: sha512-RNXGzc6j0NISGE84+VTHHtbPwmnzZuOYJm9XZ+en+aZlIA2vC4AfwPlYxAHmGGGko3pQF7xRNhoe7bu1Brej4Q==} 1143 - 1144 - path-browserify@1.0.1: 1145 - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} 1146 - 1147 - path-to-regexp@0.1.12: 1148 - resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} 1149 623 1150 624 pg-cloudflare@1.3.0: 1151 625 resolution: {integrity: sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==} ··· 1181 655 pgpass@1.0.5: 1182 656 resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} 1183 657 1184 - picomatch@4.0.3: 1185 - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 1186 - engines: {node: '>=12'} 1187 - 1188 - pino-abstract-transport@1.2.0: 1189 - resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} 1190 - 1191 - pino-http@8.6.1: 1192 - resolution: {integrity: sha512-J0hiJgUExtBXP2BjrK4VB305tHXS31sCmWJ9XJo2wPkLHa1NFPuW4V9wjG27PAc2fmBCigiNhQKpvrx+kntBPA==} 1193 - 1194 - pino-std-serializers@6.2.2: 1195 - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} 1196 - 1197 - pino@8.21.0: 1198 - resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} 1199 - hasBin: true 1200 - 1201 658 postgres-array@2.0.0: 1202 659 resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} 1203 660 engines: {node: '>=4'} ··· 1214 671 resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} 1215 672 engines: {node: '>=0.10.0'} 1216 673 1217 - prettier@3.8.1: 1218 - resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} 1219 - engines: {node: '>=14'} 1220 - hasBin: true 1221 - 1222 - process-warning@3.0.0: 1223 - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} 1224 - 1225 - process@0.11.10: 1226 - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 1227 - engines: {node: '>= 0.6.0'} 1228 - 1229 674 promise-limit@2.7.0: 1230 675 resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} 1231 676 1232 - proxy-addr@2.0.7: 1233 - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 1234 - engines: {node: '>= 0.10'} 1235 - 1236 - proxy-from-env@1.1.0: 1237 - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 1238 - 1239 - qs@6.14.2: 1240 - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} 1241 - engines: {node: '>=0.6'} 1242 - 1243 - quick-format-unescaped@4.0.4: 1244 - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} 1245 - 1246 - range-parser@1.2.1: 1247 - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 1248 - engines: {node: '>= 0.6'} 1249 - 1250 - rate-limiter-flexible@2.4.2: 1251 - resolution: {integrity: sha512-rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw==} 1252 - 1253 - raw-body@2.5.3: 1254 - resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} 1255 - engines: {node: '>= 0.8'} 1256 - 1257 - readable-stream@4.7.0: 1258 - resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} 1259 - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1260 - 1261 - real-require@0.2.0: 1262 - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} 1263 - engines: {node: '>= 12.13.0'} 1264 - 1265 - require-directory@2.1.1: 1266 - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1267 - engines: {node: '>=0.10.0'} 1268 - 1269 677 resolve-pkg-maps@1.0.0: 1270 678 resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 1271 679 1272 - roarr@7.21.4: 1273 - resolution: {integrity: sha512-qvfUKCrpPzhWmQ4NxRYnuwhkI5lwmObhBU06BCK/lpj6PID9nL4Hk6XDwek2foKI+TMaV+Yw//XZshGF2Lox/Q==} 1274 - engines: {node: '>=18.0'} 1275 - 1276 - rxjs@7.8.2: 1277 - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} 1278 - 1279 - safe-buffer@5.2.1: 1280 - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1281 - 1282 - safe-stable-stringify@2.5.0: 1283 - resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} 1284 - engines: {node: '>=10'} 1285 - 1286 - safer-buffer@2.1.2: 1287 - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1288 - 1289 - semver-compare@1.0.0: 1290 - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} 1291 - 1292 - send@0.19.2: 1293 - resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} 1294 - engines: {node: '>= 0.8.0'} 1295 - 1296 - serve-static@1.16.3: 1297 - resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} 1298 - engines: {node: '>= 0.8.0'} 1299 - 1300 - setprototypeof@1.2.0: 1301 - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 1302 - 1303 - side-channel-list@1.0.0: 1304 - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 1305 - engines: {node: '>= 0.4'} 1306 - 1307 - side-channel-map@1.0.1: 1308 - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 1309 - engines: {node: '>= 0.4'} 1310 - 1311 - side-channel-weakmap@1.0.2: 1312 - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 1313 - engines: {node: '>= 0.4'} 1314 - 1315 - side-channel@1.1.0: 1316 - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 1317 - engines: {node: '>= 0.4'} 1318 - 1319 - sonic-boom@3.8.1: 1320 - resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} 680 + smol-toml@1.6.0: 681 + resolution: {integrity: sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==} 682 + engines: {node: '>= 18'} 1321 683 1322 684 source-map-support@0.5.21: 1323 685 resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} ··· 1330 692 resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} 1331 693 engines: {node: '>= 10.x'} 1332 694 1333 - statuses@2.0.2: 1334 - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} 1335 - engines: {node: '>= 0.8'} 1336 - 1337 - string-width@4.2.3: 1338 - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1339 - engines: {node: '>=8'} 1340 - 1341 - string_decoder@1.3.0: 1342 - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1343 - 1344 - strip-ansi@6.0.1: 1345 - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1346 - engines: {node: '>=8'} 1347 - 1348 - structured-headers@1.0.1: 1349 - resolution: {integrity: sha512-QYBxdBtA4Tl5rFPuqmbmdrS9kbtren74RTJTcs0VSQNVV5iRhJD4QlYTLD0+81SBwUQctjEQzjTRI3WG4DzICA==} 1350 - engines: {node: '>= 14', npm: '>=6'} 1351 - 1352 - thread-stream@2.7.0: 1353 - resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} 1354 - 1355 - tinyglobby@0.2.15: 1356 - resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 1357 - engines: {node: '>=12.0.0'} 1358 - 1359 - tlds@1.261.0: 1360 - resolution: {integrity: sha512-QXqwfEl9ddlGBaRFXIvNKK6OhipSiLXuRuLJX5DErz0o0Q0rYxulWLdFryTkV5PkdZct5iMInwYEGe/eR++1AA==} 1361 - hasBin: true 1362 - 1363 - toidentifier@1.0.1: 1364 - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 1365 - engines: {node: '>=0.6'} 1366 - 1367 - toygrad@2.6.0: 1368 - resolution: {integrity: sha512-g4zBmlSbvzOE5FOILxYkAybTSxijKLkj1WoNqVGnbMcWDyj4wWQ+eYSr3ik7XOpIgMq/7eBcPRTJX3DM2E0YMg==} 1369 - 1370 695 tr46@0.0.3: 1371 696 resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 1372 697 1373 - ts-morph@27.0.2: 1374 - resolution: {integrity: sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==} 1375 - 1376 - tslib@2.8.1: 1377 - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1378 - 1379 - type-fest@2.19.0: 1380 - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} 1381 - engines: {node: '>=12.20'} 1382 - 1383 698 type-fest@4.41.0: 1384 699 resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} 1385 700 engines: {node: '>=16'} 1386 701 1387 - type-is@1.6.18: 1388 - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 1389 - engines: {node: '>= 0.6'} 1390 - 1391 - typed-emitter@2.1.0: 1392 - resolution: {integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==} 1393 - 1394 702 typescript@5.9.3: 1395 703 resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 1396 704 engines: {node: '>=14.17'} 1397 705 hasBin: true 1398 706 1399 - uint8arrays@3.0.0: 1400 - resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} 1401 - 1402 707 undici-types@7.18.2: 1403 708 resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} 1404 709 1405 - undici@6.23.0: 1406 - resolution: {integrity: sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==} 1407 - engines: {node: '>=18.17'} 1408 - 1409 710 unicode-segmenter@0.14.5: 1410 711 resolution: {integrity: sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g==} 1411 712 1412 - unpipe@1.0.0: 1413 - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 1414 - engines: {node: '>= 0.8'} 1415 - 1416 - utils-merge@1.0.1: 1417 - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} 1418 - engines: {node: '>= 0.4.0'} 1419 - 1420 - varint@6.0.0: 1421 - resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} 1422 - 1423 - vary@1.1.2: 1424 - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 1425 - engines: {node: '>= 0.8'} 1426 - 1427 713 web-streams-polyfill@3.3.3: 1428 714 resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} 1429 715 engines: {node: '>= 8'} ··· 1434 720 whatwg-url@5.0.0: 1435 721 resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 1436 722 1437 - wrap-ansi@7.0.0: 1438 - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1439 - engines: {node: '>=10'} 1440 - 1441 723 ws@8.19.0: 1442 724 resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} 1443 725 engines: {node: '>=10.0.0'} ··· 1454 736 resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 1455 737 engines: {node: '>=0.4'} 1456 738 1457 - y18n@5.0.8: 1458 - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 1459 - engines: {node: '>=10'} 1460 - 1461 - yargs-parser@21.1.1: 1462 - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 1463 - engines: {node: '>=12'} 1464 - 1465 - yargs@17.7.2: 1466 - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 1467 - engines: {node: '>=12'} 1468 - 1469 739 yocto-queue@1.2.2: 1470 740 resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} 1471 741 engines: {node: '>=12.20'} 1472 - 1473 - zod@3.25.76: 1474 - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} 1475 742 1476 743 snapshots: 1477 744 ··· 1517 784 dependencies: 1518 785 unicode-segmenter: 0.14.5 1519 786 1520 - '@atproto-labs/did-resolver@0.2.6': 1521 - dependencies: 1522 - '@atproto-labs/fetch': 0.2.3 1523 - '@atproto-labs/pipe': 0.1.1 1524 - '@atproto-labs/simple-store': 0.3.0 1525 - '@atproto-labs/simple-store-memory': 0.1.4 1526 - '@atproto/did': 0.3.0 1527 - zod: 3.25.76 1528 - 1529 - '@atproto-labs/fetch@0.2.3': 1530 - dependencies: 1531 - '@atproto-labs/pipe': 0.1.1 1532 - 1533 - '@atproto-labs/pipe@0.1.1': {} 1534 - 1535 - '@atproto-labs/simple-store-memory@0.1.4': 1536 - dependencies: 1537 - '@atproto-labs/simple-store': 0.3.0 1538 - lru-cache: 10.4.3 1539 - 1540 - '@atproto-labs/simple-store@0.3.0': {} 1541 - 1542 - '@atproto/api@0.18.21': 1543 - dependencies: 1544 - '@atproto/common-web': 0.4.16 1545 - '@atproto/lexicon': 0.6.1 1546 - '@atproto/syntax': 0.4.3 1547 - '@atproto/xrpc': 0.7.7 1548 - await-lock: 2.2.2 1549 - multiformats: 9.9.0 1550 - tlds: 1.261.0 1551 - zod: 3.25.76 1552 - 1553 - '@atproto/common-web@0.4.16': 1554 - dependencies: 1555 - '@atproto/lex-data': 0.0.11 1556 - '@atproto/lex-json': 0.0.11 1557 - '@atproto/syntax': 0.4.3 1558 - zod: 3.25.76 1559 - 1560 - '@atproto/common@0.1.0': 1561 - dependencies: 1562 - '@ipld/dag-cbor': 7.0.3 1563 - multiformats: 9.9.0 1564 - pino: 8.21.0 1565 - zod: 3.25.76 1566 - 1567 - '@atproto/common@0.5.11': 1568 - dependencies: 1569 - '@atproto/common-web': 0.4.16 1570 - '@atproto/lex-cbor': 0.0.11 1571 - '@atproto/lex-data': 0.0.11 1572 - iso-datestring-validator: 2.2.2 1573 - multiformats: 9.9.0 1574 - pino: 8.21.0 1575 - 1576 - '@atproto/crypto@0.1.0': 1577 - dependencies: 1578 - '@noble/secp256k1': 1.7.2 1579 - big-integer: 1.6.52 1580 - multiformats: 9.9.0 1581 - one-webcrypto: 1.0.3 1582 - uint8arrays: 3.0.0 1583 - 1584 - '@atproto/crypto@0.4.5': 1585 - dependencies: 1586 - '@noble/curves': 1.9.7 1587 - '@noble/hashes': 1.8.0 1588 - uint8arrays: 3.0.0 1589 - 1590 - '@atproto/did@0.3.0': 1591 - dependencies: 1592 - zod: 3.25.76 1593 - 1594 - '@atproto/identity@0.4.11': 1595 - dependencies: 1596 - '@atproto/common-web': 0.4.16 1597 - '@atproto/crypto': 0.4.5 1598 - 1599 - '@atproto/lex-builder@0.0.15': 1600 - dependencies: 1601 - '@atproto/lex-document': 0.0.13 1602 - '@atproto/lex-schema': 0.0.12 1603 - prettier: 3.8.1 1604 - ts-morph: 27.0.2 1605 - tslib: 2.8.1 1606 - 1607 - '@atproto/lex-cbor@0.0.11': 1608 - dependencies: 1609 - '@atproto/lex-data': 0.0.11 1610 - tslib: 2.8.1 1611 - 1612 - '@atproto/lex-client@0.0.12': 1613 - dependencies: 1614 - '@atproto/lex-data': 0.0.11 1615 - '@atproto/lex-json': 0.0.11 1616 - '@atproto/lex-schema': 0.0.12 1617 - tslib: 2.8.1 1618 - 1619 - '@atproto/lex-data@0.0.11': 1620 - dependencies: 1621 - multiformats: 9.9.0 1622 - tslib: 2.8.1 1623 - uint8arrays: 3.0.0 1624 - unicode-segmenter: 0.14.5 1625 - 1626 - '@atproto/lex-document@0.0.13': 1627 - dependencies: 1628 - '@atproto/lex-schema': 0.0.12 1629 - core-js: 3.48.0 1630 - tslib: 2.8.1 1631 - 1632 - '@atproto/lex-installer@0.0.16': 1633 - dependencies: 1634 - '@atproto/lex-builder': 0.0.15 1635 - '@atproto/lex-cbor': 0.0.11 1636 - '@atproto/lex-data': 0.0.11 1637 - '@atproto/lex-document': 0.0.13 1638 - '@atproto/lex-resolver': 0.0.14 1639 - '@atproto/lex-schema': 0.0.12 1640 - '@atproto/syntax': 0.4.3 1641 - tslib: 2.8.1 1642 - 1643 - '@atproto/lex-json@0.0.11': 1644 - dependencies: 1645 - '@atproto/lex-data': 0.0.11 1646 - tslib: 2.8.1 1647 - 1648 - '@atproto/lex-resolver@0.0.14': 1649 - dependencies: 1650 - '@atproto-labs/did-resolver': 0.2.6 1651 - '@atproto/crypto': 0.4.5 1652 - '@atproto/lex-client': 0.0.12 1653 - '@atproto/lex-data': 0.0.11 1654 - '@atproto/lex-document': 0.0.13 1655 - '@atproto/lex-schema': 0.0.12 1656 - '@atproto/repo': 0.8.12 1657 - '@atproto/syntax': 0.4.3 1658 - tslib: 2.8.1 1659 - 1660 - '@atproto/lex-schema@0.0.12': 1661 - dependencies: 1662 - '@atproto/lex-data': 0.0.11 1663 - '@atproto/syntax': 0.4.3 1664 - tslib: 2.8.1 1665 - 1666 - '@atproto/lex@0.0.16': 1667 - dependencies: 1668 - '@atproto/lex-builder': 0.0.15 1669 - '@atproto/lex-client': 0.0.12 1670 - '@atproto/lex-data': 0.0.11 1671 - '@atproto/lex-installer': 0.0.16 1672 - '@atproto/lex-json': 0.0.11 1673 - '@atproto/lex-schema': 0.0.12 1674 - tslib: 2.8.1 1675 - yargs: 17.7.2 1676 - 1677 - '@atproto/lexicon@0.6.1': 1678 - dependencies: 1679 - '@atproto/common-web': 0.4.16 1680 - '@atproto/syntax': 0.4.3 1681 - iso-datestring-validator: 2.2.2 1682 - multiformats: 9.9.0 1683 - zod: 3.25.76 1684 - 1685 - '@atproto/ozone@0.1.163': 1686 - dependencies: 1687 - '@atproto/api': 0.18.21 1688 - '@atproto/common': 0.5.11 1689 - '@atproto/crypto': 0.4.5 1690 - '@atproto/identity': 0.4.11 1691 - '@atproto/lexicon': 0.6.1 1692 - '@atproto/syntax': 0.4.3 1693 - '@atproto/ws-client': 0.0.4 1694 - '@atproto/xrpc': 0.7.7 1695 - '@atproto/xrpc-server': 0.10.12 1696 - '@did-plc/lib': 0.0.1 1697 - compression: 1.8.1 1698 - cors: 2.8.6 1699 - express: 4.22.1 1700 - http-terminator: 3.2.0 1701 - kysely: 0.22.0 1702 - lande: 1.0.10 1703 - multiformats: 9.9.0 1704 - p-queue: 6.6.2 1705 - pg: 8.18.0 1706 - pino-http: 8.6.1 1707 - structured-headers: 1.0.1 1708 - typed-emitter: 2.1.0 1709 - uint8arrays: 3.0.0 1710 - undici: 6.23.0 1711 - ws: 8.19.0 1712 - transitivePeerDependencies: 1713 - - bufferutil 1714 - - debug 1715 - - pg-native 1716 - - supports-color 1717 - - utf-8-validate 1718 - 1719 - '@atproto/repo@0.8.12': 1720 - dependencies: 1721 - '@atproto/common': 0.5.11 1722 - '@atproto/common-web': 0.4.16 1723 - '@atproto/crypto': 0.4.5 1724 - '@atproto/lexicon': 0.6.1 1725 - '@ipld/dag-cbor': 7.0.3 1726 - multiformats: 9.9.0 1727 - uint8arrays: 3.0.0 1728 - varint: 6.0.0 1729 - zod: 3.25.76 1730 - 1731 - '@atproto/syntax@0.4.3': 1732 - dependencies: 1733 - tslib: 2.8.1 1734 - 1735 - '@atproto/ws-client@0.0.4': 1736 - dependencies: 1737 - '@atproto/common': 0.5.11 1738 - ws: 8.19.0 1739 - transitivePeerDependencies: 1740 - - bufferutil 1741 - - utf-8-validate 1742 - 1743 - '@atproto/xrpc-server@0.10.12': 1744 - dependencies: 1745 - '@atproto/common': 0.5.11 1746 - '@atproto/crypto': 0.4.5 1747 - '@atproto/lex-cbor': 0.0.11 1748 - '@atproto/lex-data': 0.0.11 1749 - '@atproto/lexicon': 0.6.1 1750 - '@atproto/ws-client': 0.0.4 1751 - '@atproto/xrpc': 0.7.7 1752 - express: 4.22.1 1753 - http-errors: 2.0.1 1754 - mime-types: 2.1.35 1755 - rate-limiter-flexible: 2.4.2 1756 - ws: 8.19.0 1757 - zod: 3.25.76 1758 - transitivePeerDependencies: 1759 - - bufferutil 1760 - - supports-color 1761 - - utf-8-validate 1762 - 1763 - '@atproto/xrpc@0.7.7': 1764 - dependencies: 1765 - '@atproto/lexicon': 0.6.1 1766 - zod: 3.25.76 1767 - 1768 - '@did-plc/lib@0.0.1': 1769 - dependencies: 1770 - '@atproto/common': 0.1.0 1771 - '@atproto/crypto': 0.1.0 1772 - '@ipld/dag-cbor': 7.0.3 1773 - axios: 1.13.5 1774 - multiformats: 9.9.0 1775 - uint8arrays: 3.0.0 1776 - zod: 3.25.76 1777 - transitivePeerDependencies: 1778 - - debug 1779 - 1780 787 '@drizzle-team/brocli@0.10.2': {} 1781 788 1782 789 '@esbuild-kit/core-utils@3.3.2': ··· 1933 940 '@esbuild/win32-x64@0.25.12': 1934 941 optional: true 1935 942 1936 - '@ipld/dag-cbor@7.0.3': 1937 - dependencies: 1938 - cborg: 1.10.2 1939 - multiformats: 9.9.0 1940 - 1941 943 '@libsql/client@0.17.0': 1942 944 dependencies: 1943 945 '@libsql/core': 0.17.0 ··· 2008 1010 2009 1011 '@neon-rs/load@0.0.4': {} 2010 1012 2011 - '@noble/curves@1.9.7': 2012 - dependencies: 2013 - '@noble/hashes': 1.8.0 2014 - 2015 - '@noble/hashes@1.8.0': {} 2016 - 2017 - '@noble/secp256k1@1.7.2': {} 2018 - 2019 1013 '@standard-schema/spec@1.1.0': {} 2020 1014 2021 - '@ts-morph/common@0.28.1': 2022 - dependencies: 2023 - minimatch: 10.2.2 2024 - path-browserify: 1.0.1 2025 - tinyglobby: 0.2.15 2026 - 2027 1015 '@types/node@25.3.0': 2028 1016 dependencies: 2029 1017 undici-types: 7.18.2 ··· 2032 1020 dependencies: 2033 1021 '@types/node': 25.3.0 2034 1022 2035 - abort-controller@3.0.0: 2036 - dependencies: 2037 - event-target-shim: 5.0.1 2038 - 2039 - accepts@1.3.8: 2040 - dependencies: 2041 - mime-types: 2.1.35 2042 - negotiator: 0.6.3 2043 - 2044 - ansi-regex@5.0.1: {} 2045 - 2046 - ansi-styles@4.3.0: 2047 - dependencies: 2048 - color-convert: 2.0.1 2049 - 2050 - array-flatten@1.1.1: {} 2051 - 2052 - asynckit@0.4.0: {} 2053 - 2054 - atomic-sleep@1.0.0: {} 2055 - 2056 - await-lock@2.2.2: {} 2057 - 2058 - axios@1.13.5: 2059 - dependencies: 2060 - follow-redirects: 1.15.11 2061 - form-data: 4.0.5 2062 - proxy-from-env: 1.1.0 2063 - transitivePeerDependencies: 2064 - - debug 2065 - 2066 - balanced-match@4.0.3: {} 2067 - 2068 - base64-js@1.5.1: {} 2069 - 2070 - big-integer@1.6.52: {} 2071 - 2072 - body-parser@1.20.4: 2073 - dependencies: 2074 - bytes: 3.1.2 2075 - content-type: 1.0.5 2076 - debug: 2.6.9 2077 - depd: 2.0.0 2078 - destroy: 1.2.0 2079 - http-errors: 2.0.1 2080 - iconv-lite: 0.4.24 2081 - on-finished: 2.4.1 2082 - qs: 6.14.2 2083 - raw-body: 2.5.3 2084 - type-is: 1.6.18 2085 - unpipe: 1.0.0 2086 - transitivePeerDependencies: 2087 - - supports-color 2088 - 2089 - brace-expansion@5.0.2: 2090 - dependencies: 2091 - balanced-match: 4.0.3 2092 - 2093 1023 buffer-from@1.1.2: {} 2094 1024 2095 - buffer@6.0.3: 2096 - dependencies: 2097 - base64-js: 1.5.1 2098 - ieee754: 1.2.1 2099 - 2100 - bytes@3.1.2: {} 2101 - 2102 - call-bind-apply-helpers@1.0.2: 2103 - dependencies: 2104 - es-errors: 1.3.0 2105 - function-bind: 1.1.2 2106 - 2107 - call-bound@1.0.4: 2108 - dependencies: 2109 - call-bind-apply-helpers: 1.0.2 2110 - get-intrinsic: 1.3.0 2111 - 2112 - cborg@1.10.2: {} 2113 - 2114 - cliui@8.0.1: 2115 - dependencies: 2116 - string-width: 4.2.3 2117 - strip-ansi: 6.0.1 2118 - wrap-ansi: 7.0.0 2119 - 2120 - code-block-writer@13.0.3: {} 2121 - 2122 - color-convert@2.0.1: 2123 - dependencies: 2124 - color-name: 1.1.4 2125 - 2126 - color-name@1.1.4: {} 2127 - 2128 - combined-stream@1.0.8: 2129 - dependencies: 2130 - delayed-stream: 1.0.0 2131 - 2132 - compressible@2.0.18: 2133 - dependencies: 2134 - mime-db: 1.54.0 2135 - 2136 - compression@1.8.1: 2137 - dependencies: 2138 - bytes: 3.1.2 2139 - compressible: 2.0.18 2140 - debug: 2.6.9 2141 - negotiator: 0.6.4 2142 - on-headers: 1.1.0 2143 - safe-buffer: 5.2.1 2144 - vary: 1.1.2 2145 - transitivePeerDependencies: 2146 - - supports-color 2147 - 2148 - content-disposition@0.5.4: 2149 - dependencies: 2150 - safe-buffer: 5.2.1 2151 - 2152 - content-type@1.0.5: {} 2153 - 2154 - cookie-signature@1.0.7: {} 2155 - 2156 - cookie@0.7.2: {} 2157 - 2158 - core-js@3.48.0: {} 2159 - 2160 - cors@2.8.6: 2161 - dependencies: 2162 - object-assign: 4.1.1 2163 - vary: 1.1.2 2164 - 2165 1025 cross-fetch@4.1.0: 2166 1026 dependencies: 2167 1027 node-fetch: 2.7.0 ··· 2170 1030 2171 1031 data-uri-to-buffer@4.0.1: {} 2172 1032 2173 - debug@2.6.9: 2174 - dependencies: 2175 - ms: 2.0.0 2176 - 2177 1033 debug@4.4.3: 2178 1034 dependencies: 2179 1035 ms: 2.1.3 2180 - 2181 - delay@5.0.0: {} 2182 - 2183 - delayed-stream@1.0.0: {} 2184 - 2185 - depd@2.0.0: {} 2186 - 2187 - destroy@1.2.0: {} 2188 1036 2189 1037 detect-libc@2.0.2: {} 2190 1038 ··· 2203 1051 kysely: 0.22.0 2204 1052 pg: 8.18.0 2205 1053 2206 - dunder-proto@1.0.1: 2207 - dependencies: 2208 - call-bind-apply-helpers: 1.0.2 2209 - es-errors: 1.3.0 2210 - gopd: 1.2.0 2211 - 2212 - ee-first@1.1.1: {} 2213 - 2214 - emoji-regex@8.0.0: {} 2215 - 2216 - encodeurl@2.0.0: {} 2217 - 2218 - es-define-property@1.0.1: {} 2219 - 2220 - es-errors@1.3.0: {} 2221 - 2222 - es-object-atoms@1.1.1: 2223 - dependencies: 2224 - es-errors: 1.3.0 2225 - 2226 - es-set-tostringtag@2.1.0: 2227 - dependencies: 2228 - es-errors: 1.3.0 2229 - get-intrinsic: 1.3.0 2230 - has-tostringtag: 1.0.2 2231 - hasown: 2.0.2 2232 - 2233 1054 esbuild-register@3.6.0(esbuild@0.25.12): 2234 1055 dependencies: 2235 1056 debug: 4.4.3 ··· 2291 1112 '@esbuild/win32-ia32': 0.25.12 2292 1113 '@esbuild/win32-x64': 0.25.12 2293 1114 2294 - escalade@3.2.0: {} 2295 - 2296 - escape-html@1.0.3: {} 2297 - 2298 1115 esm-env@1.2.2: {} 2299 1116 2300 - etag@1.8.1: {} 2301 - 2302 1117 event-target-polyfill@0.0.4: {} 2303 1118 2304 - event-target-shim@5.0.1: {} 2305 - 2306 - eventemitter3@4.0.7: {} 2307 - 2308 - events@3.3.0: {} 2309 - 2310 - express@4.22.1: 2311 - dependencies: 2312 - accepts: 1.3.8 2313 - array-flatten: 1.1.1 2314 - body-parser: 1.20.4 2315 - content-disposition: 0.5.4 2316 - content-type: 1.0.5 2317 - cookie: 0.7.2 2318 - cookie-signature: 1.0.7 2319 - debug: 2.6.9 2320 - depd: 2.0.0 2321 - encodeurl: 2.0.0 2322 - escape-html: 1.0.3 2323 - etag: 1.8.1 2324 - finalhandler: 1.3.2 2325 - fresh: 0.5.2 2326 - http-errors: 2.0.1 2327 - merge-descriptors: 1.0.3 2328 - methods: 1.1.2 2329 - on-finished: 2.4.1 2330 - parseurl: 1.3.3 2331 - path-to-regexp: 0.1.12 2332 - proxy-addr: 2.0.7 2333 - qs: 6.14.2 2334 - range-parser: 1.2.1 2335 - safe-buffer: 5.2.1 2336 - send: 0.19.2 2337 - serve-static: 1.16.3 2338 - setprototypeof: 1.2.0 2339 - statuses: 2.0.2 2340 - type-is: 1.6.18 2341 - utils-merge: 1.0.1 2342 - vary: 1.1.2 2343 - transitivePeerDependencies: 2344 - - supports-color 2345 - 2346 - fast-printf@1.6.10: {} 2347 - 2348 - fast-redact@3.5.0: {} 2349 - 2350 - fdir@6.5.0(picomatch@4.0.3): 2351 - optionalDependencies: 2352 - picomatch: 4.0.3 2353 - 2354 1119 fetch-blob@3.2.0: 2355 1120 dependencies: 2356 1121 node-domexception: 1.0.0 2357 1122 web-streams-polyfill: 3.3.3 2358 1123 2359 - finalhandler@1.3.2: 2360 - dependencies: 2361 - debug: 2.6.9 2362 - encodeurl: 2.0.0 2363 - escape-html: 1.0.3 2364 - on-finished: 2.4.1 2365 - parseurl: 1.3.3 2366 - statuses: 2.0.2 2367 - unpipe: 1.0.0 2368 - transitivePeerDependencies: 2369 - - supports-color 2370 - 2371 - follow-redirects@1.15.11: {} 2372 - 2373 - form-data@4.0.5: 2374 - dependencies: 2375 - asynckit: 0.4.0 2376 - combined-stream: 1.0.8 2377 - es-set-tostringtag: 2.1.0 2378 - hasown: 2.0.2 2379 - mime-types: 2.1.35 2380 - 2381 1124 formdata-polyfill@4.0.10: 2382 1125 dependencies: 2383 1126 fetch-blob: 3.2.0 2384 1127 2385 - forwarded@0.2.0: {} 2386 - 2387 - fresh@0.5.2: {} 2388 - 2389 - function-bind@1.1.2: {} 2390 - 2391 - get-caller-file@2.0.5: {} 2392 - 2393 - get-intrinsic@1.3.0: 2394 - dependencies: 2395 - call-bind-apply-helpers: 1.0.2 2396 - es-define-property: 1.0.1 2397 - es-errors: 1.3.0 2398 - es-object-atoms: 1.1.1 2399 - function-bind: 1.1.2 2400 - get-proto: 1.0.1 2401 - gopd: 1.2.0 2402 - has-symbols: 1.1.0 2403 - hasown: 2.0.2 2404 - math-intrinsics: 1.1.0 2405 - 2406 - get-proto@1.0.1: 2407 - dependencies: 2408 - dunder-proto: 1.0.1 2409 - es-object-atoms: 1.1.1 2410 - 2411 1128 get-tsconfig@4.13.6: 2412 1129 dependencies: 2413 1130 resolve-pkg-maps: 1.0.0 2414 1131 2415 - gopd@1.2.0: {} 2416 - 2417 - has-symbols@1.1.0: {} 2418 - 2419 - has-tostringtag@1.0.2: 2420 - dependencies: 2421 - has-symbols: 1.1.0 2422 - 2423 - hasown@2.0.2: 2424 - dependencies: 2425 - function-bind: 1.1.2 2426 - 2427 - http-errors@2.0.1: 2428 - dependencies: 2429 - depd: 2.0.0 2430 - inherits: 2.0.4 2431 - setprototypeof: 1.2.0 2432 - statuses: 2.0.2 2433 - toidentifier: 1.0.1 2434 - 2435 - http-terminator@3.2.0: 2436 - dependencies: 2437 - delay: 5.0.0 2438 - p-wait-for: 3.2.0 2439 - roarr: 7.21.4 2440 - type-fest: 2.19.0 2441 - 2442 - iconv-lite@0.4.24: 2443 - dependencies: 2444 - safer-buffer: 2.1.2 2445 - 2446 - ieee754@1.2.1: {} 2447 - 2448 - inherits@2.0.4: {} 2449 - 2450 - ipaddr.js@1.9.1: {} 2451 - 2452 - is-fullwidth-code-point@3.0.0: {} 2453 - 2454 - iso-datestring-validator@2.2.2: {} 2455 - 2456 1132 js-base64@3.7.8: {} 2457 1133 2458 - kysely@0.22.0: {} 2459 - 2460 - lande@1.0.10: 2461 - dependencies: 2462 - toygrad: 2.6.0 1134 + kysely@0.22.0: 1135 + optional: true 2463 1136 2464 1137 libsql@0.5.22: 2465 1138 dependencies: ··· 2476 1149 '@libsql/linux-x64-musl': 0.5.22 2477 1150 '@libsql/win32-x64-msvc': 0.5.22 2478 1151 2479 - lru-cache@10.4.3: {} 2480 - 2481 - math-intrinsics@1.1.0: {} 2482 - 2483 - media-typer@0.3.0: {} 2484 - 2485 - merge-descriptors@1.0.3: {} 2486 - 2487 - methods@1.1.2: {} 2488 - 2489 - mime-db@1.52.0: {} 2490 - 2491 - mime-db@1.54.0: {} 2492 - 2493 - mime-types@2.1.35: 2494 - dependencies: 2495 - mime-db: 1.52.0 2496 - 2497 - mime@1.6.0: {} 2498 - 2499 - minimatch@10.2.2: 2500 - dependencies: 2501 - brace-expansion: 5.0.2 2502 - 2503 - ms@2.0.0: {} 2504 - 2505 1152 ms@2.1.3: {} 2506 1153 2507 - multiformats@9.9.0: {} 2508 - 2509 - negotiator@0.6.3: {} 2510 - 2511 - negotiator@0.6.4: {} 2512 - 2513 1154 node-domexception@1.0.0: {} 2514 1155 2515 1156 node-fetch@2.7.0: ··· 2522 1163 fetch-blob: 3.2.0 2523 1164 formdata-polyfill: 4.0.10 2524 1165 2525 - object-assign@4.1.1: {} 2526 - 2527 - object-inspect@1.13.4: {} 2528 - 2529 - on-exit-leak-free@2.1.2: {} 2530 - 2531 - on-finished@2.4.1: 2532 - dependencies: 2533 - ee-first: 1.1.1 2534 - 2535 - on-headers@1.1.0: {} 2536 - 2537 - one-webcrypto@1.0.3: {} 2538 - 2539 - p-finally@1.0.0: {} 2540 - 2541 - p-queue@6.6.2: 2542 - dependencies: 2543 - eventemitter3: 4.0.7 2544 - p-timeout: 3.2.0 2545 - 2546 - p-timeout@3.2.0: 2547 - dependencies: 2548 - p-finally: 1.0.0 2549 - 2550 - p-wait-for@3.2.0: 2551 - dependencies: 2552 - p-timeout: 3.2.0 2553 - 2554 - parseurl@1.3.3: {} 2555 - 2556 1166 partysocket@1.1.13: 2557 1167 dependencies: 2558 1168 event-target-polyfill: 0.0.4 2559 1169 2560 - path-browserify@1.0.1: {} 2561 - 2562 - path-to-regexp@0.1.12: {} 2563 - 2564 1170 pg-cloudflare@1.3.0: 2565 1171 optional: true 2566 1172 2567 - pg-connection-string@2.11.0: {} 1173 + pg-connection-string@2.11.0: 1174 + optional: true 2568 1175 2569 - pg-int8@1.0.1: {} 1176 + pg-int8@1.0.1: 1177 + optional: true 2570 1178 2571 1179 pg-pool@3.11.0(pg@8.18.0): 2572 1180 dependencies: 2573 1181 pg: 8.18.0 1182 + optional: true 2574 1183 2575 - pg-protocol@1.11.0: {} 1184 + pg-protocol@1.11.0: 1185 + optional: true 2576 1186 2577 1187 pg-types@2.2.0: 2578 1188 dependencies: ··· 2581 1191 postgres-bytea: 1.0.1 2582 1192 postgres-date: 1.0.7 2583 1193 postgres-interval: 1.2.0 1194 + optional: true 2584 1195 2585 1196 pg@8.18.0: 2586 1197 dependencies: ··· 2591 1202 pgpass: 1.0.5 2592 1203 optionalDependencies: 2593 1204 pg-cloudflare: 1.3.0 1205 + optional: true 2594 1206 2595 1207 pgpass@1.0.5: 2596 1208 dependencies: 2597 1209 split2: 4.2.0 2598 - 2599 - picomatch@4.0.3: {} 2600 - 2601 - pino-abstract-transport@1.2.0: 2602 - dependencies: 2603 - readable-stream: 4.7.0 2604 - split2: 4.2.0 2605 - 2606 - pino-http@8.6.1: 2607 - dependencies: 2608 - get-caller-file: 2.0.5 2609 - pino: 8.21.0 2610 - pino-std-serializers: 6.2.2 2611 - process-warning: 3.0.0 2612 - 2613 - pino-std-serializers@6.2.2: {} 2614 - 2615 - pino@8.21.0: 2616 - dependencies: 2617 - atomic-sleep: 1.0.0 2618 - fast-redact: 3.5.0 2619 - on-exit-leak-free: 2.1.2 2620 - pino-abstract-transport: 1.2.0 2621 - pino-std-serializers: 6.2.2 2622 - process-warning: 3.0.0 2623 - quick-format-unescaped: 4.0.4 2624 - real-require: 0.2.0 2625 - safe-stable-stringify: 2.5.0 2626 - sonic-boom: 3.8.1 2627 - thread-stream: 2.7.0 1210 + optional: true 2628 1211 2629 - postgres-array@2.0.0: {} 1212 + postgres-array@2.0.0: 1213 + optional: true 2630 1214 2631 - postgres-bytea@1.0.1: {} 1215 + postgres-bytea@1.0.1: 1216 + optional: true 2632 1217 2633 - postgres-date@1.0.7: {} 1218 + postgres-date@1.0.7: 1219 + optional: true 2634 1220 2635 1221 postgres-interval@1.2.0: 2636 1222 dependencies: 2637 1223 xtend: 4.0.2 2638 - 2639 - prettier@3.8.1: {} 2640 - 2641 - process-warning@3.0.0: {} 2642 - 2643 - process@0.11.10: {} 1224 + optional: true 2644 1225 2645 1226 promise-limit@2.7.0: {} 2646 1227 2647 - proxy-addr@2.0.7: 2648 - dependencies: 2649 - forwarded: 0.2.0 2650 - ipaddr.js: 1.9.1 2651 - 2652 - proxy-from-env@1.1.0: {} 2653 - 2654 - qs@6.14.2: 2655 - dependencies: 2656 - side-channel: 1.1.0 2657 - 2658 - quick-format-unescaped@4.0.4: {} 2659 - 2660 - range-parser@1.2.1: {} 2661 - 2662 - rate-limiter-flexible@2.4.2: {} 2663 - 2664 - raw-body@2.5.3: 2665 - dependencies: 2666 - bytes: 3.1.2 2667 - http-errors: 2.0.1 2668 - iconv-lite: 0.4.24 2669 - unpipe: 1.0.0 2670 - 2671 - readable-stream@4.7.0: 2672 - dependencies: 2673 - abort-controller: 3.0.0 2674 - buffer: 6.0.3 2675 - events: 3.3.0 2676 - process: 0.11.10 2677 - string_decoder: 1.3.0 2678 - 2679 - real-require@0.2.0: {} 2680 - 2681 - require-directory@2.1.1: {} 2682 - 2683 1228 resolve-pkg-maps@1.0.0: {} 2684 1229 2685 - roarr@7.21.4: 2686 - dependencies: 2687 - fast-printf: 1.6.10 2688 - safe-stable-stringify: 2.5.0 2689 - semver-compare: 1.0.0 2690 - 2691 - rxjs@7.8.2: 2692 - dependencies: 2693 - tslib: 2.8.1 2694 - optional: true 2695 - 2696 - safe-buffer@5.2.1: {} 2697 - 2698 - safe-stable-stringify@2.5.0: {} 2699 - 2700 - safer-buffer@2.1.2: {} 2701 - 2702 - semver-compare@1.0.0: {} 2703 - 2704 - send@0.19.2: 2705 - dependencies: 2706 - debug: 2.6.9 2707 - depd: 2.0.0 2708 - destroy: 1.2.0 2709 - encodeurl: 2.0.0 2710 - escape-html: 1.0.3 2711 - etag: 1.8.1 2712 - fresh: 0.5.2 2713 - http-errors: 2.0.1 2714 - mime: 1.6.0 2715 - ms: 2.1.3 2716 - on-finished: 2.4.1 2717 - range-parser: 1.2.1 2718 - statuses: 2.0.2 2719 - transitivePeerDependencies: 2720 - - supports-color 2721 - 2722 - serve-static@1.16.3: 2723 - dependencies: 2724 - encodeurl: 2.0.0 2725 - escape-html: 1.0.3 2726 - parseurl: 1.3.3 2727 - send: 0.19.2 2728 - transitivePeerDependencies: 2729 - - supports-color 2730 - 2731 - setprototypeof@1.2.0: {} 2732 - 2733 - side-channel-list@1.0.0: 2734 - dependencies: 2735 - es-errors: 1.3.0 2736 - object-inspect: 1.13.4 2737 - 2738 - side-channel-map@1.0.1: 2739 - dependencies: 2740 - call-bound: 1.0.4 2741 - es-errors: 1.3.0 2742 - get-intrinsic: 1.3.0 2743 - object-inspect: 1.13.4 2744 - 2745 - side-channel-weakmap@1.0.2: 2746 - dependencies: 2747 - call-bound: 1.0.4 2748 - es-errors: 1.3.0 2749 - get-intrinsic: 1.3.0 2750 - object-inspect: 1.13.4 2751 - side-channel-map: 1.0.1 2752 - 2753 - side-channel@1.1.0: 2754 - dependencies: 2755 - es-errors: 1.3.0 2756 - object-inspect: 1.13.4 2757 - side-channel-list: 1.0.0 2758 - side-channel-map: 1.0.1 2759 - side-channel-weakmap: 1.0.2 2760 - 2761 - sonic-boom@3.8.1: 2762 - dependencies: 2763 - atomic-sleep: 1.0.0 1230 + smol-toml@1.6.0: {} 2764 1231 2765 1232 source-map-support@0.5.21: 2766 1233 dependencies: ··· 2769 1236 2770 1237 source-map@0.6.1: {} 2771 1238 2772 - split2@4.2.0: {} 2773 - 2774 - statuses@2.0.2: {} 2775 - 2776 - string-width@4.2.3: 2777 - dependencies: 2778 - emoji-regex: 8.0.0 2779 - is-fullwidth-code-point: 3.0.0 2780 - strip-ansi: 6.0.1 2781 - 2782 - string_decoder@1.3.0: 2783 - dependencies: 2784 - safe-buffer: 5.2.1 2785 - 2786 - strip-ansi@6.0.1: 2787 - dependencies: 2788 - ansi-regex: 5.0.1 2789 - 2790 - structured-headers@1.0.1: {} 2791 - 2792 - thread-stream@2.7.0: 2793 - dependencies: 2794 - real-require: 0.2.0 2795 - 2796 - tinyglobby@0.2.15: 2797 - dependencies: 2798 - fdir: 6.5.0(picomatch@4.0.3) 2799 - picomatch: 4.0.3 2800 - 2801 - tlds@1.261.0: {} 2802 - 2803 - toidentifier@1.0.1: {} 2804 - 2805 - toygrad@2.6.0: {} 1239 + split2@4.2.0: 1240 + optional: true 2806 1241 2807 1242 tr46@0.0.3: {} 2808 1243 2809 - ts-morph@27.0.2: 2810 - dependencies: 2811 - '@ts-morph/common': 0.28.1 2812 - code-block-writer: 13.0.3 2813 - 2814 - tslib@2.8.1: {} 2815 - 2816 - type-fest@2.19.0: {} 2817 - 2818 1244 type-fest@4.41.0: {} 2819 - 2820 - type-is@1.6.18: 2821 - dependencies: 2822 - media-typer: 0.3.0 2823 - mime-types: 2.1.35 2824 - 2825 - typed-emitter@2.1.0: 2826 - optionalDependencies: 2827 - rxjs: 7.8.2 2828 1245 2829 1246 typescript@5.9.3: {} 2830 1247 2831 - uint8arrays@3.0.0: 2832 - dependencies: 2833 - multiformats: 9.9.0 2834 - 2835 1248 undici-types@7.18.2: {} 2836 1249 2837 - undici@6.23.0: {} 2838 - 2839 1250 unicode-segmenter@0.14.5: {} 2840 1251 2841 - unpipe@1.0.0: {} 2842 - 2843 - utils-merge@1.0.1: {} 2844 - 2845 - varint@6.0.0: {} 2846 - 2847 - vary@1.1.2: {} 2848 - 2849 1252 web-streams-polyfill@3.3.3: {} 2850 1253 2851 1254 webidl-conversions@3.0.1: {} ··· 2854 1257 dependencies: 2855 1258 tr46: 0.0.3 2856 1259 webidl-conversions: 3.0.1 2857 - 2858 - wrap-ansi@7.0.0: 2859 - dependencies: 2860 - ansi-styles: 4.3.0 2861 - string-width: 4.2.3 2862 - strip-ansi: 6.0.1 2863 1260 2864 1261 ws@8.19.0: {} 2865 1262 2866 - xtend@4.0.2: {} 2867 - 2868 - y18n@5.0.8: {} 2869 - 2870 - yargs-parser@21.1.1: {} 2871 - 2872 - yargs@17.7.2: 2873 - dependencies: 2874 - cliui: 8.0.1 2875 - escalade: 3.2.0 2876 - get-caller-file: 2.0.5 2877 - require-directory: 2.1.1 2878 - string-width: 4.2.3 2879 - y18n: 5.0.8 2880 - yargs-parser: 21.1.1 1263 + xtend@4.0.2: 1264 + optional: true 2881 1265 2882 1266 yocto-queue@1.2.2: {} 2883 - 2884 - zod@3.25.76: {}
+18 -9
settings.toml
··· 1 - #I'm hoping this is the parent? 2 - [lavel-watcher.settings] 3 - pds=['selfhosted.social'] 1 + [label-watcher.settings] 2 + #PDSs to watch 3 + pds = ['selfhosted.social'] 4 4 5 - #I'm hoping this is another parent? 5 + # Define the labeler 6 6 [labeler.skywatch] 7 - host="ozone.skywatch.blue" 7 + host = "ozone.skywatch.blue" 8 + 9 + # Can have multiple labels 10 + [labeler.skywatch.labels.test-label] 11 + label_name = "test-label" 12 + action = "notify" 13 + 14 + 15 + [labeler.bsky] 16 + host = "mod.bsky.app" 8 17 9 - # I'm hoping there will be multiple ones 10 - [labeler.skywatch.test-label] 11 - label_name="test-label" 12 - action="notify" 18 + # Can have multiple labels 19 + [labeler.bsky.labels.porn] 20 + label_name = "porn" 21 + action = "takedown"
+21
settings.toml.example
··· 1 + [label-watcher.settings] 2 + #PDSs to watch 3 + pds = ['selfhosted.social'] 4 + 5 + # Define the labeler 6 + [labeler.skywatch] 7 + host = "ozone.skywatch.blue" 8 + 9 + # Can have multiple labels 10 + [labeler.skywatch.labels.test-label] 11 + label_name = "test-label" 12 + action = "notify" 13 + 14 + 15 + [labeler.bsky] 16 + host = "mod.bsky.app" 17 + 18 + # Can have multiple labels 19 + [labeler.bsky.labels.test-two] 20 + label_name = "test-two" 21 + action = "takedown"
+27 -10
src/index.ts
··· 2 2 import { ComAtprotoLabelSubscribeLabels } from "@atcute/atproto"; 3 3 import { db } from "./db/index.js"; 4 4 import { migrate } from "drizzle-orm/libsql/migrator"; 5 + import { readFileSync } from "node:fs"; 6 + import { parse } from "smol-toml"; 7 + import type { LabelerConfig, Settings } from "./types/settings.js"; 5 8 6 9 // TODO 7 10 // 1. Figure out a schema for settings we want. PDSs to watch.Labelers and their Labels 8 11 // and which actions to do for them (notification/email) or auto takedown. thinking toml file maybe? 9 12 // 2. Add a CLI argument to backfill PDS repos on start up. If finds a new active repo adds it 10 - // 3. Add a firehose listner that subsribes to the PDSs for new identies? (I say maybe not cause of bandwidth) 13 + // 3. Add a firehose listener that subscribes to the PDSs for new identities? (I say maybe not cause of bandwidth) 14 + // 4. We can save the last sen sequence from the labler to the db and restore it on startup for backfill 11 15 12 - // Run Drizzle migrations on startup 16 + // Run Drizzle migrations on startup 13 17 migrate(db, { migrationsFolder: process.env.MIGRATIONS_FOLDER ?? "drizzle" }); 14 18 15 - const listner = async (id: string, wss: string) => { 19 + const settingsFile = readFileSync("./settings.toml", "utf-8"); 20 + 21 + //TODO I really really don't like this unknown to settings. Figure that out later 22 + const settings = parse(settingsFile) as unknown as Settings; 23 + 24 + const labelers = settings.labeler; 25 + 26 + const labelerSubscriber = async (config: LabelerConfig) => { 16 27 const subscription = new FirehoseSubscription({ 17 - service: wss, 28 + service: `wss://${config.host}`, 18 29 nsid: ComAtprotoLabelSubscribeLabels.mainSchema, 19 30 }); 20 31 21 - console.log(`Listening to ${id}`); 32 + console.log(`Listening to ${config.host}`); 22 33 for await (const message of subscription) { 23 34 switch (message.$type) { 24 35 case "com.atproto.label.subscribeLabels#info": { ··· 28 39 case "com.atproto.label.subscribeLabels#labels": { 29 40 // repository commit (record creates, updates, deletes) 30 41 for (const label of message.labels) { 31 - console.log(`From: ${id}`); 42 + console.log(`From: ${config.host}`); 43 + 44 + if (config.labels[label.val]) { 45 + console.log( 46 + `Listed label found. Performing the action: ${config.labels[label.val]?.action}`, 47 + ); 48 + console.log("\n"); 49 + } 32 50 console.log("Label from: ", label.src); 33 51 console.log("Label: ", label.val); 34 52 console.log("Label for: ", label.uri); ··· 40 58 } 41 59 }; 42 60 43 - Promise.all([ 44 - listner("skywatch", "wss://ozone.skywatch.blue"), 45 - listner("bsky", "wss://mod.bsky.app"), 46 - ]); 61 + Promise.all( 62 + Object.entries(labelers).map(([_, config]) => labelerSubscriber(config)), 63 + );
+22
src/types/settings.ts
··· 1 + // matches the settings.toml 2 + 3 + export type LabelAction = "notify" | "takedown"; 4 + 5 + export interface LabelConfig { 6 + label_name: string; 7 + action: LabelAction; 8 + } 9 + 10 + export interface LabelerConfig { 11 + host: string; 12 + labels: Record<string, LabelConfig>; 13 + } 14 + 15 + export interface Settings { 16 + "label-watcher": { 17 + settings: { 18 + pds: string[]; 19 + }; 20 + }; 21 + labeler: Record<string, LabelerConfig>; 22 + }