├── .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 |
--------------------------------------------------------------------------------