├── .gitignore ├── LICENSE.md ├── README.md ├── package-lock.json ├── package.json ├── src └── index.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | build/ 3 | *.log 4 | .env* 5 | .DS_Store 6 | dist 7 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The contents of this repository are Copyright (c) corresponding authors and 2 | contributors, licensed under the `Permissive License Stack` meaning either of: 3 | 4 | - Apache-2.0 Software License: https://www.apache.org/licenses/LICENSE-2.0 5 | ([...4tr2kfsq](https://dweb.link/ipfs/bafkreiankqxazcae4onkp436wag2lj3ccso4nawxqkkfckd6cg4tr2kfsq)) 6 | 7 | - MIT Software License: https://opensource.org/licenses/MIT 8 | ([...vljevcba](https://dweb.link/ipfs/bafkreiepofszg4gfe2gzuhojmksgemsub2h4uy2gewdnr35kswvljevcba)) 9 | 10 | You may not use the contents of this repository except in compliance 11 | with one of the listed Licenses. For an extended clarification of the 12 | intent behind the choice of Licensing please refer to 13 | https://protocol.ai/blog/announcing-the-permissive-license-stack/ 14 | 15 | Unless required by applicable law or agreed to in writing, software 16 | distributed under the terms listed in this notice is distributed on 17 | an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 18 | either express or implied. See each License for the specific language 19 | governing permissions and limitations under that License. 20 | 21 | 22 | 23 | `SPDX-License-Identifier: Apache-2.0 OR MIT` 24 | 25 | Verbatim copies of both licenses are included below: 26 | 27 |
Apache-2.0 Software License 28 | 29 | ``` 30 | Apache License 31 | Version 2.0, January 2004 32 | http://www.apache.org/licenses/ 33 | 34 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 35 | 36 | 1. Definitions. 37 | 38 | "License" shall mean the terms and conditions for use, reproduction, 39 | and distribution as defined by Sections 1 through 9 of this document. 40 | 41 | "Licensor" shall mean the copyright owner or entity authorized by 42 | the copyright owner that is granting the License. 43 | 44 | "Legal Entity" shall mean the union of the acting entity and all 45 | other entities that control, are controlled by, or are under common 46 | control with that entity. For the purposes of this definition, 47 | "control" means (i) the power, direct or indirect, to cause the 48 | direction or management of such entity, whether by contract or 49 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 50 | outstanding shares, or (iii) beneficial ownership of such entity. 51 | 52 | "You" (or "Your") shall mean an individual or Legal Entity 53 | exercising permissions granted by this License. 54 | 55 | "Source" form shall mean the preferred form for making modifications, 56 | including but not limited to software source code, documentation 57 | source, and configuration files. 58 | 59 | "Object" form shall mean any form resulting from mechanical 60 | transformation or translation of a Source form, including but 61 | not limited to compiled object code, generated documentation, 62 | and conversions to other media types. 63 | 64 | "Work" shall mean the work of authorship, whether in Source or 65 | Object form, made available under the License, as indicated by a 66 | copyright notice that is included in or attached to the work 67 | (an example is provided in the Appendix below). 68 | 69 | "Derivative Works" shall mean any work, whether in Source or Object 70 | form, that is based on (or derived from) the Work and for which the 71 | editorial revisions, annotations, elaborations, or other modifications 72 | represent, as a whole, an original work of authorship. For the purposes 73 | of this License, Derivative Works shall not include works that remain 74 | separable from, or merely link (or bind by name) to the interfaces of, 75 | the Work and Derivative Works thereof. 76 | 77 | "Contribution" shall mean any work of authorship, including 78 | the original version of the Work and any modifications or additions 79 | to that Work or Derivative Works thereof, that is intentionally 80 | submitted to Licensor for inclusion in the Work by the copyright owner 81 | or by an individual or Legal Entity authorized to submit on behalf of 82 | the copyright owner. For the purposes of this definition, "submitted" 83 | means any form of electronic, verbal, or written communication sent 84 | to the Licensor or its representatives, including but not limited to 85 | communication on electronic mailing lists, source code control systems, 86 | and issue tracking systems that are managed by, or on behalf of, the 87 | Licensor for the purpose of discussing and improving the Work, but 88 | excluding communication that is conspicuously marked or otherwise 89 | designated in writing by the copyright owner as "Not a Contribution." 90 | 91 | "Contributor" shall mean Licensor and any individual or Legal Entity 92 | on behalf of whom a Contribution has been received by Licensor and 93 | subsequently incorporated within the Work. 94 | 95 | 2. Grant of Copyright License. Subject to the terms and conditions of 96 | this License, each Contributor hereby grants to You a perpetual, 97 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 98 | copyright license to reproduce, prepare Derivative Works of, 99 | publicly display, publicly perform, sublicense, and distribute the 100 | Work and such Derivative Works in Source or Object form. 101 | 102 | 3. Grant of Patent License. Subject to the terms and conditions of 103 | this License, each Contributor hereby grants to You a perpetual, 104 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 105 | (except as stated in this section) patent license to make, have made, 106 | use, offer to sell, sell, import, and otherwise transfer the Work, 107 | where such license applies only to those patent claims licensable 108 | by such Contributor that are necessarily infringed by their 109 | Contribution(s) alone or by combination of their Contribution(s) 110 | with the Work to which such Contribution(s) was submitted. If You 111 | institute patent litigation against any entity (including a 112 | cross-claim or counterclaim in a lawsuit) alleging that the Work 113 | or a Contribution incorporated within the Work constitutes direct 114 | or contributory patent infringement, then any patent licenses 115 | granted to You under this License for that Work shall terminate 116 | as of the date such litigation is filed. 117 | 118 | 4. Redistribution. You may reproduce and distribute copies of the 119 | Work or Derivative Works thereof in any medium, with or without 120 | modifications, and in Source or Object form, provided that You 121 | meet the following conditions: 122 | 123 | (a) You must give any other recipients of the Work or 124 | Derivative Works a copy of this License; and 125 | 126 | (b) You must cause any modified files to carry prominent notices 127 | stating that You changed the files; and 128 | 129 | (c) You must retain, in the Source form of any Derivative Works 130 | that You distribute, all copyright, patent, trademark, and 131 | attribution notices from the Source form of the Work, 132 | excluding those notices that do not pertain to any part of 133 | the Derivative Works; and 134 | 135 | (d) If the Work includes a "NOTICE" text file as part of its 136 | distribution, then any Derivative Works that You distribute must 137 | include a readable copy of the attribution notices contained 138 | within such NOTICE file, excluding those notices that do not 139 | pertain to any part of the Derivative Works, in at least one 140 | of the following places: within a NOTICE text file distributed 141 | as part of the Derivative Works; within the Source form or 142 | documentation, if provided along with the Derivative Works; or, 143 | within a display generated by the Derivative Works, if and 144 | wherever such third-party notices normally appear. The contents 145 | of the NOTICE file are for informational purposes only and 146 | do not modify the License. You may add Your own attribution 147 | notices within Derivative Works that You distribute, alongside 148 | or as an addendum to the NOTICE text from the Work, provided 149 | that such additional attribution notices cannot be construed 150 | as modifying the License. 151 | 152 | You may add Your own copyright statement to Your modifications and 153 | may provide additional or different license terms and conditions 154 | for use, reproduction, or distribution of Your modifications, or 155 | for any such Derivative Works as a whole, provided Your use, 156 | reproduction, and distribution of the Work otherwise complies with 157 | the conditions stated in this License. 158 | 159 | 5. Submission of Contributions. Unless You explicitly state otherwise, 160 | any Contribution intentionally submitted for inclusion in the Work 161 | by You to the Licensor shall be under the terms and conditions of 162 | this License, without any additional terms or conditions. 163 | Notwithstanding the above, nothing herein shall supersede or modify 164 | the terms of any separate license agreement you may have executed 165 | with Licensor regarding such Contributions. 166 | 167 | 6. Trademarks. This License does not grant permission to use the trade 168 | names, trademarks, service marks, or product names of the Licensor, 169 | except as required for reasonable and customary use in describing the 170 | origin of the Work and reproducing the content of the NOTICE file. 171 | 172 | 7. Disclaimer of Warranty. Unless required by applicable law or 173 | agreed to in writing, Licensor provides the Work (and each 174 | Contributor provides its Contributions) on an "AS IS" BASIS, 175 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 176 | implied, including, without limitation, any warranties or conditions 177 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 178 | PARTICULAR PURPOSE. You are solely responsible for determining the 179 | appropriateness of using or redistributing the Work and assume any 180 | risks associated with Your exercise of permissions under this License. 181 | 182 | 8. Limitation of Liability. In no event and under no legal theory, 183 | whether in tort (including negligence), contract, or otherwise, 184 | unless required by applicable law (such as deliberate and grossly 185 | negligent acts) or agreed to in writing, shall any Contributor be 186 | liable to You for damages, including any direct, indirect, special, 187 | incidental, or consequential damages of any character arising as a 188 | result of this License or out of the use or inability to use the 189 | Work (including but not limited to damages for loss of goodwill, 190 | work stoppage, computer failure or malfunction, or any and all 191 | other commercial damages or losses), even if such Contributor 192 | has been advised of the possibility of such damages. 193 | 194 | 9. Accepting Warranty or Additional Liability. While redistributing 195 | the Work or Derivative Works thereof, You may choose to offer, 196 | and charge a fee for, acceptance of support, warranty, indemnity, 197 | or other liability obligations and/or rights consistent with this 198 | License. However, in accepting such obligations, You may act only 199 | on Your own behalf and on Your sole responsibility, not on behalf 200 | of any other Contributor, and only if You agree to indemnify, 201 | defend, and hold each Contributor harmless for any liability 202 | incurred by, or claims asserted against, such Contributor by reason 203 | of your accepting any such warranty or additional liability. 204 | 205 | END OF TERMS AND CONDITIONS 206 | ``` 207 | 208 |
209 | 210 |
MIT Software License 211 | 212 | ``` 213 | Permission is hereby granted, free of charge, to any person obtaining a copy 214 | of this software and associated documentation files (the "Software"), to deal 215 | in the Software without restriction, including without limitation the rights 216 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 217 | copies of the Software, and to permit persons to whom the Software is 218 | furnished to do so, subject to the following conditions: 219 | 220 | The above copyright notice and this permission notice shall be included in 221 | all copies or substantial portions of the Software. 222 | 223 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 224 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 225 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 226 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 227 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 228 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 229 | THE SOFTWARE. 230 | ``` 231 | 232 |
233 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Model Context Protocol and Fireproof Demo: JSON Document Server 2 | 3 | This is a simple example of how to use a [Fireproof](https://fireproof.storage/) database in a [Model Context Protocol](https://github.com/modelcontextprotocol) server (used for plugging code and data into A.I. systems such as [Claude Desktop](https://claude.ai/download)). 4 | 5 | This demo server implements a basic JSON document store with CRUD operations (Create, Read, Update, Delete) and the ability to query documents sorted by any field. 6 | 7 | # Installation 8 | 9 | Install dependencies: 10 | 11 | ```bash 12 | npm install 13 | npm build 14 | ``` 15 | 16 | ## Running the Server 17 | 18 | To use with Claude Desktop, add the server config: 19 | 20 | On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json` 21 | On Windows: `%APPDATA%/Claude/claude_desktop_config.json` 22 | 23 | ```json 24 | { 25 | "mcpServers": { 26 | "fireproof": { 27 | "command": "/path/to/fireproof-mcp/build/index.js" 28 | } 29 | } 30 | } 31 | ``` 32 | 33 | ### Debugging 34 | 35 | Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script: 36 | 37 | ```bash 38 | npm run inspector 39 | ``` 40 | 41 | The Inspector will provide a URL to access debugging tools in your browser. 42 | 43 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "todos", 3 | "version": "0.1.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "todos", 9 | "version": "0.1.0", 10 | "dependencies": { 11 | "@fireproof/cloud": "^0.19.118", 12 | "@modelcontextprotocol/sdk": "0.6.0", 13 | "use-fireproof": "^0.19.118" 14 | }, 15 | "bin": { 16 | "todos": "build/index.js" 17 | }, 18 | "devDependencies": { 19 | "@types/node": "^20.11.24", 20 | "typescript": "^5.3.3" 21 | } 22 | }, 23 | "node_modules/@adviser/cement": { 24 | "version": "0.2.41", 25 | "resolved": "https://registry.npmjs.org/@adviser/cement/-/cement-0.2.41.tgz", 26 | "integrity": "sha512-Vam1JYxC1lOSkJZJa7CQJWL7jbjkPw5MzhYxMGWjLIK5l3tKDk5Q4SeLVEvPp2xhRGiBBzE9rZrQdt+0GtefFA==", 27 | "license": "AFL-2.0", 28 | "dependencies": { 29 | "ts-essentials": "^10.0.2", 30 | "yaml": "^2.5.1" 31 | }, 32 | "engines": { 33 | "node": ">=16" 34 | } 35 | }, 36 | "node_modules/@cloudflare/workerd-darwin-64": { 37 | "version": "1.20240718.0", 38 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20240718.0.tgz", 39 | "integrity": "sha512-BsPZcSCgoGnufog2GIgdPuiKicYTNyO/Dp++HbpLRH+yQdX3x4aWx83M+a0suTl1xv76dO4g9aw7SIB6OSgIyQ==", 40 | "cpu": [ 41 | "x64" 42 | ], 43 | "license": "Apache-2.0", 44 | "optional": true, 45 | "os": [ 46 | "darwin" 47 | ], 48 | "engines": { 49 | "node": ">=16" 50 | } 51 | }, 52 | "node_modules/@cloudflare/workerd-darwin-arm64": { 53 | "version": "1.20240718.0", 54 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20240718.0.tgz", 55 | "integrity": "sha512-nlr4gaOO5gcJerILJQph3+2rnas/nx/lYsuaot1ntHu4LAPBoQo1q/Pucj2cSIav4UiMzTbDmoDwPlls4Kteog==", 56 | "cpu": [ 57 | "arm64" 58 | ], 59 | "license": "Apache-2.0", 60 | "optional": true, 61 | "os": [ 62 | "darwin" 63 | ], 64 | "engines": { 65 | "node": ">=16" 66 | } 67 | }, 68 | "node_modules/@cloudflare/workerd-linux-64": { 69 | "version": "1.20240718.0", 70 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20240718.0.tgz", 71 | "integrity": "sha512-LJ/k3y47pBcjax0ee4K+6ZRrSsqWlfU4lbU8Dn6u5tSC9yzwI4YFNXDrKWInB0vd7RT3w4Yqq1S6ZEbfRrqVUg==", 72 | "cpu": [ 73 | "x64" 74 | ], 75 | "license": "Apache-2.0", 76 | "optional": true, 77 | "os": [ 78 | "linux" 79 | ], 80 | "engines": { 81 | "node": ">=16" 82 | } 83 | }, 84 | "node_modules/@cloudflare/workerd-linux-arm64": { 85 | "version": "1.20240718.0", 86 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20240718.0.tgz", 87 | "integrity": "sha512-zBEZvy88EcAMGRGfuVtS00Yl7lJdUM9sH7i651OoL+q0Plv9kphlCC0REQPwzxrEYT1qibSYtWcD9IxQGgx2/g==", 88 | "cpu": [ 89 | "arm64" 90 | ], 91 | "license": "Apache-2.0", 92 | "optional": true, 93 | "os": [ 94 | "linux" 95 | ], 96 | "engines": { 97 | "node": ">=16" 98 | } 99 | }, 100 | "node_modules/@cloudflare/workerd-windows-64": { 101 | "version": "1.20240718.0", 102 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20240718.0.tgz", 103 | "integrity": "sha512-YpCRvvT47XanFum7C3SedOZKK6BfVhqmwdAAVAQFyc4gsCdegZo0JkUkdloC/jwuWlbCACOG2HTADHOqyeolzQ==", 104 | "cpu": [ 105 | "x64" 106 | ], 107 | "license": "Apache-2.0", 108 | "optional": true, 109 | "os": [ 110 | "win32" 111 | ], 112 | "engines": { 113 | "node": ">=16" 114 | } 115 | }, 116 | "node_modules/@cloudflare/workers-types": { 117 | "version": "4.20240718.0", 118 | "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20240718.0.tgz", 119 | "integrity": "sha512-7RqxXIM9HyhjfZ9ztXjITuc7mL0w4s+zXgypqKmMuvuObC3DgXutJ3bOYbQ+Ss5QbywrzWSNMlmGdL/ldg/yZg==", 120 | "license": "MIT OR Apache-2.0" 121 | }, 122 | "node_modules/@cspotcode/source-map-support": { 123 | "version": "0.8.1", 124 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", 125 | "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", 126 | "license": "MIT", 127 | "dependencies": { 128 | "@jridgewell/trace-mapping": "0.3.9" 129 | }, 130 | "engines": { 131 | "node": ">=12" 132 | } 133 | }, 134 | "node_modules/@esbuild/aix-ppc64": { 135 | "version": "0.21.5", 136 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", 137 | "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", 138 | "cpu": [ 139 | "ppc64" 140 | ], 141 | "license": "MIT", 142 | "optional": true, 143 | "os": [ 144 | "aix" 145 | ], 146 | "engines": { 147 | "node": ">=12" 148 | } 149 | }, 150 | "node_modules/@esbuild/android-arm": { 151 | "version": "0.21.5", 152 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", 153 | "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", 154 | "cpu": [ 155 | "arm" 156 | ], 157 | "license": "MIT", 158 | "optional": true, 159 | "os": [ 160 | "android" 161 | ], 162 | "engines": { 163 | "node": ">=12" 164 | } 165 | }, 166 | "node_modules/@esbuild/android-arm64": { 167 | "version": "0.21.5", 168 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", 169 | "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", 170 | "cpu": [ 171 | "arm64" 172 | ], 173 | "license": "MIT", 174 | "optional": true, 175 | "os": [ 176 | "android" 177 | ], 178 | "engines": { 179 | "node": ">=12" 180 | } 181 | }, 182 | "node_modules/@esbuild/android-x64": { 183 | "version": "0.21.5", 184 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", 185 | "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", 186 | "cpu": [ 187 | "x64" 188 | ], 189 | "license": "MIT", 190 | "optional": true, 191 | "os": [ 192 | "android" 193 | ], 194 | "engines": { 195 | "node": ">=12" 196 | } 197 | }, 198 | "node_modules/@esbuild/darwin-arm64": { 199 | "version": "0.21.5", 200 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", 201 | "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", 202 | "cpu": [ 203 | "arm64" 204 | ], 205 | "license": "MIT", 206 | "optional": true, 207 | "os": [ 208 | "darwin" 209 | ], 210 | "engines": { 211 | "node": ">=12" 212 | } 213 | }, 214 | "node_modules/@esbuild/darwin-x64": { 215 | "version": "0.21.5", 216 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", 217 | "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", 218 | "cpu": [ 219 | "x64" 220 | ], 221 | "license": "MIT", 222 | "optional": true, 223 | "os": [ 224 | "darwin" 225 | ], 226 | "engines": { 227 | "node": ">=12" 228 | } 229 | }, 230 | "node_modules/@esbuild/freebsd-arm64": { 231 | "version": "0.21.5", 232 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", 233 | "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", 234 | "cpu": [ 235 | "arm64" 236 | ], 237 | "license": "MIT", 238 | "optional": true, 239 | "os": [ 240 | "freebsd" 241 | ], 242 | "engines": { 243 | "node": ">=12" 244 | } 245 | }, 246 | "node_modules/@esbuild/freebsd-x64": { 247 | "version": "0.21.5", 248 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", 249 | "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", 250 | "cpu": [ 251 | "x64" 252 | ], 253 | "license": "MIT", 254 | "optional": true, 255 | "os": [ 256 | "freebsd" 257 | ], 258 | "engines": { 259 | "node": ">=12" 260 | } 261 | }, 262 | "node_modules/@esbuild/linux-arm": { 263 | "version": "0.21.5", 264 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", 265 | "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", 266 | "cpu": [ 267 | "arm" 268 | ], 269 | "license": "MIT", 270 | "optional": true, 271 | "os": [ 272 | "linux" 273 | ], 274 | "engines": { 275 | "node": ">=12" 276 | } 277 | }, 278 | "node_modules/@esbuild/linux-arm64": { 279 | "version": "0.21.5", 280 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", 281 | "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", 282 | "cpu": [ 283 | "arm64" 284 | ], 285 | "license": "MIT", 286 | "optional": true, 287 | "os": [ 288 | "linux" 289 | ], 290 | "engines": { 291 | "node": ">=12" 292 | } 293 | }, 294 | "node_modules/@esbuild/linux-ia32": { 295 | "version": "0.21.5", 296 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", 297 | "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", 298 | "cpu": [ 299 | "ia32" 300 | ], 301 | "license": "MIT", 302 | "optional": true, 303 | "os": [ 304 | "linux" 305 | ], 306 | "engines": { 307 | "node": ">=12" 308 | } 309 | }, 310 | "node_modules/@esbuild/linux-loong64": { 311 | "version": "0.21.5", 312 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", 313 | "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", 314 | "cpu": [ 315 | "loong64" 316 | ], 317 | "license": "MIT", 318 | "optional": true, 319 | "os": [ 320 | "linux" 321 | ], 322 | "engines": { 323 | "node": ">=12" 324 | } 325 | }, 326 | "node_modules/@esbuild/linux-mips64el": { 327 | "version": "0.21.5", 328 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", 329 | "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", 330 | "cpu": [ 331 | "mips64el" 332 | ], 333 | "license": "MIT", 334 | "optional": true, 335 | "os": [ 336 | "linux" 337 | ], 338 | "engines": { 339 | "node": ">=12" 340 | } 341 | }, 342 | "node_modules/@esbuild/linux-ppc64": { 343 | "version": "0.21.5", 344 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", 345 | "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", 346 | "cpu": [ 347 | "ppc64" 348 | ], 349 | "license": "MIT", 350 | "optional": true, 351 | "os": [ 352 | "linux" 353 | ], 354 | "engines": { 355 | "node": ">=12" 356 | } 357 | }, 358 | "node_modules/@esbuild/linux-riscv64": { 359 | "version": "0.21.5", 360 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", 361 | "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", 362 | "cpu": [ 363 | "riscv64" 364 | ], 365 | "license": "MIT", 366 | "optional": true, 367 | "os": [ 368 | "linux" 369 | ], 370 | "engines": { 371 | "node": ">=12" 372 | } 373 | }, 374 | "node_modules/@esbuild/linux-s390x": { 375 | "version": "0.21.5", 376 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", 377 | "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", 378 | "cpu": [ 379 | "s390x" 380 | ], 381 | "license": "MIT", 382 | "optional": true, 383 | "os": [ 384 | "linux" 385 | ], 386 | "engines": { 387 | "node": ">=12" 388 | } 389 | }, 390 | "node_modules/@esbuild/linux-x64": { 391 | "version": "0.21.5", 392 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", 393 | "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", 394 | "cpu": [ 395 | "x64" 396 | ], 397 | "license": "MIT", 398 | "optional": true, 399 | "os": [ 400 | "linux" 401 | ], 402 | "engines": { 403 | "node": ">=12" 404 | } 405 | }, 406 | "node_modules/@esbuild/netbsd-x64": { 407 | "version": "0.21.5", 408 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", 409 | "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", 410 | "cpu": [ 411 | "x64" 412 | ], 413 | "license": "MIT", 414 | "optional": true, 415 | "os": [ 416 | "netbsd" 417 | ], 418 | "engines": { 419 | "node": ">=12" 420 | } 421 | }, 422 | "node_modules/@esbuild/openbsd-x64": { 423 | "version": "0.21.5", 424 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", 425 | "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", 426 | "cpu": [ 427 | "x64" 428 | ], 429 | "license": "MIT", 430 | "optional": true, 431 | "os": [ 432 | "openbsd" 433 | ], 434 | "engines": { 435 | "node": ">=12" 436 | } 437 | }, 438 | "node_modules/@esbuild/sunos-x64": { 439 | "version": "0.21.5", 440 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", 441 | "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", 442 | "cpu": [ 443 | "x64" 444 | ], 445 | "license": "MIT", 446 | "optional": true, 447 | "os": [ 448 | "sunos" 449 | ], 450 | "engines": { 451 | "node": ">=12" 452 | } 453 | }, 454 | "node_modules/@esbuild/win32-arm64": { 455 | "version": "0.21.5", 456 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", 457 | "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", 458 | "cpu": [ 459 | "arm64" 460 | ], 461 | "license": "MIT", 462 | "optional": true, 463 | "os": [ 464 | "win32" 465 | ], 466 | "engines": { 467 | "node": ">=12" 468 | } 469 | }, 470 | "node_modules/@esbuild/win32-ia32": { 471 | "version": "0.21.5", 472 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", 473 | "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", 474 | "cpu": [ 475 | "ia32" 476 | ], 477 | "license": "MIT", 478 | "optional": true, 479 | "os": [ 480 | "win32" 481 | ], 482 | "engines": { 483 | "node": ">=12" 484 | } 485 | }, 486 | "node_modules/@esbuild/win32-x64": { 487 | "version": "0.21.5", 488 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", 489 | "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", 490 | "cpu": [ 491 | "x64" 492 | ], 493 | "license": "MIT", 494 | "optional": true, 495 | "os": [ 496 | "win32" 497 | ], 498 | "engines": { 499 | "node": ">=12" 500 | } 501 | }, 502 | "node_modules/@fastify/busboy": { 503 | "version": "2.1.1", 504 | "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", 505 | "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", 506 | "license": "MIT", 507 | "engines": { 508 | "node": ">=14" 509 | } 510 | }, 511 | "node_modules/@fireproof/cloud": { 512 | "version": "0.19.118", 513 | "resolved": "https://registry.npmjs.org/@fireproof/cloud/-/cloud-0.19.118.tgz", 514 | "integrity": "sha512-BC0lYr64AdeldmGZ+lwUN2/E4UQFhaVCGSeACP4dOnCxK3PwN+GpIzb0Cv7anEyM3Alb+zZegbhVBWTbgaPM1g==", 515 | "license": "Apache-2.0 OR MIT", 516 | "dependencies": { 517 | "@adviser/cement": "^0.2.41", 518 | "@fireproof/core": "0.19.118", 519 | "partykit": "^0.0.111", 520 | "partysocket": "^1.0.2" 521 | } 522 | }, 523 | "node_modules/@fireproof/core": { 524 | "version": "0.19.118", 525 | "resolved": "https://registry.npmjs.org/@fireproof/core/-/core-0.19.118.tgz", 526 | "integrity": "sha512-lyK0Aj7t0acLz9x8i1s12GwBNkOuEeRPg5eS6MhMn5uYTi1p0kWvJHn+pb3hRFG5sP7zmjp5/obeHtTKGDTLGA==", 527 | "license": "Apache-2.0 OR MIT", 528 | "dependencies": { 529 | "@adviser/cement": "^0.2.41", 530 | "@fireproof/vendor": "^1.0.0", 531 | "@ipld/unixfs": "^3.0.0", 532 | "charwise": "^3.0.1", 533 | "idb": "^8.0.0", 534 | "memfs": "^4.15.0", 535 | "multiformats": "^13.3.1", 536 | "p-limit": "^6.1.0", 537 | "p-map": "^7.0.3", 538 | "p-retry": "^6.2.1", 539 | "prolly-trees": "^1.0.4" 540 | }, 541 | "peerDependencies": { 542 | "react": "^18.3.1" 543 | } 544 | }, 545 | "node_modules/@fireproof/vendor": { 546 | "version": "1.0.0", 547 | "resolved": "https://registry.npmjs.org/@fireproof/vendor/-/vendor-1.0.0.tgz", 548 | "integrity": "sha512-ucN0ICj7xbpbO3NWjAKKjMHkBn4vSRUdKn14LLaA0MILJowty+H4XBB8dCobwKemhW49ha5p520NOLRzJSKsow==", 549 | "license": "ISC", 550 | "dependencies": { 551 | "@ipld/dag-pb": "^4.1.2", 552 | "@multiformats/murmur3": "^2.1.8", 553 | "hamt-sharding": "^3.0.6", 554 | "interface-blockstore": "^5.3.0", 555 | "ipfs-unixfs": "^11.0.0", 556 | "it-filter": "^3.1.1", 557 | "it-last": "^3.0.6", 558 | "it-map": "^3.1.1", 559 | "it-parallel": "^3.0.8", 560 | "it-pipe": "^3.0.1", 561 | "it-pushable": "^3.2.3", 562 | "multiformats": "^13.2.3", 563 | "p-queue": "^8.0.1", 564 | "progress-events": "^1.0.1", 565 | "varint": "^6.0.0" 566 | } 567 | }, 568 | "node_modules/@ipld/dag-pb": { 569 | "version": "4.1.3", 570 | "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-4.1.3.tgz", 571 | "integrity": "sha512-ueULCaaSCcD+dQga6nKiRr+RSeVgdiYiEPKVUu5iQMNYDN+9osd0KpR3UDd9uQQ+6RWuv9L34SchfEwj7YIbOA==", 572 | "license": "Apache-2.0 OR MIT", 573 | "dependencies": { 574 | "multiformats": "^13.1.0" 575 | }, 576 | "engines": { 577 | "node": ">=16.0.0", 578 | "npm": ">=7.0.0" 579 | } 580 | }, 581 | "node_modules/@ipld/unixfs": { 582 | "version": "3.0.0", 583 | "resolved": "https://registry.npmjs.org/@ipld/unixfs/-/unixfs-3.0.0.tgz", 584 | "integrity": "sha512-Tj3/BPOlnemcZQ2ETIZAO8hqAs9KNzWyX5J9+JCL9jDwvYwjxeYjqJ3v+9DusNvTBmJhZnGVP6ijUHrsuOLp+g==", 585 | "license": "Apache-2.0 OR MIT", 586 | "dependencies": { 587 | "@ipld/dag-pb": "^4.0.0", 588 | "@multiformats/murmur3": "^2.1.3", 589 | "@perma/map": "^1.0.2", 590 | "actor": "^2.3.1", 591 | "multiformats": "^13.0.1", 592 | "protobufjs": "^7.1.2", 593 | "rabin-rs": "^2.1.0" 594 | } 595 | }, 596 | "node_modules/@jridgewell/resolve-uri": { 597 | "version": "3.1.2", 598 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 599 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 600 | "license": "MIT", 601 | "engines": { 602 | "node": ">=6.0.0" 603 | } 604 | }, 605 | "node_modules/@jridgewell/sourcemap-codec": { 606 | "version": "1.5.0", 607 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 608 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 609 | "license": "MIT" 610 | }, 611 | "node_modules/@jridgewell/trace-mapping": { 612 | "version": "0.3.9", 613 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", 614 | "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", 615 | "license": "MIT", 616 | "dependencies": { 617 | "@jridgewell/resolve-uri": "^3.0.3", 618 | "@jridgewell/sourcemap-codec": "^1.4.10" 619 | } 620 | }, 621 | "node_modules/@jsonjoy.com/base64": { 622 | "version": "1.1.2", 623 | "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", 624 | "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", 625 | "license": "Apache-2.0", 626 | "engines": { 627 | "node": ">=10.0" 628 | }, 629 | "funding": { 630 | "type": "github", 631 | "url": "https://github.com/sponsors/streamich" 632 | }, 633 | "peerDependencies": { 634 | "tslib": "2" 635 | } 636 | }, 637 | "node_modules/@jsonjoy.com/json-pack": { 638 | "version": "1.1.1", 639 | "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.1.tgz", 640 | "integrity": "sha512-osjeBqMJ2lb/j/M8NCPjs1ylqWIcTRTycIhVB5pt6LgzgeRSb0YRZ7j9RfA8wIUrsr/medIuhVyonXRZWLyfdw==", 641 | "license": "Apache-2.0", 642 | "dependencies": { 643 | "@jsonjoy.com/base64": "^1.1.1", 644 | "@jsonjoy.com/util": "^1.1.2", 645 | "hyperdyperid": "^1.2.0", 646 | "thingies": "^1.20.0" 647 | }, 648 | "engines": { 649 | "node": ">=10.0" 650 | }, 651 | "funding": { 652 | "type": "github", 653 | "url": "https://github.com/sponsors/streamich" 654 | }, 655 | "peerDependencies": { 656 | "tslib": "2" 657 | } 658 | }, 659 | "node_modules/@jsonjoy.com/util": { 660 | "version": "1.5.0", 661 | "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz", 662 | "integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==", 663 | "license": "Apache-2.0", 664 | "engines": { 665 | "node": ">=10.0" 666 | }, 667 | "funding": { 668 | "type": "github", 669 | "url": "https://github.com/sponsors/streamich" 670 | }, 671 | "peerDependencies": { 672 | "tslib": "2" 673 | } 674 | }, 675 | "node_modules/@modelcontextprotocol/sdk": { 676 | "version": "0.6.0", 677 | "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-0.6.0.tgz", 678 | "integrity": "sha512-9rsDudGhDtMbvxohPoMMyAUOmEzQsOK+XFchh6gZGqo8sx9sBuZQs+CUttXqa8RZXKDaJRCN2tUtgGof7jRkkw==", 679 | "license": "MIT", 680 | "dependencies": { 681 | "content-type": "^1.0.5", 682 | "raw-body": "^3.0.0", 683 | "zod": "^3.23.8" 684 | } 685 | }, 686 | "node_modules/@multiformats/murmur3": { 687 | "version": "2.1.8", 688 | "resolved": "https://registry.npmjs.org/@multiformats/murmur3/-/murmur3-2.1.8.tgz", 689 | "integrity": "sha512-6vId1C46ra3R1sbJUOFCZnsUIveR9oF20yhPmAFxPm0JfrX3/ZRCgP3YDrBzlGoEppOXnA9czHeYc0T9mB6hbA==", 690 | "license": "Apache-2.0 OR MIT", 691 | "dependencies": { 692 | "multiformats": "^13.0.0", 693 | "murmurhash3js-revisited": "^3.0.0" 694 | }, 695 | "engines": { 696 | "node": ">=16.0.0", 697 | "npm": ">=7.0.0" 698 | } 699 | }, 700 | "node_modules/@perma/map": { 701 | "version": "1.0.3", 702 | "resolved": "https://registry.npmjs.org/@perma/map/-/map-1.0.3.tgz", 703 | "integrity": "sha512-Bf5njk0fnJGTFE2ETntq0N1oJ6YdCPIpTDn3R3KYZJQdeYSOCNL7mBrFlGnbqav8YQhJA/p81pvHINX9vAtHkQ==", 704 | "license": "(Apache-2.0 AND MIT)", 705 | "dependencies": { 706 | "@multiformats/murmur3": "^2.1.0", 707 | "murmurhash3js-revisited": "^3.0.0" 708 | } 709 | }, 710 | "node_modules/@protobufjs/aspromise": { 711 | "version": "1.1.2", 712 | "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", 713 | "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", 714 | "license": "BSD-3-Clause" 715 | }, 716 | "node_modules/@protobufjs/base64": { 717 | "version": "1.1.2", 718 | "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", 719 | "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", 720 | "license": "BSD-3-Clause" 721 | }, 722 | "node_modules/@protobufjs/codegen": { 723 | "version": "2.0.4", 724 | "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", 725 | "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", 726 | "license": "BSD-3-Clause" 727 | }, 728 | "node_modules/@protobufjs/eventemitter": { 729 | "version": "1.1.0", 730 | "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", 731 | "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", 732 | "license": "BSD-3-Clause" 733 | }, 734 | "node_modules/@protobufjs/fetch": { 735 | "version": "1.1.0", 736 | "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", 737 | "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", 738 | "license": "BSD-3-Clause", 739 | "dependencies": { 740 | "@protobufjs/aspromise": "^1.1.1", 741 | "@protobufjs/inquire": "^1.1.0" 742 | } 743 | }, 744 | "node_modules/@protobufjs/float": { 745 | "version": "1.0.2", 746 | "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", 747 | "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", 748 | "license": "BSD-3-Clause" 749 | }, 750 | "node_modules/@protobufjs/inquire": { 751 | "version": "1.1.0", 752 | "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", 753 | "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", 754 | "license": "BSD-3-Clause" 755 | }, 756 | "node_modules/@protobufjs/path": { 757 | "version": "1.1.2", 758 | "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", 759 | "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", 760 | "license": "BSD-3-Clause" 761 | }, 762 | "node_modules/@protobufjs/pool": { 763 | "version": "1.1.0", 764 | "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", 765 | "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", 766 | "license": "BSD-3-Clause" 767 | }, 768 | "node_modules/@protobufjs/utf8": { 769 | "version": "1.1.0", 770 | "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", 771 | "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", 772 | "license": "BSD-3-Clause" 773 | }, 774 | "node_modules/@types/node": { 775 | "version": "20.17.9", 776 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.9.tgz", 777 | "integrity": "sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==", 778 | "license": "MIT", 779 | "dependencies": { 780 | "undici-types": "~6.19.2" 781 | } 782 | }, 783 | "node_modules/@types/retry": { 784 | "version": "0.12.2", 785 | "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", 786 | "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", 787 | "license": "MIT" 788 | }, 789 | "node_modules/acorn": { 790 | "version": "8.14.0", 791 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", 792 | "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", 793 | "license": "MIT", 794 | "bin": { 795 | "acorn": "bin/acorn" 796 | }, 797 | "engines": { 798 | "node": ">=0.4.0" 799 | } 800 | }, 801 | "node_modules/acorn-walk": { 802 | "version": "8.3.4", 803 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", 804 | "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", 805 | "license": "MIT", 806 | "dependencies": { 807 | "acorn": "^8.11.0" 808 | }, 809 | "engines": { 810 | "node": ">=0.4.0" 811 | } 812 | }, 813 | "node_modules/actor": { 814 | "version": "2.3.1", 815 | "resolved": "https://registry.npmjs.org/actor/-/actor-2.3.1.tgz", 816 | "integrity": "sha512-ST/3wnvcP2tKDXnum7nLCLXm+/rsf8vPocXH2Fre6D8FQwNkGDd4JEitBlXj007VQJfiGYRQvXqwOBZVi+JtRg==", 817 | "license": "(Apache-2.0 AND MIT)" 818 | }, 819 | "node_modules/as-table": { 820 | "version": "1.0.55", 821 | "resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz", 822 | "integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==", 823 | "license": "MIT", 824 | "dependencies": { 825 | "printable-characters": "^1.0.42" 826 | } 827 | }, 828 | "node_modules/base64-js": { 829 | "version": "1.5.1", 830 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 831 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 832 | "funding": [ 833 | { 834 | "type": "github", 835 | "url": "https://github.com/sponsors/feross" 836 | }, 837 | { 838 | "type": "patreon", 839 | "url": "https://www.patreon.com/feross" 840 | }, 841 | { 842 | "type": "consulting", 843 | "url": "https://feross.org/support" 844 | } 845 | ], 846 | "license": "MIT" 847 | }, 848 | "node_modules/big-integer": { 849 | "version": "1.6.52", 850 | "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", 851 | "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", 852 | "license": "Unlicense", 853 | "engines": { 854 | "node": ">=0.6" 855 | } 856 | }, 857 | "node_modules/bl": { 858 | "version": "4.1.0", 859 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 860 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 861 | "license": "MIT", 862 | "dependencies": { 863 | "buffer": "^5.5.0", 864 | "inherits": "^2.0.4", 865 | "readable-stream": "^3.4.0" 866 | } 867 | }, 868 | "node_modules/buffer": { 869 | "version": "5.7.1", 870 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 871 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 872 | "funding": [ 873 | { 874 | "type": "github", 875 | "url": "https://github.com/sponsors/feross" 876 | }, 877 | { 878 | "type": "patreon", 879 | "url": "https://www.patreon.com/feross" 880 | }, 881 | { 882 | "type": "consulting", 883 | "url": "https://feross.org/support" 884 | } 885 | ], 886 | "license": "MIT", 887 | "dependencies": { 888 | "base64-js": "^1.3.1", 889 | "ieee754": "^1.1.13" 890 | } 891 | }, 892 | "node_modules/bytes": { 893 | "version": "3.1.2", 894 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 895 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", 896 | "license": "MIT", 897 | "engines": { 898 | "node": ">= 0.8" 899 | } 900 | }, 901 | "node_modules/capnp-ts": { 902 | "version": "0.7.0", 903 | "resolved": "https://registry.npmjs.org/capnp-ts/-/capnp-ts-0.7.0.tgz", 904 | "integrity": "sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==", 905 | "license": "MIT", 906 | "dependencies": { 907 | "debug": "^4.3.1", 908 | "tslib": "^2.2.0" 909 | } 910 | }, 911 | "node_modules/charwise": { 912 | "version": "3.0.1", 913 | "resolved": "https://registry.npmjs.org/charwise/-/charwise-3.0.1.tgz", 914 | "integrity": "sha512-RcdumNsM6fJZ5HHbYunqj2bpurVRGsXour3OR+SlLEHFhG6ALm54i6Osnh+OvO7kEoSBzwExpblYFH8zKQiEPw==", 915 | "license": "MIT" 916 | }, 917 | "node_modules/clipboardy": { 918 | "version": "4.0.0", 919 | "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", 920 | "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", 921 | "license": "MIT", 922 | "dependencies": { 923 | "execa": "^8.0.1", 924 | "is-wsl": "^3.1.0", 925 | "is64bit": "^2.0.0" 926 | }, 927 | "engines": { 928 | "node": ">=18" 929 | }, 930 | "funding": { 931 | "url": "https://github.com/sponsors/sindresorhus" 932 | } 933 | }, 934 | "node_modules/content-type": { 935 | "version": "1.0.5", 936 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 937 | "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", 938 | "license": "MIT", 939 | "engines": { 940 | "node": ">= 0.6" 941 | } 942 | }, 943 | "node_modules/cookie": { 944 | "version": "0.7.2", 945 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", 946 | "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", 947 | "license": "MIT", 948 | "engines": { 949 | "node": ">= 0.6" 950 | } 951 | }, 952 | "node_modules/cross-spawn": { 953 | "version": "7.0.6", 954 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 955 | "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 956 | "license": "MIT", 957 | "dependencies": { 958 | "path-key": "^3.1.0", 959 | "shebang-command": "^2.0.0", 960 | "which": "^2.0.1" 961 | }, 962 | "engines": { 963 | "node": ">= 8" 964 | } 965 | }, 966 | "node_modules/data-uri-to-buffer": { 967 | "version": "2.0.2", 968 | "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz", 969 | "integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==", 970 | "license": "MIT" 971 | }, 972 | "node_modules/debug": { 973 | "version": "4.4.0", 974 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", 975 | "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", 976 | "license": "MIT", 977 | "dependencies": { 978 | "ms": "^2.1.3" 979 | }, 980 | "engines": { 981 | "node": ">=6.0" 982 | }, 983 | "peerDependenciesMeta": { 984 | "supports-color": { 985 | "optional": true 986 | } 987 | } 988 | }, 989 | "node_modules/depd": { 990 | "version": "2.0.0", 991 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 992 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", 993 | "license": "MIT", 994 | "engines": { 995 | "node": ">= 0.8" 996 | } 997 | }, 998 | "node_modules/esbuild": { 999 | "version": "0.21.5", 1000 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", 1001 | "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", 1002 | "hasInstallScript": true, 1003 | "license": "MIT", 1004 | "bin": { 1005 | "esbuild": "bin/esbuild" 1006 | }, 1007 | "engines": { 1008 | "node": ">=12" 1009 | }, 1010 | "optionalDependencies": { 1011 | "@esbuild/aix-ppc64": "0.21.5", 1012 | "@esbuild/android-arm": "0.21.5", 1013 | "@esbuild/android-arm64": "0.21.5", 1014 | "@esbuild/android-x64": "0.21.5", 1015 | "@esbuild/darwin-arm64": "0.21.5", 1016 | "@esbuild/darwin-x64": "0.21.5", 1017 | "@esbuild/freebsd-arm64": "0.21.5", 1018 | "@esbuild/freebsd-x64": "0.21.5", 1019 | "@esbuild/linux-arm": "0.21.5", 1020 | "@esbuild/linux-arm64": "0.21.5", 1021 | "@esbuild/linux-ia32": "0.21.5", 1022 | "@esbuild/linux-loong64": "0.21.5", 1023 | "@esbuild/linux-mips64el": "0.21.5", 1024 | "@esbuild/linux-ppc64": "0.21.5", 1025 | "@esbuild/linux-riscv64": "0.21.5", 1026 | "@esbuild/linux-s390x": "0.21.5", 1027 | "@esbuild/linux-x64": "0.21.5", 1028 | "@esbuild/netbsd-x64": "0.21.5", 1029 | "@esbuild/openbsd-x64": "0.21.5", 1030 | "@esbuild/sunos-x64": "0.21.5", 1031 | "@esbuild/win32-arm64": "0.21.5", 1032 | "@esbuild/win32-ia32": "0.21.5", 1033 | "@esbuild/win32-x64": "0.21.5" 1034 | } 1035 | }, 1036 | "node_modules/event-target-shim": { 1037 | "version": "6.0.2", 1038 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-6.0.2.tgz", 1039 | "integrity": "sha512-8q3LsZjRezbFZ2PN+uP+Q7pnHUMmAOziU2vA2OwoFaKIXxlxl38IylhSSgUorWu/rf4er67w0ikBqjBFk/pomA==", 1040 | "license": "MIT", 1041 | "engines": { 1042 | "node": ">=10.13.0" 1043 | }, 1044 | "funding": { 1045 | "url": "https://github.com/sponsors/mysticatea" 1046 | } 1047 | }, 1048 | "node_modules/eventemitter3": { 1049 | "version": "5.0.1", 1050 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", 1051 | "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", 1052 | "license": "MIT" 1053 | }, 1054 | "node_modules/execa": { 1055 | "version": "8.0.1", 1056 | "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", 1057 | "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", 1058 | "license": "MIT", 1059 | "dependencies": { 1060 | "cross-spawn": "^7.0.3", 1061 | "get-stream": "^8.0.1", 1062 | "human-signals": "^5.0.0", 1063 | "is-stream": "^3.0.0", 1064 | "merge-stream": "^2.0.0", 1065 | "npm-run-path": "^5.1.0", 1066 | "onetime": "^6.0.0", 1067 | "signal-exit": "^4.1.0", 1068 | "strip-final-newline": "^3.0.0" 1069 | }, 1070 | "engines": { 1071 | "node": ">=16.17" 1072 | }, 1073 | "funding": { 1074 | "url": "https://github.com/sindresorhus/execa?sponsor=1" 1075 | } 1076 | }, 1077 | "node_modules/exit-hook": { 1078 | "version": "2.2.1", 1079 | "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", 1080 | "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==", 1081 | "license": "MIT", 1082 | "engines": { 1083 | "node": ">=6" 1084 | }, 1085 | "funding": { 1086 | "url": "https://github.com/sponsors/sindresorhus" 1087 | } 1088 | }, 1089 | "node_modules/fsevents": { 1090 | "version": "2.3.3", 1091 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1092 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1093 | "hasInstallScript": true, 1094 | "license": "MIT", 1095 | "optional": true, 1096 | "os": [ 1097 | "darwin" 1098 | ], 1099 | "engines": { 1100 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1101 | } 1102 | }, 1103 | "node_modules/get-source": { 1104 | "version": "2.0.12", 1105 | "resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz", 1106 | "integrity": "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==", 1107 | "license": "Unlicense", 1108 | "dependencies": { 1109 | "data-uri-to-buffer": "^2.0.0", 1110 | "source-map": "^0.6.1" 1111 | } 1112 | }, 1113 | "node_modules/get-stream": { 1114 | "version": "8.0.1", 1115 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", 1116 | "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", 1117 | "license": "MIT", 1118 | "engines": { 1119 | "node": ">=16" 1120 | }, 1121 | "funding": { 1122 | "url": "https://github.com/sponsors/sindresorhus" 1123 | } 1124 | }, 1125 | "node_modules/glob-to-regexp": { 1126 | "version": "0.4.1", 1127 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 1128 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", 1129 | "license": "BSD-2-Clause" 1130 | }, 1131 | "node_modules/hamt-sharding": { 1132 | "version": "3.0.6", 1133 | "resolved": "https://registry.npmjs.org/hamt-sharding/-/hamt-sharding-3.0.6.tgz", 1134 | "integrity": "sha512-nZeamxfymIWLpVcAN0CRrb7uVq3hCOGj9IcL6NMA6VVCVWqj+h9Jo/SmaWuS92AEDf1thmHsM5D5c70hM3j2Tg==", 1135 | "license": "Apache-2.0 OR MIT", 1136 | "dependencies": { 1137 | "sparse-array": "^1.3.1", 1138 | "uint8arrays": "^5.0.1" 1139 | } 1140 | }, 1141 | "node_modules/http-errors": { 1142 | "version": "2.0.0", 1143 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", 1144 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", 1145 | "license": "MIT", 1146 | "dependencies": { 1147 | "depd": "2.0.0", 1148 | "inherits": "2.0.4", 1149 | "setprototypeof": "1.2.0", 1150 | "statuses": "2.0.1", 1151 | "toidentifier": "1.0.1" 1152 | }, 1153 | "engines": { 1154 | "node": ">= 0.8" 1155 | } 1156 | }, 1157 | "node_modules/human-signals": { 1158 | "version": "5.0.0", 1159 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", 1160 | "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", 1161 | "license": "Apache-2.0", 1162 | "engines": { 1163 | "node": ">=16.17.0" 1164 | } 1165 | }, 1166 | "node_modules/hyperdyperid": { 1167 | "version": "1.2.0", 1168 | "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", 1169 | "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", 1170 | "license": "MIT", 1171 | "engines": { 1172 | "node": ">=10.18" 1173 | } 1174 | }, 1175 | "node_modules/iconv-lite": { 1176 | "version": "0.6.3", 1177 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 1178 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 1179 | "license": "MIT", 1180 | "dependencies": { 1181 | "safer-buffer": ">= 2.1.2 < 3.0.0" 1182 | }, 1183 | "engines": { 1184 | "node": ">=0.10.0" 1185 | } 1186 | }, 1187 | "node_modules/idb": { 1188 | "version": "8.0.0", 1189 | "resolved": "https://registry.npmjs.org/idb/-/idb-8.0.0.tgz", 1190 | "integrity": "sha512-l//qvlAKGmQO31Qn7xdzagVPPaHTxXx199MhrAFuVBTPqydcPYBWjkrbv4Y0ktB+GmWOiwHl237UUOrLmQxLvw==", 1191 | "license": "ISC" 1192 | }, 1193 | "node_modules/ieee754": { 1194 | "version": "1.2.1", 1195 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1196 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1197 | "funding": [ 1198 | { 1199 | "type": "github", 1200 | "url": "https://github.com/sponsors/feross" 1201 | }, 1202 | { 1203 | "type": "patreon", 1204 | "url": "https://www.patreon.com/feross" 1205 | }, 1206 | { 1207 | "type": "consulting", 1208 | "url": "https://feross.org/support" 1209 | } 1210 | ], 1211 | "license": "BSD-3-Clause" 1212 | }, 1213 | "node_modules/inherits": { 1214 | "version": "2.0.4", 1215 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1216 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1217 | "license": "ISC" 1218 | }, 1219 | "node_modules/interface-blockstore": { 1220 | "version": "5.3.1", 1221 | "resolved": "https://registry.npmjs.org/interface-blockstore/-/interface-blockstore-5.3.1.tgz", 1222 | "integrity": "sha512-nhgrQnz6yUQEqxTFLhlOBurQOy5lWlwCpgFmZ3GTObTVTQS9RZjK/JTozY6ty9uz2lZs7VFJSqwjWAltorJ4Vw==", 1223 | "license": "Apache-2.0 OR MIT", 1224 | "dependencies": { 1225 | "interface-store": "^6.0.0", 1226 | "multiformats": "^13.2.3" 1227 | } 1228 | }, 1229 | "node_modules/interface-store": { 1230 | "version": "6.0.2", 1231 | "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-6.0.2.tgz", 1232 | "integrity": "sha512-KSFCXtBlNoG0hzwNa0RmhHtrdhzexp+S+UY2s0rWTBJyfdEIgn6i6Zl9otVqrcFYbYrneBT7hbmHQ8gE0C3umA==", 1233 | "license": "Apache-2.0 OR MIT" 1234 | }, 1235 | "node_modules/ipfs-unixfs": { 1236 | "version": "11.2.0", 1237 | "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-11.2.0.tgz", 1238 | "integrity": "sha512-J8FN1qM5nfrDo8sQKQwfj0+brTg1uBfZK2vY9hxci33lcl3BFrsELS9+1+4q/8tO1ASKfxZO8W3Pi2O4sVX2Lg==", 1239 | "license": "Apache-2.0 OR MIT", 1240 | "dependencies": { 1241 | "protons-runtime": "^5.5.0", 1242 | "uint8arraylist": "^2.4.8" 1243 | } 1244 | }, 1245 | "node_modules/is-docker": { 1246 | "version": "3.0.0", 1247 | "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", 1248 | "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", 1249 | "license": "MIT", 1250 | "bin": { 1251 | "is-docker": "cli.js" 1252 | }, 1253 | "engines": { 1254 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1255 | }, 1256 | "funding": { 1257 | "url": "https://github.com/sponsors/sindresorhus" 1258 | } 1259 | }, 1260 | "node_modules/is-inside-container": { 1261 | "version": "1.0.0", 1262 | "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", 1263 | "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", 1264 | "license": "MIT", 1265 | "dependencies": { 1266 | "is-docker": "^3.0.0" 1267 | }, 1268 | "bin": { 1269 | "is-inside-container": "cli.js" 1270 | }, 1271 | "engines": { 1272 | "node": ">=14.16" 1273 | }, 1274 | "funding": { 1275 | "url": "https://github.com/sponsors/sindresorhus" 1276 | } 1277 | }, 1278 | "node_modules/is-network-error": { 1279 | "version": "1.1.0", 1280 | "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", 1281 | "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", 1282 | "license": "MIT", 1283 | "engines": { 1284 | "node": ">=16" 1285 | }, 1286 | "funding": { 1287 | "url": "https://github.com/sponsors/sindresorhus" 1288 | } 1289 | }, 1290 | "node_modules/is-stream": { 1291 | "version": "3.0.0", 1292 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", 1293 | "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", 1294 | "license": "MIT", 1295 | "engines": { 1296 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1297 | }, 1298 | "funding": { 1299 | "url": "https://github.com/sponsors/sindresorhus" 1300 | } 1301 | }, 1302 | "node_modules/is-wsl": { 1303 | "version": "3.1.0", 1304 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", 1305 | "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", 1306 | "license": "MIT", 1307 | "dependencies": { 1308 | "is-inside-container": "^1.0.0" 1309 | }, 1310 | "engines": { 1311 | "node": ">=16" 1312 | }, 1313 | "funding": { 1314 | "url": "https://github.com/sponsors/sindresorhus" 1315 | } 1316 | }, 1317 | "node_modules/is64bit": { 1318 | "version": "2.0.0", 1319 | "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", 1320 | "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", 1321 | "license": "MIT", 1322 | "dependencies": { 1323 | "system-architecture": "^0.1.0" 1324 | }, 1325 | "engines": { 1326 | "node": ">=18" 1327 | }, 1328 | "funding": { 1329 | "url": "https://github.com/sponsors/sindresorhus" 1330 | } 1331 | }, 1332 | "node_modules/isexe": { 1333 | "version": "2.0.0", 1334 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1335 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1336 | "license": "ISC" 1337 | }, 1338 | "node_modules/it-filter": { 1339 | "version": "3.1.1", 1340 | "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-3.1.1.tgz", 1341 | "integrity": "sha512-TOXmVuaSkxlLp2hXKoMTra0WMZMKVFxE3vSsbIA+PbADNCBAHhjJ/lM31vBOUTddHMO34Ku++vU8T9PLlBxQtg==", 1342 | "license": "Apache-2.0 OR MIT", 1343 | "dependencies": { 1344 | "it-peekable": "^3.0.0" 1345 | } 1346 | }, 1347 | "node_modules/it-last": { 1348 | "version": "3.0.6", 1349 | "resolved": "https://registry.npmjs.org/it-last/-/it-last-3.0.6.tgz", 1350 | "integrity": "sha512-M4/get95O85u2vWvWQinF8SJUc/RPC5bWTveBTYXvlP2q5TF9Y+QhT3nz+CRCyS2YEc66VJkyl/da6WrJ0wKhw==", 1351 | "license": "Apache-2.0 OR MIT" 1352 | }, 1353 | "node_modules/it-map": { 1354 | "version": "3.1.1", 1355 | "resolved": "https://registry.npmjs.org/it-map/-/it-map-3.1.1.tgz", 1356 | "integrity": "sha512-9bCSwKD1yN1wCOgJ9UOl+46NQtdatosPWzxxUk2NdTLwRPXLh+L7iwCC9QKsbgM60RQxT/nH8bKMqm3H/o8IHQ==", 1357 | "license": "Apache-2.0 OR MIT", 1358 | "dependencies": { 1359 | "it-peekable": "^3.0.0" 1360 | } 1361 | }, 1362 | "node_modules/it-merge": { 1363 | "version": "3.0.5", 1364 | "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-3.0.5.tgz", 1365 | "integrity": "sha512-2l7+mPf85pyRF5pqi0dKcA54E5Jm/2FyY5GsOaN51Ta0ipC7YZ3szuAsH8wOoB6eKY4XsU4k2X+mzPmFBMayEA==", 1366 | "license": "Apache-2.0 OR MIT", 1367 | "dependencies": { 1368 | "it-pushable": "^3.2.3" 1369 | } 1370 | }, 1371 | "node_modules/it-parallel": { 1372 | "version": "3.0.8", 1373 | "resolved": "https://registry.npmjs.org/it-parallel/-/it-parallel-3.0.8.tgz", 1374 | "integrity": "sha512-URLhs6eG4Hdr4OdvgBBPDzOjBeSSmI+Kqex2rv/aAyYClME26RYHirLVhZsZP5M+ZP6M34iRlXk8Wlqtezuqpg==", 1375 | "license": "Apache-2.0 OR MIT", 1376 | "dependencies": { 1377 | "p-defer": "^4.0.1" 1378 | } 1379 | }, 1380 | "node_modules/it-peekable": { 1381 | "version": "3.0.5", 1382 | "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-3.0.5.tgz", 1383 | "integrity": "sha512-JWQOGMt6rKiPcY30zUVMR4g6YxkpueTwHVE7CMs/aGqCf4OydM6w+7ZM3PvmO1e0TocjuR4aL8xyZWR46cTqCQ==", 1384 | "license": "Apache-2.0 OR MIT" 1385 | }, 1386 | "node_modules/it-pipe": { 1387 | "version": "3.0.1", 1388 | "resolved": "https://registry.npmjs.org/it-pipe/-/it-pipe-3.0.1.tgz", 1389 | "integrity": "sha512-sIoNrQl1qSRg2seYSBH/3QxWhJFn9PKYvOf/bHdtCBF0bnghey44VyASsWzn5dAx0DCDDABq1hZIuzKmtBZmKA==", 1390 | "license": "Apache-2.0 OR MIT", 1391 | "dependencies": { 1392 | "it-merge": "^3.0.0", 1393 | "it-pushable": "^3.1.2", 1394 | "it-stream-types": "^2.0.1" 1395 | }, 1396 | "engines": { 1397 | "node": ">=16.0.0", 1398 | "npm": ">=7.0.0" 1399 | } 1400 | }, 1401 | "node_modules/it-pushable": { 1402 | "version": "3.2.3", 1403 | "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.2.3.tgz", 1404 | "integrity": "sha512-gzYnXYK8Y5t5b/BnJUr7glfQLO4U5vyb05gPx/TyTw+4Bv1zM9gFk4YsOrnulWefMewlphCjKkakFvj1y99Tcg==", 1405 | "license": "Apache-2.0 OR MIT", 1406 | "dependencies": { 1407 | "p-defer": "^4.0.0" 1408 | } 1409 | }, 1410 | "node_modules/it-stream-types": { 1411 | "version": "2.0.2", 1412 | "resolved": "https://registry.npmjs.org/it-stream-types/-/it-stream-types-2.0.2.tgz", 1413 | "integrity": "sha512-Rz/DEZ6Byn/r9+/SBCuJhpPATDF9D+dz5pbgSUyBsCDtza6wtNATrz/jz1gDyNanC3XdLboriHnOC925bZRBww==", 1414 | "license": "Apache-2.0 OR MIT" 1415 | }, 1416 | "node_modules/js-tokens": { 1417 | "version": "4.0.0", 1418 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1419 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1420 | "license": "MIT" 1421 | }, 1422 | "node_modules/long": { 1423 | "version": "5.2.3", 1424 | "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", 1425 | "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", 1426 | "license": "Apache-2.0" 1427 | }, 1428 | "node_modules/loose-envify": { 1429 | "version": "1.4.0", 1430 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1431 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1432 | "license": "MIT", 1433 | "dependencies": { 1434 | "js-tokens": "^3.0.0 || ^4.0.0" 1435 | }, 1436 | "bin": { 1437 | "loose-envify": "cli.js" 1438 | } 1439 | }, 1440 | "node_modules/memfs": { 1441 | "version": "4.15.0", 1442 | "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.15.0.tgz", 1443 | "integrity": "sha512-q9MmZXd2rRWHS6GU3WEm3HyiXZyyoA1DqdOhEq0lxPBmKb5S7IAOwX0RgUCwJfqjelDCySa5h8ujOy24LqsWcw==", 1444 | "license": "Apache-2.0", 1445 | "dependencies": { 1446 | "@jsonjoy.com/json-pack": "^1.0.3", 1447 | "@jsonjoy.com/util": "^1.3.0", 1448 | "tree-dump": "^1.0.1", 1449 | "tslib": "^2.0.0" 1450 | }, 1451 | "engines": { 1452 | "node": ">= 4.0.0" 1453 | }, 1454 | "funding": { 1455 | "type": "github", 1456 | "url": "https://github.com/sponsors/streamich" 1457 | } 1458 | }, 1459 | "node_modules/merge-stream": { 1460 | "version": "2.0.0", 1461 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1462 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1463 | "license": "MIT" 1464 | }, 1465 | "node_modules/mimic-fn": { 1466 | "version": "4.0.0", 1467 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", 1468 | "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", 1469 | "license": "MIT", 1470 | "engines": { 1471 | "node": ">=12" 1472 | }, 1473 | "funding": { 1474 | "url": "https://github.com/sponsors/sindresorhus" 1475 | } 1476 | }, 1477 | "node_modules/miniflare": { 1478 | "version": "3.20240718.0", 1479 | "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-3.20240718.0.tgz", 1480 | "integrity": "sha512-TKgSeyqPBeT8TBLxbDJOKPWlq/wydoJRHjAyDdgxbw59N6wbP8JucK6AU1vXCfu21eKhrEin77ssXOpbfekzPA==", 1481 | "license": "MIT", 1482 | "dependencies": { 1483 | "@cspotcode/source-map-support": "0.8.1", 1484 | "acorn": "^8.8.0", 1485 | "acorn-walk": "^8.2.0", 1486 | "capnp-ts": "^0.7.0", 1487 | "exit-hook": "^2.2.1", 1488 | "glob-to-regexp": "^0.4.1", 1489 | "stoppable": "^1.1.0", 1490 | "undici": "^5.28.4", 1491 | "workerd": "1.20240718.0", 1492 | "ws": "^8.17.1", 1493 | "youch": "^3.2.2", 1494 | "zod": "^3.22.3" 1495 | }, 1496 | "bin": { 1497 | "miniflare": "bootstrap.js" 1498 | }, 1499 | "engines": { 1500 | "node": ">=16.13" 1501 | } 1502 | }, 1503 | "node_modules/ms": { 1504 | "version": "2.1.3", 1505 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1506 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 1507 | "license": "MIT" 1508 | }, 1509 | "node_modules/multiformats": { 1510 | "version": "13.3.1", 1511 | "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.3.1.tgz", 1512 | "integrity": "sha512-QxowxTNwJ3r5RMctoGA5p13w5RbRT2QDkoM+yFlqfLiioBp78nhDjnRLvmSBI9+KAqN4VdgOVWM9c0CHd86m3g==", 1513 | "license": "Apache-2.0 OR MIT" 1514 | }, 1515 | "node_modules/murmurhash3js-revisited": { 1516 | "version": "3.0.0", 1517 | "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", 1518 | "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", 1519 | "license": "MIT", 1520 | "engines": { 1521 | "node": ">=8.0.0" 1522 | } 1523 | }, 1524 | "node_modules/mustache": { 1525 | "version": "4.2.0", 1526 | "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", 1527 | "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", 1528 | "license": "MIT", 1529 | "bin": { 1530 | "mustache": "bin/mustache" 1531 | } 1532 | }, 1533 | "node_modules/node-sql-parser": { 1534 | "version": "3.9.4", 1535 | "resolved": "https://registry.npmjs.org/node-sql-parser/-/node-sql-parser-3.9.4.tgz", 1536 | "integrity": "sha512-U8xa/QBpNz/dc4BERBkMg//XTrBDcj0uIg5YDYPV4ChYgHPEw4JhoT5YWTxQuKBg/3C1kfkTO4MuEYw7fCYHJw==", 1537 | "license": "GPLv2", 1538 | "dependencies": { 1539 | "big-integer": "^1.6.48" 1540 | }, 1541 | "engines": { 1542 | "node": ">=8" 1543 | } 1544 | }, 1545 | "node_modules/npm-run-path": { 1546 | "version": "5.3.0", 1547 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", 1548 | "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", 1549 | "license": "MIT", 1550 | "dependencies": { 1551 | "path-key": "^4.0.0" 1552 | }, 1553 | "engines": { 1554 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1555 | }, 1556 | "funding": { 1557 | "url": "https://github.com/sponsors/sindresorhus" 1558 | } 1559 | }, 1560 | "node_modules/npm-run-path/node_modules/path-key": { 1561 | "version": "4.0.0", 1562 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", 1563 | "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", 1564 | "license": "MIT", 1565 | "engines": { 1566 | "node": ">=12" 1567 | }, 1568 | "funding": { 1569 | "url": "https://github.com/sponsors/sindresorhus" 1570 | } 1571 | }, 1572 | "node_modules/onetime": { 1573 | "version": "6.0.0", 1574 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", 1575 | "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", 1576 | "license": "MIT", 1577 | "dependencies": { 1578 | "mimic-fn": "^4.0.0" 1579 | }, 1580 | "engines": { 1581 | "node": ">=12" 1582 | }, 1583 | "funding": { 1584 | "url": "https://github.com/sponsors/sindresorhus" 1585 | } 1586 | }, 1587 | "node_modules/p-defer": { 1588 | "version": "4.0.1", 1589 | "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-4.0.1.tgz", 1590 | "integrity": "sha512-Mr5KC5efvAK5VUptYEIopP1bakB85k2IWXaRC0rsh1uwn1L6M0LVml8OIQ4Gudg4oyZakf7FmeRLkMMtZW1i5A==", 1591 | "license": "MIT", 1592 | "engines": { 1593 | "node": ">=12" 1594 | }, 1595 | "funding": { 1596 | "url": "https://github.com/sponsors/sindresorhus" 1597 | } 1598 | }, 1599 | "node_modules/p-limit": { 1600 | "version": "6.1.0", 1601 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.1.0.tgz", 1602 | "integrity": "sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==", 1603 | "license": "MIT", 1604 | "dependencies": { 1605 | "yocto-queue": "^1.1.1" 1606 | }, 1607 | "engines": { 1608 | "node": ">=18" 1609 | }, 1610 | "funding": { 1611 | "url": "https://github.com/sponsors/sindresorhus" 1612 | } 1613 | }, 1614 | "node_modules/p-map": { 1615 | "version": "7.0.3", 1616 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", 1617 | "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", 1618 | "license": "MIT", 1619 | "engines": { 1620 | "node": ">=18" 1621 | }, 1622 | "funding": { 1623 | "url": "https://github.com/sponsors/sindresorhus" 1624 | } 1625 | }, 1626 | "node_modules/p-queue": { 1627 | "version": "8.0.1", 1628 | "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz", 1629 | "integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==", 1630 | "license": "MIT", 1631 | "dependencies": { 1632 | "eventemitter3": "^5.0.1", 1633 | "p-timeout": "^6.1.2" 1634 | }, 1635 | "engines": { 1636 | "node": ">=18" 1637 | }, 1638 | "funding": { 1639 | "url": "https://github.com/sponsors/sindresorhus" 1640 | } 1641 | }, 1642 | "node_modules/p-retry": { 1643 | "version": "6.2.1", 1644 | "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", 1645 | "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", 1646 | "license": "MIT", 1647 | "dependencies": { 1648 | "@types/retry": "0.12.2", 1649 | "is-network-error": "^1.0.0", 1650 | "retry": "^0.13.1" 1651 | }, 1652 | "engines": { 1653 | "node": ">=16.17" 1654 | }, 1655 | "funding": { 1656 | "url": "https://github.com/sponsors/sindresorhus" 1657 | } 1658 | }, 1659 | "node_modules/p-timeout": { 1660 | "version": "6.1.3", 1661 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.3.tgz", 1662 | "integrity": "sha512-UJUyfKbwvr/uZSV6btANfb+0t/mOhKV/KXcCUTp8FcQI+v/0d+wXqH4htrW0E4rR6WiEO/EPvUFiV9D5OI4vlw==", 1663 | "license": "MIT", 1664 | "engines": { 1665 | "node": ">=14.16" 1666 | }, 1667 | "funding": { 1668 | "url": "https://github.com/sponsors/sindresorhus" 1669 | } 1670 | }, 1671 | "node_modules/partykit": { 1672 | "version": "0.0.111", 1673 | "resolved": "https://registry.npmjs.org/partykit/-/partykit-0.0.111.tgz", 1674 | "integrity": "sha512-pbUzJmulPTqZWgtH++eClnLlddTWS0RPKOAQyexYiSqGEg2/Ff84Ep0qWFqy+53wiz098DPFekRI375Qy2GsZw==", 1675 | "license": "MIT", 1676 | "dependencies": { 1677 | "@cloudflare/workers-types": "4.20240718.0", 1678 | "clipboardy": "4.0.0", 1679 | "esbuild": "0.21.5", 1680 | "miniflare": "3.20240718.0", 1681 | "yoga-wasm-web": "0.3.3" 1682 | }, 1683 | "bin": { 1684 | "partykit": "dist/bin.mjs" 1685 | }, 1686 | "optionalDependencies": { 1687 | "fsevents": "2.3.3" 1688 | } 1689 | }, 1690 | "node_modules/partysocket": { 1691 | "version": "1.0.2", 1692 | "resolved": "https://registry.npmjs.org/partysocket/-/partysocket-1.0.2.tgz", 1693 | "integrity": "sha512-rAFOUKImaq+VBk2B+2RTBsWEvlnarEP53nchoUHzpVs8V6fG2/estihOTslTQUWHVuHEKDL5k8htG8K3TngyFA==", 1694 | "license": "ISC", 1695 | "dependencies": { 1696 | "event-target-shim": "^6.0.2" 1697 | } 1698 | }, 1699 | "node_modules/path-key": { 1700 | "version": "3.1.1", 1701 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1702 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1703 | "license": "MIT", 1704 | "engines": { 1705 | "node": ">=8" 1706 | } 1707 | }, 1708 | "node_modules/printable-characters": { 1709 | "version": "1.0.42", 1710 | "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz", 1711 | "integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==", 1712 | "license": "Unlicense" 1713 | }, 1714 | "node_modules/progress-events": { 1715 | "version": "1.0.1", 1716 | "resolved": "https://registry.npmjs.org/progress-events/-/progress-events-1.0.1.tgz", 1717 | "integrity": "sha512-MOzLIwhpt64KIVN64h1MwdKWiyKFNc/S6BoYKPIVUHFg0/eIEyBulhWCgn678v/4c0ri3FdGuzXymNCv02MUIw==", 1718 | "license": "Apache-2.0 OR MIT" 1719 | }, 1720 | "node_modules/prolly-trees": { 1721 | "version": "1.0.4", 1722 | "resolved": "https://registry.npmjs.org/prolly-trees/-/prolly-trees-1.0.4.tgz", 1723 | "integrity": "sha512-vtnxfw5wnUHbGa0IIIk9B9DRztJWZw+t9d0s0iGxY/VzEGCg2EMl8GgGU3EhSquFLWapwbGjFTL1ipbezaXR3g==", 1724 | "license": "(Apache-2.0 AND MIT)", 1725 | "dependencies": { 1726 | "bl": "^4.0.3", 1727 | "node-sql-parser": "^3.1.0" 1728 | } 1729 | }, 1730 | "node_modules/protobufjs": { 1731 | "version": "7.4.0", 1732 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz", 1733 | "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", 1734 | "hasInstallScript": true, 1735 | "license": "BSD-3-Clause", 1736 | "dependencies": { 1737 | "@protobufjs/aspromise": "^1.1.2", 1738 | "@protobufjs/base64": "^1.1.2", 1739 | "@protobufjs/codegen": "^2.0.4", 1740 | "@protobufjs/eventemitter": "^1.1.0", 1741 | "@protobufjs/fetch": "^1.1.0", 1742 | "@protobufjs/float": "^1.0.2", 1743 | "@protobufjs/inquire": "^1.1.0", 1744 | "@protobufjs/path": "^1.1.2", 1745 | "@protobufjs/pool": "^1.1.0", 1746 | "@protobufjs/utf8": "^1.1.0", 1747 | "@types/node": ">=13.7.0", 1748 | "long": "^5.0.0" 1749 | }, 1750 | "engines": { 1751 | "node": ">=12.0.0" 1752 | } 1753 | }, 1754 | "node_modules/protons-runtime": { 1755 | "version": "5.5.0", 1756 | "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-5.5.0.tgz", 1757 | "integrity": "sha512-EsALjF9QsrEk6gbCx3lmfHxVN0ah7nG3cY7GySD4xf4g8cr7g543zB88Foh897Sr1RQJ9yDCUsoT1i1H/cVUFA==", 1758 | "license": "Apache-2.0 OR MIT", 1759 | "dependencies": { 1760 | "uint8-varint": "^2.0.2", 1761 | "uint8arraylist": "^2.4.3", 1762 | "uint8arrays": "^5.0.1" 1763 | } 1764 | }, 1765 | "node_modules/rabin-rs": { 1766 | "version": "2.1.0", 1767 | "resolved": "https://registry.npmjs.org/rabin-rs/-/rabin-rs-2.1.0.tgz", 1768 | "integrity": "sha512-5y72gAXPzIBsAMHcpxZP8eMDuDT98qMP1BqSDHRbHkJJXEgWIN1lA47LxUqzsK6jknOJtgfkQr9v+7qMlFDm6g==", 1769 | "license": "(Apache-2.0 AND MIT)" 1770 | }, 1771 | "node_modules/raw-body": { 1772 | "version": "3.0.0", 1773 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", 1774 | "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", 1775 | "license": "MIT", 1776 | "dependencies": { 1777 | "bytes": "3.1.2", 1778 | "http-errors": "2.0.0", 1779 | "iconv-lite": "0.6.3", 1780 | "unpipe": "1.0.0" 1781 | }, 1782 | "engines": { 1783 | "node": ">= 0.8" 1784 | } 1785 | }, 1786 | "node_modules/react": { 1787 | "version": "18.3.1", 1788 | "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", 1789 | "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", 1790 | "license": "MIT", 1791 | "dependencies": { 1792 | "loose-envify": "^1.1.0" 1793 | }, 1794 | "engines": { 1795 | "node": ">=0.10.0" 1796 | } 1797 | }, 1798 | "node_modules/readable-stream": { 1799 | "version": "3.6.2", 1800 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 1801 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 1802 | "license": "MIT", 1803 | "dependencies": { 1804 | "inherits": "^2.0.3", 1805 | "string_decoder": "^1.1.1", 1806 | "util-deprecate": "^1.0.1" 1807 | }, 1808 | "engines": { 1809 | "node": ">= 6" 1810 | } 1811 | }, 1812 | "node_modules/retry": { 1813 | "version": "0.13.1", 1814 | "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", 1815 | "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", 1816 | "license": "MIT", 1817 | "engines": { 1818 | "node": ">= 4" 1819 | } 1820 | }, 1821 | "node_modules/safe-buffer": { 1822 | "version": "5.2.1", 1823 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1824 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1825 | "funding": [ 1826 | { 1827 | "type": "github", 1828 | "url": "https://github.com/sponsors/feross" 1829 | }, 1830 | { 1831 | "type": "patreon", 1832 | "url": "https://www.patreon.com/feross" 1833 | }, 1834 | { 1835 | "type": "consulting", 1836 | "url": "https://feross.org/support" 1837 | } 1838 | ], 1839 | "license": "MIT" 1840 | }, 1841 | "node_modules/safer-buffer": { 1842 | "version": "2.1.2", 1843 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1844 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 1845 | "license": "MIT" 1846 | }, 1847 | "node_modules/setprototypeof": { 1848 | "version": "1.2.0", 1849 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 1850 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", 1851 | "license": "ISC" 1852 | }, 1853 | "node_modules/shebang-command": { 1854 | "version": "2.0.0", 1855 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1856 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1857 | "license": "MIT", 1858 | "dependencies": { 1859 | "shebang-regex": "^3.0.0" 1860 | }, 1861 | "engines": { 1862 | "node": ">=8" 1863 | } 1864 | }, 1865 | "node_modules/shebang-regex": { 1866 | "version": "3.0.0", 1867 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1868 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1869 | "license": "MIT", 1870 | "engines": { 1871 | "node": ">=8" 1872 | } 1873 | }, 1874 | "node_modules/signal-exit": { 1875 | "version": "4.1.0", 1876 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 1877 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 1878 | "license": "ISC", 1879 | "engines": { 1880 | "node": ">=14" 1881 | }, 1882 | "funding": { 1883 | "url": "https://github.com/sponsors/isaacs" 1884 | } 1885 | }, 1886 | "node_modules/source-map": { 1887 | "version": "0.6.1", 1888 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1889 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1890 | "license": "BSD-3-Clause", 1891 | "engines": { 1892 | "node": ">=0.10.0" 1893 | } 1894 | }, 1895 | "node_modules/sparse-array": { 1896 | "version": "1.3.2", 1897 | "resolved": "https://registry.npmjs.org/sparse-array/-/sparse-array-1.3.2.tgz", 1898 | "integrity": "sha512-ZT711fePGn3+kQyLuv1fpd3rNSkNF8vd5Kv2D+qnOANeyKs3fx6bUMGWRPvgTTcYV64QMqZKZwcuaQSP3AZ0tg==", 1899 | "license": "ISC" 1900 | }, 1901 | "node_modules/stacktracey": { 1902 | "version": "2.1.8", 1903 | "resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.1.8.tgz", 1904 | "integrity": "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==", 1905 | "license": "Unlicense", 1906 | "dependencies": { 1907 | "as-table": "^1.0.36", 1908 | "get-source": "^2.0.12" 1909 | } 1910 | }, 1911 | "node_modules/statuses": { 1912 | "version": "2.0.1", 1913 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", 1914 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", 1915 | "license": "MIT", 1916 | "engines": { 1917 | "node": ">= 0.8" 1918 | } 1919 | }, 1920 | "node_modules/stoppable": { 1921 | "version": "1.1.0", 1922 | "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", 1923 | "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", 1924 | "license": "MIT", 1925 | "engines": { 1926 | "node": ">=4", 1927 | "npm": ">=6" 1928 | } 1929 | }, 1930 | "node_modules/string_decoder": { 1931 | "version": "1.3.0", 1932 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1933 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1934 | "license": "MIT", 1935 | "dependencies": { 1936 | "safe-buffer": "~5.2.0" 1937 | } 1938 | }, 1939 | "node_modules/strip-final-newline": { 1940 | "version": "3.0.0", 1941 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", 1942 | "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", 1943 | "license": "MIT", 1944 | "engines": { 1945 | "node": ">=12" 1946 | }, 1947 | "funding": { 1948 | "url": "https://github.com/sponsors/sindresorhus" 1949 | } 1950 | }, 1951 | "node_modules/system-architecture": { 1952 | "version": "0.1.0", 1953 | "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", 1954 | "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", 1955 | "license": "MIT", 1956 | "engines": { 1957 | "node": ">=18" 1958 | }, 1959 | "funding": { 1960 | "url": "https://github.com/sponsors/sindresorhus" 1961 | } 1962 | }, 1963 | "node_modules/thingies": { 1964 | "version": "1.21.0", 1965 | "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", 1966 | "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", 1967 | "license": "Unlicense", 1968 | "engines": { 1969 | "node": ">=10.18" 1970 | }, 1971 | "peerDependencies": { 1972 | "tslib": "^2" 1973 | } 1974 | }, 1975 | "node_modules/toidentifier": { 1976 | "version": "1.0.1", 1977 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 1978 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", 1979 | "license": "MIT", 1980 | "engines": { 1981 | "node": ">=0.6" 1982 | } 1983 | }, 1984 | "node_modules/tree-dump": { 1985 | "version": "1.0.2", 1986 | "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", 1987 | "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", 1988 | "license": "Apache-2.0", 1989 | "engines": { 1990 | "node": ">=10.0" 1991 | }, 1992 | "funding": { 1993 | "type": "github", 1994 | "url": "https://github.com/sponsors/streamich" 1995 | }, 1996 | "peerDependencies": { 1997 | "tslib": "2" 1998 | } 1999 | }, 2000 | "node_modules/ts-essentials": { 2001 | "version": "10.0.3", 2002 | "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-10.0.3.tgz", 2003 | "integrity": "sha512-/FrVAZ76JLTWxJOERk04fm8hYENDo0PWSP3YLQKxevLwWtxemGcl5JJEzN4iqfDlRve0ckyfFaOBu4xbNH/wZw==", 2004 | "license": "MIT", 2005 | "peerDependencies": { 2006 | "typescript": ">=4.5.0" 2007 | }, 2008 | "peerDependenciesMeta": { 2009 | "typescript": { 2010 | "optional": true 2011 | } 2012 | } 2013 | }, 2014 | "node_modules/tslib": { 2015 | "version": "2.8.1", 2016 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 2017 | "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 2018 | "license": "0BSD" 2019 | }, 2020 | "node_modules/typescript": { 2021 | "version": "5.7.2", 2022 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", 2023 | "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", 2024 | "devOptional": true, 2025 | "license": "Apache-2.0", 2026 | "bin": { 2027 | "tsc": "bin/tsc", 2028 | "tsserver": "bin/tsserver" 2029 | }, 2030 | "engines": { 2031 | "node": ">=14.17" 2032 | } 2033 | }, 2034 | "node_modules/uint8-varint": { 2035 | "version": "2.0.4", 2036 | "resolved": "https://registry.npmjs.org/uint8-varint/-/uint8-varint-2.0.4.tgz", 2037 | "integrity": "sha512-FwpTa7ZGA/f/EssWAb5/YV6pHgVF1fViKdW8cWaEarjB8t7NyofSWBdOTyFPaGuUG4gx3v1O3PQ8etsiOs3lcw==", 2038 | "license": "Apache-2.0 OR MIT", 2039 | "dependencies": { 2040 | "uint8arraylist": "^2.0.0", 2041 | "uint8arrays": "^5.0.0" 2042 | } 2043 | }, 2044 | "node_modules/uint8arraylist": { 2045 | "version": "2.4.8", 2046 | "resolved": "https://registry.npmjs.org/uint8arraylist/-/uint8arraylist-2.4.8.tgz", 2047 | "integrity": "sha512-vc1PlGOzglLF0eae1M8mLRTBivsvrGsdmJ5RbK3e+QRvRLOZfZhQROTwH/OfyF3+ZVUg9/8hE8bmKP2CvP9quQ==", 2048 | "license": "Apache-2.0 OR MIT", 2049 | "dependencies": { 2050 | "uint8arrays": "^5.0.1" 2051 | } 2052 | }, 2053 | "node_modules/uint8arrays": { 2054 | "version": "5.1.0", 2055 | "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-5.1.0.tgz", 2056 | "integrity": "sha512-vA6nFepEmlSKkMBnLBaUMVvAC4G3CTmO58C12y4sq6WPDOR7mOFYOi7GlrQ4djeSbP6JG9Pv9tJDM97PedRSww==", 2057 | "license": "Apache-2.0 OR MIT", 2058 | "dependencies": { 2059 | "multiformats": "^13.0.0" 2060 | } 2061 | }, 2062 | "node_modules/undici": { 2063 | "version": "5.28.4", 2064 | "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", 2065 | "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", 2066 | "license": "MIT", 2067 | "dependencies": { 2068 | "@fastify/busboy": "^2.0.0" 2069 | }, 2070 | "engines": { 2071 | "node": ">=14.0" 2072 | } 2073 | }, 2074 | "node_modules/undici-types": { 2075 | "version": "6.19.8", 2076 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", 2077 | "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", 2078 | "license": "MIT" 2079 | }, 2080 | "node_modules/unpipe": { 2081 | "version": "1.0.0", 2082 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 2083 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", 2084 | "license": "MIT", 2085 | "engines": { 2086 | "node": ">= 0.8" 2087 | } 2088 | }, 2089 | "node_modules/use-fireproof": { 2090 | "version": "0.19.118", 2091 | "resolved": "https://registry.npmjs.org/use-fireproof/-/use-fireproof-0.19.118.tgz", 2092 | "integrity": "sha512-jwS1PyjhvyDEkB4vtbURc1ZNnugC3w9MWYhaCN7YajUtlm/Vrnn9EMH1cMbjTZIfVDSyVvqDC9CRc3wtR5dUeA==", 2093 | "license": "Apache-2.0 OR MIT", 2094 | "dependencies": { 2095 | "@fireproof/core": "^0.19.118", 2096 | "react": "^18.3.1" 2097 | }, 2098 | "peerDependencies": { 2099 | "@fireproof/core": "^0.19.118", 2100 | "react": "^18.3.1" 2101 | } 2102 | }, 2103 | "node_modules/util-deprecate": { 2104 | "version": "1.0.2", 2105 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2106 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 2107 | "license": "MIT" 2108 | }, 2109 | "node_modules/varint": { 2110 | "version": "6.0.0", 2111 | "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", 2112 | "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", 2113 | "license": "MIT" 2114 | }, 2115 | "node_modules/which": { 2116 | "version": "2.0.2", 2117 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2118 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2119 | "license": "ISC", 2120 | "dependencies": { 2121 | "isexe": "^2.0.0" 2122 | }, 2123 | "bin": { 2124 | "node-which": "bin/node-which" 2125 | }, 2126 | "engines": { 2127 | "node": ">= 8" 2128 | } 2129 | }, 2130 | "node_modules/workerd": { 2131 | "version": "1.20240718.0", 2132 | "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20240718.0.tgz", 2133 | "integrity": "sha512-w7lOLRy0XecQTg/ujTLWBiJJuoQvzB3CdQ6/8Wgex3QxFhV9Pbnh3UbwIuUfMw3OCCPQc4o7y+1P+mISAgp6yg==", 2134 | "hasInstallScript": true, 2135 | "license": "Apache-2.0", 2136 | "bin": { 2137 | "workerd": "bin/workerd" 2138 | }, 2139 | "engines": { 2140 | "node": ">=16" 2141 | }, 2142 | "optionalDependencies": { 2143 | "@cloudflare/workerd-darwin-64": "1.20240718.0", 2144 | "@cloudflare/workerd-darwin-arm64": "1.20240718.0", 2145 | "@cloudflare/workerd-linux-64": "1.20240718.0", 2146 | "@cloudflare/workerd-linux-arm64": "1.20240718.0", 2147 | "@cloudflare/workerd-windows-64": "1.20240718.0" 2148 | } 2149 | }, 2150 | "node_modules/ws": { 2151 | "version": "8.18.0", 2152 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", 2153 | "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", 2154 | "license": "MIT", 2155 | "engines": { 2156 | "node": ">=10.0.0" 2157 | }, 2158 | "peerDependencies": { 2159 | "bufferutil": "^4.0.1", 2160 | "utf-8-validate": ">=5.0.2" 2161 | }, 2162 | "peerDependenciesMeta": { 2163 | "bufferutil": { 2164 | "optional": true 2165 | }, 2166 | "utf-8-validate": { 2167 | "optional": true 2168 | } 2169 | } 2170 | }, 2171 | "node_modules/yaml": { 2172 | "version": "2.6.1", 2173 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", 2174 | "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", 2175 | "license": "ISC", 2176 | "bin": { 2177 | "yaml": "bin.mjs" 2178 | }, 2179 | "engines": { 2180 | "node": ">= 14" 2181 | } 2182 | }, 2183 | "node_modules/yocto-queue": { 2184 | "version": "1.1.1", 2185 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", 2186 | "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", 2187 | "license": "MIT", 2188 | "engines": { 2189 | "node": ">=12.20" 2190 | }, 2191 | "funding": { 2192 | "url": "https://github.com/sponsors/sindresorhus" 2193 | } 2194 | }, 2195 | "node_modules/yoga-wasm-web": { 2196 | "version": "0.3.3", 2197 | "resolved": "https://registry.npmjs.org/yoga-wasm-web/-/yoga-wasm-web-0.3.3.tgz", 2198 | "integrity": "sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==", 2199 | "license": "MIT" 2200 | }, 2201 | "node_modules/youch": { 2202 | "version": "3.3.4", 2203 | "resolved": "https://registry.npmjs.org/youch/-/youch-3.3.4.tgz", 2204 | "integrity": "sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==", 2205 | "license": "MIT", 2206 | "dependencies": { 2207 | "cookie": "^0.7.1", 2208 | "mustache": "^4.2.0", 2209 | "stacktracey": "^2.1.8" 2210 | } 2211 | }, 2212 | "node_modules/zod": { 2213 | "version": "3.23.8", 2214 | "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", 2215 | "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", 2216 | "license": "MIT", 2217 | "funding": { 2218 | "url": "https://github.com/sponsors/colinhacks" 2219 | } 2220 | } 2221 | } 2222 | } 2223 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "todos", 3 | "version": "0.1.0", 4 | "description": "ToDo List using Fireproof", 5 | "private": true, 6 | "type": "module", 7 | "bin": { 8 | "todos": "./build/index.js" 9 | }, 10 | "files": [ 11 | "build" 12 | ], 13 | "scripts": { 14 | "build": "tsc && node -e \"require('fs').chmodSync('build/index.js', '755')\"", 15 | "prepare": "npm run build", 16 | "watch": "tsc --watch", 17 | "inspector": "npx @modelcontextprotocol/inspector build/index.js" 18 | }, 19 | "dependencies": { 20 | "@fireproof/cloud": "^0.19.118", 21 | "@modelcontextprotocol/sdk": "0.6.0", 22 | "use-fireproof": "^0.19.118" 23 | }, 24 | "devDependencies": { 25 | "@types/node": "^20.11.24", 26 | "typescript": "^5.3.3" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | /** 4 | * Simple JSON document server with basic CRUD operations 5 | */ 6 | 7 | import { Server } from "@modelcontextprotocol/sdk/server/index.js"; 8 | import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; 9 | import { 10 | CallToolRequestSchema, 11 | ListToolsRequestSchema, 12 | } from "@modelcontextprotocol/sdk/types.js"; 13 | import { fireproof } from "use-fireproof"; 14 | import { connect } from "@fireproof/cloud"; 15 | 16 | const db = fireproof("json_docs", { public: true }); 17 | 18 | await db.ready(); 19 | 20 | // const connection = await connect(db, 'jchris-entropia-12345'); 21 | // console.log(connection); 22 | 23 | 24 | const server = new Server( 25 | { 26 | name: "json-doc-server", 27 | version: "0.1.0", 28 | }, 29 | { 30 | capabilities: { 31 | tools: { enabled: true } 32 | }, 33 | } 34 | ); 35 | 36 | server.setRequestHandler(ListToolsRequestSchema, async () => { 37 | return { 38 | tools: [ 39 | { 40 | name: "save_json_doc", 41 | description: "Save a JSON document", 42 | inputSchema: { 43 | type: "object", 44 | properties: { 45 | doc: { 46 | type: "object", 47 | description: "JSON document to save" 48 | } 49 | }, 50 | required: ["doc"] 51 | } 52 | }, 53 | { 54 | name: "load_json_doc", 55 | description: "Load a JSON document by ID", 56 | inputSchema: { 57 | type: "object", 58 | properties: { 59 | id: { 60 | type: "string", 61 | description: "ID of document to load" 62 | } 63 | }, 64 | required: ["id"] 65 | } 66 | }, 67 | { 68 | name: "delete_json_doc", 69 | description: "Delete a JSON document by ID", 70 | inputSchema: { 71 | type: "object", 72 | properties: { 73 | id: { 74 | type: "string", 75 | description: "ID of document to delete" 76 | } 77 | }, 78 | required: ["id"] 79 | } 80 | }, 81 | { 82 | name: "query_json_docs", 83 | description: "Query JSON documents sorted by a field", 84 | inputSchema: { 85 | type: "object", 86 | properties: { 87 | sort_field: { 88 | type: "string", 89 | description: "Field to sort results by" 90 | } 91 | }, 92 | required: ["sort_field"] 93 | } 94 | } 95 | ] 96 | }; 97 | }); 98 | 99 | server.setRequestHandler(CallToolRequestSchema, async (request) => { 100 | switch (request.params.name) { 101 | case "save_json_doc": { 102 | const doc = request.params.arguments?.doc; 103 | if (!doc) { 104 | throw new Error("Document is required"); 105 | } 106 | 107 | const response = await db.put({ 108 | ...doc, 109 | created: Date.now() 110 | }); 111 | 112 | return { 113 | content: [{ 114 | type: "text", 115 | text: `Saved document with ID: ${response.id}` 116 | }] 117 | }; 118 | } 119 | 120 | case "delete_json_doc": { 121 | const id = String(request.params.arguments?.id); 122 | if (!id) { 123 | throw new Error("ID is required"); 124 | } 125 | 126 | await db.del(id); 127 | return { 128 | content: [{ 129 | type: "text", 130 | text: `Deleted document with ID: ${id}` 131 | }] 132 | }; 133 | } 134 | 135 | case "load_json_doc": { 136 | const id = String(request.params.arguments?.id); 137 | if (!id) { 138 | throw new Error("ID is required"); 139 | } 140 | 141 | const doc = await db.get(id); 142 | 143 | return { 144 | content: [{ 145 | type: "text", 146 | text: JSON.stringify(doc) 147 | }] 148 | }; 149 | } 150 | 151 | case "query_json_docs": { 152 | const sortField = String(request.params.arguments?.sort_field); 153 | if (!sortField) { 154 | throw new Error("Sort field is required"); 155 | } 156 | 157 | const results = await db.query(sortField, { 158 | includeDocs: true, 159 | descending: true, 160 | limit: 10 161 | }); 162 | 163 | return { 164 | content: [{ 165 | type: "text", 166 | text: JSON.stringify(results.rows.map(row => row.doc)) 167 | }] 168 | }; 169 | } 170 | 171 | default: 172 | throw new Error("Unknown tool"); 173 | } 174 | }); 175 | 176 | /** 177 | * Start the server using stdio transport 178 | */ 179 | async function main() { 180 | const transport = new StdioServerTransport(); 181 | await server.connect(transport); 182 | } 183 | 184 | main().catch((error) => { 185 | console.error("Server error:", error); 186 | process.exit(1); 187 | }); 188 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "module": "Node16", 5 | "moduleResolution": "Node16", 6 | "outDir": "./build", 7 | "rootDir": "./src", 8 | "strict": true, 9 | "esModuleInterop": true, 10 | "skipLibCheck": true, 11 | "forceConsistentCasingInFileNames": true 12 | }, 13 | "include": ["src/**/*"], 14 | "exclude": ["node_modules"] 15 | } 16 | --------------------------------------------------------------------------------