minchyeom commited on
Commit
34a8e8b
·
1 Parent(s): 48c213f

Remove frontend codebase including React components, styles, assets, and configuration files.

Browse files
bot/__init__.py DELETED
@@ -1,5 +0,0 @@
1
- """Discord bot for chatting with the LLM."""
2
-
3
- from .discord_bot import LLMDiscordBot
4
-
5
- __all__ = ["LLMDiscordBot"]
 
 
 
 
 
 
bot/config.py DELETED
@@ -1,15 +0,0 @@
1
- """Configuration for the Discord bot."""
2
-
3
- from __future__ import annotations
4
-
5
- import os
6
- from typing import Final
7
- from dotenv import load_dotenv
8
- load_dotenv()
9
-
10
- # Discord bot token
11
- DISCORD_TOKEN: Final[str | None] = os.getenv("DISCORD_TOKEN")
12
-
13
- # Default values for chat sessions
14
- DEFAULT_USER_PREFIX: Final[str] = "discord_"
15
- DEFAULT_SESSION: Final[str] = "discord"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bot/discord_bot.py DELETED
@@ -1,133 +0,0 @@
1
- """Implementation of a Discord bot that uses the LLM backend."""
2
-
3
- from __future__ import annotations
4
-
5
-
6
- import os
7
- import tempfile
8
- from pathlib import Path
9
-
10
- import discord
11
- from discord import app_commands
12
- from discord.ext import commands
13
-
14
- from src.chat import ChatSession
15
- from src.db import reset_history as db_reset_history
16
- from src.log import get_logger
17
-
18
- from .config import DEFAULT_SESSION, DEFAULT_USER_PREFIX, DISCORD_TOKEN
19
-
20
- __all__ = ["LLMDiscordBot", "run_bot"]
21
-
22
-
23
- class LLMDiscordBot(commands.Bot):
24
- """Discord bot that interfaces with :class:`ChatSession`."""
25
-
26
- def __init__(self, *, intents: discord.Intents | None = None) -> None:
27
- intents = intents or discord.Intents.all()
28
- super().__init__(command_prefix=None, intents=intents)
29
- self._log = get_logger(self.__class__.__name__)
30
- self.tree.add_command(self.reset_conversation)
31
-
32
- async def _upload_attachments(
33
- self, chat: ChatSession, attachments: list[discord.Attachment]
34
- ) -> list[str]:
35
- """Persist text attachments and return their VM paths."""
36
-
37
- uploaded: list[str] = []
38
- for att in attachments:
39
- if att.content_type and not att.content_type.startswith("text"):
40
- continue
41
- if not att.filename.lower().endswith(".txt") and not (
42
- att.content_type and att.content_type.startswith("text")
43
- ):
44
- continue
45
- try:
46
- data = await att.read()
47
- except Exception:
48
- self._log.exception("Failed to download attachment %s", att.filename)
49
- continue
50
-
51
- with tempfile.NamedTemporaryFile(delete=False) as tmp:
52
- tmp.write(data)
53
- tmp_path = Path(tmp.name)
54
-
55
- try:
56
- vm_path = chat.upload_document(str(tmp_path))
57
- finally:
58
- try:
59
- os.remove(tmp_path)
60
- except OSError:
61
- pass
62
-
63
- uploaded.append(f"{att.filename} -> {vm_path}")
64
- return uploaded
65
-
66
- async def setup_hook(self) -> None: # noqa: D401
67
- await self.tree.sync()
68
-
69
- async def on_ready(self) -> None: # noqa: D401
70
- self._log.info("Logged in as %s (%s)", self.user, self.user.id)
71
-
72
- async def on_message(self, message: discord.Message) -> None: # noqa: D401
73
- if message.author.bot:
74
- return
75
- if not message.content.strip() and not message.attachments:
76
- return
77
-
78
- user_id = f"{DEFAULT_USER_PREFIX}{message.author.id}"
79
- session_id = f"{DEFAULT_SESSION}_{message.channel.id}"
80
-
81
- self._log.debug("Received message from %s: %s", user_id, message.content)
82
-
83
- async with ChatSession(user=user_id, session=session_id) as chat:
84
- uploaded_paths: list[str] = []
85
- if message.attachments:
86
- uploaded_paths = await self._upload_attachments(chat, message.attachments)
87
-
88
- reply: str | None = None
89
- if message.content.strip():
90
- try:
91
- reply = await chat.chat(message.content)
92
- except Exception:
93
- self._log.exception("Failed to generate reply")
94
- return
95
-
96
- responses: list[str] = []
97
- if uploaded_paths:
98
- responses.append("Uploaded:\n" + "\n".join(uploaded_paths))
99
- if reply:
100
- responses.append(reply)
101
-
102
- if responses:
103
- await message.reply("\n\n".join(responses), mention_author=False)
104
-
105
- @app_commands.command(
106
- name="reset",
107
- description="Reset conversation history for this channel.",
108
- )
109
- async def reset_conversation(self, interaction: discord.Interaction) -> None:
110
- """Delete all messages stored for the user and channel."""
111
-
112
- user_id = f"{DEFAULT_USER_PREFIX}{interaction.user.id}"
113
- session_id = f"{DEFAULT_SESSION}_{interaction.channel_id}"
114
- deleted = db_reset_history(user_id, session_id)
115
- if deleted:
116
- msg = f"Conversation history cleared ({deleted} messages removed)."
117
- else:
118
- msg = "No conversation history found for this channel."
119
- await interaction.response.send_message(msg, ephemeral=True)
120
-
121
-
122
- def run_bot(token: str | None = None) -> None:
123
- """Run the Discord bot using the provided token."""
124
- token = token or DISCORD_TOKEN
125
- if not token:
126
- raise RuntimeError("Discord token not provided")
127
-
128
- bot = LLMDiscordBot()
129
- bot.run(token)
130
-
131
-
132
- if __name__ == "__main__": # pragma: no cover - manual start
133
- run_bot()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/.env.example DELETED
@@ -1 +0,0 @@
1
- VITE_API_BASE_URL=http://localhost:8000
 
 
frontend/.gitignore DELETED
@@ -1,24 +0,0 @@
1
- # Logs
2
- logs
3
- *.log
4
- npm-debug.log*
5
- yarn-debug.log*
6
- yarn-error.log*
7
- pnpm-debug.log*
8
- lerna-debug.log*
9
-
10
- node_modules
11
- dist
12
- dist-ssr
13
- *.local
14
-
15
- # Editor directories and files
16
- .vscode/*
17
- !.vscode/extensions.json
18
- .idea
19
- .DS_Store
20
- *.suo
21
- *.ntvs*
22
- *.njsproj
23
- *.sln
24
- *.sw?
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/README.md DELETED
@@ -1,16 +0,0 @@
1
- # LLM Chat Frontend
2
-
3
- This React application provides a simple chat interface for interacting with the API provided by the backend.
4
-
5
- ## Development
6
-
7
- ```bash
8
- npm install
9
- npm run dev
10
- ```
11
-
12
- Set `VITE_API_BASE_URL` in a `.env` file if the backend is not running on `http://localhost:8000`.
13
-
14
- ## Production Build
15
-
16
- Run `npm run build` to generate the production bundle in the `dist` directory.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/eslint.config.js DELETED
@@ -1,33 +0,0 @@
1
- import js from '@eslint/js'
2
- import globals from 'globals'
3
- import reactHooks from 'eslint-plugin-react-hooks'
4
- import reactRefresh from 'eslint-plugin-react-refresh'
5
-
6
- export default [
7
- { ignores: ['dist'] },
8
- {
9
- files: ['**/*.{js,jsx}'],
10
- languageOptions: {
11
- ecmaVersion: 2020,
12
- globals: globals.browser,
13
- parserOptions: {
14
- ecmaVersion: 'latest',
15
- ecmaFeatures: { jsx: true },
16
- sourceType: 'module',
17
- },
18
- },
19
- plugins: {
20
- 'react-hooks': reactHooks,
21
- 'react-refresh': reactRefresh,
22
- },
23
- rules: {
24
- ...js.configs.recommended.rules,
25
- ...reactHooks.configs.recommended.rules,
26
- 'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }],
27
- 'react-refresh/only-export-components': [
28
- 'warn',
29
- { allowConstantExport: true },
30
- ],
31
- },
32
- },
33
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/index.html DELETED
@@ -1,13 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>LLM Chat</title>
8
- </head>
9
- <body>
10
- <div id="root"></div>
11
- <script type="module" src="/src/main.jsx"></script>
12
- </body>
13
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/package-lock.json DELETED
@@ -1,2799 +0,0 @@
1
- {
2
- "name": "frontend",
3
- "version": "0.0.0",
4
- "lockfileVersion": 3,
5
- "requires": true,
6
- "packages": {
7
- "": {
8
- "name": "frontend",
9
- "version": "0.0.0",
10
- "dependencies": {
11
- "react": "^19.1.0",
12
- "react-dom": "^19.1.0"
13
- },
14
- "devDependencies": {
15
- "@eslint/js": "^9.25.0",
16
- "@types/react": "^19.1.2",
17
- "@types/react-dom": "^19.1.2",
18
- "@vitejs/plugin-react": "^4.4.1",
19
- "eslint": "^9.25.0",
20
- "eslint-plugin-react-hooks": "^5.2.0",
21
- "eslint-plugin-react-refresh": "^0.4.19",
22
- "globals": "^16.0.0",
23
- "vite": "^6.3.5"
24
- }
25
- },
26
- "node_modules/@ampproject/remapping": {
27
- "version": "2.3.0",
28
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
29
- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
30
- "dev": true,
31
- "license": "Apache-2.0",
32
- "dependencies": {
33
- "@jridgewell/gen-mapping": "^0.3.5",
34
- "@jridgewell/trace-mapping": "^0.3.24"
35
- },
36
- "engines": {
37
- "node": ">=6.0.0"
38
- }
39
- },
40
- "node_modules/@babel/code-frame": {
41
- "version": "7.27.1",
42
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
43
- "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
44
- "dev": true,
45
- "license": "MIT",
46
- "dependencies": {
47
- "@babel/helper-validator-identifier": "^7.27.1",
48
- "js-tokens": "^4.0.0",
49
- "picocolors": "^1.1.1"
50
- },
51
- "engines": {
52
- "node": ">=6.9.0"
53
- }
54
- },
55
- "node_modules/@babel/compat-data": {
56
- "version": "7.27.5",
57
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz",
58
- "integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==",
59
- "dev": true,
60
- "license": "MIT",
61
- "engines": {
62
- "node": ">=6.9.0"
63
- }
64
- },
65
- "node_modules/@babel/core": {
66
- "version": "7.27.4",
67
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz",
68
- "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==",
69
- "dev": true,
70
- "license": "MIT",
71
- "dependencies": {
72
- "@ampproject/remapping": "^2.2.0",
73
- "@babel/code-frame": "^7.27.1",
74
- "@babel/generator": "^7.27.3",
75
- "@babel/helper-compilation-targets": "^7.27.2",
76
- "@babel/helper-module-transforms": "^7.27.3",
77
- "@babel/helpers": "^7.27.4",
78
- "@babel/parser": "^7.27.4",
79
- "@babel/template": "^7.27.2",
80
- "@babel/traverse": "^7.27.4",
81
- "@babel/types": "^7.27.3",
82
- "convert-source-map": "^2.0.0",
83
- "debug": "^4.1.0",
84
- "gensync": "^1.0.0-beta.2",
85
- "json5": "^2.2.3",
86
- "semver": "^6.3.1"
87
- },
88
- "engines": {
89
- "node": ">=6.9.0"
90
- },
91
- "funding": {
92
- "type": "opencollective",
93
- "url": "https://opencollective.com/babel"
94
- }
95
- },
96
- "node_modules/@babel/generator": {
97
- "version": "7.27.5",
98
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz",
99
- "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==",
100
- "dev": true,
101
- "license": "MIT",
102
- "dependencies": {
103
- "@babel/parser": "^7.27.5",
104
- "@babel/types": "^7.27.3",
105
- "@jridgewell/gen-mapping": "^0.3.5",
106
- "@jridgewell/trace-mapping": "^0.3.25",
107
- "jsesc": "^3.0.2"
108
- },
109
- "engines": {
110
- "node": ">=6.9.0"
111
- }
112
- },
113
- "node_modules/@babel/helper-compilation-targets": {
114
- "version": "7.27.2",
115
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
116
- "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
117
- "dev": true,
118
- "license": "MIT",
119
- "dependencies": {
120
- "@babel/compat-data": "^7.27.2",
121
- "@babel/helper-validator-option": "^7.27.1",
122
- "browserslist": "^4.24.0",
123
- "lru-cache": "^5.1.1",
124
- "semver": "^6.3.1"
125
- },
126
- "engines": {
127
- "node": ">=6.9.0"
128
- }
129
- },
130
- "node_modules/@babel/helper-module-imports": {
131
- "version": "7.27.1",
132
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
133
- "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
134
- "dev": true,
135
- "license": "MIT",
136
- "dependencies": {
137
- "@babel/traverse": "^7.27.1",
138
- "@babel/types": "^7.27.1"
139
- },
140
- "engines": {
141
- "node": ">=6.9.0"
142
- }
143
- },
144
- "node_modules/@babel/helper-module-transforms": {
145
- "version": "7.27.3",
146
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz",
147
- "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
148
- "dev": true,
149
- "license": "MIT",
150
- "dependencies": {
151
- "@babel/helper-module-imports": "^7.27.1",
152
- "@babel/helper-validator-identifier": "^7.27.1",
153
- "@babel/traverse": "^7.27.3"
154
- },
155
- "engines": {
156
- "node": ">=6.9.0"
157
- },
158
- "peerDependencies": {
159
- "@babel/core": "^7.0.0"
160
- }
161
- },
162
- "node_modules/@babel/helper-plugin-utils": {
163
- "version": "7.27.1",
164
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
165
- "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
166
- "dev": true,
167
- "license": "MIT",
168
- "engines": {
169
- "node": ">=6.9.0"
170
- }
171
- },
172
- "node_modules/@babel/helper-string-parser": {
173
- "version": "7.27.1",
174
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
175
- "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
176
- "dev": true,
177
- "license": "MIT",
178
- "engines": {
179
- "node": ">=6.9.0"
180
- }
181
- },
182
- "node_modules/@babel/helper-validator-identifier": {
183
- "version": "7.27.1",
184
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
185
- "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
186
- "dev": true,
187
- "license": "MIT",
188
- "engines": {
189
- "node": ">=6.9.0"
190
- }
191
- },
192
- "node_modules/@babel/helper-validator-option": {
193
- "version": "7.27.1",
194
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
195
- "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
196
- "dev": true,
197
- "license": "MIT",
198
- "engines": {
199
- "node": ">=6.9.0"
200
- }
201
- },
202
- "node_modules/@babel/helpers": {
203
- "version": "7.27.6",
204
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz",
205
- "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==",
206
- "dev": true,
207
- "license": "MIT",
208
- "dependencies": {
209
- "@babel/template": "^7.27.2",
210
- "@babel/types": "^7.27.6"
211
- },
212
- "engines": {
213
- "node": ">=6.9.0"
214
- }
215
- },
216
- "node_modules/@babel/parser": {
217
- "version": "7.27.5",
218
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz",
219
- "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==",
220
- "dev": true,
221
- "license": "MIT",
222
- "dependencies": {
223
- "@babel/types": "^7.27.3"
224
- },
225
- "bin": {
226
- "parser": "bin/babel-parser.js"
227
- },
228
- "engines": {
229
- "node": ">=6.0.0"
230
- }
231
- },
232
- "node_modules/@babel/plugin-transform-react-jsx-self": {
233
- "version": "7.27.1",
234
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
235
- "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
236
- "dev": true,
237
- "license": "MIT",
238
- "dependencies": {
239
- "@babel/helper-plugin-utils": "^7.27.1"
240
- },
241
- "engines": {
242
- "node": ">=6.9.0"
243
- },
244
- "peerDependencies": {
245
- "@babel/core": "^7.0.0-0"
246
- }
247
- },
248
- "node_modules/@babel/plugin-transform-react-jsx-source": {
249
- "version": "7.27.1",
250
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
251
- "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
252
- "dev": true,
253
- "license": "MIT",
254
- "dependencies": {
255
- "@babel/helper-plugin-utils": "^7.27.1"
256
- },
257
- "engines": {
258
- "node": ">=6.9.0"
259
- },
260
- "peerDependencies": {
261
- "@babel/core": "^7.0.0-0"
262
- }
263
- },
264
- "node_modules/@babel/template": {
265
- "version": "7.27.2",
266
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
267
- "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
268
- "dev": true,
269
- "license": "MIT",
270
- "dependencies": {
271
- "@babel/code-frame": "^7.27.1",
272
- "@babel/parser": "^7.27.2",
273
- "@babel/types": "^7.27.1"
274
- },
275
- "engines": {
276
- "node": ">=6.9.0"
277
- }
278
- },
279
- "node_modules/@babel/traverse": {
280
- "version": "7.27.4",
281
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz",
282
- "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==",
283
- "dev": true,
284
- "license": "MIT",
285
- "dependencies": {
286
- "@babel/code-frame": "^7.27.1",
287
- "@babel/generator": "^7.27.3",
288
- "@babel/parser": "^7.27.4",
289
- "@babel/template": "^7.27.2",
290
- "@babel/types": "^7.27.3",
291
- "debug": "^4.3.1",
292
- "globals": "^11.1.0"
293
- },
294
- "engines": {
295
- "node": ">=6.9.0"
296
- }
297
- },
298
- "node_modules/@babel/traverse/node_modules/globals": {
299
- "version": "11.12.0",
300
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
301
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
302
- "dev": true,
303
- "license": "MIT",
304
- "engines": {
305
- "node": ">=4"
306
- }
307
- },
308
- "node_modules/@babel/types": {
309
- "version": "7.27.6",
310
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz",
311
- "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==",
312
- "dev": true,
313
- "license": "MIT",
314
- "dependencies": {
315
- "@babel/helper-string-parser": "^7.27.1",
316
- "@babel/helper-validator-identifier": "^7.27.1"
317
- },
318
- "engines": {
319
- "node": ">=6.9.0"
320
- }
321
- },
322
- "node_modules/@esbuild/aix-ppc64": {
323
- "version": "0.25.5",
324
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz",
325
- "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==",
326
- "cpu": [
327
- "ppc64"
328
- ],
329
- "dev": true,
330
- "license": "MIT",
331
- "optional": true,
332
- "os": [
333
- "aix"
334
- ],
335
- "engines": {
336
- "node": ">=18"
337
- }
338
- },
339
- "node_modules/@esbuild/android-arm": {
340
- "version": "0.25.5",
341
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz",
342
- "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==",
343
- "cpu": [
344
- "arm"
345
- ],
346
- "dev": true,
347
- "license": "MIT",
348
- "optional": true,
349
- "os": [
350
- "android"
351
- ],
352
- "engines": {
353
- "node": ">=18"
354
- }
355
- },
356
- "node_modules/@esbuild/android-arm64": {
357
- "version": "0.25.5",
358
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz",
359
- "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==",
360
- "cpu": [
361
- "arm64"
362
- ],
363
- "dev": true,
364
- "license": "MIT",
365
- "optional": true,
366
- "os": [
367
- "android"
368
- ],
369
- "engines": {
370
- "node": ">=18"
371
- }
372
- },
373
- "node_modules/@esbuild/android-x64": {
374
- "version": "0.25.5",
375
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz",
376
- "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==",
377
- "cpu": [
378
- "x64"
379
- ],
380
- "dev": true,
381
- "license": "MIT",
382
- "optional": true,
383
- "os": [
384
- "android"
385
- ],
386
- "engines": {
387
- "node": ">=18"
388
- }
389
- },
390
- "node_modules/@esbuild/darwin-arm64": {
391
- "version": "0.25.5",
392
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz",
393
- "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==",
394
- "cpu": [
395
- "arm64"
396
- ],
397
- "dev": true,
398
- "license": "MIT",
399
- "optional": true,
400
- "os": [
401
- "darwin"
402
- ],
403
- "engines": {
404
- "node": ">=18"
405
- }
406
- },
407
- "node_modules/@esbuild/darwin-x64": {
408
- "version": "0.25.5",
409
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz",
410
- "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==",
411
- "cpu": [
412
- "x64"
413
- ],
414
- "dev": true,
415
- "license": "MIT",
416
- "optional": true,
417
- "os": [
418
- "darwin"
419
- ],
420
- "engines": {
421
- "node": ">=18"
422
- }
423
- },
424
- "node_modules/@esbuild/freebsd-arm64": {
425
- "version": "0.25.5",
426
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz",
427
- "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==",
428
- "cpu": [
429
- "arm64"
430
- ],
431
- "dev": true,
432
- "license": "MIT",
433
- "optional": true,
434
- "os": [
435
- "freebsd"
436
- ],
437
- "engines": {
438
- "node": ">=18"
439
- }
440
- },
441
- "node_modules/@esbuild/freebsd-x64": {
442
- "version": "0.25.5",
443
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz",
444
- "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==",
445
- "cpu": [
446
- "x64"
447
- ],
448
- "dev": true,
449
- "license": "MIT",
450
- "optional": true,
451
- "os": [
452
- "freebsd"
453
- ],
454
- "engines": {
455
- "node": ">=18"
456
- }
457
- },
458
- "node_modules/@esbuild/linux-arm": {
459
- "version": "0.25.5",
460
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz",
461
- "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==",
462
- "cpu": [
463
- "arm"
464
- ],
465
- "dev": true,
466
- "license": "MIT",
467
- "optional": true,
468
- "os": [
469
- "linux"
470
- ],
471
- "engines": {
472
- "node": ">=18"
473
- }
474
- },
475
- "node_modules/@esbuild/linux-arm64": {
476
- "version": "0.25.5",
477
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz",
478
- "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==",
479
- "cpu": [
480
- "arm64"
481
- ],
482
- "dev": true,
483
- "license": "MIT",
484
- "optional": true,
485
- "os": [
486
- "linux"
487
- ],
488
- "engines": {
489
- "node": ">=18"
490
- }
491
- },
492
- "node_modules/@esbuild/linux-ia32": {
493
- "version": "0.25.5",
494
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz",
495
- "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==",
496
- "cpu": [
497
- "ia32"
498
- ],
499
- "dev": true,
500
- "license": "MIT",
501
- "optional": true,
502
- "os": [
503
- "linux"
504
- ],
505
- "engines": {
506
- "node": ">=18"
507
- }
508
- },
509
- "node_modules/@esbuild/linux-loong64": {
510
- "version": "0.25.5",
511
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz",
512
- "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==",
513
- "cpu": [
514
- "loong64"
515
- ],
516
- "dev": true,
517
- "license": "MIT",
518
- "optional": true,
519
- "os": [
520
- "linux"
521
- ],
522
- "engines": {
523
- "node": ">=18"
524
- }
525
- },
526
- "node_modules/@esbuild/linux-mips64el": {
527
- "version": "0.25.5",
528
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz",
529
- "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==",
530
- "cpu": [
531
- "mips64el"
532
- ],
533
- "dev": true,
534
- "license": "MIT",
535
- "optional": true,
536
- "os": [
537
- "linux"
538
- ],
539
- "engines": {
540
- "node": ">=18"
541
- }
542
- },
543
- "node_modules/@esbuild/linux-ppc64": {
544
- "version": "0.25.5",
545
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz",
546
- "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==",
547
- "cpu": [
548
- "ppc64"
549
- ],
550
- "dev": true,
551
- "license": "MIT",
552
- "optional": true,
553
- "os": [
554
- "linux"
555
- ],
556
- "engines": {
557
- "node": ">=18"
558
- }
559
- },
560
- "node_modules/@esbuild/linux-riscv64": {
561
- "version": "0.25.5",
562
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz",
563
- "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==",
564
- "cpu": [
565
- "riscv64"
566
- ],
567
- "dev": true,
568
- "license": "MIT",
569
- "optional": true,
570
- "os": [
571
- "linux"
572
- ],
573
- "engines": {
574
- "node": ">=18"
575
- }
576
- },
577
- "node_modules/@esbuild/linux-s390x": {
578
- "version": "0.25.5",
579
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz",
580
- "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==",
581
- "cpu": [
582
- "s390x"
583
- ],
584
- "dev": true,
585
- "license": "MIT",
586
- "optional": true,
587
- "os": [
588
- "linux"
589
- ],
590
- "engines": {
591
- "node": ">=18"
592
- }
593
- },
594
- "node_modules/@esbuild/linux-x64": {
595
- "version": "0.25.5",
596
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz",
597
- "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==",
598
- "cpu": [
599
- "x64"
600
- ],
601
- "dev": true,
602
- "license": "MIT",
603
- "optional": true,
604
- "os": [
605
- "linux"
606
- ],
607
- "engines": {
608
- "node": ">=18"
609
- }
610
- },
611
- "node_modules/@esbuild/netbsd-arm64": {
612
- "version": "0.25.5",
613
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz",
614
- "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==",
615
- "cpu": [
616
- "arm64"
617
- ],
618
- "dev": true,
619
- "license": "MIT",
620
- "optional": true,
621
- "os": [
622
- "netbsd"
623
- ],
624
- "engines": {
625
- "node": ">=18"
626
- }
627
- },
628
- "node_modules/@esbuild/netbsd-x64": {
629
- "version": "0.25.5",
630
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz",
631
- "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==",
632
- "cpu": [
633
- "x64"
634
- ],
635
- "dev": true,
636
- "license": "MIT",
637
- "optional": true,
638
- "os": [
639
- "netbsd"
640
- ],
641
- "engines": {
642
- "node": ">=18"
643
- }
644
- },
645
- "node_modules/@esbuild/openbsd-arm64": {
646
- "version": "0.25.5",
647
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz",
648
- "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==",
649
- "cpu": [
650
- "arm64"
651
- ],
652
- "dev": true,
653
- "license": "MIT",
654
- "optional": true,
655
- "os": [
656
- "openbsd"
657
- ],
658
- "engines": {
659
- "node": ">=18"
660
- }
661
- },
662
- "node_modules/@esbuild/openbsd-x64": {
663
- "version": "0.25.5",
664
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz",
665
- "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==",
666
- "cpu": [
667
- "x64"
668
- ],
669
- "dev": true,
670
- "license": "MIT",
671
- "optional": true,
672
- "os": [
673
- "openbsd"
674
- ],
675
- "engines": {
676
- "node": ">=18"
677
- }
678
- },
679
- "node_modules/@esbuild/sunos-x64": {
680
- "version": "0.25.5",
681
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz",
682
- "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==",
683
- "cpu": [
684
- "x64"
685
- ],
686
- "dev": true,
687
- "license": "MIT",
688
- "optional": true,
689
- "os": [
690
- "sunos"
691
- ],
692
- "engines": {
693
- "node": ">=18"
694
- }
695
- },
696
- "node_modules/@esbuild/win32-arm64": {
697
- "version": "0.25.5",
698
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz",
699
- "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==",
700
- "cpu": [
701
- "arm64"
702
- ],
703
- "dev": true,
704
- "license": "MIT",
705
- "optional": true,
706
- "os": [
707
- "win32"
708
- ],
709
- "engines": {
710
- "node": ">=18"
711
- }
712
- },
713
- "node_modules/@esbuild/win32-ia32": {
714
- "version": "0.25.5",
715
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz",
716
- "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==",
717
- "cpu": [
718
- "ia32"
719
- ],
720
- "dev": true,
721
- "license": "MIT",
722
- "optional": true,
723
- "os": [
724
- "win32"
725
- ],
726
- "engines": {
727
- "node": ">=18"
728
- }
729
- },
730
- "node_modules/@esbuild/win32-x64": {
731
- "version": "0.25.5",
732
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz",
733
- "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==",
734
- "cpu": [
735
- "x64"
736
- ],
737
- "dev": true,
738
- "license": "MIT",
739
- "optional": true,
740
- "os": [
741
- "win32"
742
- ],
743
- "engines": {
744
- "node": ">=18"
745
- }
746
- },
747
- "node_modules/@eslint-community/eslint-utils": {
748
- "version": "4.7.0",
749
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
750
- "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
751
- "dev": true,
752
- "license": "MIT",
753
- "dependencies": {
754
- "eslint-visitor-keys": "^3.4.3"
755
- },
756
- "engines": {
757
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
758
- },
759
- "funding": {
760
- "url": "https://opencollective.com/eslint"
761
- },
762
- "peerDependencies": {
763
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
764
- }
765
- },
766
- "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
767
- "version": "3.4.3",
768
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
769
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
770
- "dev": true,
771
- "license": "Apache-2.0",
772
- "engines": {
773
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
774
- },
775
- "funding": {
776
- "url": "https://opencollective.com/eslint"
777
- }
778
- },
779
- "node_modules/@eslint-community/regexpp": {
780
- "version": "4.12.1",
781
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
782
- "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
783
- "dev": true,
784
- "license": "MIT",
785
- "engines": {
786
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
787
- }
788
- },
789
- "node_modules/@eslint/config-array": {
790
- "version": "0.20.0",
791
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz",
792
- "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==",
793
- "dev": true,
794
- "license": "Apache-2.0",
795
- "dependencies": {
796
- "@eslint/object-schema": "^2.1.6",
797
- "debug": "^4.3.1",
798
- "minimatch": "^3.1.2"
799
- },
800
- "engines": {
801
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
802
- }
803
- },
804
- "node_modules/@eslint/config-helpers": {
805
- "version": "0.2.2",
806
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz",
807
- "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==",
808
- "dev": true,
809
- "license": "Apache-2.0",
810
- "engines": {
811
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
812
- }
813
- },
814
- "node_modules/@eslint/core": {
815
- "version": "0.14.0",
816
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz",
817
- "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==",
818
- "dev": true,
819
- "license": "Apache-2.0",
820
- "dependencies": {
821
- "@types/json-schema": "^7.0.15"
822
- },
823
- "engines": {
824
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
825
- }
826
- },
827
- "node_modules/@eslint/eslintrc": {
828
- "version": "3.3.1",
829
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
830
- "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
831
- "dev": true,
832
- "license": "MIT",
833
- "dependencies": {
834
- "ajv": "^6.12.4",
835
- "debug": "^4.3.2",
836
- "espree": "^10.0.1",
837
- "globals": "^14.0.0",
838
- "ignore": "^5.2.0",
839
- "import-fresh": "^3.2.1",
840
- "js-yaml": "^4.1.0",
841
- "minimatch": "^3.1.2",
842
- "strip-json-comments": "^3.1.1"
843
- },
844
- "engines": {
845
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
846
- },
847
- "funding": {
848
- "url": "https://opencollective.com/eslint"
849
- }
850
- },
851
- "node_modules/@eslint/eslintrc/node_modules/globals": {
852
- "version": "14.0.0",
853
- "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
854
- "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
855
- "dev": true,
856
- "license": "MIT",
857
- "engines": {
858
- "node": ">=18"
859
- },
860
- "funding": {
861
- "url": "https://github.com/sponsors/sindresorhus"
862
- }
863
- },
864
- "node_modules/@eslint/js": {
865
- "version": "9.28.0",
866
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.28.0.tgz",
867
- "integrity": "sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==",
868
- "dev": true,
869
- "license": "MIT",
870
- "engines": {
871
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
872
- },
873
- "funding": {
874
- "url": "https://eslint.org/donate"
875
- }
876
- },
877
- "node_modules/@eslint/object-schema": {
878
- "version": "2.1.6",
879
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
880
- "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
881
- "dev": true,
882
- "license": "Apache-2.0",
883
- "engines": {
884
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
885
- }
886
- },
887
- "node_modules/@eslint/plugin-kit": {
888
- "version": "0.3.1",
889
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz",
890
- "integrity": "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==",
891
- "dev": true,
892
- "license": "Apache-2.0",
893
- "dependencies": {
894
- "@eslint/core": "^0.14.0",
895
- "levn": "^0.4.1"
896
- },
897
- "engines": {
898
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
899
- }
900
- },
901
- "node_modules/@humanfs/core": {
902
- "version": "0.19.1",
903
- "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
904
- "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
905
- "dev": true,
906
- "license": "Apache-2.0",
907
- "engines": {
908
- "node": ">=18.18.0"
909
- }
910
- },
911
- "node_modules/@humanfs/node": {
912
- "version": "0.16.6",
913
- "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
914
- "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
915
- "dev": true,
916
- "license": "Apache-2.0",
917
- "dependencies": {
918
- "@humanfs/core": "^0.19.1",
919
- "@humanwhocodes/retry": "^0.3.0"
920
- },
921
- "engines": {
922
- "node": ">=18.18.0"
923
- }
924
- },
925
- "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": {
926
- "version": "0.3.1",
927
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
928
- "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
929
- "dev": true,
930
- "license": "Apache-2.0",
931
- "engines": {
932
- "node": ">=18.18"
933
- },
934
- "funding": {
935
- "type": "github",
936
- "url": "https://github.com/sponsors/nzakas"
937
- }
938
- },
939
- "node_modules/@humanwhocodes/module-importer": {
940
- "version": "1.0.1",
941
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
942
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
943
- "dev": true,
944
- "license": "Apache-2.0",
945
- "engines": {
946
- "node": ">=12.22"
947
- },
948
- "funding": {
949
- "type": "github",
950
- "url": "https://github.com/sponsors/nzakas"
951
- }
952
- },
953
- "node_modules/@humanwhocodes/retry": {
954
- "version": "0.4.3",
955
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
956
- "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
957
- "dev": true,
958
- "license": "Apache-2.0",
959
- "engines": {
960
- "node": ">=18.18"
961
- },
962
- "funding": {
963
- "type": "github",
964
- "url": "https://github.com/sponsors/nzakas"
965
- }
966
- },
967
- "node_modules/@jridgewell/gen-mapping": {
968
- "version": "0.3.8",
969
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
970
- "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
971
- "dev": true,
972
- "license": "MIT",
973
- "dependencies": {
974
- "@jridgewell/set-array": "^1.2.1",
975
- "@jridgewell/sourcemap-codec": "^1.4.10",
976
- "@jridgewell/trace-mapping": "^0.3.24"
977
- },
978
- "engines": {
979
- "node": ">=6.0.0"
980
- }
981
- },
982
- "node_modules/@jridgewell/resolve-uri": {
983
- "version": "3.1.2",
984
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
985
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
986
- "dev": true,
987
- "license": "MIT",
988
- "engines": {
989
- "node": ">=6.0.0"
990
- }
991
- },
992
- "node_modules/@jridgewell/set-array": {
993
- "version": "1.2.1",
994
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
995
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
996
- "dev": true,
997
- "license": "MIT",
998
- "engines": {
999
- "node": ">=6.0.0"
1000
- }
1001
- },
1002
- "node_modules/@jridgewell/sourcemap-codec": {
1003
- "version": "1.5.0",
1004
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
1005
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
1006
- "dev": true,
1007
- "license": "MIT"
1008
- },
1009
- "node_modules/@jridgewell/trace-mapping": {
1010
- "version": "0.3.25",
1011
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
1012
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
1013
- "dev": true,
1014
- "license": "MIT",
1015
- "dependencies": {
1016
- "@jridgewell/resolve-uri": "^3.1.0",
1017
- "@jridgewell/sourcemap-codec": "^1.4.14"
1018
- }
1019
- },
1020
- "node_modules/@rolldown/pluginutils": {
1021
- "version": "1.0.0-beta.9",
1022
- "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.9.tgz",
1023
- "integrity": "sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==",
1024
- "dev": true,
1025
- "license": "MIT"
1026
- },
1027
- "node_modules/@rollup/rollup-android-arm-eabi": {
1028
- "version": "4.41.2",
1029
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.2.tgz",
1030
- "integrity": "sha512-YvIQXGGDzbOpkLuFcjGs+aiAi38D8FCyJanIdlcV2m9DWMJpHTSY8L9piO93VHBLRoe8O9C/FiycjnJ8+aP1tg==",
1031
- "cpu": [
1032
- "arm"
1033
- ],
1034
- "dev": true,
1035
- "license": "MIT",
1036
- "optional": true,
1037
- "os": [
1038
- "android"
1039
- ]
1040
- },
1041
- "node_modules/@rollup/rollup-android-arm64": {
1042
- "version": "4.41.2",
1043
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.2.tgz",
1044
- "integrity": "sha512-8AVWhLnN9FteevGP+9pj/Y79vqE9TdziZTe5XkN5Z9+9QY7TEBbr4iz2te8/vXbLSLEdmaQx+o2GWXrLXDKGPg==",
1045
- "cpu": [
1046
- "arm64"
1047
- ],
1048
- "dev": true,
1049
- "license": "MIT",
1050
- "optional": true,
1051
- "os": [
1052
- "android"
1053
- ]
1054
- },
1055
- "node_modules/@rollup/rollup-darwin-arm64": {
1056
- "version": "4.41.2",
1057
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.2.tgz",
1058
- "integrity": "sha512-w/idsvFiipvVGDcXKu1pdiIEnh9V63NPjpo5E48BbbrhUzEQthVXylKjYKj9lgX+89Ao36BxArkKPxxs7aXn3g==",
1059
- "cpu": [
1060
- "arm64"
1061
- ],
1062
- "dev": true,
1063
- "license": "MIT",
1064
- "optional": true,
1065
- "os": [
1066
- "darwin"
1067
- ]
1068
- },
1069
- "node_modules/@rollup/rollup-darwin-x64": {
1070
- "version": "4.41.2",
1071
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.2.tgz",
1072
- "integrity": "sha512-oNUD4Kywoild1lsuUu1jydg3+IdQbyg4JNZb1+3Voh/revkYxMqMl4a/sZw5z+BSgFbXK6rR0RGutnHO8QS53g==",
1073
- "cpu": [
1074
- "x64"
1075
- ],
1076
- "dev": true,
1077
- "license": "MIT",
1078
- "optional": true,
1079
- "os": [
1080
- "darwin"
1081
- ]
1082
- },
1083
- "node_modules/@rollup/rollup-freebsd-arm64": {
1084
- "version": "4.41.2",
1085
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.2.tgz",
1086
- "integrity": "sha512-yKXgW9UF2f78/PaSAFgDJbrLB/aETxH98jJFIpqESLyhyRmEqZl1dqAoy0IigJJZdwP+ZJdLw2isKiwb1wAqcA==",
1087
- "cpu": [
1088
- "arm64"
1089
- ],
1090
- "dev": true,
1091
- "license": "MIT",
1092
- "optional": true,
1093
- "os": [
1094
- "freebsd"
1095
- ]
1096
- },
1097
- "node_modules/@rollup/rollup-freebsd-x64": {
1098
- "version": "4.41.2",
1099
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.2.tgz",
1100
- "integrity": "sha512-ye4rQ80/fAIcUyIil7S/IzGpHvlPUoZvUQSq0OmU+LXb/I9E5Brh7PKJ/K0plsLCQx9Hx01526Uf4Iy8RqmLJw==",
1101
- "cpu": [
1102
- "x64"
1103
- ],
1104
- "dev": true,
1105
- "license": "MIT",
1106
- "optional": true,
1107
- "os": [
1108
- "freebsd"
1109
- ]
1110
- },
1111
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
1112
- "version": "4.41.2",
1113
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.2.tgz",
1114
- "integrity": "sha512-q2aqiDKNKNj9jG/6JIHakx1hmj6A8bxc3U6rpZjL8znx3O4OGpPJcyEiJSxmFd8olpjfRezh7PONU+3RTQmj0A==",
1115
- "cpu": [
1116
- "arm"
1117
- ],
1118
- "dev": true,
1119
- "license": "MIT",
1120
- "optional": true,
1121
- "os": [
1122
- "linux"
1123
- ]
1124
- },
1125
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
1126
- "version": "4.41.2",
1127
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.2.tgz",
1128
- "integrity": "sha512-qDtvGRNcj2SCY+XFV24s6/vOV46fktFa3/AtedKLVJZdO/WGyOtDDq2zF7nNGhzJa0Tx7bvJ92z9PjjF7nKbBg==",
1129
- "cpu": [
1130
- "arm"
1131
- ],
1132
- "dev": true,
1133
- "license": "MIT",
1134
- "optional": true,
1135
- "os": [
1136
- "linux"
1137
- ]
1138
- },
1139
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
1140
- "version": "4.41.2",
1141
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.2.tgz",
1142
- "integrity": "sha512-Cg1ywrBHMMCj4Il0QdcVamt5UK9HQ1ntNUXzhAw4yZ2rTJGFkjnkYyEPEpunb1L9orm+g0kvtZUydShTtLUNkA==",
1143
- "cpu": [
1144
- "arm64"
1145
- ],
1146
- "dev": true,
1147
- "license": "MIT",
1148
- "optional": true,
1149
- "os": [
1150
- "linux"
1151
- ]
1152
- },
1153
- "node_modules/@rollup/rollup-linux-arm64-musl": {
1154
- "version": "4.41.2",
1155
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.2.tgz",
1156
- "integrity": "sha512-FxPrm21SE2/p+L/Qy2P6zPPWtbKRunZ71ChHXuZu6b//zOeDYCF7kbXiGdE7ZJgUvboLx8lQtov4jsz04zdmiw==",
1157
- "cpu": [
1158
- "arm64"
1159
- ],
1160
- "dev": true,
1161
- "license": "MIT",
1162
- "optional": true,
1163
- "os": [
1164
- "linux"
1165
- ]
1166
- },
1167
- "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
1168
- "version": "4.41.2",
1169
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.2.tgz",
1170
- "integrity": "sha512-Bp2BYb+QWgefn2e8DblGUzejLEyhtG0DnIcSMzAzFtBK33ITvzLM9B8maTHPoy7Cx7XdxEb7l0iNKQAXBZ1NOw==",
1171
- "cpu": [
1172
- "loong64"
1173
- ],
1174
- "dev": true,
1175
- "license": "MIT",
1176
- "optional": true,
1177
- "os": [
1178
- "linux"
1179
- ]
1180
- },
1181
- "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
1182
- "version": "4.41.2",
1183
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.2.tgz",
1184
- "integrity": "sha512-1DmJwH0PPRPjVwUGHINP1YiH7fO25mhpf2B5N8ubBQdOjEVTRI0x69m8eJGoUSLISoW0kgPX2zTAiHc4zllQ/g==",
1185
- "cpu": [
1186
- "ppc64"
1187
- ],
1188
- "dev": true,
1189
- "license": "MIT",
1190
- "optional": true,
1191
- "os": [
1192
- "linux"
1193
- ]
1194
- },
1195
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1196
- "version": "4.41.2",
1197
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.2.tgz",
1198
- "integrity": "sha512-/9TBJIyoervs137gteTbzOSsIc/Io6xnXvjXYTEEqDRi3a9OokdBwfllN8AmPFGcU+WzoAiTc6n9SJiPohJ3CQ==",
1199
- "cpu": [
1200
- "riscv64"
1201
- ],
1202
- "dev": true,
1203
- "license": "MIT",
1204
- "optional": true,
1205
- "os": [
1206
- "linux"
1207
- ]
1208
- },
1209
- "node_modules/@rollup/rollup-linux-riscv64-musl": {
1210
- "version": "4.41.2",
1211
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.2.tgz",
1212
- "integrity": "sha512-qqwpXqu6mV6Vm+EsU2NQk/xLiQfCv+NYmYNCYF8FFIf7kzlHvDoqiNaqqOw0hAr8O5nRBQO+H6X4qEw4Y/0b8w==",
1213
- "cpu": [
1214
- "riscv64"
1215
- ],
1216
- "dev": true,
1217
- "license": "MIT",
1218
- "optional": true,
1219
- "os": [
1220
- "linux"
1221
- ]
1222
- },
1223
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
1224
- "version": "4.41.2",
1225
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.2.tgz",
1226
- "integrity": "sha512-j5oHqcj58pDqN3+CeJdTB3NfHipxIxVIH24VkRlVVhs9jJXks1ovtO4Tf6YxlBzf44ZTx9D2uhO9DZttC/wgUA==",
1227
- "cpu": [
1228
- "s390x"
1229
- ],
1230
- "dev": true,
1231
- "license": "MIT",
1232
- "optional": true,
1233
- "os": [
1234
- "linux"
1235
- ]
1236
- },
1237
- "node_modules/@rollup/rollup-linux-x64-gnu": {
1238
- "version": "4.41.2",
1239
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.2.tgz",
1240
- "integrity": "sha512-F3fxs7ajUNny4z1TsprdWB9gg8QRwSNSSILVfTmG8rXdeUFWuHEf3Uf5ltrdii8CkzZS3kD/VFPdNVdH3BOpIA==",
1241
- "cpu": [
1242
- "x64"
1243
- ],
1244
- "dev": true,
1245
- "license": "MIT",
1246
- "optional": true,
1247
- "os": [
1248
- "linux"
1249
- ]
1250
- },
1251
- "node_modules/@rollup/rollup-linux-x64-musl": {
1252
- "version": "4.41.2",
1253
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.2.tgz",
1254
- "integrity": "sha512-2S74RTJ1lJeiX+HSCxlLD/6Z6ndu9/+Huf8kYrI2XTCztFosOWsjPt+aD4cxBG1JTWjoiRYtutc8HABruppFQQ==",
1255
- "cpu": [
1256
- "x64"
1257
- ],
1258
- "dev": true,
1259
- "license": "MIT",
1260
- "optional": true,
1261
- "os": [
1262
- "linux"
1263
- ]
1264
- },
1265
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
1266
- "version": "4.41.2",
1267
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.2.tgz",
1268
- "integrity": "sha512-LOXSg8GprvL36erslsrNEUirlxy28JcuyTH5PYSBj8wwa0gDQlR8sZricFRbZGCzLhFixvmW2ozj7Mi+j023sg==",
1269
- "cpu": [
1270
- "arm64"
1271
- ],
1272
- "dev": true,
1273
- "license": "MIT",
1274
- "optional": true,
1275
- "os": [
1276
- "win32"
1277
- ]
1278
- },
1279
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
1280
- "version": "4.41.2",
1281
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.2.tgz",
1282
- "integrity": "sha512-PFhMLaWu0lFziS+buQIJ+YGaifkABS2TGtmeuPRrPO8JKcG17sDSNj358otAP45gIzRWd4o9QM8R+DurDWJgTA==",
1283
- "cpu": [
1284
- "ia32"
1285
- ],
1286
- "dev": true,
1287
- "license": "MIT",
1288
- "optional": true,
1289
- "os": [
1290
- "win32"
1291
- ]
1292
- },
1293
- "node_modules/@rollup/rollup-win32-x64-msvc": {
1294
- "version": "4.41.2",
1295
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.2.tgz",
1296
- "integrity": "sha512-AQ5GvrrLYw6dfkfT/bgYg1NU54exCKDrO9JKOE87zy2mdf2CyI6Vayy41r8Vo+kNDpqacaVQppwvYl30YGJu/Q==",
1297
- "cpu": [
1298
- "x64"
1299
- ],
1300
- "dev": true,
1301
- "license": "MIT",
1302
- "optional": true,
1303
- "os": [
1304
- "win32"
1305
- ]
1306
- },
1307
- "node_modules/@types/babel__core": {
1308
- "version": "7.20.5",
1309
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
1310
- "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
1311
- "dev": true,
1312
- "license": "MIT",
1313
- "dependencies": {
1314
- "@babel/parser": "^7.20.7",
1315
- "@babel/types": "^7.20.7",
1316
- "@types/babel__generator": "*",
1317
- "@types/babel__template": "*",
1318
- "@types/babel__traverse": "*"
1319
- }
1320
- },
1321
- "node_modules/@types/babel__generator": {
1322
- "version": "7.27.0",
1323
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
1324
- "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
1325
- "dev": true,
1326
- "license": "MIT",
1327
- "dependencies": {
1328
- "@babel/types": "^7.0.0"
1329
- }
1330
- },
1331
- "node_modules/@types/babel__template": {
1332
- "version": "7.4.4",
1333
- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
1334
- "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
1335
- "dev": true,
1336
- "license": "MIT",
1337
- "dependencies": {
1338
- "@babel/parser": "^7.1.0",
1339
- "@babel/types": "^7.0.0"
1340
- }
1341
- },
1342
- "node_modules/@types/babel__traverse": {
1343
- "version": "7.20.7",
1344
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz",
1345
- "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==",
1346
- "dev": true,
1347
- "license": "MIT",
1348
- "dependencies": {
1349
- "@babel/types": "^7.20.7"
1350
- }
1351
- },
1352
- "node_modules/@types/estree": {
1353
- "version": "1.0.8",
1354
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1355
- "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1356
- "dev": true,
1357
- "license": "MIT"
1358
- },
1359
- "node_modules/@types/json-schema": {
1360
- "version": "7.0.15",
1361
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
1362
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
1363
- "dev": true,
1364
- "license": "MIT"
1365
- },
1366
- "node_modules/@types/react": {
1367
- "version": "19.1.6",
1368
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.6.tgz",
1369
- "integrity": "sha512-JeG0rEWak0N6Itr6QUx+X60uQmN+5t3j9r/OVDtWzFXKaj6kD1BwJzOksD0FF6iWxZlbE1kB0q9vtnU2ekqa1Q==",
1370
- "dev": true,
1371
- "license": "MIT",
1372
- "dependencies": {
1373
- "csstype": "^3.0.2"
1374
- }
1375
- },
1376
- "node_modules/@types/react-dom": {
1377
- "version": "19.1.6",
1378
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.6.tgz",
1379
- "integrity": "sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==",
1380
- "dev": true,
1381
- "license": "MIT",
1382
- "peerDependencies": {
1383
- "@types/react": "^19.0.0"
1384
- }
1385
- },
1386
- "node_modules/@vitejs/plugin-react": {
1387
- "version": "4.5.1",
1388
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.1.tgz",
1389
- "integrity": "sha512-uPZBqSI0YD4lpkIru6M35sIfylLGTyhGHvDZbNLuMA73lMlwJKz5xweH7FajfcCAc2HnINciejA9qTz0dr0M7A==",
1390
- "dev": true,
1391
- "license": "MIT",
1392
- "dependencies": {
1393
- "@babel/core": "^7.26.10",
1394
- "@babel/plugin-transform-react-jsx-self": "^7.25.9",
1395
- "@babel/plugin-transform-react-jsx-source": "^7.25.9",
1396
- "@rolldown/pluginutils": "1.0.0-beta.9",
1397
- "@types/babel__core": "^7.20.5",
1398
- "react-refresh": "^0.17.0"
1399
- },
1400
- "engines": {
1401
- "node": "^14.18.0 || >=16.0.0"
1402
- },
1403
- "peerDependencies": {
1404
- "vite": "^4.2.0 || ^5.0.0 || ^6.0.0"
1405
- }
1406
- },
1407
- "node_modules/acorn": {
1408
- "version": "8.14.1",
1409
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
1410
- "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
1411
- "dev": true,
1412
- "license": "MIT",
1413
- "bin": {
1414
- "acorn": "bin/acorn"
1415
- },
1416
- "engines": {
1417
- "node": ">=0.4.0"
1418
- }
1419
- },
1420
- "node_modules/acorn-jsx": {
1421
- "version": "5.3.2",
1422
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
1423
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
1424
- "dev": true,
1425
- "license": "MIT",
1426
- "peerDependencies": {
1427
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
1428
- }
1429
- },
1430
- "node_modules/ajv": {
1431
- "version": "6.12.6",
1432
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
1433
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
1434
- "dev": true,
1435
- "license": "MIT",
1436
- "dependencies": {
1437
- "fast-deep-equal": "^3.1.1",
1438
- "fast-json-stable-stringify": "^2.0.0",
1439
- "json-schema-traverse": "^0.4.1",
1440
- "uri-js": "^4.2.2"
1441
- },
1442
- "funding": {
1443
- "type": "github",
1444
- "url": "https://github.com/sponsors/epoberezkin"
1445
- }
1446
- },
1447
- "node_modules/ansi-styles": {
1448
- "version": "4.3.0",
1449
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1450
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1451
- "dev": true,
1452
- "license": "MIT",
1453
- "dependencies": {
1454
- "color-convert": "^2.0.1"
1455
- },
1456
- "engines": {
1457
- "node": ">=8"
1458
- },
1459
- "funding": {
1460
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
1461
- }
1462
- },
1463
- "node_modules/argparse": {
1464
- "version": "2.0.1",
1465
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
1466
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
1467
- "dev": true,
1468
- "license": "Python-2.0"
1469
- },
1470
- "node_modules/balanced-match": {
1471
- "version": "1.0.2",
1472
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1473
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1474
- "dev": true,
1475
- "license": "MIT"
1476
- },
1477
- "node_modules/brace-expansion": {
1478
- "version": "1.1.11",
1479
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1480
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1481
- "dev": true,
1482
- "license": "MIT",
1483
- "dependencies": {
1484
- "balanced-match": "^1.0.0",
1485
- "concat-map": "0.0.1"
1486
- }
1487
- },
1488
- "node_modules/browserslist": {
1489
- "version": "4.25.0",
1490
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz",
1491
- "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==",
1492
- "dev": true,
1493
- "funding": [
1494
- {
1495
- "type": "opencollective",
1496
- "url": "https://opencollective.com/browserslist"
1497
- },
1498
- {
1499
- "type": "tidelift",
1500
- "url": "https://tidelift.com/funding/github/npm/browserslist"
1501
- },
1502
- {
1503
- "type": "github",
1504
- "url": "https://github.com/sponsors/ai"
1505
- }
1506
- ],
1507
- "license": "MIT",
1508
- "dependencies": {
1509
- "caniuse-lite": "^1.0.30001718",
1510
- "electron-to-chromium": "^1.5.160",
1511
- "node-releases": "^2.0.19",
1512
- "update-browserslist-db": "^1.1.3"
1513
- },
1514
- "bin": {
1515
- "browserslist": "cli.js"
1516
- },
1517
- "engines": {
1518
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1519
- }
1520
- },
1521
- "node_modules/callsites": {
1522
- "version": "3.1.0",
1523
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1524
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1525
- "dev": true,
1526
- "license": "MIT",
1527
- "engines": {
1528
- "node": ">=6"
1529
- }
1530
- },
1531
- "node_modules/caniuse-lite": {
1532
- "version": "1.0.30001721",
1533
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001721.tgz",
1534
- "integrity": "sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==",
1535
- "dev": true,
1536
- "funding": [
1537
- {
1538
- "type": "opencollective",
1539
- "url": "https://opencollective.com/browserslist"
1540
- },
1541
- {
1542
- "type": "tidelift",
1543
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1544
- },
1545
- {
1546
- "type": "github",
1547
- "url": "https://github.com/sponsors/ai"
1548
- }
1549
- ],
1550
- "license": "CC-BY-4.0"
1551
- },
1552
- "node_modules/chalk": {
1553
- "version": "4.1.2",
1554
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
1555
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
1556
- "dev": true,
1557
- "license": "MIT",
1558
- "dependencies": {
1559
- "ansi-styles": "^4.1.0",
1560
- "supports-color": "^7.1.0"
1561
- },
1562
- "engines": {
1563
- "node": ">=10"
1564
- },
1565
- "funding": {
1566
- "url": "https://github.com/chalk/chalk?sponsor=1"
1567
- }
1568
- },
1569
- "node_modules/color-convert": {
1570
- "version": "2.0.1",
1571
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1572
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1573
- "dev": true,
1574
- "license": "MIT",
1575
- "dependencies": {
1576
- "color-name": "~1.1.4"
1577
- },
1578
- "engines": {
1579
- "node": ">=7.0.0"
1580
- }
1581
- },
1582
- "node_modules/color-name": {
1583
- "version": "1.1.4",
1584
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1585
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1586
- "dev": true,
1587
- "license": "MIT"
1588
- },
1589
- "node_modules/concat-map": {
1590
- "version": "0.0.1",
1591
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1592
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
1593
- "dev": true,
1594
- "license": "MIT"
1595
- },
1596
- "node_modules/convert-source-map": {
1597
- "version": "2.0.0",
1598
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
1599
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
1600
- "dev": true,
1601
- "license": "MIT"
1602
- },
1603
- "node_modules/cross-spawn": {
1604
- "version": "7.0.6",
1605
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
1606
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
1607
- "dev": true,
1608
- "license": "MIT",
1609
- "dependencies": {
1610
- "path-key": "^3.1.0",
1611
- "shebang-command": "^2.0.0",
1612
- "which": "^2.0.1"
1613
- },
1614
- "engines": {
1615
- "node": ">= 8"
1616
- }
1617
- },
1618
- "node_modules/csstype": {
1619
- "version": "3.1.3",
1620
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
1621
- "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
1622
- "dev": true,
1623
- "license": "MIT"
1624
- },
1625
- "node_modules/debug": {
1626
- "version": "4.4.1",
1627
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
1628
- "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
1629
- "dev": true,
1630
- "license": "MIT",
1631
- "dependencies": {
1632
- "ms": "^2.1.3"
1633
- },
1634
- "engines": {
1635
- "node": ">=6.0"
1636
- },
1637
- "peerDependenciesMeta": {
1638
- "supports-color": {
1639
- "optional": true
1640
- }
1641
- }
1642
- },
1643
- "node_modules/deep-is": {
1644
- "version": "0.1.4",
1645
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
1646
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
1647
- "dev": true,
1648
- "license": "MIT"
1649
- },
1650
- "node_modules/electron-to-chromium": {
1651
- "version": "1.5.165",
1652
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.165.tgz",
1653
- "integrity": "sha512-naiMx1Z6Nb2TxPU6fiFrUrDTjyPMLdTtaOd2oLmG8zVSg2hCWGkhPyxwk+qRmZ1ytwVqUv0u7ZcDA5+ALhaUtw==",
1654
- "dev": true,
1655
- "license": "ISC"
1656
- },
1657
- "node_modules/esbuild": {
1658
- "version": "0.25.5",
1659
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz",
1660
- "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==",
1661
- "dev": true,
1662
- "hasInstallScript": true,
1663
- "license": "MIT",
1664
- "bin": {
1665
- "esbuild": "bin/esbuild"
1666
- },
1667
- "engines": {
1668
- "node": ">=18"
1669
- },
1670
- "optionalDependencies": {
1671
- "@esbuild/aix-ppc64": "0.25.5",
1672
- "@esbuild/android-arm": "0.25.5",
1673
- "@esbuild/android-arm64": "0.25.5",
1674
- "@esbuild/android-x64": "0.25.5",
1675
- "@esbuild/darwin-arm64": "0.25.5",
1676
- "@esbuild/darwin-x64": "0.25.5",
1677
- "@esbuild/freebsd-arm64": "0.25.5",
1678
- "@esbuild/freebsd-x64": "0.25.5",
1679
- "@esbuild/linux-arm": "0.25.5",
1680
- "@esbuild/linux-arm64": "0.25.5",
1681
- "@esbuild/linux-ia32": "0.25.5",
1682
- "@esbuild/linux-loong64": "0.25.5",
1683
- "@esbuild/linux-mips64el": "0.25.5",
1684
- "@esbuild/linux-ppc64": "0.25.5",
1685
- "@esbuild/linux-riscv64": "0.25.5",
1686
- "@esbuild/linux-s390x": "0.25.5",
1687
- "@esbuild/linux-x64": "0.25.5",
1688
- "@esbuild/netbsd-arm64": "0.25.5",
1689
- "@esbuild/netbsd-x64": "0.25.5",
1690
- "@esbuild/openbsd-arm64": "0.25.5",
1691
- "@esbuild/openbsd-x64": "0.25.5",
1692
- "@esbuild/sunos-x64": "0.25.5",
1693
- "@esbuild/win32-arm64": "0.25.5",
1694
- "@esbuild/win32-ia32": "0.25.5",
1695
- "@esbuild/win32-x64": "0.25.5"
1696
- }
1697
- },
1698
- "node_modules/escalade": {
1699
- "version": "3.2.0",
1700
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
1701
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
1702
- "dev": true,
1703
- "license": "MIT",
1704
- "engines": {
1705
- "node": ">=6"
1706
- }
1707
- },
1708
- "node_modules/escape-string-regexp": {
1709
- "version": "4.0.0",
1710
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
1711
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
1712
- "dev": true,
1713
- "license": "MIT",
1714
- "engines": {
1715
- "node": ">=10"
1716
- },
1717
- "funding": {
1718
- "url": "https://github.com/sponsors/sindresorhus"
1719
- }
1720
- },
1721
- "node_modules/eslint": {
1722
- "version": "9.28.0",
1723
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.28.0.tgz",
1724
- "integrity": "sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==",
1725
- "dev": true,
1726
- "license": "MIT",
1727
- "dependencies": {
1728
- "@eslint-community/eslint-utils": "^4.2.0",
1729
- "@eslint-community/regexpp": "^4.12.1",
1730
- "@eslint/config-array": "^0.20.0",
1731
- "@eslint/config-helpers": "^0.2.1",
1732
- "@eslint/core": "^0.14.0",
1733
- "@eslint/eslintrc": "^3.3.1",
1734
- "@eslint/js": "9.28.0",
1735
- "@eslint/plugin-kit": "^0.3.1",
1736
- "@humanfs/node": "^0.16.6",
1737
- "@humanwhocodes/module-importer": "^1.0.1",
1738
- "@humanwhocodes/retry": "^0.4.2",
1739
- "@types/estree": "^1.0.6",
1740
- "@types/json-schema": "^7.0.15",
1741
- "ajv": "^6.12.4",
1742
- "chalk": "^4.0.0",
1743
- "cross-spawn": "^7.0.6",
1744
- "debug": "^4.3.2",
1745
- "escape-string-regexp": "^4.0.0",
1746
- "eslint-scope": "^8.3.0",
1747
- "eslint-visitor-keys": "^4.2.0",
1748
- "espree": "^10.3.0",
1749
- "esquery": "^1.5.0",
1750
- "esutils": "^2.0.2",
1751
- "fast-deep-equal": "^3.1.3",
1752
- "file-entry-cache": "^8.0.0",
1753
- "find-up": "^5.0.0",
1754
- "glob-parent": "^6.0.2",
1755
- "ignore": "^5.2.0",
1756
- "imurmurhash": "^0.1.4",
1757
- "is-glob": "^4.0.0",
1758
- "json-stable-stringify-without-jsonify": "^1.0.1",
1759
- "lodash.merge": "^4.6.2",
1760
- "minimatch": "^3.1.2",
1761
- "natural-compare": "^1.4.0",
1762
- "optionator": "^0.9.3"
1763
- },
1764
- "bin": {
1765
- "eslint": "bin/eslint.js"
1766
- },
1767
- "engines": {
1768
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
1769
- },
1770
- "funding": {
1771
- "url": "https://eslint.org/donate"
1772
- },
1773
- "peerDependencies": {
1774
- "jiti": "*"
1775
- },
1776
- "peerDependenciesMeta": {
1777
- "jiti": {
1778
- "optional": true
1779
- }
1780
- }
1781
- },
1782
- "node_modules/eslint-plugin-react-hooks": {
1783
- "version": "5.2.0",
1784
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz",
1785
- "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==",
1786
- "dev": true,
1787
- "license": "MIT",
1788
- "engines": {
1789
- "node": ">=10"
1790
- },
1791
- "peerDependencies": {
1792
- "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
1793
- }
1794
- },
1795
- "node_modules/eslint-plugin-react-refresh": {
1796
- "version": "0.4.20",
1797
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz",
1798
- "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==",
1799
- "dev": true,
1800
- "license": "MIT",
1801
- "peerDependencies": {
1802
- "eslint": ">=8.40"
1803
- }
1804
- },
1805
- "node_modules/eslint-scope": {
1806
- "version": "8.3.0",
1807
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz",
1808
- "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==",
1809
- "dev": true,
1810
- "license": "BSD-2-Clause",
1811
- "dependencies": {
1812
- "esrecurse": "^4.3.0",
1813
- "estraverse": "^5.2.0"
1814
- },
1815
- "engines": {
1816
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
1817
- },
1818
- "funding": {
1819
- "url": "https://opencollective.com/eslint"
1820
- }
1821
- },
1822
- "node_modules/eslint-visitor-keys": {
1823
- "version": "4.2.0",
1824
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
1825
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
1826
- "dev": true,
1827
- "license": "Apache-2.0",
1828
- "engines": {
1829
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
1830
- },
1831
- "funding": {
1832
- "url": "https://opencollective.com/eslint"
1833
- }
1834
- },
1835
- "node_modules/espree": {
1836
- "version": "10.3.0",
1837
- "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz",
1838
- "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==",
1839
- "dev": true,
1840
- "license": "BSD-2-Clause",
1841
- "dependencies": {
1842
- "acorn": "^8.14.0",
1843
- "acorn-jsx": "^5.3.2",
1844
- "eslint-visitor-keys": "^4.2.0"
1845
- },
1846
- "engines": {
1847
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
1848
- },
1849
- "funding": {
1850
- "url": "https://opencollective.com/eslint"
1851
- }
1852
- },
1853
- "node_modules/esquery": {
1854
- "version": "1.6.0",
1855
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
1856
- "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
1857
- "dev": true,
1858
- "license": "BSD-3-Clause",
1859
- "dependencies": {
1860
- "estraverse": "^5.1.0"
1861
- },
1862
- "engines": {
1863
- "node": ">=0.10"
1864
- }
1865
- },
1866
- "node_modules/esrecurse": {
1867
- "version": "4.3.0",
1868
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
1869
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
1870
- "dev": true,
1871
- "license": "BSD-2-Clause",
1872
- "dependencies": {
1873
- "estraverse": "^5.2.0"
1874
- },
1875
- "engines": {
1876
- "node": ">=4.0"
1877
- }
1878
- },
1879
- "node_modules/estraverse": {
1880
- "version": "5.3.0",
1881
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1882
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1883
- "dev": true,
1884
- "license": "BSD-2-Clause",
1885
- "engines": {
1886
- "node": ">=4.0"
1887
- }
1888
- },
1889
- "node_modules/esutils": {
1890
- "version": "2.0.3",
1891
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1892
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1893
- "dev": true,
1894
- "license": "BSD-2-Clause",
1895
- "engines": {
1896
- "node": ">=0.10.0"
1897
- }
1898
- },
1899
- "node_modules/fast-deep-equal": {
1900
- "version": "3.1.3",
1901
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1902
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
1903
- "dev": true,
1904
- "license": "MIT"
1905
- },
1906
- "node_modules/fast-json-stable-stringify": {
1907
- "version": "2.1.0",
1908
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1909
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1910
- "dev": true,
1911
- "license": "MIT"
1912
- },
1913
- "node_modules/fast-levenshtein": {
1914
- "version": "2.0.6",
1915
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
1916
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
1917
- "dev": true,
1918
- "license": "MIT"
1919
- },
1920
- "node_modules/fdir": {
1921
- "version": "6.4.5",
1922
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz",
1923
- "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==",
1924
- "dev": true,
1925
- "license": "MIT",
1926
- "peerDependencies": {
1927
- "picomatch": "^3 || ^4"
1928
- },
1929
- "peerDependenciesMeta": {
1930
- "picomatch": {
1931
- "optional": true
1932
- }
1933
- }
1934
- },
1935
- "node_modules/file-entry-cache": {
1936
- "version": "8.0.0",
1937
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
1938
- "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
1939
- "dev": true,
1940
- "license": "MIT",
1941
- "dependencies": {
1942
- "flat-cache": "^4.0.0"
1943
- },
1944
- "engines": {
1945
- "node": ">=16.0.0"
1946
- }
1947
- },
1948
- "node_modules/find-up": {
1949
- "version": "5.0.0",
1950
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1951
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1952
- "dev": true,
1953
- "license": "MIT",
1954
- "dependencies": {
1955
- "locate-path": "^6.0.0",
1956
- "path-exists": "^4.0.0"
1957
- },
1958
- "engines": {
1959
- "node": ">=10"
1960
- },
1961
- "funding": {
1962
- "url": "https://github.com/sponsors/sindresorhus"
1963
- }
1964
- },
1965
- "node_modules/flat-cache": {
1966
- "version": "4.0.1",
1967
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
1968
- "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
1969
- "dev": true,
1970
- "license": "MIT",
1971
- "dependencies": {
1972
- "flatted": "^3.2.9",
1973
- "keyv": "^4.5.4"
1974
- },
1975
- "engines": {
1976
- "node": ">=16"
1977
- }
1978
- },
1979
- "node_modules/flatted": {
1980
- "version": "3.3.3",
1981
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
1982
- "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
1983
- "dev": true,
1984
- "license": "ISC"
1985
- },
1986
- "node_modules/fsevents": {
1987
- "version": "2.3.3",
1988
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1989
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1990
- "dev": true,
1991
- "hasInstallScript": true,
1992
- "license": "MIT",
1993
- "optional": true,
1994
- "os": [
1995
- "darwin"
1996
- ],
1997
- "engines": {
1998
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1999
- }
2000
- },
2001
- "node_modules/gensync": {
2002
- "version": "1.0.0-beta.2",
2003
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
2004
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
2005
- "dev": true,
2006
- "license": "MIT",
2007
- "engines": {
2008
- "node": ">=6.9.0"
2009
- }
2010
- },
2011
- "node_modules/glob-parent": {
2012
- "version": "6.0.2",
2013
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
2014
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
2015
- "dev": true,
2016
- "license": "ISC",
2017
- "dependencies": {
2018
- "is-glob": "^4.0.3"
2019
- },
2020
- "engines": {
2021
- "node": ">=10.13.0"
2022
- }
2023
- },
2024
- "node_modules/globals": {
2025
- "version": "16.2.0",
2026
- "resolved": "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz",
2027
- "integrity": "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==",
2028
- "dev": true,
2029
- "license": "MIT",
2030
- "engines": {
2031
- "node": ">=18"
2032
- },
2033
- "funding": {
2034
- "url": "https://github.com/sponsors/sindresorhus"
2035
- }
2036
- },
2037
- "node_modules/has-flag": {
2038
- "version": "4.0.0",
2039
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
2040
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
2041
- "dev": true,
2042
- "license": "MIT",
2043
- "engines": {
2044
- "node": ">=8"
2045
- }
2046
- },
2047
- "node_modules/ignore": {
2048
- "version": "5.3.2",
2049
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
2050
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
2051
- "dev": true,
2052
- "license": "MIT",
2053
- "engines": {
2054
- "node": ">= 4"
2055
- }
2056
- },
2057
- "node_modules/import-fresh": {
2058
- "version": "3.3.1",
2059
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
2060
- "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
2061
- "dev": true,
2062
- "license": "MIT",
2063
- "dependencies": {
2064
- "parent-module": "^1.0.0",
2065
- "resolve-from": "^4.0.0"
2066
- },
2067
- "engines": {
2068
- "node": ">=6"
2069
- },
2070
- "funding": {
2071
- "url": "https://github.com/sponsors/sindresorhus"
2072
- }
2073
- },
2074
- "node_modules/imurmurhash": {
2075
- "version": "0.1.4",
2076
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2077
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
2078
- "dev": true,
2079
- "license": "MIT",
2080
- "engines": {
2081
- "node": ">=0.8.19"
2082
- }
2083
- },
2084
- "node_modules/is-extglob": {
2085
- "version": "2.1.1",
2086
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2087
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
2088
- "dev": true,
2089
- "license": "MIT",
2090
- "engines": {
2091
- "node": ">=0.10.0"
2092
- }
2093
- },
2094
- "node_modules/is-glob": {
2095
- "version": "4.0.3",
2096
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
2097
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
2098
- "dev": true,
2099
- "license": "MIT",
2100
- "dependencies": {
2101
- "is-extglob": "^2.1.1"
2102
- },
2103
- "engines": {
2104
- "node": ">=0.10.0"
2105
- }
2106
- },
2107
- "node_modules/isexe": {
2108
- "version": "2.0.0",
2109
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2110
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
2111
- "dev": true,
2112
- "license": "ISC"
2113
- },
2114
- "node_modules/js-tokens": {
2115
- "version": "4.0.0",
2116
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2117
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
2118
- "dev": true,
2119
- "license": "MIT"
2120
- },
2121
- "node_modules/js-yaml": {
2122
- "version": "4.1.0",
2123
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
2124
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
2125
- "dev": true,
2126
- "license": "MIT",
2127
- "dependencies": {
2128
- "argparse": "^2.0.1"
2129
- },
2130
- "bin": {
2131
- "js-yaml": "bin/js-yaml.js"
2132
- }
2133
- },
2134
- "node_modules/jsesc": {
2135
- "version": "3.1.0",
2136
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
2137
- "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
2138
- "dev": true,
2139
- "license": "MIT",
2140
- "bin": {
2141
- "jsesc": "bin/jsesc"
2142
- },
2143
- "engines": {
2144
- "node": ">=6"
2145
- }
2146
- },
2147
- "node_modules/json-buffer": {
2148
- "version": "3.0.1",
2149
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
2150
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
2151
- "dev": true,
2152
- "license": "MIT"
2153
- },
2154
- "node_modules/json-schema-traverse": {
2155
- "version": "0.4.1",
2156
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2157
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2158
- "dev": true,
2159
- "license": "MIT"
2160
- },
2161
- "node_modules/json-stable-stringify-without-jsonify": {
2162
- "version": "1.0.1",
2163
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2164
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
2165
- "dev": true,
2166
- "license": "MIT"
2167
- },
2168
- "node_modules/json5": {
2169
- "version": "2.2.3",
2170
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
2171
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
2172
- "dev": true,
2173
- "license": "MIT",
2174
- "bin": {
2175
- "json5": "lib/cli.js"
2176
- },
2177
- "engines": {
2178
- "node": ">=6"
2179
- }
2180
- },
2181
- "node_modules/keyv": {
2182
- "version": "4.5.4",
2183
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
2184
- "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
2185
- "dev": true,
2186
- "license": "MIT",
2187
- "dependencies": {
2188
- "json-buffer": "3.0.1"
2189
- }
2190
- },
2191
- "node_modules/levn": {
2192
- "version": "0.4.1",
2193
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
2194
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
2195
- "dev": true,
2196
- "license": "MIT",
2197
- "dependencies": {
2198
- "prelude-ls": "^1.2.1",
2199
- "type-check": "~0.4.0"
2200
- },
2201
- "engines": {
2202
- "node": ">= 0.8.0"
2203
- }
2204
- },
2205
- "node_modules/locate-path": {
2206
- "version": "6.0.0",
2207
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
2208
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
2209
- "dev": true,
2210
- "license": "MIT",
2211
- "dependencies": {
2212
- "p-locate": "^5.0.0"
2213
- },
2214
- "engines": {
2215
- "node": ">=10"
2216
- },
2217
- "funding": {
2218
- "url": "https://github.com/sponsors/sindresorhus"
2219
- }
2220
- },
2221
- "node_modules/lodash.merge": {
2222
- "version": "4.6.2",
2223
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
2224
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
2225
- "dev": true,
2226
- "license": "MIT"
2227
- },
2228
- "node_modules/lru-cache": {
2229
- "version": "5.1.1",
2230
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
2231
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
2232
- "dev": true,
2233
- "license": "ISC",
2234
- "dependencies": {
2235
- "yallist": "^3.0.2"
2236
- }
2237
- },
2238
- "node_modules/minimatch": {
2239
- "version": "3.1.2",
2240
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
2241
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
2242
- "dev": true,
2243
- "license": "ISC",
2244
- "dependencies": {
2245
- "brace-expansion": "^1.1.7"
2246
- },
2247
- "engines": {
2248
- "node": "*"
2249
- }
2250
- },
2251
- "node_modules/ms": {
2252
- "version": "2.1.3",
2253
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2254
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2255
- "dev": true,
2256
- "license": "MIT"
2257
- },
2258
- "node_modules/nanoid": {
2259
- "version": "3.3.11",
2260
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
2261
- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
2262
- "dev": true,
2263
- "funding": [
2264
- {
2265
- "type": "github",
2266
- "url": "https://github.com/sponsors/ai"
2267
- }
2268
- ],
2269
- "license": "MIT",
2270
- "bin": {
2271
- "nanoid": "bin/nanoid.cjs"
2272
- },
2273
- "engines": {
2274
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
2275
- }
2276
- },
2277
- "node_modules/natural-compare": {
2278
- "version": "1.4.0",
2279
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
2280
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
2281
- "dev": true,
2282
- "license": "MIT"
2283
- },
2284
- "node_modules/node-releases": {
2285
- "version": "2.0.19",
2286
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
2287
- "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
2288
- "dev": true,
2289
- "license": "MIT"
2290
- },
2291
- "node_modules/optionator": {
2292
- "version": "0.9.4",
2293
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
2294
- "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
2295
- "dev": true,
2296
- "license": "MIT",
2297
- "dependencies": {
2298
- "deep-is": "^0.1.3",
2299
- "fast-levenshtein": "^2.0.6",
2300
- "levn": "^0.4.1",
2301
- "prelude-ls": "^1.2.1",
2302
- "type-check": "^0.4.0",
2303
- "word-wrap": "^1.2.5"
2304
- },
2305
- "engines": {
2306
- "node": ">= 0.8.0"
2307
- }
2308
- },
2309
- "node_modules/p-limit": {
2310
- "version": "3.1.0",
2311
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
2312
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
2313
- "dev": true,
2314
- "license": "MIT",
2315
- "dependencies": {
2316
- "yocto-queue": "^0.1.0"
2317
- },
2318
- "engines": {
2319
- "node": ">=10"
2320
- },
2321
- "funding": {
2322
- "url": "https://github.com/sponsors/sindresorhus"
2323
- }
2324
- },
2325
- "node_modules/p-locate": {
2326
- "version": "5.0.0",
2327
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
2328
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
2329
- "dev": true,
2330
- "license": "MIT",
2331
- "dependencies": {
2332
- "p-limit": "^3.0.2"
2333
- },
2334
- "engines": {
2335
- "node": ">=10"
2336
- },
2337
- "funding": {
2338
- "url": "https://github.com/sponsors/sindresorhus"
2339
- }
2340
- },
2341
- "node_modules/parent-module": {
2342
- "version": "1.0.1",
2343
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2344
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2345
- "dev": true,
2346
- "license": "MIT",
2347
- "dependencies": {
2348
- "callsites": "^3.0.0"
2349
- },
2350
- "engines": {
2351
- "node": ">=6"
2352
- }
2353
- },
2354
- "node_modules/path-exists": {
2355
- "version": "4.0.0",
2356
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
2357
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
2358
- "dev": true,
2359
- "license": "MIT",
2360
- "engines": {
2361
- "node": ">=8"
2362
- }
2363
- },
2364
- "node_modules/path-key": {
2365
- "version": "3.1.1",
2366
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2367
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2368
- "dev": true,
2369
- "license": "MIT",
2370
- "engines": {
2371
- "node": ">=8"
2372
- }
2373
- },
2374
- "node_modules/picocolors": {
2375
- "version": "1.1.1",
2376
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
2377
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
2378
- "dev": true,
2379
- "license": "ISC"
2380
- },
2381
- "node_modules/picomatch": {
2382
- "version": "4.0.2",
2383
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
2384
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
2385
- "dev": true,
2386
- "license": "MIT",
2387
- "engines": {
2388
- "node": ">=12"
2389
- },
2390
- "funding": {
2391
- "url": "https://github.com/sponsors/jonschlinkert"
2392
- }
2393
- },
2394
- "node_modules/postcss": {
2395
- "version": "8.5.4",
2396
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.4.tgz",
2397
- "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==",
2398
- "dev": true,
2399
- "funding": [
2400
- {
2401
- "type": "opencollective",
2402
- "url": "https://opencollective.com/postcss/"
2403
- },
2404
- {
2405
- "type": "tidelift",
2406
- "url": "https://tidelift.com/funding/github/npm/postcss"
2407
- },
2408
- {
2409
- "type": "github",
2410
- "url": "https://github.com/sponsors/ai"
2411
- }
2412
- ],
2413
- "license": "MIT",
2414
- "dependencies": {
2415
- "nanoid": "^3.3.11",
2416
- "picocolors": "^1.1.1",
2417
- "source-map-js": "^1.2.1"
2418
- },
2419
- "engines": {
2420
- "node": "^10 || ^12 || >=14"
2421
- }
2422
- },
2423
- "node_modules/prelude-ls": {
2424
- "version": "1.2.1",
2425
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
2426
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
2427
- "dev": true,
2428
- "license": "MIT",
2429
- "engines": {
2430
- "node": ">= 0.8.0"
2431
- }
2432
- },
2433
- "node_modules/punycode": {
2434
- "version": "2.3.1",
2435
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
2436
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
2437
- "dev": true,
2438
- "license": "MIT",
2439
- "engines": {
2440
- "node": ">=6"
2441
- }
2442
- },
2443
- "node_modules/react": {
2444
- "version": "19.1.0",
2445
- "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
2446
- "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==",
2447
- "license": "MIT",
2448
- "engines": {
2449
- "node": ">=0.10.0"
2450
- }
2451
- },
2452
- "node_modules/react-dom": {
2453
- "version": "19.1.0",
2454
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
2455
- "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
2456
- "license": "MIT",
2457
- "dependencies": {
2458
- "scheduler": "^0.26.0"
2459
- },
2460
- "peerDependencies": {
2461
- "react": "^19.1.0"
2462
- }
2463
- },
2464
- "node_modules/react-refresh": {
2465
- "version": "0.17.0",
2466
- "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
2467
- "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
2468
- "dev": true,
2469
- "license": "MIT",
2470
- "engines": {
2471
- "node": ">=0.10.0"
2472
- }
2473
- },
2474
- "node_modules/resolve-from": {
2475
- "version": "4.0.0",
2476
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2477
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2478
- "dev": true,
2479
- "license": "MIT",
2480
- "engines": {
2481
- "node": ">=4"
2482
- }
2483
- },
2484
- "node_modules/rollup": {
2485
- "version": "4.41.2",
2486
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.2.tgz",
2487
- "integrity": "sha512-6VwIRjxJPRGfwtHnBWrApOrFposYNARbBUnBzWSBYutdukosTadkxSB1prmEd95jhiJ1uWtZOD3sDx7qfVwu4A==",
2488
- "dev": true,
2489
- "license": "MIT",
2490
- "dependencies": {
2491
- "@types/estree": "1.0.7"
2492
- },
2493
- "bin": {
2494
- "rollup": "dist/bin/rollup"
2495
- },
2496
- "engines": {
2497
- "node": ">=18.0.0",
2498
- "npm": ">=8.0.0"
2499
- },
2500
- "optionalDependencies": {
2501
- "@rollup/rollup-android-arm-eabi": "4.41.2",
2502
- "@rollup/rollup-android-arm64": "4.41.2",
2503
- "@rollup/rollup-darwin-arm64": "4.41.2",
2504
- "@rollup/rollup-darwin-x64": "4.41.2",
2505
- "@rollup/rollup-freebsd-arm64": "4.41.2",
2506
- "@rollup/rollup-freebsd-x64": "4.41.2",
2507
- "@rollup/rollup-linux-arm-gnueabihf": "4.41.2",
2508
- "@rollup/rollup-linux-arm-musleabihf": "4.41.2",
2509
- "@rollup/rollup-linux-arm64-gnu": "4.41.2",
2510
- "@rollup/rollup-linux-arm64-musl": "4.41.2",
2511
- "@rollup/rollup-linux-loongarch64-gnu": "4.41.2",
2512
- "@rollup/rollup-linux-powerpc64le-gnu": "4.41.2",
2513
- "@rollup/rollup-linux-riscv64-gnu": "4.41.2",
2514
- "@rollup/rollup-linux-riscv64-musl": "4.41.2",
2515
- "@rollup/rollup-linux-s390x-gnu": "4.41.2",
2516
- "@rollup/rollup-linux-x64-gnu": "4.41.2",
2517
- "@rollup/rollup-linux-x64-musl": "4.41.2",
2518
- "@rollup/rollup-win32-arm64-msvc": "4.41.2",
2519
- "@rollup/rollup-win32-ia32-msvc": "4.41.2",
2520
- "@rollup/rollup-win32-x64-msvc": "4.41.2",
2521
- "fsevents": "~2.3.2"
2522
- }
2523
- },
2524
- "node_modules/rollup/node_modules/@types/estree": {
2525
- "version": "1.0.7",
2526
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
2527
- "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
2528
- "dev": true,
2529
- "license": "MIT"
2530
- },
2531
- "node_modules/scheduler": {
2532
- "version": "0.26.0",
2533
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
2534
- "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==",
2535
- "license": "MIT"
2536
- },
2537
- "node_modules/semver": {
2538
- "version": "6.3.1",
2539
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
2540
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
2541
- "dev": true,
2542
- "license": "ISC",
2543
- "bin": {
2544
- "semver": "bin/semver.js"
2545
- }
2546
- },
2547
- "node_modules/shebang-command": {
2548
- "version": "2.0.0",
2549
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2550
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2551
- "dev": true,
2552
- "license": "MIT",
2553
- "dependencies": {
2554
- "shebang-regex": "^3.0.0"
2555
- },
2556
- "engines": {
2557
- "node": ">=8"
2558
- }
2559
- },
2560
- "node_modules/shebang-regex": {
2561
- "version": "3.0.0",
2562
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2563
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2564
- "dev": true,
2565
- "license": "MIT",
2566
- "engines": {
2567
- "node": ">=8"
2568
- }
2569
- },
2570
- "node_modules/source-map-js": {
2571
- "version": "1.2.1",
2572
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
2573
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
2574
- "dev": true,
2575
- "license": "BSD-3-Clause",
2576
- "engines": {
2577
- "node": ">=0.10.0"
2578
- }
2579
- },
2580
- "node_modules/strip-json-comments": {
2581
- "version": "3.1.1",
2582
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
2583
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
2584
- "dev": true,
2585
- "license": "MIT",
2586
- "engines": {
2587
- "node": ">=8"
2588
- },
2589
- "funding": {
2590
- "url": "https://github.com/sponsors/sindresorhus"
2591
- }
2592
- },
2593
- "node_modules/supports-color": {
2594
- "version": "7.2.0",
2595
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2596
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2597
- "dev": true,
2598
- "license": "MIT",
2599
- "dependencies": {
2600
- "has-flag": "^4.0.0"
2601
- },
2602
- "engines": {
2603
- "node": ">=8"
2604
- }
2605
- },
2606
- "node_modules/tinyglobby": {
2607
- "version": "0.2.14",
2608
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
2609
- "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
2610
- "dev": true,
2611
- "license": "MIT",
2612
- "dependencies": {
2613
- "fdir": "^6.4.4",
2614
- "picomatch": "^4.0.2"
2615
- },
2616
- "engines": {
2617
- "node": ">=12.0.0"
2618
- },
2619
- "funding": {
2620
- "url": "https://github.com/sponsors/SuperchupuDev"
2621
- }
2622
- },
2623
- "node_modules/type-check": {
2624
- "version": "0.4.0",
2625
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
2626
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
2627
- "dev": true,
2628
- "license": "MIT",
2629
- "dependencies": {
2630
- "prelude-ls": "^1.2.1"
2631
- },
2632
- "engines": {
2633
- "node": ">= 0.8.0"
2634
- }
2635
- },
2636
- "node_modules/update-browserslist-db": {
2637
- "version": "1.1.3",
2638
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
2639
- "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
2640
- "dev": true,
2641
- "funding": [
2642
- {
2643
- "type": "opencollective",
2644
- "url": "https://opencollective.com/browserslist"
2645
- },
2646
- {
2647
- "type": "tidelift",
2648
- "url": "https://tidelift.com/funding/github/npm/browserslist"
2649
- },
2650
- {
2651
- "type": "github",
2652
- "url": "https://github.com/sponsors/ai"
2653
- }
2654
- ],
2655
- "license": "MIT",
2656
- "dependencies": {
2657
- "escalade": "^3.2.0",
2658
- "picocolors": "^1.1.1"
2659
- },
2660
- "bin": {
2661
- "update-browserslist-db": "cli.js"
2662
- },
2663
- "peerDependencies": {
2664
- "browserslist": ">= 4.21.0"
2665
- }
2666
- },
2667
- "node_modules/uri-js": {
2668
- "version": "4.4.1",
2669
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
2670
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
2671
- "dev": true,
2672
- "license": "BSD-2-Clause",
2673
- "dependencies": {
2674
- "punycode": "^2.1.0"
2675
- }
2676
- },
2677
- "node_modules/vite": {
2678
- "version": "6.3.5",
2679
- "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
2680
- "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
2681
- "dev": true,
2682
- "license": "MIT",
2683
- "dependencies": {
2684
- "esbuild": "^0.25.0",
2685
- "fdir": "^6.4.4",
2686
- "picomatch": "^4.0.2",
2687
- "postcss": "^8.5.3",
2688
- "rollup": "^4.34.9",
2689
- "tinyglobby": "^0.2.13"
2690
- },
2691
- "bin": {
2692
- "vite": "bin/vite.js"
2693
- },
2694
- "engines": {
2695
- "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
2696
- },
2697
- "funding": {
2698
- "url": "https://github.com/vitejs/vite?sponsor=1"
2699
- },
2700
- "optionalDependencies": {
2701
- "fsevents": "~2.3.3"
2702
- },
2703
- "peerDependencies": {
2704
- "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
2705
- "jiti": ">=1.21.0",
2706
- "less": "*",
2707
- "lightningcss": "^1.21.0",
2708
- "sass": "*",
2709
- "sass-embedded": "*",
2710
- "stylus": "*",
2711
- "sugarss": "*",
2712
- "terser": "^5.16.0",
2713
- "tsx": "^4.8.1",
2714
- "yaml": "^2.4.2"
2715
- },
2716
- "peerDependenciesMeta": {
2717
- "@types/node": {
2718
- "optional": true
2719
- },
2720
- "jiti": {
2721
- "optional": true
2722
- },
2723
- "less": {
2724
- "optional": true
2725
- },
2726
- "lightningcss": {
2727
- "optional": true
2728
- },
2729
- "sass": {
2730
- "optional": true
2731
- },
2732
- "sass-embedded": {
2733
- "optional": true
2734
- },
2735
- "stylus": {
2736
- "optional": true
2737
- },
2738
- "sugarss": {
2739
- "optional": true
2740
- },
2741
- "terser": {
2742
- "optional": true
2743
- },
2744
- "tsx": {
2745
- "optional": true
2746
- },
2747
- "yaml": {
2748
- "optional": true
2749
- }
2750
- }
2751
- },
2752
- "node_modules/which": {
2753
- "version": "2.0.2",
2754
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2755
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2756
- "dev": true,
2757
- "license": "ISC",
2758
- "dependencies": {
2759
- "isexe": "^2.0.0"
2760
- },
2761
- "bin": {
2762
- "node-which": "bin/node-which"
2763
- },
2764
- "engines": {
2765
- "node": ">= 8"
2766
- }
2767
- },
2768
- "node_modules/word-wrap": {
2769
- "version": "1.2.5",
2770
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
2771
- "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
2772
- "dev": true,
2773
- "license": "MIT",
2774
- "engines": {
2775
- "node": ">=0.10.0"
2776
- }
2777
- },
2778
- "node_modules/yallist": {
2779
- "version": "3.1.1",
2780
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2781
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2782
- "dev": true,
2783
- "license": "ISC"
2784
- },
2785
- "node_modules/yocto-queue": {
2786
- "version": "0.1.0",
2787
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
2788
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
2789
- "dev": true,
2790
- "license": "MIT",
2791
- "engines": {
2792
- "node": ">=10"
2793
- },
2794
- "funding": {
2795
- "url": "https://github.com/sponsors/sindresorhus"
2796
- }
2797
- }
2798
- }
2799
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/package.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "frontend",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "dev": "vite",
8
- "build": "vite build",
9
- "lint": "eslint .",
10
- "preview": "vite preview"
11
- },
12
- "dependencies": {
13
- "react": "^19.1.0",
14
- "react-dom": "^19.1.0"
15
- },
16
- "devDependencies": {
17
- "@eslint/js": "^9.25.0",
18
- "@types/react": "^19.1.2",
19
- "@types/react-dom": "^19.1.2",
20
- "@vitejs/plugin-react": "^4.4.1",
21
- "eslint": "^9.25.0",
22
- "eslint-plugin-react-hooks": "^5.2.0",
23
- "eslint-plugin-react-refresh": "^0.4.19",
24
- "globals": "^16.0.0",
25
- "vite": "^6.3.5"
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/public/vite.svg DELETED
frontend/src/App.css DELETED
@@ -1,39 +0,0 @@
1
- .container {
2
- max-width: 800px;
3
- margin: 0 auto;
4
- padding: 1rem;
5
- font-family: Arial, Helvetica, sans-serif;
6
- }
7
- .controls {
8
- margin-bottom: 1rem;
9
- }
10
- .controls label {
11
- margin-right: 1rem;
12
- }
13
- .chat-box {
14
- border: 1px solid #ccc;
15
- min-height: 300px;
16
- padding: 0.5rem;
17
- margin-bottom: 1rem;
18
- overflow-y: auto;
19
- }
20
- .msg {
21
- margin-bottom: 0.5rem;
22
- }
23
- .msg.assistant {
24
- color: blue;
25
- }
26
- .msg.user {
27
- color: green;
28
- }
29
- .input-area {
30
- display: flex;
31
- gap: 0.5rem;
32
- }
33
- textarea {
34
- flex-grow: 1;
35
- }
36
- .error {
37
- color: red;
38
- margin-bottom: 0.5rem;
39
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/src/App.jsx DELETED
@@ -1,63 +0,0 @@
1
- import { useState } from 'react'
2
- import './App.css'
3
- import { chat as chatApi, reset as resetApi } from './api'
4
-
5
- function App() {
6
- const [user, setUser] = useState('default')
7
- const [session, setSession] = useState('default')
8
- const [prompt, setPrompt] = useState('')
9
- const [messages, setMessages] = useState([])
10
- const [loading, setLoading] = useState(false)
11
- const [error, setError] = useState(null)
12
-
13
- const sendPrompt = async () => {
14
- if (!prompt.trim()) return
15
- setLoading(true)
16
- setError(null)
17
- try {
18
- const reply = await chatApi(user, session, prompt)
19
- setMessages([...messages, { role: 'user', content: prompt }, { role: 'assistant', content: reply }])
20
- setPrompt('')
21
- } catch (err) {
22
- setError(err.message)
23
- } finally {
24
- setLoading(false)
25
- }
26
- }
27
-
28
- const handleReset = async () => {
29
- setLoading(true)
30
- setError(null)
31
- try {
32
- await resetApi(user, session)
33
- setMessages([])
34
- } catch (err) {
35
- setError(err.message)
36
- } finally {
37
- setLoading(false)
38
- }
39
- }
40
-
41
- return (
42
- <div className="container">
43
- <h1>LLM Chat</h1>
44
- <div className="controls">
45
- <label>User <input value={user} onChange={e => setUser(e.target.value)} /></label>
46
- <label>Session <input value={session} onChange={e => setSession(e.target.value)} /></label>
47
- <button onClick={handleReset} disabled={loading}>Reset</button>
48
- </div>
49
- <div className="chat-box">
50
- {messages.map((m, i) => (
51
- <div key={i} className={`msg ${m.role}`}>{m.role}: {m.content}</div>
52
- ))}
53
- </div>
54
- {error && <div className="error">{error}</div>}
55
- <div className="input-area">
56
- <textarea value={prompt} onChange={e => setPrompt(e.target.value)} rows="3" />
57
- <button onClick={sendPrompt} disabled={loading}>Send</button>
58
- </div>
59
- </div>
60
- )
61
- }
62
-
63
- export default App
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/src/api.js DELETED
@@ -1,29 +0,0 @@
1
- export const API_BASE = import.meta.env.VITE_API_BASE_URL || 'http://localhost:8000';
2
-
3
- export async function chat(user, session, prompt) {
4
- const resp = await fetch(`${API_BASE}/chat`, {
5
- method: 'POST',
6
- headers: { 'Content-Type': 'application/json' },
7
- body: JSON.stringify({ user, session, prompt }),
8
- });
9
- if (!resp.ok) {
10
- const msg = await resp.text();
11
- throw new Error(msg || resp.statusText);
12
- }
13
- const data = await resp.json();
14
- return data.reply;
15
- }
16
-
17
- export async function reset(user, session) {
18
- const resp = await fetch(`${API_BASE}/reset`, {
19
- method: 'POST',
20
- headers: { 'Content-Type': 'application/json' },
21
- body: JSON.stringify({ user, session }),
22
- });
23
- if (!resp.ok) {
24
- const msg = await resp.text();
25
- throw new Error(msg || resp.statusText);
26
- }
27
- const data = await resp.json();
28
- return data.removed;
29
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/src/assets/react.svg DELETED
frontend/src/index.css DELETED
@@ -1,68 +0,0 @@
1
- :root {
2
- font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
3
- line-height: 1.5;
4
- font-weight: 400;
5
-
6
- color-scheme: light dark;
7
- color: rgba(255, 255, 255, 0.87);
8
- background-color: #242424;
9
-
10
- font-synthesis: none;
11
- text-rendering: optimizeLegibility;
12
- -webkit-font-smoothing: antialiased;
13
- -moz-osx-font-smoothing: grayscale;
14
- }
15
-
16
- a {
17
- font-weight: 500;
18
- color: #646cff;
19
- text-decoration: inherit;
20
- }
21
- a:hover {
22
- color: #535bf2;
23
- }
24
-
25
- body {
26
- margin: 0;
27
- display: flex;
28
- place-items: center;
29
- min-width: 320px;
30
- min-height: 100vh;
31
- }
32
-
33
- h1 {
34
- font-size: 3.2em;
35
- line-height: 1.1;
36
- }
37
-
38
- button {
39
- border-radius: 8px;
40
- border: 1px solid transparent;
41
- padding: 0.6em 1.2em;
42
- font-size: 1em;
43
- font-weight: 500;
44
- font-family: inherit;
45
- background-color: #1a1a1a;
46
- cursor: pointer;
47
- transition: border-color 0.25s;
48
- }
49
- button:hover {
50
- border-color: #646cff;
51
- }
52
- button:focus,
53
- button:focus-visible {
54
- outline: 4px auto -webkit-focus-ring-color;
55
- }
56
-
57
- @media (prefers-color-scheme: light) {
58
- :root {
59
- color: #213547;
60
- background-color: #ffffff;
61
- }
62
- a:hover {
63
- color: #747bff;
64
- }
65
- button {
66
- background-color: #f9f9f9;
67
- }
68
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/src/main.jsx DELETED
@@ -1,10 +0,0 @@
1
- import { StrictMode } from 'react'
2
- import { createRoot } from 'react-dom/client'
3
- import './index.css'
4
- import App from './App.jsx'
5
-
6
- createRoot(document.getElementById('root')).render(
7
- <StrictMode>
8
- <App />
9
- </StrictMode>,
10
- )
 
 
 
 
 
 
 
 
 
 
 
frontend/vite.config.js DELETED
@@ -1,7 +0,0 @@
1
- import { defineConfig } from 'vite'
2
- import react from '@vitejs/plugin-react'
3
-
4
- // https://vite.dev/config/
5
- export default defineConfig({
6
- plugins: [react()],
7
- })