@openparachute/agent 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (501) hide show
  1. package/.claude/scheduled_tasks.lock +1 -0
  2. package/.claude/settings.json +5 -0
  3. package/.claude/skills/add-atomic-chat-tool/SKILL.md +243 -0
  4. package/.claude/skills/add-atomic-chat-tool/atomic-chat-mcp-stdio.ts +229 -0
  5. package/.claude/skills/add-codex/SKILL.md +161 -0
  6. package/.claude/skills/add-dashboard/SKILL.md +138 -0
  7. package/.claude/skills/add-dashboard/resources/dashboard-pusher.ts +495 -0
  8. package/.claude/skills/add-emacs/SKILL.md +296 -0
  9. package/.claude/skills/add-gcal-tool/SKILL.md +210 -0
  10. package/.claude/skills/add-gchat/REMOVE.md +6 -0
  11. package/.claude/skills/add-gchat/SKILL.md +92 -0
  12. package/.claude/skills/add-gchat/VERIFY.md +3 -0
  13. package/.claude/skills/add-github/REMOVE.md +6 -0
  14. package/.claude/skills/add-github/SKILL.md +148 -0
  15. package/.claude/skills/add-github/VERIFY.md +3 -0
  16. package/.claude/skills/add-gmail-tool/SKILL.md +229 -0
  17. package/.claude/skills/add-imessage/REMOVE.md +6 -0
  18. package/.claude/skills/add-imessage/SKILL.md +113 -0
  19. package/.claude/skills/add-imessage/VERIFY.md +3 -0
  20. package/.claude/skills/add-karpathy-llm-wiki/SKILL.md +110 -0
  21. package/.claude/skills/add-karpathy-llm-wiki/llm-wiki.md +75 -0
  22. package/.claude/skills/add-linear/REMOVE.md +6 -0
  23. package/.claude/skills/add-linear/SKILL.md +168 -0
  24. package/.claude/skills/add-linear/VERIFY.md +3 -0
  25. package/.claude/skills/add-macos-statusbar/SKILL.md +133 -0
  26. package/.claude/skills/add-macos-statusbar/add/src/statusbar.swift +147 -0
  27. package/.claude/skills/add-matrix/REMOVE.md +6 -0
  28. package/.claude/skills/add-matrix/SKILL.md +148 -0
  29. package/.claude/skills/add-matrix/VERIFY.md +3 -0
  30. package/.claude/skills/add-ollama-provider/SKILL.md +179 -0
  31. package/.claude/skills/add-ollama-tool/SKILL.md +193 -0
  32. package/.claude/skills/add-opencode/SKILL.md +229 -0
  33. package/.claude/skills/add-parallel/SKILL.md +290 -0
  34. package/.claude/skills/add-resend/REMOVE.md +6 -0
  35. package/.claude/skills/add-resend/SKILL.md +93 -0
  36. package/.claude/skills/add-resend/VERIFY.md +3 -0
  37. package/.claude/skills/add-signal/REMOVE.md +13 -0
  38. package/.claude/skills/add-signal/SKILL.md +318 -0
  39. package/.claude/skills/add-signal/VERIFY.md +5 -0
  40. package/.claude/skills/add-slack/REMOVE.md +6 -0
  41. package/.claude/skills/add-slack/SKILL.md +112 -0
  42. package/.claude/skills/add-slack/VERIFY.md +3 -0
  43. package/.claude/skills/add-teams/REMOVE.md +6 -0
  44. package/.claude/skills/add-teams/SKILL.md +207 -0
  45. package/.claude/skills/add-teams/VERIFY.md +3 -0
  46. package/.claude/skills/add-vercel/SKILL.md +147 -0
  47. package/.claude/skills/add-vercel/container-skills/vercel-cli/SKILL.md +103 -0
  48. package/.claude/skills/add-webex/REMOVE.md +6 -0
  49. package/.claude/skills/add-webex/SKILL.md +88 -0
  50. package/.claude/skills/add-webex/VERIFY.md +3 -0
  51. package/.claude/skills/add-wechat/REMOVE.md +49 -0
  52. package/.claude/skills/add-wechat/SKILL.md +170 -0
  53. package/.claude/skills/add-wechat/scripts/wire-dm.ts +172 -0
  54. package/.claude/skills/add-whatsapp/SKILL.md +264 -0
  55. package/.claude/skills/add-whatsapp-cloud/REMOVE.md +6 -0
  56. package/.claude/skills/add-whatsapp-cloud/SKILL.md +95 -0
  57. package/.claude/skills/add-whatsapp-cloud/VERIFY.md +3 -0
  58. package/.claude/skills/claw/SKILL.md +131 -0
  59. package/.claude/skills/claw/scripts/claw +374 -0
  60. package/.claude/skills/convert-to-apple-container/SKILL.md +212 -0
  61. package/.claude/skills/customize/SKILL.md +110 -0
  62. package/.claude/skills/debug/SKILL.md +349 -0
  63. package/.claude/skills/get-qodo-rules/SKILL.md +122 -0
  64. package/.claude/skills/get-qodo-rules/references/output-format.md +41 -0
  65. package/.claude/skills/get-qodo-rules/references/pagination.md +33 -0
  66. package/.claude/skills/get-qodo-rules/references/repository-scope.md +26 -0
  67. package/.claude/skills/init-first-agent/SKILL.md +120 -0
  68. package/.claude/skills/init-onecli/SKILL.md +270 -0
  69. package/.claude/skills/manage-channels/SKILL.md +87 -0
  70. package/.claude/skills/manage-mounts/SKILL.md +47 -0
  71. package/.claude/skills/migrate-from-openclaw/MIGRATE_CRONS.md +100 -0
  72. package/.claude/skills/migrate-from-openclaw/SKILL.md +447 -0
  73. package/.claude/skills/migrate-from-openclaw/scripts/discover-openclaw.ts +734 -0
  74. package/.claude/skills/migrate-from-openclaw/scripts/extract-channel-credentials.ts +476 -0
  75. package/.claude/skills/migrate-nanoclaw/SKILL.md +484 -0
  76. package/.claude/skills/migrate-nanoclaw/diagnostics.md +51 -0
  77. package/.claude/skills/qodo-pr-resolver/SKILL.md +326 -0
  78. package/.claude/skills/qodo-pr-resolver/resources/providers.md +329 -0
  79. package/.claude/skills/update-nanoclaw/SKILL.md +243 -0
  80. package/.claude/skills/update-nanoclaw/diagnostics.md +48 -0
  81. package/.claude/skills/update-skills/SKILL.md +130 -0
  82. package/.claude/skills/use-native-credential-proxy/SKILL.md +167 -0
  83. package/.claude/skills/x-integration/SKILL.md +417 -0
  84. package/.claude/skills/x-integration/agent.ts +243 -0
  85. package/.claude/skills/x-integration/host.ts +155 -0
  86. package/.claude/skills/x-integration/lib/browser.ts +148 -0
  87. package/.claude/skills/x-integration/lib/config.ts +62 -0
  88. package/.claude/skills/x-integration/scripts/like.ts +56 -0
  89. package/.claude/skills/x-integration/scripts/post.ts +66 -0
  90. package/.claude/skills/x-integration/scripts/quote.ts +80 -0
  91. package/.claude/skills/x-integration/scripts/reply.ts +74 -0
  92. package/.claude/skills/x-integration/scripts/retweet.ts +62 -0
  93. package/.claude/skills/x-integration/scripts/setup.ts +87 -0
  94. package/.github/CODEOWNERS +10 -0
  95. package/.github/PULL_REQUEST_TEMPLATE.md +18 -0
  96. package/.github/workflows/bump-version.yml +35 -0
  97. package/.github/workflows/ci.yml +39 -0
  98. package/.github/workflows/label-pr.yml +40 -0
  99. package/.github/workflows/update-tokens.yml +43 -0
  100. package/.husky/pre-commit +1 -0
  101. package/.mcp.json +3 -0
  102. package/.nvmrc +1 -0
  103. package/.parachute/module.json +14 -0
  104. package/.prettierrc +4 -0
  105. package/CHANGELOG.md +215 -0
  106. package/CLAUDE.md +307 -0
  107. package/CODE_OF_CONDUCT.md +128 -0
  108. package/CONTRIBUTING.md +159 -0
  109. package/CONTRIBUTORS.md +26 -0
  110. package/LICENSE +21 -0
  111. package/README.md +190 -0
  112. package/README_ja.md +194 -0
  113. package/README_zh.md +194 -0
  114. package/assets/nanoclaw-favicon.png +0 -0
  115. package/assets/nanoclaw-icon.png +0 -0
  116. package/assets/nanoclaw-logo-dark.png +0 -0
  117. package/assets/nanoclaw-logo.png +0 -0
  118. package/assets/nanoclaw-profile.jpeg +0 -0
  119. package/assets/nanoclaw-sales.png +0 -0
  120. package/assets/social-preview.jpg +0 -0
  121. package/config-examples/mount-allowlist.json +25 -0
  122. package/container/.dockerignore +2 -0
  123. package/container/CLAUDE.md +21 -0
  124. package/container/Dockerfile +121 -0
  125. package/container/agent-runner/bun.lock +243 -0
  126. package/container/agent-runner/package.json +22 -0
  127. package/container/agent-runner/scripts/sdk-signal-probe.ts +169 -0
  128. package/container/agent-runner/src/config.ts +55 -0
  129. package/container/agent-runner/src/db/connection.ts +267 -0
  130. package/container/agent-runner/src/db/index.ts +20 -0
  131. package/container/agent-runner/src/db/messages-in.ts +138 -0
  132. package/container/agent-runner/src/db/messages-out.ts +143 -0
  133. package/container/agent-runner/src/db/session-routing.ts +30 -0
  134. package/container/agent-runner/src/db/session-state.test.ts +100 -0
  135. package/container/agent-runner/src/db/session-state.ts +79 -0
  136. package/container/agent-runner/src/destinations.ts +135 -0
  137. package/container/agent-runner/src/formatter.test.ts +167 -0
  138. package/container/agent-runner/src/formatter.ts +260 -0
  139. package/container/agent-runner/src/index.ts +110 -0
  140. package/container/agent-runner/src/integration.test.ts +121 -0
  141. package/container/agent-runner/src/mcp-tools/agents.instructions.md +26 -0
  142. package/container/agent-runner/src/mcp-tools/agents.ts +66 -0
  143. package/container/agent-runner/src/mcp-tools/core.instructions.md +27 -0
  144. package/container/agent-runner/src/mcp-tools/core.ts +262 -0
  145. package/container/agent-runner/src/mcp-tools/index.ts +22 -0
  146. package/container/agent-runner/src/mcp-tools/interactive.instructions.md +22 -0
  147. package/container/agent-runner/src/mcp-tools/interactive.ts +169 -0
  148. package/container/agent-runner/src/mcp-tools/scheduling.instructions.md +40 -0
  149. package/container/agent-runner/src/mcp-tools/scheduling.ts +299 -0
  150. package/container/agent-runner/src/mcp-tools/self-mod.instructions.md +25 -0
  151. package/container/agent-runner/src/mcp-tools/self-mod.ts +120 -0
  152. package/container/agent-runner/src/mcp-tools/server.ts +54 -0
  153. package/container/agent-runner/src/mcp-tools/types.ts +6 -0
  154. package/container/agent-runner/src/poll-loop.test.ts +248 -0
  155. package/container/agent-runner/src/poll-loop.ts +437 -0
  156. package/container/agent-runner/src/providers/claude.ts +379 -0
  157. package/container/agent-runner/src/providers/factory.test.ts +19 -0
  158. package/container/agent-runner/src/providers/factory.ts +13 -0
  159. package/container/agent-runner/src/providers/index.ts +6 -0
  160. package/container/agent-runner/src/providers/mock.ts +77 -0
  161. package/container/agent-runner/src/providers/provider-registry.ts +33 -0
  162. package/container/agent-runner/src/providers/types.ts +82 -0
  163. package/container/agent-runner/src/scheduling/task-script.ts +121 -0
  164. package/container/agent-runner/src/timezone.test.ts +93 -0
  165. package/container/agent-runner/src/timezone.ts +107 -0
  166. package/container/agent-runner/tsconfig.json +14 -0
  167. package/container/build.sh +48 -0
  168. package/container/entrypoint.sh +16 -0
  169. package/container/skills/agent-browser/SKILL.md +159 -0
  170. package/container/skills/frontend-engineer/SKILL.md +157 -0
  171. package/container/skills/self-customize/SKILL.md +87 -0
  172. package/container/skills/slack-formatting/SKILL.md +94 -0
  173. package/container/skills/vercel-cli/SKILL.md +111 -0
  174. package/container/skills/welcome/SKILL.md +85 -0
  175. package/docs/APPLE-CONTAINER-NETWORKING.md +90 -0
  176. package/docs/BRANCH-FORK-MAINTENANCE.md +81 -0
  177. package/docs/README.md +25 -0
  178. package/docs/SDK_DEEP_DIVE.md +643 -0
  179. package/docs/SECURITY.md +162 -0
  180. package/docs/agent-runner-details.md +749 -0
  181. package/docs/api-details.md +365 -0
  182. package/docs/architecture-diagram.html +422 -0
  183. package/docs/architecture-diagram.md +215 -0
  184. package/docs/architecture.md +751 -0
  185. package/docs/audit/2026-04-30-channel-endpoint-audit.md +36 -0
  186. package/docs/build-and-runtime.md +80 -0
  187. package/docs/cross-mount-stress/README.md +112 -0
  188. package/docs/cross-mount-stress/container-writer-retry.mjs +55 -0
  189. package/docs/cross-mount-stress/container-writer-slow.mjs +42 -0
  190. package/docs/cross-mount-stress/container-writer.mjs +47 -0
  191. package/docs/cross-mount-stress/host-writer-retry.mjs +55 -0
  192. package/docs/cross-mount-stress/host-writer-slow.mjs +43 -0
  193. package/docs/cross-mount-stress/host-writer.mjs +47 -0
  194. package/docs/db-central.md +316 -0
  195. package/docs/db-session.md +183 -0
  196. package/docs/db.md +119 -0
  197. package/docs/design/2026-04-29-vault-management-ui.md +231 -0
  198. package/docs/design/2026-04-30-channel-wiring-rework.md +234 -0
  199. package/docs/design/2026-05-01-channel-wiring-approvals-deep-dive.md +272 -0
  200. package/docs/design/2026-05-02-channel-policy-and-approval-routing.md +250 -0
  201. package/docs/docker-sandboxes.md +359 -0
  202. package/docs/isolation-model.md +88 -0
  203. package/docs/ollama.md +79 -0
  204. package/docs/parachute-integration.md +109 -0
  205. package/docs/post-night-rebirth-reflections.md +151 -0
  206. package/eslint.config.js +32 -0
  207. package/package.json +54 -0
  208. package/pnpm-workspace.yaml +8 -0
  209. package/repo-tokens/README.md +113 -0
  210. package/repo-tokens/action.yml +186 -0
  211. package/repo-tokens/badge.svg +23 -0
  212. package/repo-tokens/examples/green.svg +14 -0
  213. package/repo-tokens/examples/red.svg +14 -0
  214. package/repo-tokens/examples/yellow-green.svg +14 -0
  215. package/repo-tokens/examples/yellow.svg +14 -0
  216. package/scripts/chat.ts +101 -0
  217. package/scripts/cleanup-sessions.sh +150 -0
  218. package/scripts/init-cli-agent.ts +171 -0
  219. package/scripts/init-first-agent.ts +377 -0
  220. package/scripts/parachute.ts +158 -0
  221. package/scripts/run-migrations.ts +105 -0
  222. package/scripts/sanity-live-poll.ts +95 -0
  223. package/scripts/seed-discord.ts +79 -0
  224. package/scripts/test-v2-agent.ts +106 -0
  225. package/scripts/test-v2-channel-e2e.ts +265 -0
  226. package/scripts/test-v2-host.ts +184 -0
  227. package/src/channels/adapter.ts +214 -0
  228. package/src/channels/ask-question.ts +46 -0
  229. package/src/channels/channel-registry.test.ts +421 -0
  230. package/src/channels/channel-registry.ts +313 -0
  231. package/src/channels/chat-sdk-bridge.test.ts +84 -0
  232. package/src/channels/chat-sdk-bridge.ts +652 -0
  233. package/src/channels/cli.ts +276 -0
  234. package/src/channels/discord.ts +90 -0
  235. package/src/channels/index.ts +17 -0
  236. package/src/channels/telegram-markdown-sanitize.test.ts +78 -0
  237. package/src/channels/telegram-markdown-sanitize.ts +55 -0
  238. package/src/channels/telegram-pairing.test.ts +254 -0
  239. package/src/channels/telegram-pairing.ts +339 -0
  240. package/src/channels/telegram.ts +279 -0
  241. package/src/channels/trust-hint.test.ts +48 -0
  242. package/src/channels/trust-hint.ts +75 -0
  243. package/src/claude-md-compose.migrate.test.ts +64 -0
  244. package/src/claude-md-compose.ts +205 -0
  245. package/src/command-gate.ts +63 -0
  246. package/src/config.test.ts +93 -0
  247. package/src/config.ts +108 -0
  248. package/src/container-config.ts +167 -0
  249. package/src/container-runner.test.ts +32 -0
  250. package/src/container-runner.ts +576 -0
  251. package/src/container-runtime.test.ts +169 -0
  252. package/src/container-runtime.ts +92 -0
  253. package/src/db/_bun-sqlite-shim.ts +88 -0
  254. package/src/db/agent-activity.test.ts +155 -0
  255. package/src/db/agent-activity.ts +121 -0
  256. package/src/db/agent-groups.ts +77 -0
  257. package/src/db/connection.migrate.test.ts +143 -0
  258. package/src/db/connection.ts +224 -0
  259. package/src/db/db-v2.test.ts +440 -0
  260. package/src/db/dropped-messages.ts +44 -0
  261. package/src/db/index.ts +40 -0
  262. package/src/db/messaging-groups.ts +252 -0
  263. package/src/db/migrations/001-initial.ts +112 -0
  264. package/src/db/migrations/002-chat-sdk-state.ts +36 -0
  265. package/src/db/migrations/008-dropped-messages.ts +27 -0
  266. package/src/db/migrations/009-drop-pending-credentials.ts +13 -0
  267. package/src/db/migrations/010-engage-modes.ts +103 -0
  268. package/src/db/migrations/011-pending-sender-approvals.ts +40 -0
  269. package/src/db/migrations/012-channel-registration.ts +48 -0
  270. package/src/db/migrations/013-approval-render-metadata.ts +27 -0
  271. package/src/db/migrations/014-secrets.ts +44 -0
  272. package/src/db/migrations/015-secrets-drop-host-pattern.ts +18 -0
  273. package/src/db/migrations/016-secret-assignments.ts +30 -0
  274. package/src/db/migrations/017-agent-activity.ts +40 -0
  275. package/src/db/migrations/018-oauth-app-configs.ts +34 -0
  276. package/src/db/migrations/019-oauth-app-connections.ts +48 -0
  277. package/src/db/migrations/020-agent-app-connections.ts +28 -0
  278. package/src/db/migrations/021-pending-oauth-states.ts +35 -0
  279. package/src/db/migrations/022-app-connections-provider.ts +25 -0
  280. package/src/db/migrations/023-agent-group-secret-mode.test.ts +124 -0
  281. package/src/db/migrations/023-agent-group-secret-mode.ts +65 -0
  282. package/src/db/migrations/024-collapse-approvals.test.ts +249 -0
  283. package/src/db/migrations/024-collapse-approvals.ts +182 -0
  284. package/src/db/migrations/025-secret-mode-check.test.ts +155 -0
  285. package/src/db/migrations/025-secret-mode-check.ts +49 -0
  286. package/src/db/migrations/026-user-dms-bot-id.test.ts +116 -0
  287. package/src/db/migrations/026-user-dms-bot-id.ts +54 -0
  288. package/src/db/migrations/027-provider-credentials.ts +41 -0
  289. package/src/db/migrations/_test-helpers.ts +41 -0
  290. package/src/db/migrations/index.ts +127 -0
  291. package/src/db/migrations/module-agent-to-agent-destinations.ts +84 -0
  292. package/src/db/migrations/module-approvals-pending-approvals.ts +42 -0
  293. package/src/db/migrations/module-approvals-title-options.ts +40 -0
  294. package/src/db/schema.ts +258 -0
  295. package/src/db/session-db.test.ts +93 -0
  296. package/src/db/session-db.ts +325 -0
  297. package/src/db/sessions.ts +241 -0
  298. package/src/delivery.test.ts +148 -0
  299. package/src/delivery.ts +445 -0
  300. package/src/env.ts +74 -0
  301. package/src/group-folder.test.ts +35 -0
  302. package/src/group-folder.ts +44 -0
  303. package/src/group-init.ts +92 -0
  304. package/src/host-core.test.ts +456 -0
  305. package/src/host-sweep.test.ts +146 -0
  306. package/src/host-sweep.ts +287 -0
  307. package/src/index.ts +227 -0
  308. package/src/install-slug.ts +33 -0
  309. package/src/log.test.ts +81 -0
  310. package/src/log.ts +117 -0
  311. package/src/mcp/http.ts +72 -0
  312. package/src/mcp/server.ts +92 -0
  313. package/src/mcp/stdio.ts +51 -0
  314. package/src/mcp/tools/activity.ts +88 -0
  315. package/src/mcp/tools/agent-groups.ts +183 -0
  316. package/src/mcp/tools/approvals.ts +122 -0
  317. package/src/mcp/tools/channels.ts +199 -0
  318. package/src/mcp/tools/index.ts +27 -0
  319. package/src/mcp/tools/oauth.ts +48 -0
  320. package/src/mcp/tools/secrets.ts +169 -0
  321. package/src/mcp/tools/sessions.ts +135 -0
  322. package/src/mcp/types.ts +51 -0
  323. package/src/modules/agent-to-agent/agent-route.test.ts +46 -0
  324. package/src/modules/agent-to-agent/agent-route.ts +223 -0
  325. package/src/modules/agent-to-agent/create-agent.ts +127 -0
  326. package/src/modules/agent-to-agent/db/agent-destinations.ts +135 -0
  327. package/src/modules/agent-to-agent/index.ts +22 -0
  328. package/src/modules/agent-to-agent/write-destinations.ts +59 -0
  329. package/src/modules/approvals/agent.md +45 -0
  330. package/src/modules/approvals/index.ts +21 -0
  331. package/src/modules/approvals/picks.test.ts +291 -0
  332. package/src/modules/approvals/primitive.ts +279 -0
  333. package/src/modules/approvals/project.md +27 -0
  334. package/src/modules/approvals/response-handler.ts +87 -0
  335. package/src/modules/index.ts +24 -0
  336. package/src/modules/interactive/agent.md +21 -0
  337. package/src/modules/interactive/index.ts +69 -0
  338. package/src/modules/interactive/project.md +12 -0
  339. package/src/modules/mount-security/index.ts +448 -0
  340. package/src/modules/mount-security/migrate.test.ts +91 -0
  341. package/src/modules/permissions/access.ts +28 -0
  342. package/src/modules/permissions/channel-approval.test.ts +389 -0
  343. package/src/modules/permissions/channel-approval.ts +188 -0
  344. package/src/modules/permissions/db/agent-group-members.ts +44 -0
  345. package/src/modules/permissions/db/pending-channel-approvals.test.ts +86 -0
  346. package/src/modules/permissions/db/pending-channel-approvals.ts +66 -0
  347. package/src/modules/permissions/db/pending-sender-approvals.ts +60 -0
  348. package/src/modules/permissions/db/user-dms.ts +58 -0
  349. package/src/modules/permissions/db/user-roles.ts +85 -0
  350. package/src/modules/permissions/db/users.ts +38 -0
  351. package/src/modules/permissions/index.ts +421 -0
  352. package/src/modules/permissions/permissions.test.ts +358 -0
  353. package/src/modules/permissions/sender-approval.test.ts +470 -0
  354. package/src/modules/permissions/sender-approval.ts +165 -0
  355. package/src/modules/permissions/user-dm.ts +200 -0
  356. package/src/modules/provider-credentials/db.ts +121 -0
  357. package/src/modules/provider-credentials/index.ts +12 -0
  358. package/src/modules/provider-credentials/spawn.test.ts +206 -0
  359. package/src/modules/provider-credentials/spawn.ts +114 -0
  360. package/src/modules/scheduling/actions.ts +113 -0
  361. package/src/modules/scheduling/db.test.ts +282 -0
  362. package/src/modules/scheduling/db.ts +148 -0
  363. package/src/modules/scheduling/index.ts +34 -0
  364. package/src/modules/scheduling/recurrence.test.ts +98 -0
  365. package/src/modules/scheduling/recurrence.ts +54 -0
  366. package/src/modules/self-mod/agent.md +30 -0
  367. package/src/modules/self-mod/apply.ts +85 -0
  368. package/src/modules/self-mod/index.ts +30 -0
  369. package/src/modules/self-mod/project.md +39 -0
  370. package/src/modules/self-mod/request.ts +91 -0
  371. package/src/modules/typing/index.ts +165 -0
  372. package/src/oauth/agent-app-connections.ts +103 -0
  373. package/src/oauth/app-configs.test.ts +64 -0
  374. package/src/oauth/app-configs.ts +114 -0
  375. package/src/oauth/app-connections.test.ts +109 -0
  376. package/src/oauth/app-connections.ts +178 -0
  377. package/src/oauth/crypto.ts +56 -0
  378. package/src/oauth/flow.ts +104 -0
  379. package/src/oauth/providers/google.test.ts +38 -0
  380. package/src/oauth/providers/google.ts +46 -0
  381. package/src/oauth/providers/index.ts +48 -0
  382. package/src/oauth/state-store.test.ts +54 -0
  383. package/src/oauth/state-store.ts +93 -0
  384. package/src/parachute/README.md +27 -0
  385. package/src/parachute/create-agent.test.ts +83 -0
  386. package/src/parachute/create-agent.ts +122 -0
  387. package/src/parachute/group-status.test.ts +165 -0
  388. package/src/parachute/group-status.ts +136 -0
  389. package/src/parachute/types.ts +41 -0
  390. package/src/parachute/vault-mcp.test.ts +251 -0
  391. package/src/parachute/vault-mcp.ts +232 -0
  392. package/src/platform-id.test.ts +104 -0
  393. package/src/platform-id.ts +109 -0
  394. package/src/providers/index.ts +6 -0
  395. package/src/providers/provider-container-registry.ts +58 -0
  396. package/src/response-registry.ts +45 -0
  397. package/src/router.ts +530 -0
  398. package/src/secrets/crypto.test.ts +45 -0
  399. package/src/secrets/crypto.ts +55 -0
  400. package/src/secrets/index.ts +355 -0
  401. package/src/secrets/master-key.ts +70 -0
  402. package/src/secrets/secrets.test.ts +354 -0
  403. package/src/session-manager.migrate.test.ts +59 -0
  404. package/src/session-manager.ts +433 -0
  405. package/src/startup-bootstrap.test.ts +226 -0
  406. package/src/startup-bootstrap.ts +207 -0
  407. package/src/state-sqlite.ts +182 -0
  408. package/src/timezone.test.ts +64 -0
  409. package/src/timezone.ts +37 -0
  410. package/src/types.ts +230 -0
  411. package/src/web/auth.test.ts +335 -0
  412. package/src/web/auth.ts +214 -0
  413. package/src/web/discord-validate.test.ts +77 -0
  414. package/src/web/discord-validate.ts +88 -0
  415. package/src/web/hub-discovery.test.ts +98 -0
  416. package/src/web/hub-discovery.ts +69 -0
  417. package/src/web/routes/activity.ts +106 -0
  418. package/src/web/routes/agent-provider.test.ts +282 -0
  419. package/src/web/routes/agent-provider.ts +309 -0
  420. package/src/web/routes/approvals.ts +185 -0
  421. package/src/web/routes/apps.ts +434 -0
  422. package/src/web/routes/channels-mg-detail.test.ts +324 -0
  423. package/src/web/routes/channels-mga-detail.test.ts +425 -0
  424. package/src/web/routes/channels.ts +489 -0
  425. package/src/web/routes/oauth-providers.ts +42 -0
  426. package/src/web/routes/secrets.test.ts +175 -0
  427. package/src/web/routes/secrets.ts +282 -0
  428. package/src/web/routes/sessions.ts +123 -0
  429. package/src/web/routes/settings.test.ts +106 -0
  430. package/src/web/routes/settings.ts +247 -0
  431. package/src/web/routes/setup-status.ts +205 -0
  432. package/src/web/routes/vaults.test.ts +389 -0
  433. package/src/web/routes/vaults.ts +225 -0
  434. package/src/web/server-version.test.ts +16 -0
  435. package/src/web/server.ts +1003 -0
  436. package/src/web/services-manifest.test.ts +120 -0
  437. package/src/web/services-manifest.ts +61 -0
  438. package/src/web/static-serve.test.ts +255 -0
  439. package/src/web/static-serve.ts +104 -0
  440. package/src/web/telegram-validate.test.ts +116 -0
  441. package/src/web/telegram-validate.ts +107 -0
  442. package/src/web/vault-proxy.test.ts +214 -0
  443. package/src/web/vault-proxy.ts +120 -0
  444. package/src/web/wire-channel.ts +181 -0
  445. package/src/webhook-server.ts +134 -0
  446. package/tsconfig.json +21 -0
  447. package/vitest.config.ts +18 -0
  448. package/web/README.md +63 -0
  449. package/web/ui/index.html +13 -0
  450. package/web/ui/package.json +35 -0
  451. package/web/ui/pnpm-lock.yaml +2164 -0
  452. package/web/ui/scripts/verify-base.mjs +31 -0
  453. package/web/ui/src/App.tsx +88 -0
  454. package/web/ui/src/components/ActivityFeed.tsx +444 -0
  455. package/web/ui/src/components/AgentGroupPicker.tsx +263 -0
  456. package/web/ui/src/components/AgentProviderCards.tsx +220 -0
  457. package/web/ui/src/components/CredentialForm.tsx +214 -0
  458. package/web/ui/src/components/ScopeGrants.tsx +74 -0
  459. package/web/ui/src/components/StatusDot.tsx +43 -0
  460. package/web/ui/src/components/VaultPicker.tsx +127 -0
  461. package/web/ui/src/components/setup/AdapterInstallStep.tsx +178 -0
  462. package/web/ui/src/components/setup/AgentGroupStep.tsx +43 -0
  463. package/web/ui/src/components/setup/ChannelPickStep.tsx +74 -0
  464. package/web/ui/src/components/setup/DoneStep.tsx +49 -0
  465. package/web/ui/src/components/setup/PrereqStep.tsx +129 -0
  466. package/web/ui/src/components/setup/TestConnectionStep.tsx +108 -0
  467. package/web/ui/src/components/setup/TestMessageStep.tsx +104 -0
  468. package/web/ui/src/components/setup/WireChannelStep.tsx +166 -0
  469. package/web/ui/src/components/setup/types.ts +105 -0
  470. package/web/ui/src/lib/api.test.ts +410 -0
  471. package/web/ui/src/lib/api.ts +1210 -0
  472. package/web/ui/src/lib/auth.test.ts +139 -0
  473. package/web/ui/src/lib/auth.ts +348 -0
  474. package/web/ui/src/lib/channel-adapters.ts +136 -0
  475. package/web/ui/src/main.tsx +19 -0
  476. package/web/ui/src/routes/ApprovalsList.tsx +294 -0
  477. package/web/ui/src/routes/Apps.tsx +613 -0
  478. package/web/ui/src/routes/ChannelWireDetail.test.tsx +233 -0
  479. package/web/ui/src/routes/ChannelWireDetail.tsx +403 -0
  480. package/web/ui/src/routes/ChannelsList.tsx +158 -0
  481. package/web/ui/src/routes/GroupDetail.tsx +755 -0
  482. package/web/ui/src/routes/GroupList.tsx +187 -0
  483. package/web/ui/src/routes/MessagingGroupDetail.test.tsx +233 -0
  484. package/web/ui/src/routes/MessagingGroupDetail.tsx +306 -0
  485. package/web/ui/src/routes/NewGroupWizard.tsx +390 -0
  486. package/web/ui/src/routes/OAuthCallback.tsx +56 -0
  487. package/web/ui/src/routes/SecretsList.tsx +921 -0
  488. package/web/ui/src/routes/SessionsList.tsx +220 -0
  489. package/web/ui/src/routes/SettingsAgentProvider.tsx +109 -0
  490. package/web/ui/src/routes/SettingsApprovals.tsx +234 -0
  491. package/web/ui/src/routes/SetupWizard.tsx +219 -0
  492. package/web/ui/src/routes/VaultDetail.test.tsx +361 -0
  493. package/web/ui/src/routes/VaultDetail.tsx +960 -0
  494. package/web/ui/src/routes/VaultsList.tsx +295 -0
  495. package/web/ui/src/routes/WireChannelPage.tsx +413 -0
  496. package/web/ui/src/styles.css +608 -0
  497. package/web/ui/src/test/setup.ts +23 -0
  498. package/web/ui/src/vite-env.d.ts +10 -0
  499. package/web/ui/tsconfig.json +20 -0
  500. package/web/ui/vite.config.ts +34 -0
  501. package/web/ui/vitest.config.ts +25 -0
@@ -0,0 +1,2164 @@
1
+ lockfileVersion: '9.0'
2
+
3
+ settings:
4
+ autoInstallPeers: true
5
+ excludeLinksFromLockfile: false
6
+
7
+ importers:
8
+
9
+ .:
10
+ dependencies:
11
+ react:
12
+ specifier: ^19.0.0
13
+ version: 19.2.5
14
+ react-dom:
15
+ specifier: ^19.0.0
16
+ version: 19.2.5(react@19.2.5)
17
+ react-router-dom:
18
+ specifier: ^7.0.0
19
+ version: 7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
20
+ devDependencies:
21
+ '@testing-library/jest-dom':
22
+ specifier: ^6.9.1
23
+ version: 6.9.1
24
+ '@testing-library/react':
25
+ specifier: ^16.3.2
26
+ version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
27
+ '@testing-library/user-event':
28
+ specifier: ^14.6.1
29
+ version: 14.6.1(@testing-library/dom@10.4.1)
30
+ '@types/node':
31
+ specifier: ^22.19.17
32
+ version: 22.19.17
33
+ '@types/react':
34
+ specifier: ^19.0.0
35
+ version: 19.2.14
36
+ '@types/react-dom':
37
+ specifier: ^19.0.0
38
+ version: 19.2.3(@types/react@19.2.14)
39
+ '@vitejs/plugin-react':
40
+ specifier: ^4.3.0
41
+ version: 4.7.0(vite@6.4.2(@types/node@22.19.17))
42
+ '@vitest/ui':
43
+ specifier: ^4.1.5
44
+ version: 4.1.5(vitest@4.1.5)
45
+ jsdom:
46
+ specifier: ^25.0.1
47
+ version: 25.0.1
48
+ typescript:
49
+ specifier: ^5.6.0
50
+ version: 5.9.3
51
+ vite:
52
+ specifier: ^6.0.0
53
+ version: 6.4.2(@types/node@22.19.17)
54
+ vitest:
55
+ specifier: ^4.1.5
56
+ version: 4.1.5(@types/node@22.19.17)(@vitest/ui@4.1.5)(jsdom@25.0.1)(vite@6.4.2(@types/node@22.19.17))
57
+
58
+ packages:
59
+
60
+ '@adobe/css-tools@4.4.4':
61
+ resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==}
62
+
63
+ '@asamuzakjp/css-color@3.2.0':
64
+ resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==}
65
+
66
+ '@babel/code-frame@7.29.0':
67
+ resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
68
+ engines: {node: '>=6.9.0'}
69
+
70
+ '@babel/compat-data@7.29.0':
71
+ resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==}
72
+ engines: {node: '>=6.9.0'}
73
+
74
+ '@babel/core@7.29.0':
75
+ resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==}
76
+ engines: {node: '>=6.9.0'}
77
+
78
+ '@babel/generator@7.29.1':
79
+ resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
80
+ engines: {node: '>=6.9.0'}
81
+
82
+ '@babel/helper-compilation-targets@7.28.6':
83
+ resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==}
84
+ engines: {node: '>=6.9.0'}
85
+
86
+ '@babel/helper-globals@7.28.0':
87
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
88
+ engines: {node: '>=6.9.0'}
89
+
90
+ '@babel/helper-module-imports@7.28.6':
91
+ resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
92
+ engines: {node: '>=6.9.0'}
93
+
94
+ '@babel/helper-module-transforms@7.28.6':
95
+ resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==}
96
+ engines: {node: '>=6.9.0'}
97
+ peerDependencies:
98
+ '@babel/core': ^7.0.0
99
+
100
+ '@babel/helper-plugin-utils@7.28.6':
101
+ resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==}
102
+ engines: {node: '>=6.9.0'}
103
+
104
+ '@babel/helper-string-parser@7.27.1':
105
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
106
+ engines: {node: '>=6.9.0'}
107
+
108
+ '@babel/helper-validator-identifier@7.28.5':
109
+ resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
110
+ engines: {node: '>=6.9.0'}
111
+
112
+ '@babel/helper-validator-option@7.27.1':
113
+ resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
114
+ engines: {node: '>=6.9.0'}
115
+
116
+ '@babel/helpers@7.29.2':
117
+ resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==}
118
+ engines: {node: '>=6.9.0'}
119
+
120
+ '@babel/parser@7.29.2':
121
+ resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==}
122
+ engines: {node: '>=6.0.0'}
123
+ hasBin: true
124
+
125
+ '@babel/plugin-transform-react-jsx-self@7.27.1':
126
+ resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==}
127
+ engines: {node: '>=6.9.0'}
128
+ peerDependencies:
129
+ '@babel/core': ^7.0.0-0
130
+
131
+ '@babel/plugin-transform-react-jsx-source@7.27.1':
132
+ resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==}
133
+ engines: {node: '>=6.9.0'}
134
+ peerDependencies:
135
+ '@babel/core': ^7.0.0-0
136
+
137
+ '@babel/runtime@7.29.2':
138
+ resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==}
139
+ engines: {node: '>=6.9.0'}
140
+
141
+ '@babel/template@7.28.6':
142
+ resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
143
+ engines: {node: '>=6.9.0'}
144
+
145
+ '@babel/traverse@7.29.0':
146
+ resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
147
+ engines: {node: '>=6.9.0'}
148
+
149
+ '@babel/types@7.29.0':
150
+ resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
151
+ engines: {node: '>=6.9.0'}
152
+
153
+ '@csstools/color-helpers@5.1.0':
154
+ resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==}
155
+ engines: {node: '>=18'}
156
+
157
+ '@csstools/css-calc@2.1.4':
158
+ resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
159
+ engines: {node: '>=18'}
160
+ peerDependencies:
161
+ '@csstools/css-parser-algorithms': ^3.0.5
162
+ '@csstools/css-tokenizer': ^3.0.4
163
+
164
+ '@csstools/css-color-parser@3.1.0':
165
+ resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==}
166
+ engines: {node: '>=18'}
167
+ peerDependencies:
168
+ '@csstools/css-parser-algorithms': ^3.0.5
169
+ '@csstools/css-tokenizer': ^3.0.4
170
+
171
+ '@csstools/css-parser-algorithms@3.0.5':
172
+ resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
173
+ engines: {node: '>=18'}
174
+ peerDependencies:
175
+ '@csstools/css-tokenizer': ^3.0.4
176
+
177
+ '@csstools/css-tokenizer@3.0.4':
178
+ resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
179
+ engines: {node: '>=18'}
180
+
181
+ '@esbuild/aix-ppc64@0.25.12':
182
+ resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
183
+ engines: {node: '>=18'}
184
+ cpu: [ppc64]
185
+ os: [aix]
186
+
187
+ '@esbuild/android-arm64@0.25.12':
188
+ resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
189
+ engines: {node: '>=18'}
190
+ cpu: [arm64]
191
+ os: [android]
192
+
193
+ '@esbuild/android-arm@0.25.12':
194
+ resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
195
+ engines: {node: '>=18'}
196
+ cpu: [arm]
197
+ os: [android]
198
+
199
+ '@esbuild/android-x64@0.25.12':
200
+ resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
201
+ engines: {node: '>=18'}
202
+ cpu: [x64]
203
+ os: [android]
204
+
205
+ '@esbuild/darwin-arm64@0.25.12':
206
+ resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
207
+ engines: {node: '>=18'}
208
+ cpu: [arm64]
209
+ os: [darwin]
210
+
211
+ '@esbuild/darwin-x64@0.25.12':
212
+ resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
213
+ engines: {node: '>=18'}
214
+ cpu: [x64]
215
+ os: [darwin]
216
+
217
+ '@esbuild/freebsd-arm64@0.25.12':
218
+ resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
219
+ engines: {node: '>=18'}
220
+ cpu: [arm64]
221
+ os: [freebsd]
222
+
223
+ '@esbuild/freebsd-x64@0.25.12':
224
+ resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
225
+ engines: {node: '>=18'}
226
+ cpu: [x64]
227
+ os: [freebsd]
228
+
229
+ '@esbuild/linux-arm64@0.25.12':
230
+ resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
231
+ engines: {node: '>=18'}
232
+ cpu: [arm64]
233
+ os: [linux]
234
+
235
+ '@esbuild/linux-arm@0.25.12':
236
+ resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
237
+ engines: {node: '>=18'}
238
+ cpu: [arm]
239
+ os: [linux]
240
+
241
+ '@esbuild/linux-ia32@0.25.12':
242
+ resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
243
+ engines: {node: '>=18'}
244
+ cpu: [ia32]
245
+ os: [linux]
246
+
247
+ '@esbuild/linux-loong64@0.25.12':
248
+ resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
249
+ engines: {node: '>=18'}
250
+ cpu: [loong64]
251
+ os: [linux]
252
+
253
+ '@esbuild/linux-mips64el@0.25.12':
254
+ resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
255
+ engines: {node: '>=18'}
256
+ cpu: [mips64el]
257
+ os: [linux]
258
+
259
+ '@esbuild/linux-ppc64@0.25.12':
260
+ resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
261
+ engines: {node: '>=18'}
262
+ cpu: [ppc64]
263
+ os: [linux]
264
+
265
+ '@esbuild/linux-riscv64@0.25.12':
266
+ resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
267
+ engines: {node: '>=18'}
268
+ cpu: [riscv64]
269
+ os: [linux]
270
+
271
+ '@esbuild/linux-s390x@0.25.12':
272
+ resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
273
+ engines: {node: '>=18'}
274
+ cpu: [s390x]
275
+ os: [linux]
276
+
277
+ '@esbuild/linux-x64@0.25.12':
278
+ resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
279
+ engines: {node: '>=18'}
280
+ cpu: [x64]
281
+ os: [linux]
282
+
283
+ '@esbuild/netbsd-arm64@0.25.12':
284
+ resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
285
+ engines: {node: '>=18'}
286
+ cpu: [arm64]
287
+ os: [netbsd]
288
+
289
+ '@esbuild/netbsd-x64@0.25.12':
290
+ resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
291
+ engines: {node: '>=18'}
292
+ cpu: [x64]
293
+ os: [netbsd]
294
+
295
+ '@esbuild/openbsd-arm64@0.25.12':
296
+ resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
297
+ engines: {node: '>=18'}
298
+ cpu: [arm64]
299
+ os: [openbsd]
300
+
301
+ '@esbuild/openbsd-x64@0.25.12':
302
+ resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
303
+ engines: {node: '>=18'}
304
+ cpu: [x64]
305
+ os: [openbsd]
306
+
307
+ '@esbuild/openharmony-arm64@0.25.12':
308
+ resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
309
+ engines: {node: '>=18'}
310
+ cpu: [arm64]
311
+ os: [openharmony]
312
+
313
+ '@esbuild/sunos-x64@0.25.12':
314
+ resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
315
+ engines: {node: '>=18'}
316
+ cpu: [x64]
317
+ os: [sunos]
318
+
319
+ '@esbuild/win32-arm64@0.25.12':
320
+ resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
321
+ engines: {node: '>=18'}
322
+ cpu: [arm64]
323
+ os: [win32]
324
+
325
+ '@esbuild/win32-ia32@0.25.12':
326
+ resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
327
+ engines: {node: '>=18'}
328
+ cpu: [ia32]
329
+ os: [win32]
330
+
331
+ '@esbuild/win32-x64@0.25.12':
332
+ resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
333
+ engines: {node: '>=18'}
334
+ cpu: [x64]
335
+ os: [win32]
336
+
337
+ '@jridgewell/gen-mapping@0.3.13':
338
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
339
+
340
+ '@jridgewell/remapping@2.3.5':
341
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
342
+
343
+ '@jridgewell/resolve-uri@3.1.2':
344
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
345
+ engines: {node: '>=6.0.0'}
346
+
347
+ '@jridgewell/sourcemap-codec@1.5.5':
348
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
349
+
350
+ '@jridgewell/trace-mapping@0.3.31':
351
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
352
+
353
+ '@polka/url@1.0.0-next.29':
354
+ resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
355
+
356
+ '@rolldown/pluginutils@1.0.0-beta.27':
357
+ resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==}
358
+
359
+ '@rollup/rollup-android-arm-eabi@4.60.2':
360
+ resolution: {integrity: sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==}
361
+ cpu: [arm]
362
+ os: [android]
363
+
364
+ '@rollup/rollup-android-arm64@4.60.2':
365
+ resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==}
366
+ cpu: [arm64]
367
+ os: [android]
368
+
369
+ '@rollup/rollup-darwin-arm64@4.60.2':
370
+ resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==}
371
+ cpu: [arm64]
372
+ os: [darwin]
373
+
374
+ '@rollup/rollup-darwin-x64@4.60.2':
375
+ resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==}
376
+ cpu: [x64]
377
+ os: [darwin]
378
+
379
+ '@rollup/rollup-freebsd-arm64@4.60.2':
380
+ resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==}
381
+ cpu: [arm64]
382
+ os: [freebsd]
383
+
384
+ '@rollup/rollup-freebsd-x64@4.60.2':
385
+ resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==}
386
+ cpu: [x64]
387
+ os: [freebsd]
388
+
389
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.2':
390
+ resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==}
391
+ cpu: [arm]
392
+ os: [linux]
393
+ libc: [glibc]
394
+
395
+ '@rollup/rollup-linux-arm-musleabihf@4.60.2':
396
+ resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==}
397
+ cpu: [arm]
398
+ os: [linux]
399
+ libc: [musl]
400
+
401
+ '@rollup/rollup-linux-arm64-gnu@4.60.2':
402
+ resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==}
403
+ cpu: [arm64]
404
+ os: [linux]
405
+ libc: [glibc]
406
+
407
+ '@rollup/rollup-linux-arm64-musl@4.60.2':
408
+ resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==}
409
+ cpu: [arm64]
410
+ os: [linux]
411
+ libc: [musl]
412
+
413
+ '@rollup/rollup-linux-loong64-gnu@4.60.2':
414
+ resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==}
415
+ cpu: [loong64]
416
+ os: [linux]
417
+ libc: [glibc]
418
+
419
+ '@rollup/rollup-linux-loong64-musl@4.60.2':
420
+ resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==}
421
+ cpu: [loong64]
422
+ os: [linux]
423
+ libc: [musl]
424
+
425
+ '@rollup/rollup-linux-ppc64-gnu@4.60.2':
426
+ resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==}
427
+ cpu: [ppc64]
428
+ os: [linux]
429
+ libc: [glibc]
430
+
431
+ '@rollup/rollup-linux-ppc64-musl@4.60.2':
432
+ resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==}
433
+ cpu: [ppc64]
434
+ os: [linux]
435
+ libc: [musl]
436
+
437
+ '@rollup/rollup-linux-riscv64-gnu@4.60.2':
438
+ resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==}
439
+ cpu: [riscv64]
440
+ os: [linux]
441
+ libc: [glibc]
442
+
443
+ '@rollup/rollup-linux-riscv64-musl@4.60.2':
444
+ resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==}
445
+ cpu: [riscv64]
446
+ os: [linux]
447
+ libc: [musl]
448
+
449
+ '@rollup/rollup-linux-s390x-gnu@4.60.2':
450
+ resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==}
451
+ cpu: [s390x]
452
+ os: [linux]
453
+ libc: [glibc]
454
+
455
+ '@rollup/rollup-linux-x64-gnu@4.60.2':
456
+ resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==}
457
+ cpu: [x64]
458
+ os: [linux]
459
+ libc: [glibc]
460
+
461
+ '@rollup/rollup-linux-x64-musl@4.60.2':
462
+ resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==}
463
+ cpu: [x64]
464
+ os: [linux]
465
+ libc: [musl]
466
+
467
+ '@rollup/rollup-openbsd-x64@4.60.2':
468
+ resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==}
469
+ cpu: [x64]
470
+ os: [openbsd]
471
+
472
+ '@rollup/rollup-openharmony-arm64@4.60.2':
473
+ resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==}
474
+ cpu: [arm64]
475
+ os: [openharmony]
476
+
477
+ '@rollup/rollup-win32-arm64-msvc@4.60.2':
478
+ resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==}
479
+ cpu: [arm64]
480
+ os: [win32]
481
+
482
+ '@rollup/rollup-win32-ia32-msvc@4.60.2':
483
+ resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==}
484
+ cpu: [ia32]
485
+ os: [win32]
486
+
487
+ '@rollup/rollup-win32-x64-gnu@4.60.2':
488
+ resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==}
489
+ cpu: [x64]
490
+ os: [win32]
491
+
492
+ '@rollup/rollup-win32-x64-msvc@4.60.2':
493
+ resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==}
494
+ cpu: [x64]
495
+ os: [win32]
496
+
497
+ '@standard-schema/spec@1.1.0':
498
+ resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
499
+
500
+ '@testing-library/dom@10.4.1':
501
+ resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==}
502
+ engines: {node: '>=18'}
503
+
504
+ '@testing-library/jest-dom@6.9.1':
505
+ resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==}
506
+ engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
507
+
508
+ '@testing-library/react@16.3.2':
509
+ resolution: {integrity: sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==}
510
+ engines: {node: '>=18'}
511
+ peerDependencies:
512
+ '@testing-library/dom': ^10.0.0
513
+ '@types/react': ^18.0.0 || ^19.0.0
514
+ '@types/react-dom': ^18.0.0 || ^19.0.0
515
+ react: ^18.0.0 || ^19.0.0
516
+ react-dom: ^18.0.0 || ^19.0.0
517
+ peerDependenciesMeta:
518
+ '@types/react':
519
+ optional: true
520
+ '@types/react-dom':
521
+ optional: true
522
+
523
+ '@testing-library/user-event@14.6.1':
524
+ resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==}
525
+ engines: {node: '>=12', npm: '>=6'}
526
+ peerDependencies:
527
+ '@testing-library/dom': '>=7.21.4'
528
+
529
+ '@types/aria-query@5.0.4':
530
+ resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
531
+
532
+ '@types/babel__core@7.20.5':
533
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
534
+
535
+ '@types/babel__generator@7.27.0':
536
+ resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
537
+
538
+ '@types/babel__template@7.4.4':
539
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
540
+
541
+ '@types/babel__traverse@7.28.0':
542
+ resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
543
+
544
+ '@types/chai@5.2.3':
545
+ resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==}
546
+
547
+ '@types/deep-eql@4.0.2':
548
+ resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
549
+
550
+ '@types/estree@1.0.8':
551
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
552
+
553
+ '@types/node@22.19.17':
554
+ resolution: {integrity: sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==}
555
+
556
+ '@types/react-dom@19.2.3':
557
+ resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
558
+ peerDependencies:
559
+ '@types/react': ^19.2.0
560
+
561
+ '@types/react@19.2.14':
562
+ resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
563
+
564
+ '@vitejs/plugin-react@4.7.0':
565
+ resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==}
566
+ engines: {node: ^14.18.0 || >=16.0.0}
567
+ peerDependencies:
568
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
569
+
570
+ '@vitest/expect@4.1.5':
571
+ resolution: {integrity: sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==}
572
+
573
+ '@vitest/mocker@4.1.5':
574
+ resolution: {integrity: sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==}
575
+ peerDependencies:
576
+ msw: ^2.4.9
577
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
578
+ peerDependenciesMeta:
579
+ msw:
580
+ optional: true
581
+ vite:
582
+ optional: true
583
+
584
+ '@vitest/pretty-format@4.1.5':
585
+ resolution: {integrity: sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==}
586
+
587
+ '@vitest/runner@4.1.5':
588
+ resolution: {integrity: sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==}
589
+
590
+ '@vitest/snapshot@4.1.5':
591
+ resolution: {integrity: sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==}
592
+
593
+ '@vitest/spy@4.1.5':
594
+ resolution: {integrity: sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==}
595
+
596
+ '@vitest/ui@4.1.5':
597
+ resolution: {integrity: sha512-3Z9HNFiV0IF1fk0JPiK+7kE1GcaIPefQQIBYur6PM5yFIq6agys3uqP/0t966e1wXfmjbRCHDe7qW236Xjwnag==}
598
+ peerDependencies:
599
+ vitest: 4.1.5
600
+
601
+ '@vitest/utils@4.1.5':
602
+ resolution: {integrity: sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==}
603
+
604
+ agent-base@7.1.4:
605
+ resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
606
+ engines: {node: '>= 14'}
607
+
608
+ ansi-regex@5.0.1:
609
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
610
+ engines: {node: '>=8'}
611
+
612
+ ansi-styles@5.2.0:
613
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
614
+ engines: {node: '>=10'}
615
+
616
+ aria-query@5.3.0:
617
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
618
+
619
+ aria-query@5.3.2:
620
+ resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
621
+ engines: {node: '>= 0.4'}
622
+
623
+ assertion-error@2.0.1:
624
+ resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
625
+ engines: {node: '>=12'}
626
+
627
+ asynckit@0.4.0:
628
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
629
+
630
+ baseline-browser-mapping@2.10.23:
631
+ resolution: {integrity: sha512-xwVXGqevyKPsiuQdLj+dZMVjidjJV508TBqexND5HrF89cGdCYCJFB3qhcxRHSeMctdCfbR1jrxBajhDy7o29g==}
632
+ engines: {node: '>=6.0.0'}
633
+ hasBin: true
634
+
635
+ browserslist@4.28.2:
636
+ resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==}
637
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
638
+ hasBin: true
639
+
640
+ call-bind-apply-helpers@1.0.2:
641
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
642
+ engines: {node: '>= 0.4'}
643
+
644
+ caniuse-lite@1.0.30001791:
645
+ resolution: {integrity: sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==}
646
+
647
+ chai@6.2.2:
648
+ resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
649
+ engines: {node: '>=18'}
650
+
651
+ combined-stream@1.0.8:
652
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
653
+ engines: {node: '>= 0.8'}
654
+
655
+ convert-source-map@2.0.0:
656
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
657
+
658
+ cookie@1.1.1:
659
+ resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
660
+ engines: {node: '>=18'}
661
+
662
+ css.escape@1.5.1:
663
+ resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
664
+
665
+ cssstyle@4.6.0:
666
+ resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==}
667
+ engines: {node: '>=18'}
668
+
669
+ csstype@3.2.3:
670
+ resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
671
+
672
+ data-urls@5.0.0:
673
+ resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
674
+ engines: {node: '>=18'}
675
+
676
+ debug@4.4.3:
677
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
678
+ engines: {node: '>=6.0'}
679
+ peerDependencies:
680
+ supports-color: '*'
681
+ peerDependenciesMeta:
682
+ supports-color:
683
+ optional: true
684
+
685
+ decimal.js@10.6.0:
686
+ resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
687
+
688
+ delayed-stream@1.0.0:
689
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
690
+ engines: {node: '>=0.4.0'}
691
+
692
+ dequal@2.0.3:
693
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
694
+ engines: {node: '>=6'}
695
+
696
+ dom-accessibility-api@0.5.16:
697
+ resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
698
+
699
+ dom-accessibility-api@0.6.3:
700
+ resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
701
+
702
+ dunder-proto@1.0.1:
703
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
704
+ engines: {node: '>= 0.4'}
705
+
706
+ electron-to-chromium@1.5.344:
707
+ resolution: {integrity: sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==}
708
+
709
+ entities@6.0.1:
710
+ resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
711
+ engines: {node: '>=0.12'}
712
+
713
+ es-define-property@1.0.1:
714
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
715
+ engines: {node: '>= 0.4'}
716
+
717
+ es-errors@1.3.0:
718
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
719
+ engines: {node: '>= 0.4'}
720
+
721
+ es-module-lexer@2.1.0:
722
+ resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==}
723
+
724
+ es-object-atoms@1.1.1:
725
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
726
+ engines: {node: '>= 0.4'}
727
+
728
+ es-set-tostringtag@2.1.0:
729
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
730
+ engines: {node: '>= 0.4'}
731
+
732
+ esbuild@0.25.12:
733
+ resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
734
+ engines: {node: '>=18'}
735
+ hasBin: true
736
+
737
+ escalade@3.2.0:
738
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
739
+ engines: {node: '>=6'}
740
+
741
+ estree-walker@3.0.3:
742
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
743
+
744
+ expect-type@1.3.0:
745
+ resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
746
+ engines: {node: '>=12.0.0'}
747
+
748
+ fdir@6.5.0:
749
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
750
+ engines: {node: '>=12.0.0'}
751
+ peerDependencies:
752
+ picomatch: ^3 || ^4
753
+ peerDependenciesMeta:
754
+ picomatch:
755
+ optional: true
756
+
757
+ fflate@0.8.2:
758
+ resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
759
+
760
+ flatted@3.4.2:
761
+ resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==}
762
+
763
+ form-data@4.0.5:
764
+ resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
765
+ engines: {node: '>= 6'}
766
+
767
+ fsevents@2.3.3:
768
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
769
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
770
+ os: [darwin]
771
+
772
+ function-bind@1.1.2:
773
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
774
+
775
+ gensync@1.0.0-beta.2:
776
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
777
+ engines: {node: '>=6.9.0'}
778
+
779
+ get-intrinsic@1.3.0:
780
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
781
+ engines: {node: '>= 0.4'}
782
+
783
+ get-proto@1.0.1:
784
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
785
+ engines: {node: '>= 0.4'}
786
+
787
+ gopd@1.2.0:
788
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
789
+ engines: {node: '>= 0.4'}
790
+
791
+ has-symbols@1.1.0:
792
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
793
+ engines: {node: '>= 0.4'}
794
+
795
+ has-tostringtag@1.0.2:
796
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
797
+ engines: {node: '>= 0.4'}
798
+
799
+ hasown@2.0.3:
800
+ resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==}
801
+ engines: {node: '>= 0.4'}
802
+
803
+ html-encoding-sniffer@4.0.0:
804
+ resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
805
+ engines: {node: '>=18'}
806
+
807
+ http-proxy-agent@7.0.2:
808
+ resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
809
+ engines: {node: '>= 14'}
810
+
811
+ https-proxy-agent@7.0.6:
812
+ resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
813
+ engines: {node: '>= 14'}
814
+
815
+ iconv-lite@0.6.3:
816
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
817
+ engines: {node: '>=0.10.0'}
818
+
819
+ indent-string@4.0.0:
820
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
821
+ engines: {node: '>=8'}
822
+
823
+ is-potential-custom-element-name@1.0.1:
824
+ resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
825
+
826
+ js-tokens@4.0.0:
827
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
828
+
829
+ jsdom@25.0.1:
830
+ resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==}
831
+ engines: {node: '>=18'}
832
+ peerDependencies:
833
+ canvas: ^2.11.2
834
+ peerDependenciesMeta:
835
+ canvas:
836
+ optional: true
837
+
838
+ jsesc@3.1.0:
839
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
840
+ engines: {node: '>=6'}
841
+ hasBin: true
842
+
843
+ json5@2.2.3:
844
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
845
+ engines: {node: '>=6'}
846
+ hasBin: true
847
+
848
+ lru-cache@10.4.3:
849
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
850
+
851
+ lru-cache@5.1.1:
852
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
853
+
854
+ lz-string@1.5.0:
855
+ resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
856
+ hasBin: true
857
+
858
+ magic-string@0.30.21:
859
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
860
+
861
+ math-intrinsics@1.1.0:
862
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
863
+ engines: {node: '>= 0.4'}
864
+
865
+ mime-db@1.52.0:
866
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
867
+ engines: {node: '>= 0.6'}
868
+
869
+ mime-types@2.1.35:
870
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
871
+ engines: {node: '>= 0.6'}
872
+
873
+ min-indent@1.0.1:
874
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
875
+ engines: {node: '>=4'}
876
+
877
+ mrmime@2.0.1:
878
+ resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
879
+ engines: {node: '>=10'}
880
+
881
+ ms@2.1.3:
882
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
883
+
884
+ nanoid@3.3.11:
885
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
886
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
887
+ hasBin: true
888
+
889
+ node-releases@2.0.38:
890
+ resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==}
891
+
892
+ nwsapi@2.2.23:
893
+ resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==}
894
+
895
+ obug@2.1.1:
896
+ resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==}
897
+
898
+ parse5@7.3.0:
899
+ resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
900
+
901
+ pathe@2.0.3:
902
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
903
+
904
+ picocolors@1.1.1:
905
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
906
+
907
+ picomatch@4.0.4:
908
+ resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
909
+ engines: {node: '>=12'}
910
+
911
+ postcss@8.5.12:
912
+ resolution: {integrity: sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==}
913
+ engines: {node: ^10 || ^12 || >=14}
914
+
915
+ pretty-format@27.5.1:
916
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
917
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
918
+
919
+ punycode@2.3.1:
920
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
921
+ engines: {node: '>=6'}
922
+
923
+ react-dom@19.2.5:
924
+ resolution: {integrity: sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==}
925
+ peerDependencies:
926
+ react: ^19.2.5
927
+
928
+ react-is@17.0.2:
929
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
930
+
931
+ react-refresh@0.17.0:
932
+ resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
933
+ engines: {node: '>=0.10.0'}
934
+
935
+ react-router-dom@7.14.2:
936
+ resolution: {integrity: sha512-YZcM5ES8jJSM+KrJ9BdvHHqlnGTg5tH3sC5ChFRj4inosKctdyzBDhOyyHdGk597q2OT6NTrCA1OvB/YDwfekQ==}
937
+ engines: {node: '>=20.0.0'}
938
+ peerDependencies:
939
+ react: '>=18'
940
+ react-dom: '>=18'
941
+
942
+ react-router@7.14.2:
943
+ resolution: {integrity: sha512-yCqNne6I8IB6rVCH7XUvlBK7/QKyqypBFGv+8dj4QBFJiiRX+FG7/nkdAvGElyvVZ/HQP5N19wzteuTARXi5Gw==}
944
+ engines: {node: '>=20.0.0'}
945
+ peerDependencies:
946
+ react: '>=18'
947
+ react-dom: '>=18'
948
+ peerDependenciesMeta:
949
+ react-dom:
950
+ optional: true
951
+
952
+ react@19.2.5:
953
+ resolution: {integrity: sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==}
954
+ engines: {node: '>=0.10.0'}
955
+
956
+ redent@3.0.0:
957
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
958
+ engines: {node: '>=8'}
959
+
960
+ rollup@4.60.2:
961
+ resolution: {integrity: sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==}
962
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
963
+ hasBin: true
964
+
965
+ rrweb-cssom@0.7.1:
966
+ resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==}
967
+
968
+ rrweb-cssom@0.8.0:
969
+ resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==}
970
+
971
+ safer-buffer@2.1.2:
972
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
973
+
974
+ saxes@6.0.0:
975
+ resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
976
+ engines: {node: '>=v12.22.7'}
977
+
978
+ scheduler@0.27.0:
979
+ resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
980
+
981
+ semver@6.3.1:
982
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
983
+ hasBin: true
984
+
985
+ set-cookie-parser@2.7.2:
986
+ resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==}
987
+
988
+ siginfo@2.0.0:
989
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
990
+
991
+ sirv@3.0.2:
992
+ resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==}
993
+ engines: {node: '>=18'}
994
+
995
+ source-map-js@1.2.1:
996
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
997
+ engines: {node: '>=0.10.0'}
998
+
999
+ stackback@0.0.2:
1000
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
1001
+
1002
+ std-env@4.1.0:
1003
+ resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==}
1004
+
1005
+ strip-indent@3.0.0:
1006
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
1007
+ engines: {node: '>=8'}
1008
+
1009
+ symbol-tree@3.2.4:
1010
+ resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
1011
+
1012
+ tinybench@2.9.0:
1013
+ resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
1014
+
1015
+ tinyexec@1.1.2:
1016
+ resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==}
1017
+ engines: {node: '>=18'}
1018
+
1019
+ tinyglobby@0.2.16:
1020
+ resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
1021
+ engines: {node: '>=12.0.0'}
1022
+
1023
+ tinyrainbow@3.1.0:
1024
+ resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==}
1025
+ engines: {node: '>=14.0.0'}
1026
+
1027
+ tldts-core@6.1.86:
1028
+ resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==}
1029
+
1030
+ tldts@6.1.86:
1031
+ resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==}
1032
+ hasBin: true
1033
+
1034
+ totalist@3.0.1:
1035
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
1036
+ engines: {node: '>=6'}
1037
+
1038
+ tough-cookie@5.1.2:
1039
+ resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==}
1040
+ engines: {node: '>=16'}
1041
+
1042
+ tr46@5.1.1:
1043
+ resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==}
1044
+ engines: {node: '>=18'}
1045
+
1046
+ typescript@5.9.3:
1047
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
1048
+ engines: {node: '>=14.17'}
1049
+ hasBin: true
1050
+
1051
+ undici-types@6.21.0:
1052
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
1053
+
1054
+ update-browserslist-db@1.2.3:
1055
+ resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
1056
+ hasBin: true
1057
+ peerDependencies:
1058
+ browserslist: '>= 4.21.0'
1059
+
1060
+ vite@6.4.2:
1061
+ resolution: {integrity: sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==}
1062
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
1063
+ hasBin: true
1064
+ peerDependencies:
1065
+ '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
1066
+ jiti: '>=1.21.0'
1067
+ less: '*'
1068
+ lightningcss: ^1.21.0
1069
+ sass: '*'
1070
+ sass-embedded: '*'
1071
+ stylus: '*'
1072
+ sugarss: '*'
1073
+ terser: ^5.16.0
1074
+ tsx: ^4.8.1
1075
+ yaml: ^2.4.2
1076
+ peerDependenciesMeta:
1077
+ '@types/node':
1078
+ optional: true
1079
+ jiti:
1080
+ optional: true
1081
+ less:
1082
+ optional: true
1083
+ lightningcss:
1084
+ optional: true
1085
+ sass:
1086
+ optional: true
1087
+ sass-embedded:
1088
+ optional: true
1089
+ stylus:
1090
+ optional: true
1091
+ sugarss:
1092
+ optional: true
1093
+ terser:
1094
+ optional: true
1095
+ tsx:
1096
+ optional: true
1097
+ yaml:
1098
+ optional: true
1099
+
1100
+ vitest@4.1.5:
1101
+ resolution: {integrity: sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==}
1102
+ engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
1103
+ hasBin: true
1104
+ peerDependencies:
1105
+ '@edge-runtime/vm': '*'
1106
+ '@opentelemetry/api': ^1.9.0
1107
+ '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
1108
+ '@vitest/browser-playwright': 4.1.5
1109
+ '@vitest/browser-preview': 4.1.5
1110
+ '@vitest/browser-webdriverio': 4.1.5
1111
+ '@vitest/coverage-istanbul': 4.1.5
1112
+ '@vitest/coverage-v8': 4.1.5
1113
+ '@vitest/ui': 4.1.5
1114
+ happy-dom: '*'
1115
+ jsdom: '*'
1116
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
1117
+ peerDependenciesMeta:
1118
+ '@edge-runtime/vm':
1119
+ optional: true
1120
+ '@opentelemetry/api':
1121
+ optional: true
1122
+ '@types/node':
1123
+ optional: true
1124
+ '@vitest/browser-playwright':
1125
+ optional: true
1126
+ '@vitest/browser-preview':
1127
+ optional: true
1128
+ '@vitest/browser-webdriverio':
1129
+ optional: true
1130
+ '@vitest/coverage-istanbul':
1131
+ optional: true
1132
+ '@vitest/coverage-v8':
1133
+ optional: true
1134
+ '@vitest/ui':
1135
+ optional: true
1136
+ happy-dom:
1137
+ optional: true
1138
+ jsdom:
1139
+ optional: true
1140
+
1141
+ w3c-xmlserializer@5.0.0:
1142
+ resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
1143
+ engines: {node: '>=18'}
1144
+
1145
+ webidl-conversions@7.0.0:
1146
+ resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
1147
+ engines: {node: '>=12'}
1148
+
1149
+ whatwg-encoding@3.1.1:
1150
+ resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
1151
+ engines: {node: '>=18'}
1152
+ deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation
1153
+
1154
+ whatwg-mimetype@4.0.0:
1155
+ resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
1156
+ engines: {node: '>=18'}
1157
+
1158
+ whatwg-url@14.2.0:
1159
+ resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==}
1160
+ engines: {node: '>=18'}
1161
+
1162
+ why-is-node-running@2.3.0:
1163
+ resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
1164
+ engines: {node: '>=8'}
1165
+ hasBin: true
1166
+
1167
+ ws@8.20.0:
1168
+ resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==}
1169
+ engines: {node: '>=10.0.0'}
1170
+ peerDependencies:
1171
+ bufferutil: ^4.0.1
1172
+ utf-8-validate: '>=5.0.2'
1173
+ peerDependenciesMeta:
1174
+ bufferutil:
1175
+ optional: true
1176
+ utf-8-validate:
1177
+ optional: true
1178
+
1179
+ xml-name-validator@5.0.0:
1180
+ resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
1181
+ engines: {node: '>=18'}
1182
+
1183
+ xmlchars@2.2.0:
1184
+ resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
1185
+
1186
+ yallist@3.1.1:
1187
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
1188
+
1189
+ snapshots:
1190
+
1191
+ '@adobe/css-tools@4.4.4': {}
1192
+
1193
+ '@asamuzakjp/css-color@3.2.0':
1194
+ dependencies:
1195
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
1196
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
1197
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
1198
+ '@csstools/css-tokenizer': 3.0.4
1199
+ lru-cache: 10.4.3
1200
+
1201
+ '@babel/code-frame@7.29.0':
1202
+ dependencies:
1203
+ '@babel/helper-validator-identifier': 7.28.5
1204
+ js-tokens: 4.0.0
1205
+ picocolors: 1.1.1
1206
+
1207
+ '@babel/compat-data@7.29.0': {}
1208
+
1209
+ '@babel/core@7.29.0':
1210
+ dependencies:
1211
+ '@babel/code-frame': 7.29.0
1212
+ '@babel/generator': 7.29.1
1213
+ '@babel/helper-compilation-targets': 7.28.6
1214
+ '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
1215
+ '@babel/helpers': 7.29.2
1216
+ '@babel/parser': 7.29.2
1217
+ '@babel/template': 7.28.6
1218
+ '@babel/traverse': 7.29.0
1219
+ '@babel/types': 7.29.0
1220
+ '@jridgewell/remapping': 2.3.5
1221
+ convert-source-map: 2.0.0
1222
+ debug: 4.4.3
1223
+ gensync: 1.0.0-beta.2
1224
+ json5: 2.2.3
1225
+ semver: 6.3.1
1226
+ transitivePeerDependencies:
1227
+ - supports-color
1228
+
1229
+ '@babel/generator@7.29.1':
1230
+ dependencies:
1231
+ '@babel/parser': 7.29.2
1232
+ '@babel/types': 7.29.0
1233
+ '@jridgewell/gen-mapping': 0.3.13
1234
+ '@jridgewell/trace-mapping': 0.3.31
1235
+ jsesc: 3.1.0
1236
+
1237
+ '@babel/helper-compilation-targets@7.28.6':
1238
+ dependencies:
1239
+ '@babel/compat-data': 7.29.0
1240
+ '@babel/helper-validator-option': 7.27.1
1241
+ browserslist: 4.28.2
1242
+ lru-cache: 5.1.1
1243
+ semver: 6.3.1
1244
+
1245
+ '@babel/helper-globals@7.28.0': {}
1246
+
1247
+ '@babel/helper-module-imports@7.28.6':
1248
+ dependencies:
1249
+ '@babel/traverse': 7.29.0
1250
+ '@babel/types': 7.29.0
1251
+ transitivePeerDependencies:
1252
+ - supports-color
1253
+
1254
+ '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)':
1255
+ dependencies:
1256
+ '@babel/core': 7.29.0
1257
+ '@babel/helper-module-imports': 7.28.6
1258
+ '@babel/helper-validator-identifier': 7.28.5
1259
+ '@babel/traverse': 7.29.0
1260
+ transitivePeerDependencies:
1261
+ - supports-color
1262
+
1263
+ '@babel/helper-plugin-utils@7.28.6': {}
1264
+
1265
+ '@babel/helper-string-parser@7.27.1': {}
1266
+
1267
+ '@babel/helper-validator-identifier@7.28.5': {}
1268
+
1269
+ '@babel/helper-validator-option@7.27.1': {}
1270
+
1271
+ '@babel/helpers@7.29.2':
1272
+ dependencies:
1273
+ '@babel/template': 7.28.6
1274
+ '@babel/types': 7.29.0
1275
+
1276
+ '@babel/parser@7.29.2':
1277
+ dependencies:
1278
+ '@babel/types': 7.29.0
1279
+
1280
+ '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)':
1281
+ dependencies:
1282
+ '@babel/core': 7.29.0
1283
+ '@babel/helper-plugin-utils': 7.28.6
1284
+
1285
+ '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)':
1286
+ dependencies:
1287
+ '@babel/core': 7.29.0
1288
+ '@babel/helper-plugin-utils': 7.28.6
1289
+
1290
+ '@babel/runtime@7.29.2': {}
1291
+
1292
+ '@babel/template@7.28.6':
1293
+ dependencies:
1294
+ '@babel/code-frame': 7.29.0
1295
+ '@babel/parser': 7.29.2
1296
+ '@babel/types': 7.29.0
1297
+
1298
+ '@babel/traverse@7.29.0':
1299
+ dependencies:
1300
+ '@babel/code-frame': 7.29.0
1301
+ '@babel/generator': 7.29.1
1302
+ '@babel/helper-globals': 7.28.0
1303
+ '@babel/parser': 7.29.2
1304
+ '@babel/template': 7.28.6
1305
+ '@babel/types': 7.29.0
1306
+ debug: 4.4.3
1307
+ transitivePeerDependencies:
1308
+ - supports-color
1309
+
1310
+ '@babel/types@7.29.0':
1311
+ dependencies:
1312
+ '@babel/helper-string-parser': 7.27.1
1313
+ '@babel/helper-validator-identifier': 7.28.5
1314
+
1315
+ '@csstools/color-helpers@5.1.0': {}
1316
+
1317
+ '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
1318
+ dependencies:
1319
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
1320
+ '@csstools/css-tokenizer': 3.0.4
1321
+
1322
+ '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
1323
+ dependencies:
1324
+ '@csstools/color-helpers': 5.1.0
1325
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
1326
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
1327
+ '@csstools/css-tokenizer': 3.0.4
1328
+
1329
+ '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
1330
+ dependencies:
1331
+ '@csstools/css-tokenizer': 3.0.4
1332
+
1333
+ '@csstools/css-tokenizer@3.0.4': {}
1334
+
1335
+ '@esbuild/aix-ppc64@0.25.12':
1336
+ optional: true
1337
+
1338
+ '@esbuild/android-arm64@0.25.12':
1339
+ optional: true
1340
+
1341
+ '@esbuild/android-arm@0.25.12':
1342
+ optional: true
1343
+
1344
+ '@esbuild/android-x64@0.25.12':
1345
+ optional: true
1346
+
1347
+ '@esbuild/darwin-arm64@0.25.12':
1348
+ optional: true
1349
+
1350
+ '@esbuild/darwin-x64@0.25.12':
1351
+ optional: true
1352
+
1353
+ '@esbuild/freebsd-arm64@0.25.12':
1354
+ optional: true
1355
+
1356
+ '@esbuild/freebsd-x64@0.25.12':
1357
+ optional: true
1358
+
1359
+ '@esbuild/linux-arm64@0.25.12':
1360
+ optional: true
1361
+
1362
+ '@esbuild/linux-arm@0.25.12':
1363
+ optional: true
1364
+
1365
+ '@esbuild/linux-ia32@0.25.12':
1366
+ optional: true
1367
+
1368
+ '@esbuild/linux-loong64@0.25.12':
1369
+ optional: true
1370
+
1371
+ '@esbuild/linux-mips64el@0.25.12':
1372
+ optional: true
1373
+
1374
+ '@esbuild/linux-ppc64@0.25.12':
1375
+ optional: true
1376
+
1377
+ '@esbuild/linux-riscv64@0.25.12':
1378
+ optional: true
1379
+
1380
+ '@esbuild/linux-s390x@0.25.12':
1381
+ optional: true
1382
+
1383
+ '@esbuild/linux-x64@0.25.12':
1384
+ optional: true
1385
+
1386
+ '@esbuild/netbsd-arm64@0.25.12':
1387
+ optional: true
1388
+
1389
+ '@esbuild/netbsd-x64@0.25.12':
1390
+ optional: true
1391
+
1392
+ '@esbuild/openbsd-arm64@0.25.12':
1393
+ optional: true
1394
+
1395
+ '@esbuild/openbsd-x64@0.25.12':
1396
+ optional: true
1397
+
1398
+ '@esbuild/openharmony-arm64@0.25.12':
1399
+ optional: true
1400
+
1401
+ '@esbuild/sunos-x64@0.25.12':
1402
+ optional: true
1403
+
1404
+ '@esbuild/win32-arm64@0.25.12':
1405
+ optional: true
1406
+
1407
+ '@esbuild/win32-ia32@0.25.12':
1408
+ optional: true
1409
+
1410
+ '@esbuild/win32-x64@0.25.12':
1411
+ optional: true
1412
+
1413
+ '@jridgewell/gen-mapping@0.3.13':
1414
+ dependencies:
1415
+ '@jridgewell/sourcemap-codec': 1.5.5
1416
+ '@jridgewell/trace-mapping': 0.3.31
1417
+
1418
+ '@jridgewell/remapping@2.3.5':
1419
+ dependencies:
1420
+ '@jridgewell/gen-mapping': 0.3.13
1421
+ '@jridgewell/trace-mapping': 0.3.31
1422
+
1423
+ '@jridgewell/resolve-uri@3.1.2': {}
1424
+
1425
+ '@jridgewell/sourcemap-codec@1.5.5': {}
1426
+
1427
+ '@jridgewell/trace-mapping@0.3.31':
1428
+ dependencies:
1429
+ '@jridgewell/resolve-uri': 3.1.2
1430
+ '@jridgewell/sourcemap-codec': 1.5.5
1431
+
1432
+ '@polka/url@1.0.0-next.29': {}
1433
+
1434
+ '@rolldown/pluginutils@1.0.0-beta.27': {}
1435
+
1436
+ '@rollup/rollup-android-arm-eabi@4.60.2':
1437
+ optional: true
1438
+
1439
+ '@rollup/rollup-android-arm64@4.60.2':
1440
+ optional: true
1441
+
1442
+ '@rollup/rollup-darwin-arm64@4.60.2':
1443
+ optional: true
1444
+
1445
+ '@rollup/rollup-darwin-x64@4.60.2':
1446
+ optional: true
1447
+
1448
+ '@rollup/rollup-freebsd-arm64@4.60.2':
1449
+ optional: true
1450
+
1451
+ '@rollup/rollup-freebsd-x64@4.60.2':
1452
+ optional: true
1453
+
1454
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.2':
1455
+ optional: true
1456
+
1457
+ '@rollup/rollup-linux-arm-musleabihf@4.60.2':
1458
+ optional: true
1459
+
1460
+ '@rollup/rollup-linux-arm64-gnu@4.60.2':
1461
+ optional: true
1462
+
1463
+ '@rollup/rollup-linux-arm64-musl@4.60.2':
1464
+ optional: true
1465
+
1466
+ '@rollup/rollup-linux-loong64-gnu@4.60.2':
1467
+ optional: true
1468
+
1469
+ '@rollup/rollup-linux-loong64-musl@4.60.2':
1470
+ optional: true
1471
+
1472
+ '@rollup/rollup-linux-ppc64-gnu@4.60.2':
1473
+ optional: true
1474
+
1475
+ '@rollup/rollup-linux-ppc64-musl@4.60.2':
1476
+ optional: true
1477
+
1478
+ '@rollup/rollup-linux-riscv64-gnu@4.60.2':
1479
+ optional: true
1480
+
1481
+ '@rollup/rollup-linux-riscv64-musl@4.60.2':
1482
+ optional: true
1483
+
1484
+ '@rollup/rollup-linux-s390x-gnu@4.60.2':
1485
+ optional: true
1486
+
1487
+ '@rollup/rollup-linux-x64-gnu@4.60.2':
1488
+ optional: true
1489
+
1490
+ '@rollup/rollup-linux-x64-musl@4.60.2':
1491
+ optional: true
1492
+
1493
+ '@rollup/rollup-openbsd-x64@4.60.2':
1494
+ optional: true
1495
+
1496
+ '@rollup/rollup-openharmony-arm64@4.60.2':
1497
+ optional: true
1498
+
1499
+ '@rollup/rollup-win32-arm64-msvc@4.60.2':
1500
+ optional: true
1501
+
1502
+ '@rollup/rollup-win32-ia32-msvc@4.60.2':
1503
+ optional: true
1504
+
1505
+ '@rollup/rollup-win32-x64-gnu@4.60.2':
1506
+ optional: true
1507
+
1508
+ '@rollup/rollup-win32-x64-msvc@4.60.2':
1509
+ optional: true
1510
+
1511
+ '@standard-schema/spec@1.1.0': {}
1512
+
1513
+ '@testing-library/dom@10.4.1':
1514
+ dependencies:
1515
+ '@babel/code-frame': 7.29.0
1516
+ '@babel/runtime': 7.29.2
1517
+ '@types/aria-query': 5.0.4
1518
+ aria-query: 5.3.0
1519
+ dom-accessibility-api: 0.5.16
1520
+ lz-string: 1.5.0
1521
+ picocolors: 1.1.1
1522
+ pretty-format: 27.5.1
1523
+
1524
+ '@testing-library/jest-dom@6.9.1':
1525
+ dependencies:
1526
+ '@adobe/css-tools': 4.4.4
1527
+ aria-query: 5.3.2
1528
+ css.escape: 1.5.1
1529
+ dom-accessibility-api: 0.6.3
1530
+ picocolors: 1.1.1
1531
+ redent: 3.0.0
1532
+
1533
+ '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)':
1534
+ dependencies:
1535
+ '@babel/runtime': 7.29.2
1536
+ '@testing-library/dom': 10.4.1
1537
+ react: 19.2.5
1538
+ react-dom: 19.2.5(react@19.2.5)
1539
+ optionalDependencies:
1540
+ '@types/react': 19.2.14
1541
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
1542
+
1543
+ '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)':
1544
+ dependencies:
1545
+ '@testing-library/dom': 10.4.1
1546
+
1547
+ '@types/aria-query@5.0.4': {}
1548
+
1549
+ '@types/babel__core@7.20.5':
1550
+ dependencies:
1551
+ '@babel/parser': 7.29.2
1552
+ '@babel/types': 7.29.0
1553
+ '@types/babel__generator': 7.27.0
1554
+ '@types/babel__template': 7.4.4
1555
+ '@types/babel__traverse': 7.28.0
1556
+
1557
+ '@types/babel__generator@7.27.0':
1558
+ dependencies:
1559
+ '@babel/types': 7.29.0
1560
+
1561
+ '@types/babel__template@7.4.4':
1562
+ dependencies:
1563
+ '@babel/parser': 7.29.2
1564
+ '@babel/types': 7.29.0
1565
+
1566
+ '@types/babel__traverse@7.28.0':
1567
+ dependencies:
1568
+ '@babel/types': 7.29.0
1569
+
1570
+ '@types/chai@5.2.3':
1571
+ dependencies:
1572
+ '@types/deep-eql': 4.0.2
1573
+ assertion-error: 2.0.1
1574
+
1575
+ '@types/deep-eql@4.0.2': {}
1576
+
1577
+ '@types/estree@1.0.8': {}
1578
+
1579
+ '@types/node@22.19.17':
1580
+ dependencies:
1581
+ undici-types: 6.21.0
1582
+
1583
+ '@types/react-dom@19.2.3(@types/react@19.2.14)':
1584
+ dependencies:
1585
+ '@types/react': 19.2.14
1586
+
1587
+ '@types/react@19.2.14':
1588
+ dependencies:
1589
+ csstype: 3.2.3
1590
+
1591
+ '@vitejs/plugin-react@4.7.0(vite@6.4.2(@types/node@22.19.17))':
1592
+ dependencies:
1593
+ '@babel/core': 7.29.0
1594
+ '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0)
1595
+ '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0)
1596
+ '@rolldown/pluginutils': 1.0.0-beta.27
1597
+ '@types/babel__core': 7.20.5
1598
+ react-refresh: 0.17.0
1599
+ vite: 6.4.2(@types/node@22.19.17)
1600
+ transitivePeerDependencies:
1601
+ - supports-color
1602
+
1603
+ '@vitest/expect@4.1.5':
1604
+ dependencies:
1605
+ '@standard-schema/spec': 1.1.0
1606
+ '@types/chai': 5.2.3
1607
+ '@vitest/spy': 4.1.5
1608
+ '@vitest/utils': 4.1.5
1609
+ chai: 6.2.2
1610
+ tinyrainbow: 3.1.0
1611
+
1612
+ '@vitest/mocker@4.1.5(vite@6.4.2(@types/node@22.19.17))':
1613
+ dependencies:
1614
+ '@vitest/spy': 4.1.5
1615
+ estree-walker: 3.0.3
1616
+ magic-string: 0.30.21
1617
+ optionalDependencies:
1618
+ vite: 6.4.2(@types/node@22.19.17)
1619
+
1620
+ '@vitest/pretty-format@4.1.5':
1621
+ dependencies:
1622
+ tinyrainbow: 3.1.0
1623
+
1624
+ '@vitest/runner@4.1.5':
1625
+ dependencies:
1626
+ '@vitest/utils': 4.1.5
1627
+ pathe: 2.0.3
1628
+
1629
+ '@vitest/snapshot@4.1.5':
1630
+ dependencies:
1631
+ '@vitest/pretty-format': 4.1.5
1632
+ '@vitest/utils': 4.1.5
1633
+ magic-string: 0.30.21
1634
+ pathe: 2.0.3
1635
+
1636
+ '@vitest/spy@4.1.5': {}
1637
+
1638
+ '@vitest/ui@4.1.5(vitest@4.1.5)':
1639
+ dependencies:
1640
+ '@vitest/utils': 4.1.5
1641
+ fflate: 0.8.2
1642
+ flatted: 3.4.2
1643
+ pathe: 2.0.3
1644
+ sirv: 3.0.2
1645
+ tinyglobby: 0.2.16
1646
+ tinyrainbow: 3.1.0
1647
+ vitest: 4.1.5(@types/node@22.19.17)(@vitest/ui@4.1.5)(jsdom@25.0.1)(vite@6.4.2(@types/node@22.19.17))
1648
+
1649
+ '@vitest/utils@4.1.5':
1650
+ dependencies:
1651
+ '@vitest/pretty-format': 4.1.5
1652
+ convert-source-map: 2.0.0
1653
+ tinyrainbow: 3.1.0
1654
+
1655
+ agent-base@7.1.4: {}
1656
+
1657
+ ansi-regex@5.0.1: {}
1658
+
1659
+ ansi-styles@5.2.0: {}
1660
+
1661
+ aria-query@5.3.0:
1662
+ dependencies:
1663
+ dequal: 2.0.3
1664
+
1665
+ aria-query@5.3.2: {}
1666
+
1667
+ assertion-error@2.0.1: {}
1668
+
1669
+ asynckit@0.4.0: {}
1670
+
1671
+ baseline-browser-mapping@2.10.23: {}
1672
+
1673
+ browserslist@4.28.2:
1674
+ dependencies:
1675
+ baseline-browser-mapping: 2.10.23
1676
+ caniuse-lite: 1.0.30001791
1677
+ electron-to-chromium: 1.5.344
1678
+ node-releases: 2.0.38
1679
+ update-browserslist-db: 1.2.3(browserslist@4.28.2)
1680
+
1681
+ call-bind-apply-helpers@1.0.2:
1682
+ dependencies:
1683
+ es-errors: 1.3.0
1684
+ function-bind: 1.1.2
1685
+
1686
+ caniuse-lite@1.0.30001791: {}
1687
+
1688
+ chai@6.2.2: {}
1689
+
1690
+ combined-stream@1.0.8:
1691
+ dependencies:
1692
+ delayed-stream: 1.0.0
1693
+
1694
+ convert-source-map@2.0.0: {}
1695
+
1696
+ cookie@1.1.1: {}
1697
+
1698
+ css.escape@1.5.1: {}
1699
+
1700
+ cssstyle@4.6.0:
1701
+ dependencies:
1702
+ '@asamuzakjp/css-color': 3.2.0
1703
+ rrweb-cssom: 0.8.0
1704
+
1705
+ csstype@3.2.3: {}
1706
+
1707
+ data-urls@5.0.0:
1708
+ dependencies:
1709
+ whatwg-mimetype: 4.0.0
1710
+ whatwg-url: 14.2.0
1711
+
1712
+ debug@4.4.3:
1713
+ dependencies:
1714
+ ms: 2.1.3
1715
+
1716
+ decimal.js@10.6.0: {}
1717
+
1718
+ delayed-stream@1.0.0: {}
1719
+
1720
+ dequal@2.0.3: {}
1721
+
1722
+ dom-accessibility-api@0.5.16: {}
1723
+
1724
+ dom-accessibility-api@0.6.3: {}
1725
+
1726
+ dunder-proto@1.0.1:
1727
+ dependencies:
1728
+ call-bind-apply-helpers: 1.0.2
1729
+ es-errors: 1.3.0
1730
+ gopd: 1.2.0
1731
+
1732
+ electron-to-chromium@1.5.344: {}
1733
+
1734
+ entities@6.0.1: {}
1735
+
1736
+ es-define-property@1.0.1: {}
1737
+
1738
+ es-errors@1.3.0: {}
1739
+
1740
+ es-module-lexer@2.1.0: {}
1741
+
1742
+ es-object-atoms@1.1.1:
1743
+ dependencies:
1744
+ es-errors: 1.3.0
1745
+
1746
+ es-set-tostringtag@2.1.0:
1747
+ dependencies:
1748
+ es-errors: 1.3.0
1749
+ get-intrinsic: 1.3.0
1750
+ has-tostringtag: 1.0.2
1751
+ hasown: 2.0.3
1752
+
1753
+ esbuild@0.25.12:
1754
+ optionalDependencies:
1755
+ '@esbuild/aix-ppc64': 0.25.12
1756
+ '@esbuild/android-arm': 0.25.12
1757
+ '@esbuild/android-arm64': 0.25.12
1758
+ '@esbuild/android-x64': 0.25.12
1759
+ '@esbuild/darwin-arm64': 0.25.12
1760
+ '@esbuild/darwin-x64': 0.25.12
1761
+ '@esbuild/freebsd-arm64': 0.25.12
1762
+ '@esbuild/freebsd-x64': 0.25.12
1763
+ '@esbuild/linux-arm': 0.25.12
1764
+ '@esbuild/linux-arm64': 0.25.12
1765
+ '@esbuild/linux-ia32': 0.25.12
1766
+ '@esbuild/linux-loong64': 0.25.12
1767
+ '@esbuild/linux-mips64el': 0.25.12
1768
+ '@esbuild/linux-ppc64': 0.25.12
1769
+ '@esbuild/linux-riscv64': 0.25.12
1770
+ '@esbuild/linux-s390x': 0.25.12
1771
+ '@esbuild/linux-x64': 0.25.12
1772
+ '@esbuild/netbsd-arm64': 0.25.12
1773
+ '@esbuild/netbsd-x64': 0.25.12
1774
+ '@esbuild/openbsd-arm64': 0.25.12
1775
+ '@esbuild/openbsd-x64': 0.25.12
1776
+ '@esbuild/openharmony-arm64': 0.25.12
1777
+ '@esbuild/sunos-x64': 0.25.12
1778
+ '@esbuild/win32-arm64': 0.25.12
1779
+ '@esbuild/win32-ia32': 0.25.12
1780
+ '@esbuild/win32-x64': 0.25.12
1781
+
1782
+ escalade@3.2.0: {}
1783
+
1784
+ estree-walker@3.0.3:
1785
+ dependencies:
1786
+ '@types/estree': 1.0.8
1787
+
1788
+ expect-type@1.3.0: {}
1789
+
1790
+ fdir@6.5.0(picomatch@4.0.4):
1791
+ optionalDependencies:
1792
+ picomatch: 4.0.4
1793
+
1794
+ fflate@0.8.2: {}
1795
+
1796
+ flatted@3.4.2: {}
1797
+
1798
+ form-data@4.0.5:
1799
+ dependencies:
1800
+ asynckit: 0.4.0
1801
+ combined-stream: 1.0.8
1802
+ es-set-tostringtag: 2.1.0
1803
+ hasown: 2.0.3
1804
+ mime-types: 2.1.35
1805
+
1806
+ fsevents@2.3.3:
1807
+ optional: true
1808
+
1809
+ function-bind@1.1.2: {}
1810
+
1811
+ gensync@1.0.0-beta.2: {}
1812
+
1813
+ get-intrinsic@1.3.0:
1814
+ dependencies:
1815
+ call-bind-apply-helpers: 1.0.2
1816
+ es-define-property: 1.0.1
1817
+ es-errors: 1.3.0
1818
+ es-object-atoms: 1.1.1
1819
+ function-bind: 1.1.2
1820
+ get-proto: 1.0.1
1821
+ gopd: 1.2.0
1822
+ has-symbols: 1.1.0
1823
+ hasown: 2.0.3
1824
+ math-intrinsics: 1.1.0
1825
+
1826
+ get-proto@1.0.1:
1827
+ dependencies:
1828
+ dunder-proto: 1.0.1
1829
+ es-object-atoms: 1.1.1
1830
+
1831
+ gopd@1.2.0: {}
1832
+
1833
+ has-symbols@1.1.0: {}
1834
+
1835
+ has-tostringtag@1.0.2:
1836
+ dependencies:
1837
+ has-symbols: 1.1.0
1838
+
1839
+ hasown@2.0.3:
1840
+ dependencies:
1841
+ function-bind: 1.1.2
1842
+
1843
+ html-encoding-sniffer@4.0.0:
1844
+ dependencies:
1845
+ whatwg-encoding: 3.1.1
1846
+
1847
+ http-proxy-agent@7.0.2:
1848
+ dependencies:
1849
+ agent-base: 7.1.4
1850
+ debug: 4.4.3
1851
+ transitivePeerDependencies:
1852
+ - supports-color
1853
+
1854
+ https-proxy-agent@7.0.6:
1855
+ dependencies:
1856
+ agent-base: 7.1.4
1857
+ debug: 4.4.3
1858
+ transitivePeerDependencies:
1859
+ - supports-color
1860
+
1861
+ iconv-lite@0.6.3:
1862
+ dependencies:
1863
+ safer-buffer: 2.1.2
1864
+
1865
+ indent-string@4.0.0: {}
1866
+
1867
+ is-potential-custom-element-name@1.0.1: {}
1868
+
1869
+ js-tokens@4.0.0: {}
1870
+
1871
+ jsdom@25.0.1:
1872
+ dependencies:
1873
+ cssstyle: 4.6.0
1874
+ data-urls: 5.0.0
1875
+ decimal.js: 10.6.0
1876
+ form-data: 4.0.5
1877
+ html-encoding-sniffer: 4.0.0
1878
+ http-proxy-agent: 7.0.2
1879
+ https-proxy-agent: 7.0.6
1880
+ is-potential-custom-element-name: 1.0.1
1881
+ nwsapi: 2.2.23
1882
+ parse5: 7.3.0
1883
+ rrweb-cssom: 0.7.1
1884
+ saxes: 6.0.0
1885
+ symbol-tree: 3.2.4
1886
+ tough-cookie: 5.1.2
1887
+ w3c-xmlserializer: 5.0.0
1888
+ webidl-conversions: 7.0.0
1889
+ whatwg-encoding: 3.1.1
1890
+ whatwg-mimetype: 4.0.0
1891
+ whatwg-url: 14.2.0
1892
+ ws: 8.20.0
1893
+ xml-name-validator: 5.0.0
1894
+ transitivePeerDependencies:
1895
+ - bufferutil
1896
+ - supports-color
1897
+ - utf-8-validate
1898
+
1899
+ jsesc@3.1.0: {}
1900
+
1901
+ json5@2.2.3: {}
1902
+
1903
+ lru-cache@10.4.3: {}
1904
+
1905
+ lru-cache@5.1.1:
1906
+ dependencies:
1907
+ yallist: 3.1.1
1908
+
1909
+ lz-string@1.5.0: {}
1910
+
1911
+ magic-string@0.30.21:
1912
+ dependencies:
1913
+ '@jridgewell/sourcemap-codec': 1.5.5
1914
+
1915
+ math-intrinsics@1.1.0: {}
1916
+
1917
+ mime-db@1.52.0: {}
1918
+
1919
+ mime-types@2.1.35:
1920
+ dependencies:
1921
+ mime-db: 1.52.0
1922
+
1923
+ min-indent@1.0.1: {}
1924
+
1925
+ mrmime@2.0.1: {}
1926
+
1927
+ ms@2.1.3: {}
1928
+
1929
+ nanoid@3.3.11: {}
1930
+
1931
+ node-releases@2.0.38: {}
1932
+
1933
+ nwsapi@2.2.23: {}
1934
+
1935
+ obug@2.1.1: {}
1936
+
1937
+ parse5@7.3.0:
1938
+ dependencies:
1939
+ entities: 6.0.1
1940
+
1941
+ pathe@2.0.3: {}
1942
+
1943
+ picocolors@1.1.1: {}
1944
+
1945
+ picomatch@4.0.4: {}
1946
+
1947
+ postcss@8.5.12:
1948
+ dependencies:
1949
+ nanoid: 3.3.11
1950
+ picocolors: 1.1.1
1951
+ source-map-js: 1.2.1
1952
+
1953
+ pretty-format@27.5.1:
1954
+ dependencies:
1955
+ ansi-regex: 5.0.1
1956
+ ansi-styles: 5.2.0
1957
+ react-is: 17.0.2
1958
+
1959
+ punycode@2.3.1: {}
1960
+
1961
+ react-dom@19.2.5(react@19.2.5):
1962
+ dependencies:
1963
+ react: 19.2.5
1964
+ scheduler: 0.27.0
1965
+
1966
+ react-is@17.0.2: {}
1967
+
1968
+ react-refresh@0.17.0: {}
1969
+
1970
+ react-router-dom@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5):
1971
+ dependencies:
1972
+ react: 19.2.5
1973
+ react-dom: 19.2.5(react@19.2.5)
1974
+ react-router: 7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
1975
+
1976
+ react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5):
1977
+ dependencies:
1978
+ cookie: 1.1.1
1979
+ react: 19.2.5
1980
+ set-cookie-parser: 2.7.2
1981
+ optionalDependencies:
1982
+ react-dom: 19.2.5(react@19.2.5)
1983
+
1984
+ react@19.2.5: {}
1985
+
1986
+ redent@3.0.0:
1987
+ dependencies:
1988
+ indent-string: 4.0.0
1989
+ strip-indent: 3.0.0
1990
+
1991
+ rollup@4.60.2:
1992
+ dependencies:
1993
+ '@types/estree': 1.0.8
1994
+ optionalDependencies:
1995
+ '@rollup/rollup-android-arm-eabi': 4.60.2
1996
+ '@rollup/rollup-android-arm64': 4.60.2
1997
+ '@rollup/rollup-darwin-arm64': 4.60.2
1998
+ '@rollup/rollup-darwin-x64': 4.60.2
1999
+ '@rollup/rollup-freebsd-arm64': 4.60.2
2000
+ '@rollup/rollup-freebsd-x64': 4.60.2
2001
+ '@rollup/rollup-linux-arm-gnueabihf': 4.60.2
2002
+ '@rollup/rollup-linux-arm-musleabihf': 4.60.2
2003
+ '@rollup/rollup-linux-arm64-gnu': 4.60.2
2004
+ '@rollup/rollup-linux-arm64-musl': 4.60.2
2005
+ '@rollup/rollup-linux-loong64-gnu': 4.60.2
2006
+ '@rollup/rollup-linux-loong64-musl': 4.60.2
2007
+ '@rollup/rollup-linux-ppc64-gnu': 4.60.2
2008
+ '@rollup/rollup-linux-ppc64-musl': 4.60.2
2009
+ '@rollup/rollup-linux-riscv64-gnu': 4.60.2
2010
+ '@rollup/rollup-linux-riscv64-musl': 4.60.2
2011
+ '@rollup/rollup-linux-s390x-gnu': 4.60.2
2012
+ '@rollup/rollup-linux-x64-gnu': 4.60.2
2013
+ '@rollup/rollup-linux-x64-musl': 4.60.2
2014
+ '@rollup/rollup-openbsd-x64': 4.60.2
2015
+ '@rollup/rollup-openharmony-arm64': 4.60.2
2016
+ '@rollup/rollup-win32-arm64-msvc': 4.60.2
2017
+ '@rollup/rollup-win32-ia32-msvc': 4.60.2
2018
+ '@rollup/rollup-win32-x64-gnu': 4.60.2
2019
+ '@rollup/rollup-win32-x64-msvc': 4.60.2
2020
+ fsevents: 2.3.3
2021
+
2022
+ rrweb-cssom@0.7.1: {}
2023
+
2024
+ rrweb-cssom@0.8.0: {}
2025
+
2026
+ safer-buffer@2.1.2: {}
2027
+
2028
+ saxes@6.0.0:
2029
+ dependencies:
2030
+ xmlchars: 2.2.0
2031
+
2032
+ scheduler@0.27.0: {}
2033
+
2034
+ semver@6.3.1: {}
2035
+
2036
+ set-cookie-parser@2.7.2: {}
2037
+
2038
+ siginfo@2.0.0: {}
2039
+
2040
+ sirv@3.0.2:
2041
+ dependencies:
2042
+ '@polka/url': 1.0.0-next.29
2043
+ mrmime: 2.0.1
2044
+ totalist: 3.0.1
2045
+
2046
+ source-map-js@1.2.1: {}
2047
+
2048
+ stackback@0.0.2: {}
2049
+
2050
+ std-env@4.1.0: {}
2051
+
2052
+ strip-indent@3.0.0:
2053
+ dependencies:
2054
+ min-indent: 1.0.1
2055
+
2056
+ symbol-tree@3.2.4: {}
2057
+
2058
+ tinybench@2.9.0: {}
2059
+
2060
+ tinyexec@1.1.2: {}
2061
+
2062
+ tinyglobby@0.2.16:
2063
+ dependencies:
2064
+ fdir: 6.5.0(picomatch@4.0.4)
2065
+ picomatch: 4.0.4
2066
+
2067
+ tinyrainbow@3.1.0: {}
2068
+
2069
+ tldts-core@6.1.86: {}
2070
+
2071
+ tldts@6.1.86:
2072
+ dependencies:
2073
+ tldts-core: 6.1.86
2074
+
2075
+ totalist@3.0.1: {}
2076
+
2077
+ tough-cookie@5.1.2:
2078
+ dependencies:
2079
+ tldts: 6.1.86
2080
+
2081
+ tr46@5.1.1:
2082
+ dependencies:
2083
+ punycode: 2.3.1
2084
+
2085
+ typescript@5.9.3: {}
2086
+
2087
+ undici-types@6.21.0: {}
2088
+
2089
+ update-browserslist-db@1.2.3(browserslist@4.28.2):
2090
+ dependencies:
2091
+ browserslist: 4.28.2
2092
+ escalade: 3.2.0
2093
+ picocolors: 1.1.1
2094
+
2095
+ vite@6.4.2(@types/node@22.19.17):
2096
+ dependencies:
2097
+ esbuild: 0.25.12
2098
+ fdir: 6.5.0(picomatch@4.0.4)
2099
+ picomatch: 4.0.4
2100
+ postcss: 8.5.12
2101
+ rollup: 4.60.2
2102
+ tinyglobby: 0.2.16
2103
+ optionalDependencies:
2104
+ '@types/node': 22.19.17
2105
+ fsevents: 2.3.3
2106
+
2107
+ vitest@4.1.5(@types/node@22.19.17)(@vitest/ui@4.1.5)(jsdom@25.0.1)(vite@6.4.2(@types/node@22.19.17)):
2108
+ dependencies:
2109
+ '@vitest/expect': 4.1.5
2110
+ '@vitest/mocker': 4.1.5(vite@6.4.2(@types/node@22.19.17))
2111
+ '@vitest/pretty-format': 4.1.5
2112
+ '@vitest/runner': 4.1.5
2113
+ '@vitest/snapshot': 4.1.5
2114
+ '@vitest/spy': 4.1.5
2115
+ '@vitest/utils': 4.1.5
2116
+ es-module-lexer: 2.1.0
2117
+ expect-type: 1.3.0
2118
+ magic-string: 0.30.21
2119
+ obug: 2.1.1
2120
+ pathe: 2.0.3
2121
+ picomatch: 4.0.4
2122
+ std-env: 4.1.0
2123
+ tinybench: 2.9.0
2124
+ tinyexec: 1.1.2
2125
+ tinyglobby: 0.2.16
2126
+ tinyrainbow: 3.1.0
2127
+ vite: 6.4.2(@types/node@22.19.17)
2128
+ why-is-node-running: 2.3.0
2129
+ optionalDependencies:
2130
+ '@types/node': 22.19.17
2131
+ '@vitest/ui': 4.1.5(vitest@4.1.5)
2132
+ jsdom: 25.0.1
2133
+ transitivePeerDependencies:
2134
+ - msw
2135
+
2136
+ w3c-xmlserializer@5.0.0:
2137
+ dependencies:
2138
+ xml-name-validator: 5.0.0
2139
+
2140
+ webidl-conversions@7.0.0: {}
2141
+
2142
+ whatwg-encoding@3.1.1:
2143
+ dependencies:
2144
+ iconv-lite: 0.6.3
2145
+
2146
+ whatwg-mimetype@4.0.0: {}
2147
+
2148
+ whatwg-url@14.2.0:
2149
+ dependencies:
2150
+ tr46: 5.1.1
2151
+ webidl-conversions: 7.0.0
2152
+
2153
+ why-is-node-running@2.3.0:
2154
+ dependencies:
2155
+ siginfo: 2.0.0
2156
+ stackback: 0.0.2
2157
+
2158
+ ws@8.20.0: {}
2159
+
2160
+ xml-name-validator@5.0.0: {}
2161
+
2162
+ xmlchars@2.2.0: {}
2163
+
2164
+ yallist@3.1.1: {}