From d1621828c7470cb4304e1755a06a6fd2f88e4ebc Mon Sep 17 00:00:00 2001 From: Szymon Chmal Date: Fri, 6 Mar 2026 09:37:02 +0100 Subject: [PATCH 1/4] feat(storage-plugin): add storage plugin --- apps/playground/package.json | 3 + apps/playground/src/app/App.tsx | 8 + apps/playground/src/app/navigation/types.ts | 1 + .../src/app/screens/LandingScreen.tsx | 7 + .../src/app/screens/StoragePluginScreen.tsx | 525 ++++ .../src/app/storage-plugin-adapters.ts | 69 + commitlint.config.js | 3 +- packages/storage-plugin/CHANGELOG.md | 10 + packages/storage-plugin/README.md | 77 + packages/storage-plugin/package.json | 59 + packages/storage-plugin/postcss.config.js | 6 + packages/storage-plugin/react-native.ts | 40 + packages/storage-plugin/rozenite.config.ts | 8 + packages/storage-plugin/src/css-modules.d.ts | 4 + .../react-native/adapters/async-storage.ts | 115 + .../src/react-native/adapters/index.ts | 19 + .../src/react-native/adapters/mmkv.ts | 187 ++ .../react-native/adapters/secure-storage.ts | 76 + .../src/react-native/is-garbled.ts | 17 + .../src/react-native/storage-view.ts | 245 ++ .../react-native/useRozeniteStoragePlugin.ts | 162 + .../storage-plugin/src/shared/messaging.ts | 37 + packages/storage-plugin/src/shared/types.ts | 66 + .../src/ui/add-entry-dialog.tsx | 310 ++ .../storage-plugin/src/ui/confirm-dialog.tsx | 100 + .../src/ui/edit-entry-dialog.tsx | 280 ++ .../storage-plugin/src/ui/editable-table.tsx | 298 ++ .../src/ui/entry-detail-dialog.tsx | 210 ++ packages/storage-plugin/src/ui/globals.css | 123 + packages/storage-plugin/src/ui/panel.tsx | 442 +++ packages/storage-plugin/tailwind.config.ts | 94 + packages/storage-plugin/tsconfig.json | 36 + packages/storage-plugin/vite.config.ts | 20 + plugin-directory.json | 4 + pnpm-lock.yaml | 2676 +++-------------- website/src/docs/official-plugins/_meta.json | 5 + website/src/docs/official-plugins/mmkv.mdx | 4 + .../src/docs/official-plugins/overview.mdx | 13 +- website/src/docs/official-plugins/storage.mdx | 122 + 39 files changed, 4206 insertions(+), 2275 deletions(-) create mode 100644 apps/playground/src/app/screens/StoragePluginScreen.tsx create mode 100644 apps/playground/src/app/storage-plugin-adapters.ts create mode 100644 packages/storage-plugin/CHANGELOG.md create mode 100644 packages/storage-plugin/README.md create mode 100644 packages/storage-plugin/package.json create mode 100644 packages/storage-plugin/postcss.config.js create mode 100644 packages/storage-plugin/react-native.ts create mode 100644 packages/storage-plugin/rozenite.config.ts create mode 100644 packages/storage-plugin/src/css-modules.d.ts create mode 100644 packages/storage-plugin/src/react-native/adapters/async-storage.ts create mode 100644 packages/storage-plugin/src/react-native/adapters/index.ts create mode 100644 packages/storage-plugin/src/react-native/adapters/mmkv.ts create mode 100644 packages/storage-plugin/src/react-native/adapters/secure-storage.ts create mode 100644 packages/storage-plugin/src/react-native/is-garbled.ts create mode 100644 packages/storage-plugin/src/react-native/storage-view.ts create mode 100644 packages/storage-plugin/src/react-native/useRozeniteStoragePlugin.ts create mode 100644 packages/storage-plugin/src/shared/messaging.ts create mode 100644 packages/storage-plugin/src/shared/types.ts create mode 100644 packages/storage-plugin/src/ui/add-entry-dialog.tsx create mode 100644 packages/storage-plugin/src/ui/confirm-dialog.tsx create mode 100644 packages/storage-plugin/src/ui/edit-entry-dialog.tsx create mode 100644 packages/storage-plugin/src/ui/editable-table.tsx create mode 100644 packages/storage-plugin/src/ui/entry-detail-dialog.tsx create mode 100644 packages/storage-plugin/src/ui/globals.css create mode 100644 packages/storage-plugin/src/ui/panel.tsx create mode 100644 packages/storage-plugin/tailwind.config.ts create mode 100644 packages/storage-plugin/tsconfig.json create mode 100644 packages/storage-plugin/vite.config.ts create mode 100644 website/src/docs/official-plugins/storage.mdx diff --git a/apps/playground/package.json b/apps/playground/package.json index b9bc65d9..450c70a2 100644 --- a/apps/playground/package.json +++ b/apps/playground/package.json @@ -14,6 +14,7 @@ }, "dependencies": { "@expo/vector-icons": "^15.0.3", + "@react-native-async-storage/async-storage": "^3.0.1", "@react-navigation/bottom-tabs": "^7.4.7", "@react-navigation/elements": "^2.6.3", "@react-navigation/native": "^7.1.17", @@ -28,6 +29,7 @@ "@rozenite/react-navigation-plugin": "workspace:*", "@rozenite/redux-devtools-plugin": "workspace:*", "@rozenite/require-profiler-plugin": "workspace:*", + "@rozenite/storage-plugin": "workspace:*", "@rozenite/tanstack-query-plugin": "workspace:*", "@rozenite/web": "workspace:*", "@tanstack/react-query": "^5.81.5", @@ -38,6 +40,7 @@ "expo-image": "~55.0.3", "expo-linking": "~55.0.4", "expo-router": "~55.0.0-preview.7", + "expo-secure-store": "^55.0.8", "expo-splash-screen": "~55.0.5", "expo-status-bar": "~55.0.2", "expo-symbols": "~55.0.3", diff --git a/apps/playground/src/app/App.tsx b/apps/playground/src/app/App.tsx index 98c1a05b..7f2a4527 100644 --- a/apps/playground/src/app/App.tsx +++ b/apps/playground/src/app/App.tsx @@ -7,6 +7,7 @@ import { useMMKVDevTools } from '@rozenite/mmkv-plugin'; import { useNetworkActivityDevTools } from '@rozenite/network-activity-plugin'; import { usePerformanceMonitorDevTools } from '@rozenite/performance-monitor-plugin'; import { useReactNavigationDevTools } from '@rozenite/react-navigation-plugin'; +import { useRozeniteStoragePlugin } from '@rozenite/storage-plugin'; import { useTanStackQueryDevTools } from '@rozenite/tanstack-query-plugin'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { useRef } from 'react'; @@ -25,7 +26,9 @@ import { PerformanceMonitorScreen } from './screens/PerformanceMonitorScreen'; import { ReduxTestScreen } from './screens/ReduxTestScreen'; import { RequestBodyTestScreen } from './screens/RequestBodyTestScreen'; import { RequireProfilerTestScreen } from './screens/RequireProfilerTestScreen'; +import { StoragePluginScreen } from './screens/StoragePluginScreen'; import { store } from './store'; +import { storagePluginAdapters } from './storage-plugin-adapters'; import { useRequireProfilerDevTools } from '@rozenite/require-profiler-plugin'; import { withOnBootNetworkActivityRecording } from '@rozenite/network-activity-plugin'; import { RozeniteOverlay } from '@rozenite/overlay-plugin'; @@ -47,6 +50,9 @@ const Wrapper = () => { storages: mmkvStorages, blacklist: /user-storage:sensitiveToken/, }); + useRozeniteStoragePlugin({ + storages: storagePluginAdapters, + }); usePerformanceMonitorDevTools(); useRequireProfilerDevTools(); @@ -60,6 +66,7 @@ const Wrapper = () => { > + @@ -104,6 +111,7 @@ const linking = { screens: { Landing: '', MMKVPlugin: 'mmkv', + StoragePlugin: 'storage', NetworkTest: 'network', ReduxTest: 'redux', PerformanceMonitor: 'performance', diff --git a/apps/playground/src/app/navigation/types.ts b/apps/playground/src/app/navigation/types.ts index 4a11d877..1d23b18a 100644 --- a/apps/playground/src/app/navigation/types.ts +++ b/apps/playground/src/app/navigation/types.ts @@ -3,6 +3,7 @@ import { NativeStackNavigationProp } from '@react-navigation/native-stack'; export type RootStackParamList = { Landing: undefined; MMKVPlugin: undefined; + StoragePlugin: undefined; NetworkTest: undefined; RequestBodyTest: undefined; ReduxTest: undefined; diff --git a/apps/playground/src/app/screens/LandingScreen.tsx b/apps/playground/src/app/screens/LandingScreen.tsx index 79cbb8d6..9c98f3f3 100644 --- a/apps/playground/src/app/screens/LandingScreen.tsx +++ b/apps/playground/src/app/screens/LandingScreen.tsx @@ -30,6 +30,13 @@ export const LandingScreen = () => { MMKV Plugin + navigation.navigate('StoragePlugin' as never)} + > + Storage Plugin + + navigation.navigate('NetworkTest' as never)} diff --git a/apps/playground/src/app/screens/StoragePluginScreen.tsx b/apps/playground/src/app/screens/StoragePluginScreen.tsx new file mode 100644 index 00000000..95e778df --- /dev/null +++ b/apps/playground/src/app/screens/StoragePluginScreen.tsx @@ -0,0 +1,525 @@ +import { useEffect, useMemo, useState } from 'react'; +import { + Alert, + FlatList, + StyleSheet, + Text, + TextInput, + TouchableOpacity, + View, +} from 'react-native'; +import * as SecureStore from 'expo-secure-store'; +import { MMKV } from 'react-native-mmkv'; +import { initializeMMKVStorages, mmkvStorages } from '../mmkv-storages'; +import { + asyncStorageV2, + asyncStorageV3Instances, + forgetSecureStoreKey, + getKnownSecureStoreKeys, + rememberSecureStoreKey, +} from '../storage-plugin-adapters'; + +type AdapterTab = 'mmkv' | 'async' | 'secure'; +type AsyncStorageMode = 'v2-default' | 'v3-auth' | 'v3-cache'; +type EntryType = 'string' | 'number' | 'boolean' | 'buffer'; +type AsyncStorageLike = { + getAllKeys: () => Promise; + getItem: (key: string) => Promise; + setItem: (key: string, value: string) => Promise; + removeItem: (key: string) => Promise; +}; + +type Entry = { + key: string; + value: string; + type: EntryType; +}; + +const mmkvIds = Object.keys(mmkvStorages) as Array; + +const parseMMKVEntry = (storage: MMKV, key: string): Entry | null => { + const stringValue = storage.getString(key); + if (stringValue !== undefined) { + return { key, type: 'string', value: stringValue }; + } + + const numberValue = storage.getNumber(key); + if (numberValue !== undefined) { + return { key, type: 'number', value: String(numberValue) }; + } + + const booleanValue = storage.getBoolean(key); + if (booleanValue !== undefined) { + return { key, type: 'boolean', value: String(booleanValue) }; + } + + const bufferValue = storage.getBuffer(key); + if (bufferValue !== undefined) { + return { + key, + type: 'buffer', + value: JSON.stringify(Array.from(new Uint8Array(bufferValue))), + }; + } + + return null; +}; + +export const StoragePluginScreen = () => { + const [tab, setTab] = useState('mmkv'); + const [asyncStorageMode, setAsyncStorageMode] = + useState('v2-default'); + const [mmkvStorageId, setMmkvStorageId] = useState('user-storage'); + const [key, setKey] = useState(''); + const [value, setValue] = useState(''); + const [entryType, setEntryType] = useState('string'); + const [entries, setEntries] = useState([]); + + useEffect(() => { + initializeMMKVStorages(); + }, []); + + const supportsTypedValues = tab === 'mmkv'; + + const title = useMemo(() => { + if (tab === 'mmkv') { + return 'MMKV Adapter'; + } + + if (tab === 'async') { + return 'AsyncStorage Adapter'; + } + + return 'SecureStore Adapter'; + }, [tab]); + + const selectedAsyncStorage: AsyncStorageLike = useMemo(() => { + if (asyncStorageMode === 'v3-auth') { + return asyncStorageV3Instances.auth; + } + + if (asyncStorageMode === 'v3-cache') { + return asyncStorageV3Instances.cache; + } + + return asyncStorageV2; + }, [asyncStorageMode]); + + const loadEntries = async () => { + if (tab === 'mmkv') { + const storage = mmkvStorages[mmkvStorageId]; + const nextEntries = storage + .getAllKeys() + .map((entryKey) => parseMMKVEntry(storage, entryKey)) + .filter((item): item is Entry => !!item); + setEntries(nextEntries); + return; + } + + if (tab === 'async') { + const keys = await selectedAsyncStorage.getAllKeys(); + const values = await Promise.all( + keys.map(async (entryKey) => [ + entryKey, + await selectedAsyncStorage.getItem(entryKey), + ] as const) + ); + setEntries( + values.map(([entryKey, entryValue]) => ({ + key: entryKey, + type: 'string', + value: entryValue ?? '', + })) + ); + return; + } + + const keys = getKnownSecureStoreKeys(); + const values = await Promise.all( + keys.map(async (entryKey) => ({ + key: entryKey, + value: (await SecureStore.getItemAsync(entryKey)) ?? '', + })) + ); + + setEntries( + values + .filter((item) => item.value !== '') + .map((item) => ({ + key: item.key, + type: 'string', + value: item.value, + })) + ); + }; + + useEffect(() => { + void loadEntries(); + }, [tab, mmkvStorageId, asyncStorageMode]); + + const handleSet = async () => { + if (!key.trim()) { + return; + } + + try { + if (tab === 'mmkv') { + const storage = mmkvStorages[mmkvStorageId]; + if (entryType === 'string') { + storage.set(key, value); + } else if (entryType === 'number') { + const parsed = Number(value); + if (Number.isNaN(parsed)) { + throw new Error('Invalid number value'); + } + storage.set(key, parsed); + } else if (entryType === 'boolean') { + if (value !== 'true' && value !== 'false') { + throw new Error('Boolean value must be true or false'); + } + storage.set(key, value === 'true'); + } else { + const parsed = JSON.parse(value); + if (!Array.isArray(parsed) || !parsed.every((item) => typeof item === 'number')) { + throw new Error('Buffer value must be a JSON array of numbers'); + } + storage.set(key, new Uint8Array(parsed).buffer); + } + } else if (tab === 'async') { + await selectedAsyncStorage.setItem(key, value); + } else { + rememberSecureStoreKey(key); + await SecureStore.setItemAsync(key, value); + } + + setValue(''); + await loadEntries(); + } catch (error) { + Alert.alert('Set failed', error instanceof Error ? error.message : 'Unknown error'); + } + }; + + const handleDelete = async () => { + if (!key.trim()) { + return; + } + + if (tab === 'mmkv') { + const storage = mmkvStorages[mmkvStorageId] as unknown as { + delete?: (entryKey: string) => void; + remove?: (entryKey: string) => void; + }; + if (typeof storage.remove === 'function') { + storage.remove(key); + } else { + storage.delete?.(key); + } + } else if (tab === 'async') { + await selectedAsyncStorage.removeItem(key); + } else { + forgetSecureStoreKey(key); + await SecureStore.deleteItemAsync(key); + } + + setValue(''); + await loadEntries(); + }; + + const handleSelectEntry = (entry: Entry) => { + setKey(entry.key); + setValue(entry.value); + + if (supportsTypedValues) { + setEntryType(entry.type); + } else { + setEntryType('string'); + } + }; + + return ( + + Storage Plugin Testbed + + setTab('mmkv')} + > + MMKV + + setTab('async')} + > + Async + + setTab('secure')} + > + Secure + + + + {title} + + {tab === 'mmkv' && ( + + {mmkvIds.map((id) => ( + setMmkvStorageId(id)} + > + {id} + + ))} + + )} + + {tab === 'async' && ( + + setAsyncStorageMode('v2-default')} + > + v2 default + + setAsyncStorageMode('v3-auth')} + > + v3 auth + + setAsyncStorageMode('v3-cache')} + > + v3 cache + + + )} + + + + + {(['string', 'number', 'boolean', 'buffer'] as EntryType[]).map((type) => { + const disabled = !supportsTypedValues && type !== 'string'; + return ( + setEntryType(type)} + style={[ + styles.typeChip, + entryType === type && styles.typeChipActive, + disabled && styles.typeChipDisabled, + ]} + > + {type} + + ); + })} + + + {!supportsTypedValues && ( + + AsyncStorage and SecureStore are string-only adapters in this demo. + + )} + + + + + void handleSet()}> + Set + + void handleDelete()} + > + Delete + + void loadEntries()}> + Refresh + + + + `${item.key}:${item.type}`} + renderItem={({ item }) => ( + handleSelectEntry(item)} + activeOpacity={0.8} + > + {item.key} + {item.type} + + {item.value} + + + )} + ListEmptyComponent={No entries} + /> + + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0a0a0a', + paddingHorizontal: 16, + paddingTop: 24, + gap: 10, + }, + title: { + color: '#ffffff', + fontSize: 22, + fontWeight: '700', + }, + tabsRow: { + flexDirection: 'row', + gap: 8, + }, + tabButton: { + flex: 1, + alignItems: 'center', + paddingVertical: 10, + borderRadius: 10, + backgroundColor: '#1f2937', + }, + tabButtonActive: { + backgroundColor: '#8232FF', + }, + tabButtonText: { + color: '#ffffff', + fontWeight: '600', + }, + sectionTitle: { + color: '#d1d5db', + fontSize: 14, + fontWeight: '600', + }, + inlineRow: { + flexDirection: 'row', + flexWrap: 'wrap', + gap: 8, + }, + storageChip: { + backgroundColor: '#1f2937', + borderRadius: 999, + paddingHorizontal: 12, + paddingVertical: 8, + }, + storageChipActive: { + backgroundColor: '#374151', + borderWidth: 1, + borderColor: '#8232FF', + }, + storageChipText: { + color: '#e5e7eb', + fontSize: 12, + }, + typeChip: { + backgroundColor: '#1f2937', + borderRadius: 8, + paddingHorizontal: 10, + paddingVertical: 6, + }, + typeChipActive: { + backgroundColor: '#8232FF', + }, + typeChipDisabled: { + opacity: 0.45, + }, + typeChipText: { + color: '#f9fafb', + fontSize: 12, + }, + note: { + color: '#fbbf24', + fontSize: 12, + }, + input: { + backgroundColor: '#111827', + borderWidth: 1, + borderColor: '#374151', + borderRadius: 10, + color: '#ffffff', + paddingHorizontal: 12, + paddingVertical: 10, + }, + actionsRow: { + flexDirection: 'row', + gap: 8, + }, + actionButton: { + flex: 1, + backgroundColor: '#2563eb', + borderRadius: 8, + alignItems: 'center', + paddingVertical: 10, + }, + deleteButton: { + backgroundColor: '#dc2626', + }, + actionButtonText: { + color: '#ffffff', + fontWeight: '600', + }, + entryRow: { + backgroundColor: '#111827', + borderWidth: 1, + borderColor: '#1f2937', + borderRadius: 8, + padding: 10, + marginBottom: 8, + gap: 4, + }, + entryKey: { + color: '#f9fafb', + fontWeight: '700', + }, + entryType: { + color: '#a78bfa', + fontSize: 12, + }, + entryValue: { + color: '#93c5fd', + }, + emptyState: { + color: '#6b7280', + textAlign: 'center', + marginTop: 24, + }, +}); diff --git a/apps/playground/src/app/storage-plugin-adapters.ts b/apps/playground/src/app/storage-plugin-adapters.ts new file mode 100644 index 00000000..435ba721 --- /dev/null +++ b/apps/playground/src/app/storage-plugin-adapters.ts @@ -0,0 +1,69 @@ +import AsyncStorage, { + createAsyncStorage, +} from '@react-native-async-storage/async-storage'; +import * as SecureStore from 'expo-secure-store'; +import { + createAsyncStorageAdapter, + createExpoSecureStorageAdapter, + createMMKVStorageAdapter, +} from '@rozenite/storage-plugin'; +import { mmkvStorages } from './mmkv-storages'; + +export const asyncStorageV2 = AsyncStorage; +export const asyncStorageV3Instances = { + auth: createAsyncStorage('rozenite-playground-auth'), + cache: createAsyncStorage('rozenite-playground-cache'), +}; + +const secureStoreKnownKeys = new Set(['token', 'session']); + +export const rememberSecureStoreKey = (key: string) => { + if (!key.trim()) { + return; + } + + secureStoreKnownKeys.add(key.trim()); +}; + +export const forgetSecureStoreKey = (key: string) => { + secureStoreKnownKeys.delete(key); +}; + +export const getKnownSecureStoreKeys = () => [...secureStoreKnownKeys.values()]; + +export const storagePluginAdapters = [ + createMMKVStorageAdapter({ + adapterId: 'mmkv', + adapterName: 'MMKV', + storages: mmkvStorages, + blacklist: { + 'user-storage': /sensitiveToken/, + }, + }), + createAsyncStorageAdapter({ + storages: { + 'v2-default': { + storage: asyncStorageV2, + name: 'AsyncStorage v2 (default)', + }, + 'v3-auth': { + storage: asyncStorageV3Instances.auth, + name: 'AsyncStorage v3 (auth)', + }, + 'v3-cache': { + storage: asyncStorageV3Instances.cache, + name: 'AsyncStorage v3 (cache)', + }, + }, + adapterId: 'async-storage', + adapterName: 'AsyncStorage', + }), + createExpoSecureStorageAdapter({ + storage: SecureStore, + keys: async () => getKnownSecureStoreKeys(), + adapterId: 'secure-store', + adapterName: 'Expo SecureStore', + storageId: 'secure-default', + storageName: 'Default SecureStore', + }), +]; diff --git a/commitlint.config.js b/commitlint.config.js index 86ba0705..4afcf879 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -26,7 +26,8 @@ export default { 'overlay-plugin', 'chrome-extension', 'web', - '', + 'storage-plugin', + '' ], ], }, diff --git a/packages/storage-plugin/CHANGELOG.md b/packages/storage-plugin/CHANGELOG.md new file mode 100644 index 00000000..2e0fe229 --- /dev/null +++ b/packages/storage-plugin/CHANGELOG.md @@ -0,0 +1,10 @@ +# @rozenite/storage-plugin + +## 0.1.0 + +- Initial release. +- Added generic storage plugin with sync/async adapters. +- Added MMKV, AsyncStorage and Expo SecureStore adapter factories. +- Added capabilities-aware UI and runtime validation. +- Added per-storage blacklist support. +- Added MCP tools for listing, reading and mutating entries. diff --git a/packages/storage-plugin/README.md b/packages/storage-plugin/README.md new file mode 100644 index 00000000..f881c91e --- /dev/null +++ b/packages/storage-plugin/README.md @@ -0,0 +1,77 @@ +![rozenite-banner](https://www.rozenite.dev/rozenite-banner.jpg) + +### A Rozenite plugin for inspecting multiple storage backends in React Native DevTools. + +The Storage Plugin provides a single inspector for sync and async storages, including MMKV, AsyncStorage and Expo SecureStore via adapters. + +## Installation + +```bash +npm install @rozenite/storage-plugin +``` + +Optional peers depending on adapters you use: + +```bash +npm install react-native-mmkv @react-native-async-storage/async-storage expo-secure-store +``` + +## Usage + +```ts +import { + createAsyncStorageAdapter, + createMMKVStorageAdapter, + createExpoSecureStorageAdapter, + useRozeniteStoragePlugin, +} from '@rozenite/storage-plugin'; + +const storages = [ + createMMKVStorageAdapter({ + storages: { + user: userStorage, + cache: cacheStorage, + }, + }), + createAsyncStorageAdapter({ + storage: AsyncStorage, + }), + createExpoSecureStorageAdapter({ + storage: SecureStore, + keys: ['token', 'session'], + }), +]; + +useRozeniteStoragePlugin({ storages }); +``` + +### AsyncStorage v2 and v3 + +`createAsyncStorageAdapter` supports both: + +```ts +// v2 style: single storage object +createAsyncStorageAdapter({ + storage: AsyncStorage, +}); + +// v3 style: named storage instances +createAsyncStorageAdapter({ + storages: { + auth: authStorageInstance, + cache: { + storage: cacheStorageInstance, + name: 'Cache Instance', + }, + }, +}); +``` + +`createExpoAsyncStorageAdapter` is still exported as a backward-compatible alias. + +## Notes + +- Unsupported value types are disabled in UI create/edit flows. +- Type support is enforced in UI, runtime and MCP tools. +- Storages without subscriptions automatically use internal polling updates. +- Per-storage blacklists are supported through adapter configuration. diff --git a/packages/storage-plugin/package.json b/packages/storage-plugin/package.json new file mode 100644 index 00000000..c12656b5 --- /dev/null +++ b/packages/storage-plugin/package.json @@ -0,0 +1,59 @@ +{ + "name": "@rozenite/storage-plugin", + "version": "0.1.0", + "description": "Generic Storage Inspector for Rozenite.", + "type": "module", + "main": "./dist/react-native.cjs", + "module": "./dist/react-native.js", + "types": "./dist/react-native.d.ts", + "scripts": { + "build": "rozenite build", + "dev": "rozenite dev", + "typecheck": "tsc -p tsconfig.json --noEmit", + "lint": "eslint ." + }, + "dependencies": { + "@rozenite/plugin-bridge": "workspace:*" + }, + "devDependencies": { + "@rozenite/vite-plugin": "workspace:*", + "@tanstack/react-table": "^8.21.3", + "@types/react": "catalog:", + "autoprefixer": "^10.4.21", + "lucide-react": "^0.263.1", + "postcss": "^8.5.6", + "react": "catalog:", + "react-dom": "catalog:", + "react-json-tree": "^0.20.0", + "react-native": "catalog:", + "react-native-mmkv": "^3.3.0", + "react-native-mmkv-v3": "npm:react-native-mmkv@^3.0.0", + "react-native-mmkv-v4": "npm:react-native-mmkv@^4.0.0", + "react-native-nitro-modules": "*", + "react-native-web": "^0.21.2", + "rozenite": "workspace:*", + "tailwindcss": "^3.4.17", + "tailwindcss-animate": "^1.0.7", + "typescript": "~5.9.3", + "vite": "catalog:" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "*", + "expo-secure-store": "*", + "react": "*", + "react-native": "*", + "react-native-mmkv": "*" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + }, + "expo-secure-store": { + "optional": true + }, + "react-native-mmkv": { + "optional": true + } + }, + "license": "MIT" +} diff --git a/packages/storage-plugin/postcss.config.js b/packages/storage-plugin/postcss.config.js new file mode 100644 index 00000000..2aa7205d --- /dev/null +++ b/packages/storage-plugin/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/packages/storage-plugin/react-native.ts b/packages/storage-plugin/react-native.ts new file mode 100644 index 00000000..06397164 --- /dev/null +++ b/packages/storage-plugin/react-native.ts @@ -0,0 +1,40 @@ +export { + createAsyncStorageAdapter, + createExpoAsyncStorageAdapter, + createExpoSecureStorageAdapter, + createMMKVStorageAdapter, +} from './src/react-native/adapters'; +export type { + AsyncStorageInstanceConfig, + AsyncStorageLike, + CreateAsyncStorageAdapterOptions, + CreateExpoAsyncStorageAdapterOptions, + CreateExpoSecureStorageAdapterOptions, + CreateMMKVStorageAdapterOptions, + SecureStorageLike, +} from './src/react-native/adapters'; + +export type { + AsyncStorage, + StorageAdapter, + StorageCapabilities, + StorageEntry, + StorageEntryType, + StorageEntryValue, + StorageNode, + SyncStorage, +} from './src/shared/types'; + +export let useRozeniteStoragePlugin: typeof import('./src/react-native/useRozeniteStoragePlugin').useRozeniteStoragePlugin; + +const isWeb = + typeof window !== 'undefined' && window.navigator.product !== 'ReactNative'; +const isDev = process.env.NODE_ENV !== 'production'; +const isServer = typeof window === 'undefined'; + +if (isDev && !isWeb && !isServer) { + useRozeniteStoragePlugin = + require('./src/react-native/useRozeniteStoragePlugin').useRozeniteStoragePlugin; +} else { + useRozeniteStoragePlugin = () => null; +} diff --git a/packages/storage-plugin/rozenite.config.ts b/packages/storage-plugin/rozenite.config.ts new file mode 100644 index 00000000..9b6e9d63 --- /dev/null +++ b/packages/storage-plugin/rozenite.config.ts @@ -0,0 +1,8 @@ +export default { + panels: [ + { + name: 'Storage', + source: './src/ui/panel.tsx', + }, + ], +}; diff --git a/packages/storage-plugin/src/css-modules.d.ts b/packages/storage-plugin/src/css-modules.d.ts new file mode 100644 index 00000000..3d673e2e --- /dev/null +++ b/packages/storage-plugin/src/css-modules.d.ts @@ -0,0 +1,4 @@ +declare module '*.module.css' { + const classes: { [key: string]: string }; + export default classes; +} diff --git a/packages/storage-plugin/src/react-native/adapters/async-storage.ts b/packages/storage-plugin/src/react-native/adapters/async-storage.ts new file mode 100644 index 00000000..9698fe95 --- /dev/null +++ b/packages/storage-plugin/src/react-native/adapters/async-storage.ts @@ -0,0 +1,115 @@ +import type { StorageAdapter, StorageNode } from '../../shared/types'; + +export type AsyncStorageLike = { + getAllKeys: () => Promise; + getItem: (key: string) => Promise; + setItem: (key: string, value: string) => Promise; + removeItem: (key: string) => Promise; +}; + +export type AsyncStorageInstanceConfig = { + storage: AsyncStorageLike; + name?: string; + blacklist?: RegExp; +}; + +type SingleStorageOptions = { + storage: AsyncStorageLike; + adapterId?: string; + adapterName?: string; + storageId?: string; + storageName?: string; + blacklist?: RegExp; +}; + +type MultiStorageOptions = { + storages: Record; + adapterId?: string; + adapterName?: string; +}; + +export type CreateAsyncStorageAdapterOptions = + | SingleStorageOptions + | MultiStorageOptions; + +const toStorageNode = ( + storageId: string, + config: AsyncStorageLike | AsyncStorageInstanceConfig, + fallbackName?: string, + fallbackBlacklist?: RegExp +): StorageNode => { + const resolved = + 'storage' in config + ? config + : { + storage: config, + }; + + const { storage, name, blacklist } = resolved; + + return { + id: storageId, + name: name ?? fallbackName ?? storageId, + blacklist: blacklist ?? fallbackBlacklist, + capabilities: { + supportedTypes: ['string'], + }, + storage: { + kind: 'async', + getAllKeys: () => storage.getAllKeys(), + get: async (key) => { + const value = await storage.getItem(key); + if (value === null) { + return undefined; + } + + return { + key, + type: 'string', + value, + }; + }, + set: async (entry) => { + if (entry.type !== 'string') { + throw new Error('AsyncStorage adapter supports only string values.'); + } + + await storage.setItem(entry.key, entry.value); + }, + delete: (key) => storage.removeItem(key), + }, + }; +}; + +export const createAsyncStorageAdapter = ( + options: CreateAsyncStorageAdapterOptions +): StorageAdapter => { + const { adapterId = 'async-storage', adapterName = 'AsyncStorage' } = + options; + + const storageNodes: StorageNode[] = + 'storages' in options + ? Object.entries(options.storages).map(([storageId, config]) => + toStorageNode(storageId, config) + ) + : [ + toStorageNode( + options.storageId ?? 'default', + options.storage, + options.storageName ?? 'Default Storage', + options.blacklist + ), + ]; + + return { + id: adapterId, + name: adapterName, + storages: storageNodes, + }; +}; + +/** + * @deprecated Use createAsyncStorageAdapter instead. + */ +export const createExpoAsyncStorageAdapter = createAsyncStorageAdapter; +export type CreateExpoAsyncStorageAdapterOptions = CreateAsyncStorageAdapterOptions; diff --git a/packages/storage-plugin/src/react-native/adapters/index.ts b/packages/storage-plugin/src/react-native/adapters/index.ts new file mode 100644 index 00000000..60e66dbb --- /dev/null +++ b/packages/storage-plugin/src/react-native/adapters/index.ts @@ -0,0 +1,19 @@ +export { createMMKVStorageAdapter } from './mmkv'; +export type { CreateMMKVStorageAdapterOptions } from './mmkv'; + +export { + createAsyncStorageAdapter, + createExpoAsyncStorageAdapter, +} from './async-storage'; +export type { + AsyncStorageInstanceConfig, + AsyncStorageLike, + CreateAsyncStorageAdapterOptions, + CreateExpoAsyncStorageAdapterOptions, +} from './async-storage'; + +export { createExpoSecureStorageAdapter } from './secure-storage'; +export type { + CreateExpoSecureStorageAdapterOptions, + SecureStorageLike, +} from './secure-storage'; diff --git a/packages/storage-plugin/src/react-native/adapters/mmkv.ts b/packages/storage-plugin/src/react-native/adapters/mmkv.ts new file mode 100644 index 00000000..d61d23c9 --- /dev/null +++ b/packages/storage-plugin/src/react-native/adapters/mmkv.ts @@ -0,0 +1,187 @@ +import type { MMKV as MMKVV3 } from 'react-native-mmkv-v3'; +import type { MMKV as MMKVV4 } from 'react-native-mmkv-v4'; +import type { StorageAdapter, StorageEntry, StorageNode } from '../../shared/types'; +import { DEFAULT_SUPPORTED_TYPES } from '../../shared/types'; +import { looksLikeGarbled } from '../is-garbled'; + +type MMKV = MMKVV3 | MMKVV4; + +type MMKVAdapter = { + set: (key: string, value: boolean | string | number | ArrayBuffer) => void; + getBoolean: (key: string) => boolean | undefined; + getString: (key: string) => string | undefined; + getNumber: (key: string) => number | undefined; + getBuffer: (key: string) => ArrayBuffer | undefined; + delete: (key: string) => void; + getAllKeys: () => string[]; + addOnValueChangedListener: (callback: (key: string) => void) => { + remove: () => void; + }; +}; + +export type MMKVBlacklistConfig = RegExp | Record; + +export type CreateMMKVStorageAdapterOptions = { + adapterId?: string; + adapterName?: string; + storages: MMKV[] | Record; + blacklist?: MMKVBlacklistConfig; +}; + +const isMMKVV4 = (mmkv: MMKV): mmkv is MMKVV4 => 'remove' in mmkv; + +const normalizeStorages = (storages: MMKV[] | Record) => { + if (Array.isArray(storages)) { + const isAnyStorageV4 = storages.some(isMMKVV4); + + if (isAnyStorageV4) { + throw new Error( + '[Rozenite] Storage Plugin: MMKV arrays are not supported for v4 storages. Pass a record of storage IDs and MMKV instances.' + ); + } + + return Object.fromEntries( + (storages as MMKVV3[]).map((storage) => [storage['id'], storage]) + ); + } + + return storages; +}; + +const getMMKVAdapter = (mmkv: MMKV): MMKVAdapter => { + if (isMMKVV4(mmkv)) { + return { + set: (key, value) => mmkv.set(key, value), + getBoolean: (key) => mmkv.getBoolean(key), + getString: (key) => mmkv.getString(key), + getNumber: (key) => mmkv.getNumber(key), + getBuffer: (key) => mmkv.getBuffer(key), + delete: (key) => mmkv.remove(key), + getAllKeys: () => mmkv.getAllKeys(), + addOnValueChangedListener: (callback) => + mmkv.addOnValueChangedListener(callback), + }; + } + + return { + set: (key, value) => mmkv.set(key, value), + getBoolean: (key) => mmkv.getBoolean(key), + getString: (key) => mmkv.getString(key), + getNumber: (key) => mmkv.getNumber(key), + getBuffer: (key) => mmkv.getBuffer(key) as ArrayBuffer | undefined, + delete: (key) => mmkv.delete(key), + getAllKeys: () => mmkv.getAllKeys(), + addOnValueChangedListener: (callback) => mmkv.addOnValueChangedListener(callback), + }; +}; + +const getEntry = (adapter: MMKVAdapter, key: string): StorageEntry | undefined => { + const stringValue = adapter.getString(key); + + if (stringValue !== undefined && stringValue.length > 0) { + if (looksLikeGarbled(stringValue)) { + return { + key, + type: 'buffer', + value: Array.from(new TextEncoder().encode(stringValue)), + }; + } + + return { + key, + type: 'string', + value: stringValue, + }; + } + + const numberValue = adapter.getNumber(key); + if (numberValue !== undefined) { + return { + key, + type: 'number', + value: numberValue, + }; + } + + const booleanValue = adapter.getBoolean(key); + if (booleanValue !== undefined) { + return { + key, + type: 'boolean', + value: booleanValue, + }; + } + + const bufferValue = adapter.getBuffer(key); + if (bufferValue !== undefined) { + return { + key, + type: 'buffer', + value: Array.from(new Uint8Array(bufferValue)), + }; + } + + return undefined; +}; + +const setEntry = (adapter: MMKVAdapter, entry: StorageEntry) => { + if (entry.type === 'buffer') { + adapter.set(entry.key, new Uint8Array(entry.value).buffer); + return; + } + + adapter.set(entry.key, entry.value); +}; + +const getStorageBlacklist = ( + config: MMKVBlacklistConfig | undefined, + storageId: string +) => { + if (!config) { + return undefined; + } + + if (config instanceof RegExp) { + return config; + } + + return config[storageId]; +}; + +export const createMMKVStorageAdapter = ({ + adapterId = 'mmkv', + adapterName = 'MMKV', + storages, + blacklist, +}: CreateMMKVStorageAdapterOptions): StorageAdapter => { + const normalizedStorages = normalizeStorages(storages) as Record; + + const storageNodes: StorageNode[] = Object.entries(normalizedStorages).map( + ([storageId, storage]) => { + const mmkv = getMMKVAdapter(storage); + + return { + id: storageId, + name: storageId, + blacklist: getStorageBlacklist(blacklist, storageId), + capabilities: { + supportedTypes: DEFAULT_SUPPORTED_TYPES, + }, + storage: { + kind: 'sync', + getAllKeys: () => mmkv.getAllKeys(), + get: (key) => getEntry(mmkv, key), + set: (entry) => setEntry(mmkv, entry), + delete: (key) => mmkv.delete(key), + subscribe: (callback) => mmkv.addOnValueChangedListener(callback), + }, + }; + } + ); + + return { + id: adapterId, + name: adapterName, + storages: storageNodes, + }; +}; diff --git a/packages/storage-plugin/src/react-native/adapters/secure-storage.ts b/packages/storage-plugin/src/react-native/adapters/secure-storage.ts new file mode 100644 index 00000000..cdff80bb --- /dev/null +++ b/packages/storage-plugin/src/react-native/adapters/secure-storage.ts @@ -0,0 +1,76 @@ +import type { StorageAdapter, StorageNode } from '../../shared/types'; + +export type SecureStorageLike = { + getItemAsync: (key: string) => Promise; + setItemAsync: (key: string, value: string) => Promise; + deleteItemAsync: (key: string) => Promise; +}; + +type KeySource = string[] | (() => Promise); + +export type CreateExpoSecureStorageAdapterOptions = { + storage: SecureStorageLike; + keys: KeySource; + adapterId?: string; + adapterName?: string; + storageId?: string; + storageName?: string; + blacklist?: RegExp; +}; + +const resolveKeys = async (source: KeySource) => { + if (Array.isArray(source)) { + return source; + } + + return source(); +}; + +export const createExpoSecureStorageAdapter = ({ + storage, + keys, + adapterId = 'expo-secure-store', + adapterName = 'Expo SecureStore', + storageId = 'default', + storageName = 'Default Secure Storage', + blacklist, +}: CreateExpoSecureStorageAdapterOptions): StorageAdapter => { + const storageNode: StorageNode = { + id: storageId, + name: storageName, + blacklist, + capabilities: { + supportedTypes: ['string'], + }, + storage: { + kind: 'async', + getAllKeys: () => resolveKeys(keys), + get: async (key) => { + const value = await storage.getItemAsync(key); + if (value === null) { + return undefined; + } + + return { + key, + type: 'string', + value, + }; + }, + set: async (entry) => { + if (entry.type !== 'string') { + throw new Error('Expo SecureStore adapter supports only string values.'); + } + + await storage.setItemAsync(entry.key, entry.value); + }, + delete: (key) => storage.deleteItemAsync(key), + }, + }; + + return { + id: adapterId, + name: adapterName, + storages: [storageNode], + }; +}; diff --git a/packages/storage-plugin/src/react-native/is-garbled.ts b/packages/storage-plugin/src/react-native/is-garbled.ts new file mode 100644 index 00000000..b986c802 --- /dev/null +++ b/packages/storage-plugin/src/react-native/is-garbled.ts @@ -0,0 +1,17 @@ +// This is a heuristic to determine if a string is garbled. +export const looksLikeGarbled = (str: string): boolean => { + // 1. Check for replacement character (�) + if (str.includes('\uFFFD')) return true; + + // 2. Check for unusual control characters + // eslint-disable-next-line no-control-regex + const controlChars = /[\u0000-\u001F\u007F-\u009F]/; + if (controlChars.test(str)) return true; + + // 3. Optionally, check if most chars are non-printable + const printableRatio = + [...str].filter((c) => c >= ' ' && c <= '~').length / str.length; + if (printableRatio < 0.7) return true; // mostly non-printable → probably binary + + return false; // seems like valid string +}; diff --git a/packages/storage-plugin/src/react-native/storage-view.ts b/packages/storage-plugin/src/react-native/storage-view.ts new file mode 100644 index 00000000..32fbc6bd --- /dev/null +++ b/packages/storage-plugin/src/react-native/storage-view.ts @@ -0,0 +1,245 @@ +import { + getStorageViewId, + supportsType, + type AsyncStorage, + type StorageAdapter, + type StorageCapabilities, + type StorageEntry, + type StorageEntryType, + type StorageNode, + type StorageSubscription, + type StorageTarget, + type SyncStorage, +} from '../shared/types'; + +const POLLING_INTERVAL_MS = 1500; + +type StorageSnapshotMap = Map; + +type AsyncStorageLike = SyncStorage | AsyncStorage; + +const isAsyncStorage = (storage: AsyncStorageLike): storage is AsyncStorage => + storage.kind === 'async'; + +const fingerprintEntry = (entry: StorageEntry) => { + if (entry.type === 'buffer') { + return `${entry.type}:${entry.value.join(',')}`; + } + + return `${entry.type}:${String(entry.value)}`; +}; + +const toSnapshotMap = (entries: StorageEntry[]) => { + return new Map(entries.map((entry) => [entry.key, entry])); +}; + +const shouldFilterKey = (storage: StorageNode, key: string) => { + if (!storage.blacklist) { + return false; + } + + storage.blacklist.lastIndex = 0; + return storage.blacklist.test(key); +}; + +const checkTypeSupport = ( + capabilities: StorageCapabilities, + type: StorageEntryType, + target: StorageTarget +) => { + if (supportsType(capabilities, type)) { + return; + } + + throw new Error( + `Type "${type}" is not supported by storage "${target.storageId}" in adapter "${target.adapterId}".` + ); +}; + +const getAllKeys = async (storage: AsyncStorageLike) => { + if (isAsyncStorage(storage)) { + return storage.getAllKeys(); + } + + return storage.getAllKeys(); +}; + +const getEntry = async (storage: AsyncStorageLike, key: string) => { + if (isAsyncStorage(storage)) { + return storage.get(key); + } + + return storage.get(key); +}; + +const setEntry = async (storage: AsyncStorageLike, entry: StorageEntry) => { + if (isAsyncStorage(storage)) { + await storage.set(entry); + return; + } + + storage.set(entry); +}; + +const deleteEntry = async (storage: AsyncStorageLike, key: string) => { + if (isAsyncStorage(storage)) { + await storage.delete(key); + return; + } + + storage.delete(key); +}; + +export type StorageView = { + id: string; + target: StorageTarget; + adapterName: string; + storageName: string; + capabilities: StorageCapabilities; + get: (key: string) => Promise; + set: (entry: StorageEntry) => Promise; + delete: (key: string) => Promise; + getAllKeys: () => Promise; + getAllEntries: () => Promise; + watch: (callbacks: { + onSet: (entry: StorageEntry) => void; + onDelete: (key: string) => void; + }) => Promise; +}; + +const buildSnapshotMap = async ( + getAllEntries: () => Promise +): Promise => { + const entries = await getAllEntries(); + return toSnapshotMap(entries); +}; + +const diffSnapshots = ( + previous: StorageSnapshotMap, + next: StorageSnapshotMap, + handlers: { + onSet: (entry: StorageEntry) => void; + onDelete: (key: string) => void; + } +) => { + next.forEach((nextEntry, key) => { + const previousEntry = previous.get(key); + + if (!previousEntry) { + handlers.onSet(nextEntry); + return; + } + + if (fingerprintEntry(previousEntry) !== fingerprintEntry(nextEntry)) { + handlers.onSet(nextEntry); + } + }); + + previous.forEach((_value, key) => { + if (!next.has(key)) { + handlers.onDelete(key); + } + }); +}; + +const createPollingSubscription = async ( + getAllEntries: () => Promise, + handlers: { + onSet: (entry: StorageEntry) => void; + onDelete: (key: string) => void; + } +): Promise => { + let previousSnapshot = await buildSnapshotMap(getAllEntries); + + const interval = setInterval(async () => { + try { + const nextSnapshot = await buildSnapshotMap(getAllEntries); + diffSnapshots(previousSnapshot, nextSnapshot, handlers); + previousSnapshot = nextSnapshot; + } catch { + // Silently ignore polling errors and try again on next tick. + } + }, POLLING_INTERVAL_MS); + + return { + remove: () => { + clearInterval(interval); + }, + }; +}; + +export const createStorageView = ( + adapter: StorageAdapter, + storageNode: StorageNode +): StorageView => { + const storage = storageNode.storage; + const target: StorageTarget = { + adapterId: adapter.id, + storageId: storageNode.id, + }; + + const get = async (key: string) => { + if (shouldFilterKey(storageNode, key)) { + return undefined; + } + + return getEntry(storage, key); + }; + + const getAllEntries = async () => { + const keys = await getAllKeys(storage); + const visibleEntries = await Promise.all( + keys + .filter((key) => !shouldFilterKey(storageNode, key)) + .map((key) => getEntry(storage, key)) + ); + + return visibleEntries.filter((entry): entry is StorageEntry => !!entry); + }; + + return { + id: getStorageViewId(target), + target, + adapterName: adapter.name, + storageName: storageNode.name, + capabilities: storageNode.capabilities, + get, + set: async (entry) => { + checkTypeSupport(storageNode.capabilities, entry.type, target); + await setEntry(storage, entry); + }, + delete: async (key) => { + await deleteEntry(storage, key); + }, + getAllKeys: async () => { + const keys = await getAllKeys(storage); + return keys.filter((key) => !shouldFilterKey(storageNode, key)); + }, + getAllEntries, + watch: async ({ onSet, onDelete }) => { + if (storage.subscribe) { + return storage.subscribe(async (key) => { + try { + const entry = await get(key); + + if (!entry) { + onDelete(key); + return; + } + + onSet(entry); + } catch { + // Ignore runtime callback errors; polling fallback is not needed when subscribe exists. + } + }); + } + + return createPollingSubscription(getAllEntries, { onSet, onDelete }); + }, + }; +}; + +export const createStorageViews = (storages: StorageAdapter[]) => + storages.flatMap((adapter) => + adapter.storages.map((storageNode) => createStorageView(adapter, storageNode)) + ); diff --git a/packages/storage-plugin/src/react-native/useRozeniteStoragePlugin.ts b/packages/storage-plugin/src/react-native/useRozeniteStoragePlugin.ts new file mode 100644 index 00000000..f02423f5 --- /dev/null +++ b/packages/storage-plugin/src/react-native/useRozeniteStoragePlugin.ts @@ -0,0 +1,162 @@ +import { useRozeniteDevToolsClient } from '@rozenite/plugin-bridge'; +import { useEffect, useMemo } from 'react'; +import type { + StorageDeleteEntryEvent, + StorageEventMap, + StorageGetSnapshotEvent, + StorageSetEntryEvent, +} from '../shared/messaging'; +import type { StorageAdapter } from '../shared/types'; +import { createStorageViews } from './storage-view'; + +export type RozeniteStoragePluginOptions = { + storages: StorageAdapter[]; +}; + +export const useRozeniteStoragePlugin = ({ + storages, +}: RozeniteStoragePluginOptions) => { + const views = useMemo(() => createStorageViews(storages), [storages]); + + const client = useRozeniteDevToolsClient({ + pluginId: '@rozenite/storage-plugin', + }); + + useEffect(() => { + if (!client) { + return; + } + + const pushSnapshot = async (viewId?: string) => { + const selectedViews = viewId ? views.filter((view) => view.id === viewId) : views; + + for (const view of selectedViews) { + try { + const entries = await view.getAllEntries(); + client.send('snapshot', { + type: 'snapshot', + target: view.target, + adapterName: view.adapterName, + storageName: view.storageName, + capabilities: view.capabilities, + entries, + }); + } catch (error) { + console.warn( + `[Rozenite] Storage Plugin: Failed to snapshot ${view.target.adapterId}/${view.target.storageId}.`, + error + ); + } + } + }; + + void pushSnapshot(); + + const viewSubscriptions: { remove: () => void }[] = []; + let disposed = false; + + // Prevent one storage watcher failure from breaking the whole plugin. + void Promise.all( + views.map(async (view) => { + try { + const subscription = await view.watch({ + onSet: (entry) => { + client.send('set-entry', { + type: 'set-entry', + target: view.target, + entry, + }); + }, + onDelete: (key) => { + client.send('delete-entry', { + type: 'delete-entry', + target: view.target, + key, + }); + }, + }); + + if (disposed) { + subscription.remove(); + return; + } + + viewSubscriptions.push(subscription); + } catch (error) { + console.warn( + `[Rozenite] Storage Plugin: Failed to attach watcher for ${view.target.adapterId}/${view.target.storageId}.`, + error + ); + } + }) + ); + + const messageSubscriptions = [ + client.onMessage('set-entry', async ({ target, entry }: StorageSetEntryEvent) => { + const view = views.find( + (candidate) => + candidate.target.adapterId === target.adapterId && + candidate.target.storageId === target.storageId + ); + + if (!view) { + console.warn( + `[Rozenite] Storage Plugin: Storage target not found for ${target.adapterId}/${target.storageId}` + ); + return; + } + + try { + await view.set(entry); + } catch (error) { + console.warn( + `[Rozenite] Storage Plugin: Failed to set entry in ${target.adapterId}/${target.storageId}.`, + error + ); + } + }), + client.onMessage( + 'delete-entry', + async ({ target, key }: StorageDeleteEntryEvent) => { + const view = views.find( + (candidate) => + candidate.target.adapterId === target.adapterId && + candidate.target.storageId === target.storageId + ); + + if (!view) { + console.warn( + `[Rozenite] Storage Plugin: Storage target not found for ${target.adapterId}/${target.storageId}` + ); + return; + } + + try { + await view.delete(key); + } catch (error) { + console.warn( + `[Rozenite] Storage Plugin: Failed to delete entry in ${target.adapterId}/${target.storageId}.`, + error + ); + } + } + ), + client.onMessage('get-snapshot', async ({ target }: StorageGetSnapshotEvent) => { + if (target === 'all') { + await pushSnapshot(); + return; + } + + await pushSnapshot(`${target.adapterId}:${target.storageId}`); + }), + ]; + + return () => { + disposed = true; + viewSubscriptions.forEach((subscription) => subscription.remove()); + messageSubscriptions.forEach((subscription) => subscription.remove()); + }; + }, [client, views]); + + return client; +}; diff --git a/packages/storage-plugin/src/shared/messaging.ts b/packages/storage-plugin/src/shared/messaging.ts new file mode 100644 index 00000000..e5915cd6 --- /dev/null +++ b/packages/storage-plugin/src/shared/messaging.ts @@ -0,0 +1,37 @@ +import type { StorageCapabilities, StorageEntry, StorageTarget } from './types'; + +export type StorageSnapshotEvent = { + type: 'snapshot'; + target: StorageTarget; + adapterName: string; + storageName: string; + capabilities: StorageCapabilities; + entries: StorageEntry[]; +}; + +export type StorageSetEntryEvent = { + type: 'set-entry'; + target: StorageTarget; + entry: StorageEntry; +}; + +export type StorageDeleteEntryEvent = { + type: 'delete-entry'; + target: StorageTarget; + key: string; +}; + +export type StorageGetSnapshotEvent = { + type: 'get-snapshot'; + target: StorageTarget | 'all'; +}; + +export type StorageEvent = + | StorageSnapshotEvent + | StorageSetEntryEvent + | StorageDeleteEntryEvent + | StorageGetSnapshotEvent; + +export type StorageEventMap = { + [K in StorageEvent['type']]: Extract; +}; diff --git a/packages/storage-plugin/src/shared/types.ts b/packages/storage-plugin/src/shared/types.ts new file mode 100644 index 00000000..62f473fb --- /dev/null +++ b/packages/storage-plugin/src/shared/types.ts @@ -0,0 +1,66 @@ +export type StorageEntry = + | { key: string; type: 'string'; value: string } + | { key: string; type: 'number'; value: number } + | { key: string; type: 'boolean'; value: boolean } + | { key: string; type: 'buffer'; value: number[] }; + +export type StorageEntryType = StorageEntry['type']; +export type StorageEntryValue = StorageEntry['value']; + +export type StorageCapabilities = { + supportedTypes: StorageEntryType[]; +}; + +export type StorageSubscription = { remove: () => void }; + +export type SyncStorage = { + kind: 'sync'; + getAllKeys: () => string[]; + get: (key: string) => StorageEntry | undefined; + set: (entry: StorageEntry) => void; + delete: (key: string) => void; + subscribe?: (callback: (key: string) => void) => StorageSubscription; +}; + +export type AsyncStorage = { + kind: 'async'; + getAllKeys: () => Promise; + get: (key: string) => Promise; + set: (entry: StorageEntry) => Promise; + delete: (key: string) => Promise; + subscribe?: (callback: (key: string) => void) => StorageSubscription; +}; + +export type StorageNode = { + id: string; + name: string; + storage: SyncStorage | AsyncStorage; + capabilities: StorageCapabilities; + blacklist?: RegExp; +}; + +export type StorageAdapter = { + id: string; + name: string; + storages: StorageNode[]; +}; + +export type StorageTarget = { + adapterId: string; + storageId: string; +}; + +export const DEFAULT_SUPPORTED_TYPES: StorageEntryType[] = [ + 'string', + 'number', + 'boolean', + 'buffer', +]; + +export const getStorageViewId = ({ adapterId, storageId }: StorageTarget) => + `${adapterId}:${storageId}`; + +export const supportsType = ( + capabilities: StorageCapabilities, + type: StorageEntryType +) => capabilities.supportedTypes.includes(type); diff --git a/packages/storage-plugin/src/ui/add-entry-dialog.tsx b/packages/storage-plugin/src/ui/add-entry-dialog.tsx new file mode 100644 index 00000000..d47e3863 --- /dev/null +++ b/packages/storage-plugin/src/ui/add-entry-dialog.tsx @@ -0,0 +1,310 @@ +import { useMemo, useState } from 'react'; +import { X } from 'lucide-react'; +import type { + StorageEntry, + StorageEntryType, + StorageEntryValue, +} from '../shared/types'; +import { ConfirmDialog } from './confirm-dialog'; + +const TYPE_OPTIONS: Array<{ value: StorageEntryType; label: string }> = [ + { value: 'string', label: 'String' }, + { value: 'number', label: 'Number' }, + { value: 'boolean', label: 'Boolean' }, + { value: 'buffer', label: 'Buffer (Array)' }, +]; + +export type AddEntryDialogProps = { + isOpen: boolean; + onClose: () => void; + onAddEntry: (entry: StorageEntry) => void; + existingKeys: string[]; + supportedTypes: StorageEntryType[]; +}; + +export const AddEntryDialog = ({ + isOpen, + onClose, + onAddEntry, + existingKeys, + supportedTypes, +}: AddEntryDialogProps) => { + const [newEntryKey, setNewEntryKey] = useState(''); + const [newEntryType, setNewEntryType] = useState('string'); + const [newEntryValue, setNewEntryValue] = useState(''); + const [confirmDialog, setConfirmDialog] = useState<{ + isOpen: boolean; + title: string; + message: string; + type: 'confirm' | 'alert'; + onConfirm?: () => void; + }>({ isOpen: false, title: '', message: '', type: 'alert' }); + + const enabledTypes = useMemo( + () => TYPE_OPTIONS.filter((option) => supportedTypes.includes(option.value)), + [supportedTypes] + ); + + const firstSupportedType = enabledTypes[0]?.value; + + const selectedTypeSupported = supportedTypes.includes(newEntryType); + + const resetForm = () => { + setNewEntryKey(''); + setNewEntryType(firstSupportedType ?? 'string'); + setNewEntryValue(''); + onClose(); + }; + + const handleAddEntry = () => { + if (!newEntryKey.trim()) return; + + if (!selectedTypeSupported) { + setConfirmDialog({ + isOpen: true, + title: 'Unsupported Type', + message: 'Selected type is not supported by this storage.', + type: 'alert', + }); + return; + } + + if (existingKeys.includes(newEntryKey)) { + setConfirmDialog({ + isOpen: true, + title: 'Key Already Exists', + message: 'An entry with this key already exists.', + type: 'alert', + }); + return; + } + + let parsedValue: StorageEntryValue; + try { + switch (newEntryType) { + case 'string': + parsedValue = newEntryValue; + break; + case 'number': + parsedValue = Number(newEntryValue); + if (Number.isNaN(parsedValue)) { + throw new Error('Invalid number'); + } + break; + case 'boolean': + if (newEntryValue !== 'true' && newEntryValue !== 'false') { + throw new Error('Boolean value must be true or false'); + } + parsedValue = newEntryValue === 'true'; + break; + case 'buffer': + parsedValue = JSON.parse(newEntryValue); + if ( + !Array.isArray(parsedValue) || + !parsedValue.every((value) => typeof value === 'number') + ) { + throw new Error('Buffer must be an array of numbers'); + } + break; + default: + throw new Error('Invalid type'); + } + } catch (error) { + setConfirmDialog({ + isOpen: true, + title: 'Invalid Value', + message: `Invalid value for ${newEntryType}: ${ + error instanceof Error ? error.message : 'Unknown error' + }`, + type: 'alert', + }); + return; + } + + let entry: StorageEntry; + if (newEntryType === 'string') { + entry = { key: newEntryKey, type: 'string', value: parsedValue as string }; + } else if (newEntryType === 'number') { + entry = { key: newEntryKey, type: 'number', value: parsedValue as number }; + } else if (newEntryType === 'boolean') { + entry = { key: newEntryKey, type: 'boolean', value: parsedValue as boolean }; + } else { + entry = { key: newEntryKey, type: 'buffer', value: parsedValue as number[] }; + } + + onAddEntry(entry); + + resetForm(); + }; + + const handleKeyDown = (event: React.KeyboardEvent) => { + if (event.key === 'Escape') { + resetForm(); + return; + } + + if (event.key === 'Enter' && newEntryKey.trim() && newEntryValue.trim()) { + handleAddEntry(); + } + }; + + if (!isOpen) { + return null; + } + + return ( +
+
event.stopPropagation()} + onKeyDown={handleKeyDown} + > +
+

Add New Entry

+ +
+ +
+
+ + setNewEntryKey(event.target.value)} + placeholder="Enter key name" + className="w-full px-3 py-2 text-sm bg-gray-700 border border-gray-600 rounded text-gray-100 placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500" + autoFocus + /> +
+ +
+ + + {!selectedTypeSupported && ( +

+ Selected type is not supported by this storage. +

+ )} +
+ +
+ + {newEntryType === 'boolean' ? ( + + ) : ( + setNewEntryValue(event.target.value)} + placeholder={ + newEntryType === 'string' + ? 'Enter string value' + : newEntryType === 'number' + ? 'Enter number value' + : newEntryType === 'buffer' + ? 'Enter array as JSON, e.g., [1, 2, 3]' + : 'Enter value' + } + className="w-full px-3 py-2 text-sm bg-gray-700 border border-gray-600 rounded text-gray-100 placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500" + /> + )} + {newEntryType === 'buffer' && ( +

+ Enter as JSON array of numbers, e.g., [1, 2, 3, 255] +

+ )} +
+
+ +
+ + +
+
+ + setConfirmDialog((previous) => ({ ...previous, isOpen: false }))} + onConfirm={() => { + if (confirmDialog.onConfirm) { + confirmDialog.onConfirm(); + } + }} + title={confirmDialog.title} + message={confirmDialog.message} + type={confirmDialog.type} + /> +
+ ); +}; diff --git a/packages/storage-plugin/src/ui/confirm-dialog.tsx b/packages/storage-plugin/src/ui/confirm-dialog.tsx new file mode 100644 index 00000000..fe024a34 --- /dev/null +++ b/packages/storage-plugin/src/ui/confirm-dialog.tsx @@ -0,0 +1,100 @@ +import { X, AlertTriangle, Info } from 'lucide-react'; + +export type ConfirmDialogProps = { + isOpen: boolean; + onClose: () => void; + onConfirm: () => void; + title: string; + message: string; + type?: 'confirm' | 'alert'; + confirmText?: string; + cancelText?: string; +}; + +export const ConfirmDialog = ({ + isOpen, + onClose, + onConfirm, + title, + message, + type = 'confirm', + confirmText = 'Confirm', + cancelText = 'Cancel', +}: ConfirmDialogProps) => { + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.key === 'Escape') { + onClose(); + } else if (e.key === 'Enter') { + onConfirm(); + } + }; + + const handleConfirm = () => { + onConfirm(); + onClose(); + }; + + const handleCancel = () => { + onClose(); + }; + + if (!isOpen) return null; + + return ( +
+
e.stopPropagation()} + onKeyDown={handleKeyDown} + > +
+
+ {type === 'confirm' ? ( + + ) : ( + + )} +

{title}

+
+ +
+ +
+

{message}

+
+ + {/* Dialog Actions */} +
+ {type === 'confirm' && ( + + )} + +
+
+
+ ); +}; diff --git a/packages/storage-plugin/src/ui/edit-entry-dialog.tsx b/packages/storage-plugin/src/ui/edit-entry-dialog.tsx new file mode 100644 index 00000000..a0e98e51 --- /dev/null +++ b/packages/storage-plugin/src/ui/edit-entry-dialog.tsx @@ -0,0 +1,280 @@ +import { useEffect, useMemo, useState } from 'react'; +import { X, Edit3 } from 'lucide-react'; +import type { + StorageEntry, + StorageEntryType, + StorageEntryValue, +} from '../shared/types'; +import { ConfirmDialog } from './confirm-dialog'; + +export type EditEntryDialogProps = { + isOpen: boolean; + onClose: () => void; + onEditEntry: (key: string, newValue: StorageEntryValue) => void; + entry: StorageEntry | null; + supportedTypes: StorageEntryType[]; +}; + +export const EditEntryDialog = ({ + isOpen, + onClose, + onEditEntry, + entry, + supportedTypes, +}: EditEntryDialogProps) => { + const [editValue, setEditValue] = useState(''); + const [confirmDialog, setConfirmDialog] = useState<{ + isOpen: boolean; + title: string; + message: string; + type: 'confirm' | 'alert'; + onConfirm?: () => void; + }>({ isOpen: false, title: '', message: '', type: 'alert' }); + + useEffect(() => { + if (entry && isOpen) { + setEditValue(Array.isArray(entry.value) ? JSON.stringify(entry.value) : String(entry.value)); + } + }, [entry, isOpen]); + + const isTypeSupported = useMemo( + () => !!entry && supportedTypes.includes(entry.type), + [entry, supportedTypes] + ); + + const resetForm = () => { + setEditValue(''); + onClose(); + }; + + const handleEditEntry = () => { + if (!entry) return; + + if (!isTypeSupported) { + setConfirmDialog({ + isOpen: true, + title: 'Unsupported Type', + message: 'This storage does not support the current entry type.', + type: 'alert', + }); + return; + } + + let newValue: StorageEntryValue; + + try { + switch (entry.type) { + case 'string': + newValue = editValue; + break; + case 'number': + newValue = Number(editValue); + if (Number.isNaN(newValue)) { + throw new Error('Invalid number'); + } + break; + case 'boolean': + if (editValue !== 'true' && editValue !== 'false') { + throw new Error('Boolean value must be "true" or "false"'); + } + newValue = editValue === 'true'; + break; + case 'buffer': + newValue = JSON.parse(editValue); + if (!Array.isArray(newValue) || !newValue.every((v) => typeof v === 'number')) { + throw new Error('Buffer must be an array of numbers'); + } + break; + default: + throw new Error('Invalid type'); + } + } catch (error) { + setConfirmDialog({ + isOpen: true, + title: 'Invalid Value', + message: `Invalid value for ${entry.type}: ${ + error instanceof Error ? error.message : 'Unknown error' + }`, + type: 'alert', + }); + return; + } + + onEditEntry(entry.key, newValue); + resetForm(); + }; + + const handleKeyDown = (event: React.KeyboardEvent) => { + if (event.key === 'Escape') { + resetForm(); + } else if (event.key === 'Enter' && editValue.trim()) { + handleEditEntry(); + } + }; + + const getInputType = (type: StorageEntryType) => { + if (type === 'number') { + return 'number'; + } + + return 'text'; + }; + + const getPlaceholder = (type: StorageEntryType) => { + if (type === 'string') { + return 'Enter string value'; + } + + if (type === 'number') { + return 'Enter number value'; + } + + if (type === 'boolean') { + return 'Enter true or false'; + } + + return 'Enter array as JSON, e.g., [1, 2, 3]'; + }; + + const getTypeColorClass = (type: StorageEntryType) => { + if (type === 'string') { + return 'bg-green-600'; + } + + if (type === 'number') { + return 'bg-blue-600'; + } + + if (type === 'boolean') { + return 'bg-yellow-600'; + } + + return 'bg-purple-600'; + }; + + if (!isOpen || !entry) { + return null; + } + + return ( +
+
event.stopPropagation()} + onKeyDown={handleKeyDown} + > +
+
+ +

Edit Entry

+
+ +
+ +
+
+ +
+ {entry.key} +
+

Key cannot be changed during editing

+
+ +
+ +
+ + {entry.type} + +
+ {!isTypeSupported ? ( +

+ This storage does not support {entry.type} values. +

+ ) : ( +

Type cannot be changed during editing

+ )} +
+ +
+ + {entry.type === 'boolean' ? ( + + ) : ( + setEditValue(event.target.value)} + placeholder={getPlaceholder(entry.type)} + className="w-full px-3 py-2 text-sm bg-gray-700 border border-gray-600 rounded text-gray-100 placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500" + autoFocus + /> + )} + {entry.type === 'buffer' && ( +

+ Enter as JSON array of numbers, e.g., [1, 2, 3, 255] +

+ )} +
+
+ +
+ + +
+
+ + setConfirmDialog((previous) => ({ ...previous, isOpen: false }))} + onConfirm={() => { + if (confirmDialog.onConfirm) { + confirmDialog.onConfirm(); + } + }} + title={confirmDialog.title} + message={confirmDialog.message} + type={confirmDialog.type} + /> +
+ ); +}; diff --git a/packages/storage-plugin/src/ui/editable-table.tsx b/packages/storage-plugin/src/ui/editable-table.tsx new file mode 100644 index 00000000..8f1f0d50 --- /dev/null +++ b/packages/storage-plugin/src/ui/editable-table.tsx @@ -0,0 +1,298 @@ +import { useMemo, useState } from 'react'; +import { + createColumnHelper, + flexRender, + getCoreRowModel, + getFilteredRowModel, + getSortedRowModel, + type ColumnDef, + type SortingState, + useReactTable, +} from '@tanstack/react-table'; +import { Edit3, Loader2, Trash2 } from 'lucide-react'; +import type { + StorageEntry, + StorageEntryType, + StorageEntryValue, +} from '../shared/types'; +import { ConfirmDialog } from './confirm-dialog'; +import { EditEntryDialog } from './edit-entry-dialog'; + +export type EditableTableProps = { + data: StorageEntry[]; + supportedTypes: StorageEntryType[]; + onValueChange?: (key: string, newValue: StorageEntryValue) => void; + onDeleteEntry?: (key: string) => void; + onRowClick?: (entry: StorageEntry) => void; + loading?: boolean; +}; + +const columnHelper = createColumnHelper(); + +export const EditableTable = ({ + data, + supportedTypes, + onValueChange, + onDeleteEntry, + onRowClick, + loading = false, +}: EditableTableProps) => { + const [editingEntry, setEditingEntry] = useState(null); + const [showEditDialog, setShowEditDialog] = useState(false); + const [sorting, setSorting] = useState([]); + const [deleteConfirm, setDeleteConfirm] = useState<{ + isOpen: boolean; + entryKey: string; + }>({ isOpen: false, entryKey: '' }); + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const columns = useMemo[]>( + () => [ + columnHelper.accessor('key', { + header: 'Key', + enableSorting: true, + cell: ({ getValue }) => ( +
{getValue()}
+ ), + }), + columnHelper.accessor('type', { + header: 'Type', + enableSorting: true, + cell: ({ getValue }) => { + const type = getValue() as StorageEntryType; + return ( +
+ + {type} + +
+ ); + }, + }), + columnHelper.accessor('value', { + header: 'Value', + cell: ({ row }) => { + const entry = row.original; + return ( +
+
{formatValue(entry)}
+ +
+ ); + }, + }), + columnHelper.display({ + id: 'actions', + header: 'Actions', + cell: ({ row }) => ( +
+ +
+ ), + }), + ], + [onDeleteEntry] + ); + + const table = useReactTable({ + data, + columns, + state: { sorting }, + onSortingChange: setSorting, + getCoreRowModel: getCoreRowModel(), + getFilteredRowModel: getFilteredRowModel(), + getSortedRowModel: getSortedRowModel(), + }); + + const handleEdit = (entry: StorageEntry) => { + setEditingEntry(entry); + setShowEditDialog(true); + }; + + const handleEditEntry = (key: string, newValue: StorageEntryValue) => { + if (onValueChange) { + onValueChange(key, newValue); + } + + setEditingEntry(null); + setShowEditDialog(false); + }; + + const handleCloseEditDialog = () => { + setEditingEntry(null); + setShowEditDialog(false); + }; + + const handleDelete = (key: string) => { + if (onDeleteEntry) { + setDeleteConfirm({ isOpen: true, entryKey: key }); + } + }; + + const confirmDelete = () => { + if (onDeleteEntry && deleteConfirm.entryKey) { + onDeleteEntry(deleteConfirm.entryKey); + } + + setDeleteConfirm({ isOpen: false, entryKey: '' }); + }; + + if (loading) { + return ( +
+ +

Loading entries...

+
+ ); + } + + return ( + <> + + + {table.getHeaderGroups().map((headerGroup) => ( + + {headerGroup.headers.map((header) => ( + + ))} + + ))} + + + {table.getRowModel().rows.map((row) => ( + { + const target = event.target as HTMLElement; + if ( + target.tagName === 'BUTTON' || + target.closest('button') || + target.tagName === 'INPUT' || + target.closest('input') + ) { + return; + } + + if (onRowClick) { + onRowClick(row.original); + } + }} + > + {row.getVisibleCells().map((cell) => ( + + ))} + + ))} + +
+
+ {header.isPlaceholder + ? null + : flexRender( + header.column.columnDef.header, + header.getContext() + )} + {header.column.getCanSort() && ( + + {{ + asc: '↑', + desc: '↓', + }[header.column.getIsSorted() as string] ?? '↕'} + + )} +
+
+ {flexRender(cell.column.columnDef.cell, cell.getContext())} +
+ + + + setDeleteConfirm({ isOpen: false, entryKey: '' })} + onConfirm={confirmDelete} + title="Delete Entry" + message={`Are you sure you want to delete the entry "${deleteConfirm.entryKey}"?`} + type="confirm" + confirmText="Delete" + /> + + ); +}; + +const getTypeColorClass = (type: StorageEntryType) => { + if (type === 'string') { + return 'bg-green-600'; + } + + if (type === 'number') { + return 'bg-blue-600'; + } + + if (type === 'boolean') { + return 'bg-yellow-600'; + } + + return 'bg-purple-600'; +}; + +const formatValue = (entry: StorageEntry) => { + if (entry.type === 'string') { + return "{entry.value}"; + } + + if (entry.type === 'number') { + return {entry.value}; + } + + if (entry.type === 'boolean') { + return ( + + {entry.value ? 'true' : 'false'} + + ); + } + + const displayValue = + entry.value.length > 5 + ? `[${entry.value.slice(0, 5).join(', ')}, ...${entry.value.length - 5} more]` + : `[${entry.value.join(', ')}]`; + + return {displayValue}; +}; diff --git a/packages/storage-plugin/src/ui/entry-detail-dialog.tsx b/packages/storage-plugin/src/ui/entry-detail-dialog.tsx new file mode 100644 index 00000000..85143271 --- /dev/null +++ b/packages/storage-plugin/src/ui/entry-detail-dialog.tsx @@ -0,0 +1,210 @@ +import { X, Info, Edit3 } from 'lucide-react'; +import { JSONTree } from 'react-json-tree'; +import { StorageEntry } from '../shared/types'; +import { useMemo } from 'react'; + +export type EntryDetailDialogProps = { + isOpen: boolean; + onClose: () => void; + onEdit?: (entry: StorageEntry) => void; + entry: StorageEntry | null; +}; + +const jsonTreeTheme = { + base00: 'transparent', + base01: '#374151', // bg-gray-700 + base02: '#4b5563', // bg-gray-600 + base03: '#6b7280', // text-gray-500 + base04: '#9ca3af', // text-gray-400 + base05: '#d1d5db', // text-gray-300 + base06: '#e5e7eb', // text-gray-200 + base07: '#f9fafb', // text-gray-100 + base08: '#ef4444', // text-red-500 + base09: '#f59e0b', // text-yellow-500 + base0A: '#10b981', // text-green-500 + base0B: '#3b82f6', // text-blue-500 + base0C: '#06b6d4', // text-cyan-500 + base0D: '#8b5cf6', // text-purple-500 + base0E: '#ec4899', // text-pink-500 + base0F: '#f97316', // text-orange-500 +}; + +const jsonSafeParse = (value: string): unknown | null => { + try { + return JSON.parse(value); + } catch { + return null; + } +}; + +const getTypeColorClass = (type: string) => { + switch (type) { + case 'string': + return 'bg-green-600'; + case 'number': + return 'bg-blue-600'; + case 'boolean': + return 'bg-yellow-600'; + case 'buffer': + return 'bg-purple-600'; + default: + return 'bg-gray-600'; + } +}; + +const formatValue = (entry: StorageEntry) => { + switch (entry.type) { + case 'string': + return ( + + "{entry.value as string}" + + ); + case 'number': + return ( + {entry.value as number} + ); + case 'boolean': + return ( + + {entry.value ? 'true' : 'false'} + + ); + case 'buffer': { + const bufferArray = entry.value as number[]; + return ( + + [{bufferArray.join(', ')}] + + ); + } + default: + return Unknown; + } +}; + +export const EntryDetailDialog = ({ + isOpen, + onClose, + onEdit, + entry, +}: EntryDetailDialogProps) => { + const isStringValue = entry?.type === 'string'; + const stringValue = isStringValue ? (entry.value as string) : ''; + const jsonValue = useMemo( + () => (isStringValue ? jsonSafeParse(stringValue) : null), + [isStringValue, stringValue] + ); + + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.key === 'Escape') { + onClose(); + } + }; + + if (!isOpen || !entry) return null; + + return ( +
+
e.stopPropagation()} + onKeyDown={handleKeyDown} + > +
+
+ +

+ Entry Details +

+
+ +
+ +
+ {/* Key Display */} +
+ +
+ {entry.key} +
+
+ + {/* Type Display */} +
+ +
+ + {entry.type} + +
+
+ + {/* Value Display */} +
+ +
+ {jsonValue ? ( + keyPath.length <= 2} + /> + ) : ( +
{formatValue(entry)}
+ )} +
+
+
+ + {/* Dialog Actions */} +
+ {onEdit && ( + + )} + +
+
+
+ ); +}; diff --git a/packages/storage-plugin/src/ui/globals.css b/packages/storage-plugin/src/ui/globals.css new file mode 100644 index 00000000..2bf47da0 --- /dev/null +++ b/packages/storage-plugin/src/ui/globals.css @@ -0,0 +1,123 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer utilities { + .text-balance { + text-wrap: balance; + } + + .wrap-anywhere { + overflow-wrap: anywhere; + } +} + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 0 0% 3.9%; + --card: 0 0% 100%; + --card-foreground: 0 0% 3.9%; + --popover: 0 0% 100%; + --popover-foreground: 0 0% 3.9%; + --primary: 0 0% 9%; + --primary-foreground: 0 0% 98%; + --secondary: 0 0% 96.1%; + --secondary-foreground: 0 0% 9%; + --muted: 0 0% 96.1%; + --muted-foreground: 0 0% 45.1%; + --accent: 0 0% 96.1%; + --accent-foreground: 0 0% 9%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 89.8%; + --input: 0 0% 89.8%; + --ring: 0 0% 3.9%; + --chart-1: 12 76% 61%; + --chart-2: 173 58% 39%; + --chart-3: 197 37% 24%; + --chart-4: 43 74% 66%; + --chart-5: 27 87% 67%; + --radius: 0.5rem; + --sidebar-background: 0 0% 98%; + --sidebar-foreground: 240 5.3% 26.1%; + --sidebar-primary: 240 5.9% 10%; + --sidebar-primary-foreground: 0 0% 98%; + --sidebar-accent: 240 4.8% 95.9%; + --sidebar-accent-foreground: 240 5.9% 10%; + --sidebar-border: 220 13% 91%; + --sidebar-ring: 217.2 91.2% 59.8%; + } + .dark { + --background: 0 0% 3.9%; + --foreground: 0 0% 98%; + --card: 0 0% 3.9%; + --card-foreground: 0 0% 98%; + --popover: 0 0% 3.9%; + --popover-foreground: 0 0% 98%; + --primary: 0 0% 98%; + --primary-foreground: 0 0% 9%; + --secondary: 0 0% 14.9%; + --secondary-foreground: 0 0% 98%; + --muted: 0 0% 14.9%; + --muted-foreground: 0 0% 63.9%; + --accent: 0 0% 14.9%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 14.9%; + --input: 0 0% 14.9%; + --ring: 0 0% 83.1%; + --chart-1: 220 70% 50%; + --chart-2: 160 60% 45%; + --chart-3: 30 80% 55%; + --chart-4: 280 65% 60%; + --chart-5: 340 75% 55%; + --sidebar-background: 240 5.9% 10%; + --sidebar-foreground: 240 4.8% 95.9%; + --sidebar-primary: 224.3 76.3% 48%; + --sidebar-primary-foreground: 0 0% 100%; + --sidebar-accent: 240 3.7% 15.9%; + --sidebar-accent-foreground: 240 4.8% 95.9%; + --sidebar-border: 240 3.7% 15.9%; + --sidebar-ring: 217.2 91.2% 59.8%; + } +} + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } +} + +/* Custom scrollbar styles to match plugin theme */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-track { + background: #1f2937; /* gray-800 */ + border-radius: 4px; +} + +::-webkit-scrollbar-thumb { + background: #374151; /* gray-700 */ + border-radius: 4px; + border: 1px solid #1f2937; /* gray-800 */ +} + +::-webkit-scrollbar-thumb:hover { + background: #4b5563; /* gray-600 */ +} + +::-webkit-scrollbar-thumb:active { + background: #6b7280; /* gray-500 */ +} + +::-webkit-scrollbar-corner { + background: #1f2937; /* gray-800 */ +} diff --git a/packages/storage-plugin/src/ui/panel.tsx b/packages/storage-plugin/src/ui/panel.tsx new file mode 100644 index 00000000..9425006b --- /dev/null +++ b/packages/storage-plugin/src/ui/panel.tsx @@ -0,0 +1,442 @@ +import { useRozeniteDevToolsClient } from '@rozenite/plugin-bridge'; +import { useEffect, useMemo, useState } from 'react'; +import { Search, Plus } from 'lucide-react'; +import type { + StorageDeleteEntryEvent, + StorageEventMap, + StorageSetEntryEvent, + StorageSnapshotEvent, +} from '../shared/messaging'; +import type { + StorageCapabilities, + StorageEntry, + StorageEntryValue, + StorageTarget, +} from '../shared/types'; +import { getStorageViewId } from '../shared/types'; +import { EditableTable } from './editable-table'; +import { AddEntryDialog } from './add-entry-dialog'; +import { EntryDetailDialog } from './entry-detail-dialog'; +import { EditEntryDialog } from './edit-entry-dialog'; +import './globals.css'; + +type StorageSnapshotState = { + target: StorageTarget; + adapterName: string; + storageName: string; + capabilities: StorageCapabilities; + entries: StorageEntry[]; +}; + +const getEntryTypeFromValue = (value: StorageEntryValue): StorageEntry['type'] => { + if (typeof value === 'string') { + return 'string'; + } + + if (typeof value === 'number') { + return 'number'; + } + + if (typeof value === 'boolean') { + return 'boolean'; + } + + return 'buffer'; +}; + +export default function StoragePanel() { + const [snapshots, setSnapshots] = useState>( + new Map() + ); + const [selectedStorageViewId, setSelectedStorageViewId] = useState( + null + ); + const [loading, setLoading] = useState(false); + const [searchTerm, setSearchTerm] = useState(''); + const [showAddDialog, setShowAddDialog] = useState(false); + const [selectedEntry, setSelectedEntry] = useState(null); + const [showDetailDialog, setShowDetailDialog] = useState(false); + const [editingEntry, setEditingEntry] = useState(null); + const [showEditDialog, setShowEditDialog] = useState(false); + + const client = useRozeniteDevToolsClient({ + pluginId: '@rozenite/storage-plugin', + }); + + useEffect(() => { + if (!client) { + return; + } + + const snapshotSubscription = client.onMessage( + 'snapshot', + (event: StorageSnapshotEvent) => { + const viewId = getStorageViewId(event.target); + setSnapshots((previous) => { + const next = new Map(previous); + next.set(viewId, { + target: event.target, + adapterName: event.adapterName, + storageName: event.storageName, + capabilities: event.capabilities, + entries: event.entries, + }); + + if (previous.size === 0 && !selectedStorageViewId) { + setSelectedStorageViewId(viewId); + } + + return next; + }); + + if (viewId === selectedStorageViewId) { + setLoading(false); + } + } + ); + + const setEntrySubscription = client.onMessage( + 'set-entry', + (event: StorageSetEntryEvent) => { + const viewId = getStorageViewId(event.target); + setSnapshots((previous) => { + const next = new Map(previous); + const current = next.get(viewId); + + if (!current) { + return previous; + } + + const existingIndex = current.entries.findIndex( + (entry) => entry.key === event.entry.key + ); + + const entries = + existingIndex >= 0 + ? current.entries.map((entry) => + entry.key === event.entry.key ? event.entry : entry + ) + : [...current.entries, event.entry]; + + next.set(viewId, { + ...current, + entries, + }); + + return next; + }); + } + ); + + const deleteEntrySubscription = client.onMessage( + 'delete-entry', + (event: StorageDeleteEntryEvent) => { + const viewId = getStorageViewId(event.target); + + setSnapshots((previous) => { + const next = new Map(previous); + const current = next.get(viewId); + + if (!current) { + return previous; + } + + next.set(viewId, { + ...current, + entries: current.entries.filter((entry) => entry.key !== event.key), + }); + + return next; + }); + } + ); + + client.send('get-snapshot', { + type: 'get-snapshot', + target: 'all', + }); + + return () => { + snapshotSubscription.remove(); + setEntrySubscription.remove(); + deleteEntrySubscription.remove(); + }; + }, [client, selectedStorageViewId]); + + useEffect(() => { + if (!client || !selectedStorageViewId) { + return; + } + + const selectedSnapshot = snapshots.get(selectedStorageViewId); + + if (selectedSnapshot) { + setLoading(false); + return; + } + + const separatorIndex = selectedStorageViewId.indexOf(':'); + if (separatorIndex < 0) { + console.warn( + `[Rozenite] Storage Plugin: Invalid storage view id "${selectedStorageViewId}".` + ); + setLoading(false); + return; + } + + const adapterId = selectedStorageViewId.slice(0, separatorIndex); + const storageId = selectedStorageViewId.slice(separatorIndex + 1); + + setLoading(true); + client.send('get-snapshot', { + type: 'get-snapshot', + target: { + adapterId, + storageId, + }, + }); + }, [client, selectedStorageViewId, snapshots]); + + const selectedStorage = selectedStorageViewId + ? snapshots.get(selectedStorageViewId) ?? null + : null; + + const entries = selectedStorage?.entries ?? []; + + const filteredEntries = useMemo( + () => + entries.filter((entry) => + entry.key.toLowerCase().includes(searchTerm.toLowerCase()) + ), + [entries, searchTerm] + ); + + const supportedTypes = selectedStorage?.capabilities.supportedTypes ?? []; + + const updateEntriesForSelectedStorage = ( + mutate: (entries: StorageEntry[]) => StorageEntry[] + ) => { + if (!selectedStorageViewId) { + return; + } + + setSnapshots((previous) => { + const next = new Map(previous); + const current = next.get(selectedStorageViewId); + + if (!current) { + return previous; + } + + next.set(selectedStorageViewId, { + ...current, + entries: mutate(current.entries), + }); + + return next; + }); + }; + + const handleValueChange = (key: string, newValue: StorageEntryValue) => { + if (!client || !selectedStorage) { + return; + } + + const type = getEntryTypeFromValue(newValue); + + if (!selectedStorage.capabilities.supportedTypes.includes(type)) { + return; + } + + let updatedEntry: StorageEntry; + if (type === 'string') { + updatedEntry = { key, type: 'string', value: newValue as string }; + } else if (type === 'number') { + updatedEntry = { key, type: 'number', value: newValue as number }; + } else if (type === 'boolean') { + updatedEntry = { key, type: 'boolean', value: newValue as boolean }; + } else { + updatedEntry = { key, type: 'buffer', value: newValue as number[] }; + } + + client.send('set-entry', { + type: 'set-entry', + target: selectedStorage.target, + entry: updatedEntry, + }); + + updateEntriesForSelectedStorage((currentEntries) => + currentEntries.map((entry) => (entry.key === key ? updatedEntry : entry)) + ); + }; + + const handleDeleteEntry = (key: string) => { + if (!client || !selectedStorage) { + return; + } + + client.send('delete-entry', { + type: 'delete-entry', + target: selectedStorage.target, + key, + }); + + updateEntriesForSelectedStorage((currentEntries) => + currentEntries.filter((entry) => entry.key !== key) + ); + }; + + const handleAddEntry = (entry: StorageEntry) => { + if (!client || !selectedStorage) { + return; + } + + client.send('set-entry', { + type: 'set-entry', + target: selectedStorage.target, + entry, + }); + + updateEntriesForSelectedStorage((currentEntries) => [...currentEntries, entry]); + }; + + const storageOptions = [...snapshots.entries()].map(([viewId, snapshot]) => ({ + viewId, + label: `${snapshot.adapterName} / ${snapshot.storageName}`, + })); + + return ( +
+
+
+ Storage +
+
+
+ + +
+
+ +
+ +
+
+ + setSearchTerm(event.target.value)} + className="h-8 w-full pl-8 pr-3 text-sm bg-gray-700 border border-gray-600 rounded text-gray-100 placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500" + /> +
+
+
+ {filteredEntries.length} of {entries.length} entries +
+
+ +
+ {selectedStorage ? ( + filteredEntries.length === 0 ? ( +
+

+ No entries found +

+

+ {searchTerm + ? 'Try adjusting your search terms' + : 'This storage appears to be empty'} +

+
+ ) : ( + { + setSelectedEntry(entry); + setShowDetailDialog(true); + }} + loading={loading} + /> + ) + ) : ( +
+

+ Welcome to Storage Inspector +

+

+ Select a storage from the dropdown above to inspect data +

+
+ )} +
+ + setShowAddDialog(false)} + onAddEntry={handleAddEntry} + existingKeys={entries.map((entry) => entry.key)} + supportedTypes={supportedTypes} + /> + + { + setShowDetailDialog(false); + setSelectedEntry(null); + }} + onEdit={(entry) => { + setShowDetailDialog(false); + setEditingEntry(entry); + setShowEditDialog(true); + }} + entry={selectedEntry} + /> + + { + setShowEditDialog(false); + setEditingEntry(null); + }} + onEditEntry={(key, newValue) => { + handleValueChange(key, newValue); + setShowEditDialog(false); + setEditingEntry(null); + }} + supportedTypes={supportedTypes} + entry={editingEntry} + /> +
+ ); +} diff --git a/packages/storage-plugin/tailwind.config.ts b/packages/storage-plugin/tailwind.config.ts new file mode 100644 index 00000000..d756b75a --- /dev/null +++ b/packages/storage-plugin/tailwind.config.ts @@ -0,0 +1,94 @@ +import type { Config } from 'tailwindcss'; + +const config: Config = { + darkMode: ['class'], + content: ['./src/ui/**/*.{js,ts,jsx,tsx,mdx}'], + theme: { + extend: { + translate: { + '0.75': '0.1875rem', + }, + colors: { + background: 'hsl(var(--background))', + foreground: 'hsl(var(--foreground))', + card: { + DEFAULT: 'hsl(var(--card))', + foreground: 'hsl(var(--card-foreground))', + }, + popover: { + DEFAULT: 'hsl(var(--popover))', + foreground: 'hsl(var(--popover-foreground))', + }, + primary: { + DEFAULT: 'hsl(var(--primary))', + foreground: 'hsl(var(--primary-foreground))', + }, + secondary: { + DEFAULT: 'hsl(var(--secondary))', + foreground: 'hsl(var(--secondary-foreground))', + }, + muted: { + DEFAULT: 'hsl(var(--muted))', + foreground: 'hsl(var(--muted-foreground))', + }, + accent: { + DEFAULT: 'hsl(var(--accent))', + foreground: 'hsl(var(--accent-foreground))', + }, + destructive: { + DEFAULT: 'hsl(var(--destructive))', + foreground: 'hsl(var(--destructive-foreground))', + }, + border: 'hsl(var(--border))', + input: 'hsl(var(--input))', + ring: 'hsl(var(--ring))', + chart: { + '1': 'hsl(var(--chart-1))', + '2': 'hsl(var(--chart-2))', + '3': 'hsl(var(--chart-3))', + '4': 'hsl(var(--chart-4))', + '5': 'hsl(var(--chart-5))', + }, + sidebar: { + DEFAULT: 'hsl(var(--sidebar-background))', + foreground: 'hsl(var(--sidebar-foreground))', + primary: 'hsl(var(--sidebar-primary))', + 'primary-foreground': 'hsl(var(--sidebar-primary-foreground))', + accent: 'hsl(var(--sidebar-accent))', + 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))', + border: 'hsl(var(--sidebar-border))', + ring: 'hsl(var(--sidebar-ring))', + }, + }, + borderRadius: { + lg: 'var(--radius)', + md: 'calc(var(--radius) - 2px)', + sm: 'calc(var(--radius) - 4px)', + }, + keyframes: { + 'accordion-down': { + from: { + height: '0', + }, + to: { + height: 'var(--radix-accordion-content-height)', + }, + }, + 'accordion-up': { + from: { + height: 'var(--radix-accordion-content-height)', + }, + to: { + height: '0', + }, + }, + }, + animation: { + 'accordion-down': 'accordion-down 0.2s ease-out', + 'accordion-up': 'accordion-up 0.2s ease-out', + }, + }, + }, + plugins: [require('tailwindcss-animate')], +}; +export default config; diff --git a/packages/storage-plugin/tsconfig.json b/packages/storage-plugin/tsconfig.json new file mode 100644 index 00000000..c1d4d562 --- /dev/null +++ b/packages/storage-plugin/tsconfig.json @@ -0,0 +1,36 @@ +{ + "compilerOptions": { + "target": "ES2020", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "ESNext", + "moduleResolution": "bundler", + "baseUrl": ".", + "paths": { + "@rozenite/plugin-bridge": ["../plugin-bridge/src/index.ts"] + }, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src/**/*", "react-native.ts", "rozenite.config.ts"], + "exclude": ["node_modules", "dist", "build"], + "references": [ + { + "path": "../plugin-bridge" + }, + { + "path": "../cli" + }, + { + "path": "../vite-plugin" + } + ] +} diff --git a/packages/storage-plugin/vite.config.ts b/packages/storage-plugin/vite.config.ts new file mode 100644 index 00000000..7db548c7 --- /dev/null +++ b/packages/storage-plugin/vite.config.ts @@ -0,0 +1,20 @@ +/// +import { defineConfig } from 'vite'; +import { rozenitePlugin } from '@rozenite/vite-plugin'; + +export default defineConfig({ + root: __dirname, + plugins: [rozenitePlugin()], + base: './', + build: { + outDir: './dist', + emptyOutDir: false, + reportCompressedSize: false, + minify: true, + sourcemap: false, + }, + server: { + port: 3000, + open: true, + }, +}); diff --git a/plugin-directory.json b/plugin-directory.json index 357a7551..b4557189 100644 --- a/plugin-directory.json +++ b/plugin-directory.json @@ -27,6 +27,10 @@ "npmUrl": "https://www.npmjs.com/package/@rozenite/mmkv-plugin", "githubUrl": "https://github.com/callstackincubator/rozenite/tree/main/packages/mmkv-plugin" }, + { + "npmUrl": "https://www.npmjs.com/package/@rozenite/storage-plugin", + "githubUrl": "https://github.com/callstackincubator/rozenite/tree/main/packages/storage-plugin" + }, { "npmUrl": "https://www.npmjs.com/package/@rozenite/require-profiler-plugin", "githubUrl": "https://github.com/callstackincubator/rozenite/tree/main/packages/require-profiler-plugin" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 00ade38f..8a88c687 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -34,7 +34,7 @@ importers: devDependencies: '@changesets/changelog-github': specifier: ^0.5.2 - version: 0.5.2(encoding@0.1.13) + version: 0.5.2 '@changesets/cli': specifier: ^2.27.1 version: 2.29.8(@types/node@18.16.9) @@ -118,7 +118,10 @@ importers: dependencies: '@expo/vector-icons': specifier: ^15.0.3 - version: 15.0.3(expo-font@55.0.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + version: 15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@react-native-async-storage/async-storage': + specifier: ^3.0.1 + version: 3.0.1(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@react-navigation/bottom-tabs': specifier: ^7.4.7 version: 7.4.7(@react-navigation/native@7.1.28(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-safe-area-context@5.6.2(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-screens@4.22.0(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) @@ -161,6 +164,9 @@ importers: '@rozenite/require-profiler-plugin': specifier: workspace:* version: link:../../packages/require-profiler-plugin + '@rozenite/storage-plugin': + specifier: workspace:* + version: link:../../packages/storage-plugin '@rozenite/tanstack-query-plugin': specifier: workspace:* version: link:../../packages/tanstack-query-plugin @@ -175,37 +181,40 @@ importers: version: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-constants: specifier: ~55.0.4 - version: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + version: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) expo-font: specifier: ~55.0.3 - version: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + version: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-haptics: specifier: ~55.0.5 - version: 55.0.5(expo@55.0.0-preview.10) + version: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) expo-image: specifier: ~55.0.3 - version: 55.0.3(expo@55.0.0-preview.10)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + version: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-linking: specifier: ~55.0.4 version: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-router: specifier: ~55.0.0-preview.7 - version: 55.0.0-preview.7(c332f919f836fd5fb063a1a24a62156a) + version: 55.0.0-preview.7(mfjfgdrtx2hkscbkfatqrdcoli) + expo-secure-store: + specifier: ^55.0.8 + version: 55.0.8(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) expo-splash-screen: specifier: ~55.0.5 - version: 55.0.5(expo@55.0.0-preview.10) + version: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) expo-status-bar: specifier: ~55.0.2 version: 55.0.2(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-symbols: specifier: ~55.0.3 - version: 55.0.3(expo-font@55.0.3)(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + version: 55.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-system-ui: specifier: ~55.0.5 - version: 55.0.5(expo@55.0.0-preview.10)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + version: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) expo-web-browser: specifier: ~55.0.5 - version: 55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + version: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) react: specifier: 'catalog:' version: 19.2.0 @@ -250,10 +259,10 @@ importers: version: 15.15.1(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native-svg-web: specifier: ~1.0.9 - version: 1.0.9(prop-types@15.8.1)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0) + version: 1.0.9(prop-types@15.8.1)(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0) react-native-web: specifier: ~0.21.0 - version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react-native-worklets: specifier: 0.7.2 version: 0.7.2(@babel/core@7.28.0)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) @@ -364,7 +373,7 @@ importers: version: 3.7.0 expo-atlas: specifier: ^0.4.0 - version: 0.4.0(expo@55.0.0-preview.10) + version: 0.4.0(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) devDependencies: '@rozenite/tools': specifier: workspace:* @@ -398,7 +407,7 @@ importers: version: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -515,7 +524,7 @@ importers: version: 0.31.4(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -609,7 +618,7 @@ importers: version: 1.2.1 react-native-web: specifier: ^0.21.2 - version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -667,7 +676,7 @@ importers: version: 15.8.0(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -734,7 +743,7 @@ importers: version: 5.1.4(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) react-native-web: specifier: ^0.21.2 - version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react-virtuoso: specifier: ^4.6.0 version: 4.14.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -801,7 +810,7 @@ importers: version: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -823,18 +832,21 @@ importers: packages/redux-devtools-plugin: dependencies: - '@redux-devtools/cli': - specifier: ^4.0.3 - version: 4.0.3(@babel/core@7.28.0)(@types/styled-components@5.1.34)(encoding@0.1.13)(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1)) - '@redux-devtools/remote': - specifier: ^0.9.5 - version: 0.9.5(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) + '@redux-devtools/instrument': + specifier: ^2.2.0 + version: 2.2.0(redux@5.0.1) + '@redux-devtools/utils': + specifier: ^3.1.1 + version: 3.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) '@rozenite/plugin-bridge': specifier: workspace:* version: link:../plugin-bridge '@rozenite/tools': specifier: workspace:* version: link:../tools + jsan: + specifier: ^3.1.14 + version: 3.1.14 devDependencies: '@redux-devtools/app': specifier: ^6.2.2 @@ -869,12 +881,9 @@ importers: react-native: specifier: 'catalog:' version: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - react-native-get-random-values: - specifier: ^1.11.0 - version: 1.11.0(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) react-native-web: specifier: ^0.21.2 - version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react-redux: specifier: ^9.2.0 version: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) @@ -972,7 +981,7 @@ importers: version: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -995,6 +1004,73 @@ importers: specifier: ^2.3.0 version: 2.8.1 + packages/storage-plugin: + dependencies: + '@rozenite/plugin-bridge': + specifier: workspace:* + version: link:../plugin-bridge + devDependencies: + '@rozenite/vite-plugin': + specifier: workspace:* + version: link:../vite-plugin + '@tanstack/react-table': + specifier: ^8.21.3 + version: 8.21.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@types/react': + specifier: 'catalog:' + version: 19.2.14 + autoprefixer: + specifier: ^10.4.21 + version: 10.4.21(postcss@8.5.6) + lucide-react: + specifier: ^0.263.1 + version: 0.263.1(react@19.2.0) + postcss: + specifier: ^8.5.6 + version: 8.5.6 + react: + specifier: 'catalog:' + version: 19.2.0 + react-dom: + specifier: 'catalog:' + version: 19.2.0(react@19.2.0) + react-json-tree: + specifier: ^0.20.0 + version: 0.20.0(@types/react@19.2.14)(react@19.2.0) + react-native: + specifier: 'catalog:' + version: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) + react-native-mmkv: + specifier: ^3.3.0 + version: 3.3.0(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + react-native-mmkv-v3: + specifier: npm:react-native-mmkv@^3.0.0 + version: react-native-mmkv@3.3.0(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + react-native-mmkv-v4: + specifier: npm:react-native-mmkv@^4.0.0 + version: react-native-mmkv@4.0.0(react-native-nitro-modules@0.31.4(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + react-native-nitro-modules: + specifier: '*' + version: 0.31.4(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + react-native-web: + specifier: ^0.21.2 + version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rozenite: + specifier: workspace:* + version: link:../cli + tailwindcss: + specifier: ^3.4.17 + version: 3.4.17 + tailwindcss-animate: + specifier: ^1.0.7 + version: 1.0.7(tailwindcss@3.4.17) + typescript: + specifier: ~5.9.3 + version: 5.9.3 + vite: + specifier: 'catalog:' + version: 7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1) + packages/tanstack-query-plugin: dependencies: '@rozenite/plugin-bridge': @@ -1033,7 +1109,7 @@ importers: version: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -1072,7 +1148,7 @@ importers: version: 3.1.10 vite-plugin-dts: specifier: ~4.5.0 - version: 4.5.4(@types/node@22.17.0)(rollup@4.44.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1)) + version: 4.5.4(@types/node@22.17.0)(rollup@4.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1)) vite-plugin-react-native-web: specifier: ^2.1.1 version: 2.1.1 @@ -1141,91 +1217,6 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@apollo/cache-control-types@1.0.3': - resolution: {integrity: sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==} - peerDependencies: - graphql: 14.x || 15.x || 16.x - - '@apollo/protobufjs@1.2.7': - resolution: {integrity: sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==} - hasBin: true - - '@apollo/server-gateway-interface@1.1.1': - resolution: {integrity: sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ==} - deprecated: '@apollo/server-gateway-interface v1 is part of Apollo Server v4, which is deprecated and will transition to end-of-life on January 26, 2026. As long as you are already using a non-EOL version of Node.js, upgrading to v2 should take only a few minutes. See https://www.apollographql.com/docs/apollo-server/previous-versions for details.' - peerDependencies: - graphql: 14.x || 15.x || 16.x - - '@apollo/server@4.12.2': - resolution: {integrity: sha512-jKRlf+sBMMdKYrjMoiWKne42Eb6paBfDOr08KJnUaeaiyWFj+/040FjVPQI7YGLfdwnYIsl1NUUqS2UdgezJDg==} - engines: {node: '>=14.16.0'} - deprecated: Apollo Server v4 is deprecated and will transition to end-of-life on January 26, 2026. As long as you are already using a non-EOL version of Node.js, upgrading to v5 should take only a few minutes. See https://www.apollographql.com/docs/apollo-server/previous-versions for details. - peerDependencies: - graphql: ^16.6.0 - - '@apollo/usage-reporting-protobuf@4.1.1': - resolution: {integrity: sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==} - - '@apollo/utils.createhash@2.0.2': - resolution: {integrity: sha512-UkS3xqnVFLZ3JFpEmU/2cM2iKJotQXMoSTgxXsfQgXLC5gR1WaepoXagmYnPSA7Q/2cmnyTYK5OgAgoC4RULPg==} - engines: {node: '>=14'} - - '@apollo/utils.dropunuseddefinitions@2.0.1': - resolution: {integrity: sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA==} - engines: {node: '>=14'} - peerDependencies: - graphql: 14.x || 15.x || 16.x - - '@apollo/utils.fetcher@2.0.1': - resolution: {integrity: sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A==} - engines: {node: '>=14'} - - '@apollo/utils.isnodelike@2.0.1': - resolution: {integrity: sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q==} - engines: {node: '>=14'} - - '@apollo/utils.keyvaluecache@2.1.1': - resolution: {integrity: sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw==} - engines: {node: '>=14'} - - '@apollo/utils.logger@2.0.1': - resolution: {integrity: sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg==} - engines: {node: '>=14'} - - '@apollo/utils.printwithreducedwhitespace@2.0.1': - resolution: {integrity: sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg==} - engines: {node: '>=14'} - peerDependencies: - graphql: 14.x || 15.x || 16.x - - '@apollo/utils.removealiases@2.0.1': - resolution: {integrity: sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA==} - engines: {node: '>=14'} - peerDependencies: - graphql: 14.x || 15.x || 16.x - - '@apollo/utils.sortast@2.0.1': - resolution: {integrity: sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw==} - engines: {node: '>=14'} - peerDependencies: - graphql: 14.x || 15.x || 16.x - - '@apollo/utils.stripsensitiveliterals@2.0.1': - resolution: {integrity: sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA==} - engines: {node: '>=14'} - peerDependencies: - graphql: 14.x || 15.x || 16.x - - '@apollo/utils.usagereporting@2.1.0': - resolution: {integrity: sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ==} - engines: {node: '>=14'} - peerDependencies: - graphql: 14.x || 15.x || 16.x - - '@apollo/utils.withrequired@2.0.1': - resolution: {integrity: sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA==} - engines: {node: '>=14'} - '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} @@ -2038,10 +2029,6 @@ packages: resolution: {integrity: sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==} engines: {node: '>=0.8.0'} - '@electron/get@2.0.3': - resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} - engines: {node: '>=12'} - '@emnapi/core@1.6.0': resolution: {integrity: sha512-zq/ay+9fNIJJtJiZxdTnXS20PllcYMX3OE23ESc4HK/bdYu3cOWYVhsOhVnXALfU/uqJIxn5NBPd9z4v+SfoSg==} @@ -2448,7 +2435,7 @@ packages: peerDependencies: expo-font: '>=14.0.4' react: '*' - react-native: '*' + react-native: 0.76.0 '@expo/ws-tunnel@1.0.6': resolution: {integrity: sha512-nDRbLmSrJar7abvUjp3smDwH8HcbZcoOEa5jVPUv9/9CajgmWw20JNRwTuBRzWIWIkEJDkz20GoNA+tSwUqk0Q==} @@ -2496,29 +2483,6 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} - '@gar/promisify@1.1.3': - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - - '@graphql-tools/merge@8.4.2': - resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/schema@9.0.19': - resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/utils@9.2.1': - resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-typed-document-node/core@3.2.0': - resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -2712,14 +2676,6 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} - '@npmcli/fs@1.1.1': - resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} - - '@npmcli/move-file@1.1.2': - resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} - engines: {node: '>=10'} - deprecated: This functionality has been moved to @npmcli/fs - '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -2727,36 +2683,6 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@protobufjs/aspromise@1.1.2': - resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} - - '@protobufjs/base64@1.1.2': - resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - - '@protobufjs/codegen@2.0.4': - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} - - '@protobufjs/eventemitter@1.1.0': - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} - - '@protobufjs/fetch@1.1.0': - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} - - '@protobufjs/float@1.0.2': - resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - - '@protobufjs/inquire@1.1.0': - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} - - '@protobufjs/path@1.1.2': - resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} - - '@protobufjs/pool@1.1.0': - resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - - '@protobufjs/utf8@1.1.0': - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@radix-ui/colors@3.0.0': resolution: {integrity: sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==} @@ -3477,6 +3403,12 @@ packages: '@types/react-dom': optional: true + '@react-native-async-storage/async-storage@3.0.1': + resolution: {integrity: sha512-VHwHb19sMg4Xh3W5M6YmJ/HSm1uh8RYFa6Dozm9o/jVYTYUgz2BmDXqXF7sum3glQaR34/hlwVc94px1sSdC2A==} + peerDependencies: + react: '*' + react-native: '*' + '@react-native-harness/babel-preset@1.0.0-alpha.25': resolution: {integrity: sha512-n5nI9iJyXYSai9wbj6x64puN568uKGB4kX/GD+A2No6Me6DcnYz4eMEZPjR5feCCtnfuL0RbvduCzXCUWd6TWw==} peerDependencies: @@ -3740,11 +3672,6 @@ packages: react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 redux: ^3.4.0 || ^4.0.0 || ^5.0.0 - '@redux-devtools/cli@4.0.3': - resolution: {integrity: sha512-F8P3QLIt58d7LWV8JGBpzB/KDLksxG7aXxUpZmU3t/nvFkrGHgNwscxsW7QeriAUDP8GJnmHOdybwCx8BgJLFQ==} - engines: {node: '>= 18.12.0'} - hasBin: true - '@redux-devtools/core@4.1.1': resolution: {integrity: sha512-ZyyJwiHX4DFDU0llk45tYSFPoIMekdoKLz0Q7soowpNOtchvTxruQx4Xy//Cohkwsw+DH8W1amdo4C/NYT6ARA==} peerDependencies: @@ -3797,11 +3724,6 @@ packages: react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 redux: ^3.4.0 || ^4.0.0 || ^5.0.0 - '@redux-devtools/remote@0.9.5': - resolution: {integrity: sha512-ETOUWgB5n6yopU4xH6wSwwmcVQT6liGBJbrWHkJkXCbCq9j/VqXHQ7spNN398p59vDseFZWOPo8KXNI0Mvo1RQ==} - peerDependencies: - redux: ^3.5.2 || ^4.0.0 || ^5.0.0 - '@redux-devtools/rtk-query-monitor@5.2.0': resolution: {integrity: sha512-UN6v4JN3jaLj8IaErbz14rwBLS/TkISXUmAQ9/5JoeDpXqt6yLwvvYG9ptiUVpEtc98Q8wyDJcC1ZfOnXSqaAQ==} peerDependencies: @@ -4159,10 +4081,6 @@ packages: '@sinclair/typebox@0.34.48': resolution: {integrity: sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==} - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} @@ -4272,10 +4190,6 @@ packages: '@swc/types@0.1.25': resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} - '@szmarczak/http-timer@4.0.6': - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} - '@tanstack/query-core@5.83.0': resolution: {integrity: sha512-0M8dA+amXUkyz5cVUm/B+zSk3xkQAcuXuz5/Q/LveT4ots2rBpPTZOzd7yJa2Utsf8D2Upl5KyjhHRY+9lB/XA==} @@ -4336,10 +4250,6 @@ packages: jest: optional: true - '@tootallnate/once@1.1.2': - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - '@tootallnate/once@2.0.0': resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} @@ -4365,9 +4275,6 @@ packages: '@types/body-parser@1.19.6': resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} - '@types/cacheable-request@6.0.3': - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - '@types/chai@5.2.2': resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} @@ -4497,15 +4404,9 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/express-serve-static-core@4.19.6': - resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} - '@types/express-serve-static-core@5.0.6': resolution: {integrity: sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==} - '@types/express@4.17.23': - resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==} - '@types/express@5.0.3': resolution: {integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==} @@ -4538,9 +4439,6 @@ packages: peerDependencies: '@types/react': '*' - '@types/http-cache-semantics@4.0.4': - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - '@types/http-errors@2.0.5': resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} @@ -4562,18 +4460,12 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - '@types/lodash.debounce@4.0.9': resolution: {integrity: sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==} '@types/lodash@4.17.20': resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} - '@types/long@4.0.2': - resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} - '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -4586,9 +4478,6 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node-fetch@2.6.12': - resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} - '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} @@ -4598,9 +4487,6 @@ packages: '@types/node@18.16.9': resolution: {integrity: sha512-IeB32oIV4oGArLrd7znD2rkHQ6EDCM+2Sr76dJnrHwv9OHBTTM6nuDLK9bmikXzPa0ZlWMWtRGo/Uw4mrzQedA==} - '@types/node@20.19.8': - resolution: {integrity: sha512-HzbgCY53T6bfu4tT7Aq3TvViJyHjLjPNaAS3HOuMc9pw97KHsUtXNX4L+wu59g1WnjsZSko35MbEqnO58rihhw==} - '@types/node@22.17.0': resolution: {integrity: sha512-bbAKTCqX5aNVryi7qXVMi+OkB3w/OyblodicMbvE38blyAz7GxXf6XYhklokijuPwwVg9sDLKRxt0ZHXQwZVfQ==} @@ -4610,9 +4496,6 @@ packages: '@types/pg@8.15.5': resolution: {integrity: sha512-LF7lF6zWEKxuT3/OR8wAZGzkg4ENGXFNyiV/JeOt9z5B+0ZVwbql9McqX5c/WStFq1GaGso7H1AzP/qSzmlCKQ==} - '@types/prop-types@15.7.15': - resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -4629,18 +4512,12 @@ packages: peerDependencies: '@types/react': '*' - '@types/react@18.3.23': - resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==} - '@types/react@19.1.9': resolution: {integrity: sha512-WmdoynAX8Stew/36uTSVMcLJJ1KRh6L3IZRx1PZ7qJtBqT3dYTgyDTx8H1qoRghErydW7xw9mSJ3wS//tCRpFA==} '@types/react@19.2.14': resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} - '@types/responselike@1.0.3': - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - '@types/semver@7.7.0': resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} @@ -4686,9 +4563,6 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - '@types/yauzl@2.10.3': - resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.46.0': resolution: {integrity: sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4973,9 +4847,6 @@ packages: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead - abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -5014,9 +4885,6 @@ packages: ag-request@1.1.0: resolution: {integrity: sha512-d4K7QC1KnIpzcnUNNOeh1ddxmYMLiIdhdc1M8osxiHbZP/uoia4IINhhf2+1CrlnNJEPUoUH0Y58Sx0qeqoIvg==} - ag-simple-broker@6.0.1: - resolution: {integrity: sha512-pDlHotEoC9uV2Uk8DrR570QXMiUd9QYwJZXWDlBJZEbYTHzMJLEJDJStxmn7Kp4eT7SIGoPFuzELYZyMYNZ2Kw==} - agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -5025,14 +4893,6 @@ packages: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} - agentkeepalive@4.6.0: - resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} - engines: {node: '>= 8.0.0'} - - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: @@ -5120,14 +4980,6 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - aproba@2.1.0: - resolution: {integrity: sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==} - - are-we-there-yet@3.0.1: - resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This package is no longer supported. - arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -5205,9 +5057,6 @@ packages: async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} - async-stream-emitter@7.0.1: resolution: {integrity: sha512-1bgA3iZ80rCBX2LocvsyZPy0QB3/xM+CsXBze2HDHLmshOqx2JlAANGq23djaJ48e9fpcKzTzS1QM0hAKKI0UQ==} @@ -5342,10 +5191,6 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - base64id@2.0.0: - resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} - engines: {node: ^4.5.0 || >= 5.9} - baseline-browser-mapping@2.8.16: resolution: {integrity: sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw==} hasBin: true @@ -5370,18 +5215,12 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - birpc@2.9.0: resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} bl@1.2.3: resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -5396,10 +5235,6 @@ packages: boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - bplist-creator@0.1.0: resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==} @@ -5429,9 +5264,6 @@ packages: bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} @@ -5453,18 +5285,6 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - cacache@15.3.0: - resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} - engines: {node: '>= 10'} - - cacheable-lookup@5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} - - cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} - engines: {node: '>=8'} - call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -5564,13 +5384,6 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - - chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - chrome-launcher@0.15.2: resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} engines: {node: '>=12.13.0'} @@ -5596,10 +5409,6 @@ packages: classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - cli-cursor@2.1.0: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} engines: {node: '>=4'} @@ -5627,9 +5436,6 @@ packages: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} engines: {node: '>=6'} - clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} @@ -5663,17 +5469,10 @@ packages: color-string@1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - color@4.2.3: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} - colorette@2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} - colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -5684,10 +5483,6 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - commander@12.1.0: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} @@ -5753,9 +5548,6 @@ packages: resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} engines: {node: '>= 0.10.0'} - console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - consumable-stream@2.0.0: resolution: {integrity: sha512-I6WA2JVYXs/68rEvi1ie3rZjP6qusTVFEQkbzR+WC+fY56TpwiGTIDJETsrnlxv5CsnmK69ps6CkYvIbpEEqBA==} @@ -5817,10 +5609,6 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} - cosmiconfig-typescript-loader@6.2.0: resolution: {integrity: sha512-GEN39v7TgdxgIoNcdkRE3uiAzQt3UXLyHbRHD6YoL048XAeOomyxaP+Hh/+2C6C2wYjxJ2onhJcsQp+L4YEkVQ==} engines: {node: '>=v18'} @@ -6071,15 +5859,6 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.1: resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} @@ -6099,10 +5878,6 @@ packages: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} @@ -6110,10 +5885,6 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -6132,10 +5903,6 @@ packages: defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -6159,9 +5926,6 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -6185,9 +5949,6 @@ packages: detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -6270,11 +6031,6 @@ packages: electron-to-chromium@1.5.234: resolution: {integrity: sha512-RXfEp2x+VRYn8jbKfQlRImzoJU01kyDvVPBmG39eU2iuRVhuS6vQNocB8J0/8GrIMLnPzgz4eW6WiRnJkTuNWg==} - electron@31.7.7: - resolution: {integrity: sha512-HZtZg8EHsDGnswFt0QeV8If8B+et63uD6RJ7I4/xhcXqmTIbI08GoubX/wm+HdY0DwcuPe1/xsgqpmYvjdjRoA==} - engines: {node: '>= 12.20.55'} - hasBin: true - emoji-regex@10.5.0: resolution: {integrity: sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==} @@ -6295,12 +6051,6 @@ packages: encoding-sniffer@0.2.1: resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} - encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - - end-of-stream@1.4.5: - resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -6329,9 +6079,6 @@ packages: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} - err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -6376,9 +6123,6 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} - es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - es6-template-regex@0.1.1: resolution: {integrity: sha512-sCeu9DOYhaSlKG7ry2y384bwxxaxPPdqWS0Jj45lv1MeQSpRK7mYlLO0jZdqwDLHViDWMsMikOkSIXuXpf4DiQ==} engines: {node: '>=0.10.0'} @@ -6518,10 +6262,6 @@ packages: jiti: optional: true - esm@3.2.25: - resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} - engines: {node: '>=6'} - espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -6608,10 +6348,6 @@ packages: resolution: {integrity: sha512-Fqs7ChZm72y40wKjOFXBKg7nJZvQJmewP5/7LtePDdnah/+FH9Hp5sgMujSCMPXlxOAW2//1jrW9pnsY7o20vQ==} engines: {node: '>=18'} - expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} - engines: {node: '>=6'} - expect-type@1.2.2: resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} engines: {node: '>=12.0.0'} @@ -6727,6 +6463,11 @@ packages: react-server-dom-webpack: optional: true + expo-secure-store@55.0.8: + resolution: {integrity: sha512-8w9tQe8U6oRo5YIzqCqVhRrOnfoODNDoitBtLXEx+zS6WLUnkRq5kH7ViJuOgiM7PzLr9pvAliRiDOKyvFbTuQ==} + peerDependencies: + expo: '*' + expo-server@55.0.3: resolution: {integrity: sha512-DeFRWvLb7pcxqrvDFK95Eujh/VFddRfmTGbcTcPVMhYl6om7eKYe8CgpfqIi2mK0rOnLHw7DPymmcPXXWuFbFw==} engines: {node: '>=20.16.0'} @@ -6807,11 +6548,6 @@ packages: extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} - extract-zip@2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} - hasBin: true - fast-base64-decode@1.0.0: resolution: {integrity: sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==} @@ -6877,9 +6613,6 @@ packages: fbjs@3.0.5: resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} - fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - fdir@6.4.6: resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} peerDependencies: @@ -6907,9 +6640,6 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} - file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} @@ -7042,9 +6772,6 @@ packages: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -7057,10 +6784,6 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} - fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -7079,11 +6802,6 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - gauge@4.0.4: - resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This package is no longer supported. - generator-function@2.0.1: resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} engines: {node: '>= 0.4'} @@ -7115,18 +6833,10 @@ packages: get-params@0.1.2: resolution: {integrity: sha512-41eOxtlGgHQRbFyA8KTH+w+32Em3cRdfBud7j67ulzmIfmaHX9doq47s0fa4P5o9H64BZX9nrYI6sJvk46Op+Q==} - get-port@7.1.0: - resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} - engines: {node: '>=16'} - get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -7150,17 +6860,12 @@ packages: resolution: {integrity: sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==} engines: {node: '>=6'} - getopts@2.3.0: - resolution: {integrity: sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==} - git-raw-commits@4.0.0: resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} engines: {node: '>=16'} + deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true - github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -7185,10 +6890,6 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - global-agent@3.0.0: - resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} - engines: {node: '>=10.0'} - global-directory@4.0.1: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} engines: {node: '>=18'} @@ -7213,10 +6914,6 @@ packages: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} - got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -7227,10 +6924,6 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - graphql@16.11.0: - resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -7262,9 +6955,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -7362,17 +7052,10 @@ packages: htmlparser2@10.1.0: resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} - http-cache-semantics@4.2.0: - resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} - http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} - http-proxy-agent@4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -7385,10 +7068,6 @@ packages: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} - http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} - https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} @@ -7405,9 +7084,6 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - husky@9.1.7: resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} engines: {node: '>=18'} @@ -7432,6 +7108,9 @@ packages: resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} engines: {node: '>=0.10.0'} + idb@8.0.3: + resolution: {integrity: sha512-LtwtVyVYO5BqRvcsKuB2iUMnHwPVByPCXFXOpuU96IZPPoPN6xjOGxZQ74pgSVVLQWtUOYgyeL4GE98BY5D3wg==} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -7483,9 +7162,6 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -7493,9 +7169,6 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - ini@4.1.1: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -7514,17 +7187,9 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} - interpret@2.2.0: - resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} - engines: {node: '>= 0.10'} - invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - ip-address@9.0.5: - resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} - engines: {node: '>= 12'} - ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -7637,9 +7302,6 @@ packages: engines: {node: '>=14.16'} hasBin: true - is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -7884,9 +7546,6 @@ packages: jsan@3.1.14: resolution: {integrity: sha512-wStfgOJqMv4QKktuH273f5fyi3D3vy2pHOiSDGPvpcS/q+wb/M7AK3vkCcaHbkZxDOlDU/lDJgccygKSG2OhtA==} - jsbn@1.1.0: - resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - jsc-safe-url@0.2.4: resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} @@ -7943,9 +7602,6 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -8003,34 +7659,6 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - knex@3.1.0: - resolution: {integrity: sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw==} - engines: {node: '>=16'} - hasBin: true - peerDependencies: - better-sqlite3: '*' - mysql: '*' - mysql2: '*' - pg: '*' - pg-native: '*' - sqlite3: '*' - tedious: '*' - peerDependenciesMeta: - better-sqlite3: - optional: true - mysql: - optional: true - mysql2: - optional: true - pg: - optional: true - pg-native: - optional: true - sqlite3: - optional: true - tedious: - optional: true - kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} @@ -8215,9 +7843,6 @@ packages: lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} @@ -8241,13 +7866,6 @@ packages: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} - loglevel@1.9.2: - resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} - engines: {node: '>= 0.6.0'} - - long@4.0.0: - resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} - longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -8258,10 +7876,6 @@ packages: loupe@3.2.1: resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} - lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -8276,10 +7890,6 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} - lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} - lucide-react@0.263.1: resolution: {integrity: sha512-keqxAx97PlaEN89PXZ6ki1N8nRjGWtDa4021GFYLNj0RgruM5odbpl8GHTExj0hhPq3sF6Up0gnxt6TSHu+ovw==} peerDependencies: @@ -8292,10 +7902,6 @@ packages: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} - make-fetch-happen@9.1.0: - resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} - engines: {node: '>= 10'} - makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} @@ -8318,10 +7924,6 @@ packages: marky@1.3.0: resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} - matcher@3.0.0: - resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} - engines: {node: '>=10'} - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -8739,14 +8341,6 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -8772,45 +8366,10 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} - - minipass-fetch@1.4.1: - resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} - engines: {node: '>=8'} - - minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} - - minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} - - minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} - - minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - - minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} - minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} - - mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -8838,9 +8397,6 @@ packages: ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -8875,9 +8431,6 @@ packages: engines: {node: ^18 || >=20} hasBin: true - napi-build-utils@2.0.0: - resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} - napi-postinstall@0.3.4: resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -8905,16 +8458,6 @@ packages: resolution: {integrity: sha512-AntnTbmKZvNYIsTVPPwv7dfZdAfo/6H/2ZlZACK66NAOQtIApxkB/6pf/c+s+ACW8vemGJzUCyVTssrzNUK6yQ==} engines: {node: '>=16.0.0'} - node-abi@3.75.0: - resolution: {integrity: sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==} - engines: {node: '>=10'} - - node-abort-controller@3.1.1: - resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} - - node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - node-dir@0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} engines: {node: '>= 0.10.5'} @@ -8936,11 +8479,6 @@ packages: resolution: {integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==} engines: {node: '>= 6.13.0'} - node-gyp@8.4.1: - resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} - engines: {node: '>= 10.12.0'} - hasBin: true - node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} @@ -8951,11 +8489,6 @@ packages: node-releases@2.0.23: resolution: {integrity: sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==} - nopt@5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -8964,10 +8497,6 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} - normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - npm-package-arg@11.0.3: resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} engines: {node: ^16.14.0 || >=18.0.0} @@ -8976,11 +8505,6 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npmlog@6.0.2: - resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This package is no longer supported. - nprogress@0.2.0: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} @@ -9109,10 +8633,6 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} - p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} - p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -9153,10 +8673,6 @@ packages: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - p-throttle@7.0.0: resolution: {integrity: sha512-aio0v+S0QVkH1O+9x4dHtD4dgCExACcL+3EtNaGqC01GBudS9ijMuUsmN8OVScyV4OOp0jqdLShZFuSlbL/AsA==} engines: {node: '>=18'} @@ -9258,12 +8774,6 @@ packages: resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} - pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - - pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} - pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} engines: {node: '>=4.0.0'} @@ -9420,11 +8930,6 @@ packages: resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} engines: {node: '>=0.10.0'} - prebuild-install@7.1.3: - resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} - engines: {node: '>=10'} - hasBin: true - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -9472,18 +8977,6 @@ packages: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} - promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - - promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} - promise@7.3.1: resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} @@ -9516,9 +9009,6 @@ packages: psl@1.15.0: resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} - pump@3.0.3: - resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -9554,10 +9044,6 @@ packages: quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - radix-ui@1.4.2: resolution: {integrity: sha512-fT/3YFPJzf2WUpqDoQi005GS8EpCi+53VhcLaHUj5fwkPYiZAjk1mSxFvbMA8Uq71L03n+WysuYC+mlKkXxt/Q==} peerDependencies: @@ -9589,21 +9075,12 @@ packages: resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} engines: {node: '>= 0.8'} - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - react-base16-styling@0.10.0: resolution: {integrity: sha512-H1k2eFB6M45OaiRru3PBXkuCcn2qNmx+gzLb4a9IPMR7tMH8oBRXU5jGbPDYG1Hz+82d88ED0vjR8BmqU3pQdg==} react-devtools-core@6.1.5: resolution: {integrity: sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==} - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} - peerDependencies: - react: ^18.3.1 - react-dom@19.1.1: resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==} peerDependencies: @@ -9885,10 +9362,6 @@ packages: react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} - engines: {node: '>=0.10.0'} - react@19.1.1: resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} engines: {node: '>=0.10.0'} @@ -9911,10 +9384,6 @@ packages: readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -9927,10 +9396,6 @@ packages: resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} engines: {node: '>= 4'} - rechoir@0.8.0: - resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} - engines: {node: '>= 10.13.0'} - recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -10043,9 +9508,6 @@ packages: reselect@5.1.1: resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} - resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - resolve-from@3.0.0: resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} engines: {node: '>=4'} @@ -10073,9 +9535,6 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true - responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - restore-cursor@2.0.0: resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} engines: {node: '>=4'} @@ -10088,14 +9547,6 @@ packages: resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} engines: {node: '>=10'} - retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -10113,13 +9564,6 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rn-host-detect@1.2.0: - resolution: {integrity: sha512-btNg5kzHcjZZ7t7mvvV/4wNJ9e3MPgrWivkRgWURzXL0JJ0pwWlU4zrbmdlz3HHzHOxhBhHB4D+/dbMFfu4/4A==} - - roarr@2.15.4: - resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} - engines: {node: '>=8.0'} - robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} @@ -10203,9 +9647,6 @@ packages: sc-formatter@4.0.0: resolution: {integrity: sha512-MgUIvuca+90fBrCWY5LdlU9YUWjlkPFwdpvmomcwQEu3t2id/6YHdG2nhB6o7nhRp4ocfmcXQTh00r/tJtynSg==} - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - scheduler@0.26.0: resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} @@ -10230,9 +9671,6 @@ packages: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} - semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -10273,10 +9711,6 @@ packages: resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} engines: {node: '>=0.10.0'} - serialize-error@7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} - serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} @@ -10291,9 +9725,6 @@ packages: server-only@0.0.1: resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - set-cookie-parser@2.7.1: resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} @@ -10319,11 +9750,6 @@ packages: resolution: {integrity: sha512-TPbeg0b7ylrswdGCji8FRGFAKuqbpQlLbL8SOle3j1iHSs5Ob5mhvMAxWN2UItOjgALAB5Zp3fmMfj8mbWvXKw==} engines: {node: '>=10'} - sha.js@2.4.12: - resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==} - engines: {node: '>= 0.10'} - hasBin: true - shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -10372,18 +9798,12 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - simple-diff@1.7.2: resolution: {integrity: sha512-7UPeBrh/I1zlY33vyUL5R0J1rP4HqP1zMpbuYw0+Lbq4OhWWadUi0dNziRMrQzjJsk2MoPwKDLHacjGpolUiqQ==} simple-element-resize-detector@1.3.0: resolution: {integrity: sha512-cCFTDpFMgz/OikrV9R++wOQgLbFwqrneci8FmAOH79xrfn1sQVZg9LJV2RvproMgdN2LnfZXZPrM+Z12GXN7jA==} - simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - simple-plist@1.3.1: resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==} @@ -10412,24 +9832,9 @@ packages: resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} engines: {node: '>=8.0.0'} - smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - socketcluster-client@19.2.7: resolution: {integrity: sha512-c6caNOr/49FUjlVnQfXb0TasMnrqY1uN/uevT99xicF+7NkvGSNwjP6rlMP0v1ZZjz+MosT2/qJNDDc2b3v/Jw==} - socketcluster-server@19.2.0: - resolution: {integrity: sha512-BoQ+Fh+yBL5AHRsew+PV6nJvyvi/u+C4Uj3a6UJiLCVA2ZNTVBMkgXxjhyvzD9mowkJCs4WlKjR8XbKTpM/WuQ==} - - socks-proxy-agent@6.2.1: - resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} - engines: {node: '>= 10'} - - socks@2.8.6: - resolution: {integrity: sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==} - engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - sonic-boom@4.2.0: resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} @@ -10469,19 +9874,9 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sprintf-js@1.1.3: - resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - - sqlite3@5.1.7: - resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} - ssim.js@3.5.0: resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==} - ssri@8.0.1: - resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} - engines: {node: '>= 8'} - stable-hash@0.0.5: resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} @@ -10577,9 +9972,6 @@ packages: string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} @@ -10611,10 +10003,6 @@ packages: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -10655,10 +10043,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - sumchecker@3.0.1: - resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} - engines: {node: '>= 8.0'} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -10702,22 +10086,6 @@ packages: resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} engines: {node: '>=6'} - tar-fs@2.1.3: - resolution: {integrity: sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==} - - tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - - tar@6.2.1: - resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} - engines: {node: '>=10'} - deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me - - tarn@3.0.2: - resolution: {integrity: sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==} - engines: {node: '>=8.0.0'} - temp@0.8.4: resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} engines: {node: '>=6.0.0'} @@ -10788,10 +10156,6 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - tildify@2.0.0: - resolution: {integrity: sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==} - engines: {node: '>=8'} - tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -10834,10 +10198,6 @@ packages: tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - to-buffer@1.2.1: - resolution: {integrity: sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==} - engines: {node: '>= 0.4'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -10900,9 +10260,6 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - turbo-darwin-64@2.8.3: resolution: {integrity: sha512-4kXRLfcygLOeNcP6JquqRLmGB/ATjjfehiojL2dJkL7GFm3SPSXbq7oNj8UbD8XriYQ5hPaSuz59iF1ijPHkTw==} cpu: [x64] @@ -10945,10 +10302,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -11051,12 +10404,6 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unique-filename@1.1.1: - resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} - - unique-slug@2.0.2: - resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} - unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -11166,10 +10513,6 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - uuid@10.0.0: - resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} - hasBin: true - uuid@7.0.3: resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} hasBin: true @@ -11178,10 +10521,6 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - validate-npm-package-name@5.0.1: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -11205,10 +10544,6 @@ packages: validate.io-number@1.0.3: resolution: {integrity: sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==} - value-or-promise@1.0.12: - resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} - engines: {node: '>=12'} - vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -11410,9 +10745,6 @@ packages: engines: {node: '>=8'} hasBin: true - wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} @@ -11538,9 +10870,6 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -11582,117 +10911,6 @@ snapshots: '@jridgewell/gen-mapping': 0.3.12 '@jridgewell/trace-mapping': 0.3.29 - '@apollo/cache-control-types@1.0.3(graphql@16.11.0)': - dependencies: - graphql: 16.11.0 - - '@apollo/protobufjs@1.2.7': - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 - '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 - '@protobufjs/path': 1.1.2 - '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/long': 4.0.2 - long: 4.0.0 - - '@apollo/server-gateway-interface@1.1.1(graphql@16.11.0)': - dependencies: - '@apollo/usage-reporting-protobuf': 4.1.1 - '@apollo/utils.fetcher': 2.0.1 - '@apollo/utils.keyvaluecache': 2.1.1 - '@apollo/utils.logger': 2.0.1 - graphql: 16.11.0 - - '@apollo/server@4.12.2(encoding@0.1.13)(graphql@16.11.0)': - dependencies: - '@apollo/cache-control-types': 1.0.3(graphql@16.11.0) - '@apollo/server-gateway-interface': 1.1.1(graphql@16.11.0) - '@apollo/usage-reporting-protobuf': 4.1.1 - '@apollo/utils.createhash': 2.0.2 - '@apollo/utils.fetcher': 2.0.1 - '@apollo/utils.isnodelike': 2.0.1 - '@apollo/utils.keyvaluecache': 2.1.1 - '@apollo/utils.logger': 2.0.1 - '@apollo/utils.usagereporting': 2.1.0(graphql@16.11.0) - '@apollo/utils.withrequired': 2.0.1 - '@graphql-tools/schema': 9.0.19(graphql@16.11.0) - '@types/express': 4.17.23 - '@types/express-serve-static-core': 4.19.6 - '@types/node-fetch': 2.6.12 - async-retry: 1.3.3 - cors: 2.8.5 - express: 4.21.2 - graphql: 16.11.0 - loglevel: 1.9.2 - lru-cache: 7.18.3 - negotiator: 0.6.4 - node-abort-controller: 3.1.1 - node-fetch: 2.7.0(encoding@0.1.13) - uuid: 9.0.1 - whatwg-mimetype: 3.0.0 - transitivePeerDependencies: - - encoding - - supports-color - - '@apollo/usage-reporting-protobuf@4.1.1': - dependencies: - '@apollo/protobufjs': 1.2.7 - - '@apollo/utils.createhash@2.0.2': - dependencies: - '@apollo/utils.isnodelike': 2.0.1 - sha.js: 2.4.12 - - '@apollo/utils.dropunuseddefinitions@2.0.1(graphql@16.11.0)': - dependencies: - graphql: 16.11.0 - - '@apollo/utils.fetcher@2.0.1': {} - - '@apollo/utils.isnodelike@2.0.1': {} - - '@apollo/utils.keyvaluecache@2.1.1': - dependencies: - '@apollo/utils.logger': 2.0.1 - lru-cache: 7.18.3 - - '@apollo/utils.logger@2.0.1': {} - - '@apollo/utils.printwithreducedwhitespace@2.0.1(graphql@16.11.0)': - dependencies: - graphql: 16.11.0 - - '@apollo/utils.removealiases@2.0.1(graphql@16.11.0)': - dependencies: - graphql: 16.11.0 - - '@apollo/utils.sortast@2.0.1(graphql@16.11.0)': - dependencies: - graphql: 16.11.0 - lodash.sortby: 4.7.0 - - '@apollo/utils.stripsensitiveliterals@2.0.1(graphql@16.11.0)': - dependencies: - graphql: 16.11.0 - - '@apollo/utils.usagereporting@2.1.0(graphql@16.11.0)': - dependencies: - '@apollo/usage-reporting-protobuf': 4.1.1 - '@apollo/utils.dropunuseddefinitions': 2.0.1(graphql@16.11.0) - '@apollo/utils.printwithreducedwhitespace': 2.0.1(graphql@16.11.0) - '@apollo/utils.removealiases': 2.0.1(graphql@16.11.0) - '@apollo/utils.sortast': 2.0.1(graphql@16.11.0) - '@apollo/utils.stripsensitiveliterals': 2.0.1(graphql@16.11.0) - graphql: 16.11.0 - - '@apollo/utils.withrequired@2.0.1': {} - '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.27.1 @@ -12546,9 +11764,9 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/changelog-github@0.5.2(encoding@0.1.13)': + '@changesets/changelog-github@0.5.2': dependencies: - '@changesets/get-github-info': 0.7.0(encoding@0.1.13) + '@changesets/get-github-info': 0.7.0 '@changesets/types': 6.1.0 dotenv: 8.6.0 transitivePeerDependencies: @@ -12608,10 +11826,10 @@ snapshots: picocolors: 1.1.1 semver: 7.7.3 - '@changesets/get-github-info@0.7.0(encoding@0.1.13)': + '@changesets/get-github-info@0.7.0': dependencies: dataloader: 1.4.0 - node-fetch: 2.7.0(encoding@0.1.13) + node-fetch: 2.7.0 transitivePeerDependencies: - encoding @@ -12831,24 +12049,11 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@dnd-kit/accessibility@3.1.1(react@18.3.1)': - dependencies: - react: 18.3.1 - tslib: 2.8.1 - '@dnd-kit/accessibility@3.1.1(react@19.2.0)': dependencies: react: 19.2.0 tslib: 2.8.1 - '@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@dnd-kit/accessibility': 3.1.1(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tslib: 2.8.1 - '@dnd-kit/core@6.3.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: '@dnd-kit/accessibility': 3.1.1(react@19.2.0) @@ -12857,13 +12062,6 @@ snapshots: react-dom: 19.2.0(react@19.2.0) tslib: 2.8.1 - '@dnd-kit/modifiers@7.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': - dependencies: - '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - react: 18.3.1 - tslib: 2.8.1 - '@dnd-kit/modifiers@7.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)': dependencies: '@dnd-kit/core': 6.3.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -12871,13 +12069,6 @@ snapshots: react: 19.2.0 tslib: 2.8.1 - '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': - dependencies: - '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - react: 18.3.1 - tslib: 2.8.1 - '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)': dependencies: '@dnd-kit/core': 6.3.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -12885,11 +12076,6 @@ snapshots: react: 19.2.0 tslib: 2.8.1 - '@dnd-kit/utilities@3.2.2(react@18.3.1)': - dependencies: - react: 18.3.1 - tslib: 2.8.1 - '@dnd-kit/utilities@3.2.2(react@19.2.0)': dependencies: react: 19.2.0 @@ -12899,20 +12085,6 @@ snapshots: dependencies: '@types/hammerjs': 2.0.46 - '@electron/get@2.0.3': - dependencies: - debug: 4.4.1(supports-color@5.5.0) - env-paths: 2.2.1 - fs-extra: 8.1.0 - got: 11.8.6 - progress: 2.0.3 - semver: 6.3.1 - sumchecker: 3.0.1 - optionalDependencies: - global-agent: 3.0.0 - transitivePeerDependencies: - - supports-color - '@emnapi/core@1.6.0': dependencies: '@emnapi/wasi-threads': 1.1.0 @@ -12961,22 +12133,6 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@18.3.23)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.26.10 - '@emotion/babel-plugin': 11.13.5 - '@emotion/cache': 11.14.0 - '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) - '@emotion/utils': 1.4.2 - '@emotion/weak-memoize': 0.4.0 - hoist-non-react-statics: 3.3.2 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.23 - transitivePeerDependencies: - - supports-color - '@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0)': dependencies: '@babel/runtime': 7.26.10 @@ -13009,10 +12165,6 @@ snapshots: '@emotion/unitless@0.7.5': {} - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@18.3.1)': - dependencies: - react: 18.3.1 - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.0)': dependencies: react: 19.2.0 @@ -13152,7 +12304,7 @@ snapshots: '@expo-google-fonts/material-symbols@0.4.22': {} - '@expo/cli@55.0.7(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)))(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + '@expo/cli@55.0.7(bt7yl4nwsruljbnpm4qr6emjei)': dependencies: '@expo/code-signing-certificates': 0.0.6 '@expo/config': 55.0.4 @@ -13161,14 +12313,14 @@ snapshots: '@expo/env': 2.1.0 '@expo/image-utils': 0.8.12 '@expo/json-file': 10.0.12 - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/metro': 54.2.0 - '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10) + '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) '@expo/osascript': 2.4.2 '@expo/package-manager': 1.10.3 '@expo/plist': 0.5.2 - '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10) - '@expo/router-server': 55.0.5(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)))(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo-server@55.0.3)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) + '@expo/router-server': 55.0.5(wzc5kkbapyihdjhrbopr2pqcca) '@expo/schema-utils': 55.0.2 '@expo/spawn-async': 1.7.2 '@expo/ws-tunnel': 1.0.6 @@ -13227,7 +12379,7 @@ snapshots: - supports-color - utf-8-validate - '@expo/cli@55.0.7(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4)(expo-font@55.0.3)(expo-router@55.0.0-preview.7)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + '@expo/cli@55.0.7(u4h2ohzskzybnnlmfi7ygsjfkm)': dependencies: '@expo/code-signing-certificates': 0.0.6 '@expo/config': 55.0.4 @@ -13236,14 +12388,14 @@ snapshots: '@expo/env': 2.1.0 '@expo/image-utils': 0.8.12 '@expo/json-file': 10.0.12 - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/metro': 54.2.0 - '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10) + '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) '@expo/osascript': 2.4.2 '@expo/package-manager': 1.10.3 '@expo/plist': 0.5.2 - '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10) - '@expo/router-server': 55.0.5(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4)(expo-font@55.0.3)(expo-router@55.0.0-preview.7)(expo-server@55.0.3)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) + '@expo/router-server': 55.0.5(n3b4arpwkcfc4zalnbzoxanvwy) '@expo/schema-utils': 55.0.2 '@expo/spawn-async': 1.7.2 '@expo/ws-tunnel': 1.0.6 @@ -13290,7 +12442,7 @@ snapshots: ws: 8.18.3 zod: 3.25.76 optionalDependencies: - expo-router: 55.0.0-preview.7(c332f919f836fd5fb063a1a24a62156a) + expo-router: 55.0.0-preview.7(mfjfgdrtx2hkscbkfatqrdcoli) react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) transitivePeerDependencies: - '@expo/metro-runtime' @@ -13359,7 +12511,13 @@ snapshots: react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - '@expo/dom-webview@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + '@expo/dom-webview@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + dependencies: + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) + + '@expo/dom-webview@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 @@ -13410,16 +12568,53 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/log-box@55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + '@expo/log-box@55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + dependencies: + '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + anser: 1.4.10 + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) + stacktrace-parser: 0.1.11 + + '@expo/log-box@55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': dependencies: - '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) anser: 1.4.10 expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) stacktrace-parser: 0.1.11 - '@expo/metro-config@55.0.5(expo@55.0.0-preview.10)': + '@expo/metro-config@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/core': 7.28.0 + '@babel/generator': 7.28.3 + '@expo/config': 55.0.4 + '@expo/env': 2.1.0 + '@expo/json-file': 10.0.12 + '@expo/metro': 54.2.0 + '@expo/spawn-async': 1.7.2 + browserslist: 4.26.3 + chalk: 4.1.2 + debug: 4.4.1(supports-color@5.5.0) + getenv: 2.0.0 + glob: 13.0.2 + hermes-parser: 0.29.1 + jsc-safe-url: 0.2.4 + lightningcss: 1.31.1 + minimatch: 9.0.5 + postcss: 8.4.49 + resolve-from: 5.0.0 + optionalDependencies: + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@expo/metro-config@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))': dependencies: '@babel/code-frame': 7.27.1 '@babel/core': 7.28.0 @@ -13447,11 +12642,11 @@ snapshots: - supports-color - utf-8-validate - '@expo/metro-runtime@55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + '@expo/metro-runtime@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': dependencies: - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) anser: 1.4.10 - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) pretty-format: 29.7.0 react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) @@ -13460,6 +12655,20 @@ snapshots: optionalDependencies: react-dom: 19.2.0(react@19.2.0) + '@expo/metro-runtime@55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + dependencies: + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + anser: 1.4.10 + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + pretty-format: 29.7.0 + react: 19.2.0 + react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) + stacktrace-parser: 0.1.11 + whatwg-fetch: 3.6.20 + optionalDependencies: + react-dom: 19.2.0(react@19.2.0) + optional: true + '@expo/metro@54.2.0': dependencies: metro: 0.83.3 @@ -13500,7 +12709,7 @@ snapshots: base64-js: 1.5.1 xmlbuilder: 15.1.1 - '@expo/prebuild-config@55.0.4(expo@55.0.0-preview.10)': + '@expo/prebuild-config@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))': dependencies: '@expo/config': 55.0.4 '@expo/config-plugins': 55.0.4 @@ -13509,38 +12718,54 @@ snapshots: '@expo/json-file': 10.0.12 '@react-native/normalize-colors': 0.83.1 debug: 4.4.1(supports-color@5.5.0) - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) resolve-from: 5.0.0 semver: 7.7.2 xml2js: 0.6.0 transitivePeerDependencies: - supports-color - '@expo/router-server@55.0.5(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)))(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo-server@55.0.3)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@expo/prebuild-config@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))': dependencies: + '@expo/config': 55.0.4 + '@expo/config-plugins': 55.0.4 + '@expo/config-types': 55.0.4 + '@expo/image-utils': 0.8.12 + '@expo/json-file': 10.0.12 + '@react-native/normalize-colors': 0.83.1 debug: 4.4.1(supports-color@5.5.0) expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + resolve-from: 5.0.0 + semver: 7.7.2 + xml2js: 0.6.0 + transitivePeerDependencies: + - supports-color + + '@expo/router-server@55.0.5(n3b4arpwkcfc4zalnbzoxanvwy)': + dependencies: + debug: 4.4.1(supports-color@5.5.0) + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-server: 55.0.3 react: 19.2.0 optionalDependencies: - '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-router: 55.0.0-preview.7(mfjfgdrtx2hkscbkfatqrdcoli) react-dom: 19.2.0(react@19.2.0) transitivePeerDependencies: - supports-color - '@expo/router-server@55.0.5(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4)(expo-font@55.0.3)(expo-router@55.0.0-preview.7)(expo-server@55.0.3)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@expo/router-server@55.0.5(wzc5kkbapyihdjhrbopr2pqcca)': dependencies: debug: 4.4.1(supports-color@5.5.0) - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-server: 55.0.3 react: 19.2.0 optionalDependencies: '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-router: 55.0.0-preview.7(c332f919f836fd5fb063a1a24a62156a) react-dom: 19.2.0(react@19.2.0) transitivePeerDependencies: - supports-color @@ -13564,9 +12789,15 @@ snapshots: '@expo/sudo-prompt@9.3.2': {} - '@expo/vector-icons@15.0.3(expo-font@55.0.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + '@expo/vector-icons@15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + dependencies: + expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) + + '@expo/vector-icons@15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': dependencies: - expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) @@ -13636,33 +12867,6 @@ snapshots: '@floating-ui/utils@0.2.10': {} - '@gar/promisify@1.1.3': - optional: true - - '@graphql-tools/merge@8.4.2(graphql@16.11.0)': - dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.11.0) - graphql: 16.11.0 - tslib: 2.8.1 - - '@graphql-tools/schema@9.0.19(graphql@16.11.0)': - dependencies: - '@graphql-tools/merge': 8.4.2(graphql@16.11.0) - '@graphql-tools/utils': 9.2.1(graphql@16.11.0) - graphql: 16.11.0 - tslib: 2.8.1 - value-or-promise: 1.0.12 - - '@graphql-tools/utils@9.2.1(graphql@16.11.0)': - dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) - graphql: 16.11.0 - tslib: 2.8.1 - - '@graphql-typed-document-node/core@3.2.0(graphql@16.11.0)': - dependencies: - graphql: 16.11.0 - '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.7': @@ -13991,46 +13195,11 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} - '@npmcli/fs@1.1.1': - dependencies: - '@gar/promisify': 1.1.3 - semver: 7.7.3 - optional: true - - '@npmcli/move-file@1.1.2': - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - optional: true - '@pkgjs/parseargs@0.11.0': optional: true '@polka/url@1.0.0-next.29': {} - '@protobufjs/aspromise@1.1.2': {} - - '@protobufjs/base64@1.1.2': {} - - '@protobufjs/codegen@2.0.4': {} - - '@protobufjs/eventemitter@1.1.0': {} - - '@protobufjs/fetch@1.1.0': - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.0 - - '@protobufjs/float@1.0.2': {} - - '@protobufjs/inquire@1.1.0': {} - - '@protobufjs/path@1.1.2': {} - - '@protobufjs/pool@1.1.0': {} - - '@protobufjs/utf8@1.1.0': {} - '@radix-ui/colors@3.0.0': {} '@radix-ui/number@1.1.1': {} @@ -14803,6 +13972,12 @@ snapshots: '@types/react': 19.2.14 '@types/react-dom': 19.1.11(@types/react@19.2.14) + '@react-native-async-storage/async-storage@3.0.1(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + dependencies: + idb: 8.0.3 + react: 19.2.0 + react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) + '@react-native-harness/babel-preset@1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))': dependencies: '@babel/core': 7.28.0 @@ -15308,37 +14483,6 @@ snapshots: dependencies: nanoid: 3.3.11 - '@redux-devtools/app-core@1.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@18.3.1)(redux-persist@6.0.0(react@19.2.0)(redux@5.0.1))(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': - dependencies: - '@babel/runtime': 7.26.10 - '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) - '@redux-devtools/chart-monitor': 5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react@18.3.1)(redux@5.0.1) - '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@18.3.1)(redux@5.0.1) - '@redux-devtools/inspector-monitor': 6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1) - '@redux-devtools/inspector-monitor-test-tab': 4.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@redux-devtools/inspector-monitor-trace-tab': 4.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1) - '@redux-devtools/log-monitor': 5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react@18.3.1)(redux@5.0.1) - '@redux-devtools/rtk-query-monitor': 5.2.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@redux-devtools/slider-monitor': 5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@redux-devtools/ui': 1.4.0(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@reduxjs/toolkit': 2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) - '@types/react': 18.3.23 - '@types/styled-components': 5.1.34 - d3-state-visualizer: 3.0.0 - javascript-stringify: 2.1.0 - jsan: 3.1.14 - jsondiffpatch: 0.6.2 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-icons: 5.5.0(react@18.3.1) - react-is: 18.3.1 - react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) - redux: 5.0.1 - redux-persist: 6.0.0(react@19.2.0)(redux@5.0.1) - styled-components: 5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0) - transitivePeerDependencies: - - supports-color - '@redux-devtools/app-core@1.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux-persist@6.0.0(react@19.2.0)(redux@5.0.1))(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': dependencies: '@babel/runtime': 7.26.10 @@ -15370,28 +14514,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@redux-devtools/app@6.2.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': - dependencies: - '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) - '@redux-devtools/app-core': 1.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@18.3.1)(redux-persist@6.0.0(react@19.2.0)(redux@5.0.1))(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@redux-devtools/ui': 1.4.0(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@reduxjs/toolkit': 2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) - '@types/react': 18.3.23 - '@types/styled-components': 5.1.34 - jsan: 3.1.14 - localforage: 1.10.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-redux: 9.2.0(@types/react@18.3.23)(react@18.3.1)(redux@5.0.1) - redux: 5.0.1 - redux-persist: 6.0.0(react@18.3.1)(redux@5.0.1) - socketcluster-client: 19.2.7 - styled-components: 5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - '@redux-devtools/app@6.2.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': dependencies: '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) @@ -15414,17 +14536,6 @@ snapshots: - supports-color - utf-8-validate - '@redux-devtools/chart-monitor@5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react@18.3.1)(redux@5.0.1)': - dependencies: - '@babel/runtime': 7.26.10 - '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) - '@types/react': 18.3.23 - d3-state-visualizer: 3.0.0 - deepmerge: 4.3.1 - react: 18.3.1 - react-base16-styling: 0.10.0 - redux: 5.0.1 - '@redux-devtools/chart-monitor@5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1)': dependencies: '@babel/runtime': 7.26.10 @@ -15436,58 +14547,6 @@ snapshots: react-base16-styling: 0.10.0 redux: 5.0.1 - '@redux-devtools/cli@4.0.3(@babel/core@7.28.0)(@types/styled-components@5.1.34)(encoding@0.1.13)(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))': - dependencies: - '@apollo/server': 4.12.2(encoding@0.1.13)(graphql@16.11.0) - '@emotion/react': 11.14.0(@types/react@18.3.23)(react@18.3.1) - '@redux-devtools/app': 6.2.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@reduxjs/toolkit': 2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@18.3.1) - '@types/react': 18.3.23 - body-parser: 1.20.3 - chalk: 5.4.1 - cors: 2.8.5 - cross-spawn: 7.0.6 - electron: 31.7.7 - express: 4.21.2 - get-port: 7.1.0 - graphql: 16.11.0 - knex: 3.1.0(sqlite3@5.1.7) - lodash-es: 4.17.21 - minimist: 1.2.8 - morgan: 1.10.0 - open: 10.2.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-is: 18.3.1 - semver: 7.7.2 - socketcluster-server: 19.2.0 - sqlite3: 5.1.7 - styled-components: 5.3.11(@babel/core@7.28.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) - uuid: 10.0.0 - transitivePeerDependencies: - - '@babel/core' - - '@types/styled-components' - - better-sqlite3 - - bluebird - - bufferutil - - encoding - - mysql - - mysql2 - - pg - - pg-native - - react-redux - - supports-color - - tedious - - utf-8-validate - - '@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@18.3.1)(redux@5.0.1)': - dependencies: - '@babel/runtime': 7.26.10 - '@redux-devtools/instrument': 2.2.0(redux@5.0.1) - react: 18.3.1 - react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) - redux: 5.0.1 - '@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1)': dependencies: '@babel/runtime': 7.26.10 @@ -15496,27 +14555,6 @@ snapshots: react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) redux: 5.0.1 - '@redux-devtools/inspector-monitor-test-tab@4.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': - dependencies: - '@babel/runtime': 7.26.10 - '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) - '@redux-devtools/inspector-monitor': 6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1) - '@redux-devtools/ui': 1.4.0(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@types/react': 18.3.23 - '@types/styled-components': 5.1.34 - es6template: 1.0.5 - javascript-stringify: 2.1.0 - jsan: 3.1.14 - object-path: 0.11.8 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-icons: 5.5.0(react@18.3.1) - redux: 5.0.1 - simple-diff: 1.7.2 - styled-components: 5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0) - transitivePeerDependencies: - - supports-color - '@redux-devtools/inspector-monitor-test-tab@4.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': dependencies: '@babel/runtime': 7.26.10 @@ -15538,23 +14576,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@redux-devtools/inspector-monitor-trace-tab@4.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1)': - dependencies: - '@babel/code-frame': 8.0.0-beta.1 - '@babel/runtime': 7.26.10 - '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) - '@redux-devtools/inspector-monitor': 6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1) - '@types/chrome': 0.0.306 - '@types/react': 18.3.23 - anser: 2.3.2 - html-entities: 2.6.0 - path-browserify: 1.0.1 - react: 18.3.1 - react-base16-styling: 0.10.0 - react-dom: 18.3.1(react@18.3.1) - redux: 5.0.1 - source-map: 0.5.7 - '@redux-devtools/inspector-monitor-trace-tab@4.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)': dependencies: '@babel/code-frame': 8.0.0-beta.1 @@ -15572,29 +14593,6 @@ snapshots: redux: 5.0.1 source-map: 0.5.7 - '@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1)': - dependencies: - '@babel/runtime': 7.26.10 - '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) - '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) - '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) - '@types/lodash': 4.17.20 - '@types/react': 18.3.23 - dateformat: 5.0.3 - hex-rgba: 1.0.2 - immutable: 4.3.7 - javascript-stringify: 2.1.0 - jsondiffpatch: 0.6.2 - lodash.debounce: 4.0.8 - react: 18.3.1 - react-base16-styling: 0.10.0 - react-dom: 18.3.1(react@18.3.1) - react-json-tree: 0.20.0(@types/react@18.3.23)(react@18.3.1) - redux: 5.0.1 - '@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)': dependencies: '@babel/runtime': 7.26.10 @@ -15624,18 +14622,6 @@ snapshots: lodash: 4.17.21 redux: 5.0.1 - '@redux-devtools/log-monitor@5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(react@18.3.1)(redux@5.0.1)': - dependencies: - '@babel/runtime': 7.26.10 - '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) - '@types/lodash.debounce': 4.0.9 - '@types/react': 18.3.23 - lodash.debounce: 4.0.8 - react: 18.3.1 - react-base16-styling: 0.10.0 - react-json-tree: 0.20.0(@types/react@18.3.23)(react@18.3.1) - redux: 5.0.1 - '@redux-devtools/log-monitor@5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1)': dependencies: '@babel/runtime': 7.26.10 @@ -15648,43 +14634,6 @@ snapshots: react-json-tree: 0.20.0(@types/react@19.2.14)(react@19.2.0) redux: 5.0.1 - '@redux-devtools/remote@0.9.5(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1)': - dependencies: - '@babel/runtime': 7.26.10 - '@redux-devtools/instrument': 2.2.0(redux@5.0.1) - '@redux-devtools/utils': 3.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) - jsan: 3.1.14 - redux: 5.0.1 - rn-host-detect: 1.2.0 - socketcluster-client: 19.2.7 - transitivePeerDependencies: - - bufferutil - - react - - react-redux - - utf-8-validate - - '@redux-devtools/rtk-query-monitor@5.2.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': - dependencies: - '@babel/runtime': 7.26.10 - '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) - '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) - '@redux-devtools/ui': 1.4.0(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@reduxjs/toolkit': 2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) - '@types/lodash': 4.17.20 - '@types/react': 18.3.23 - '@types/styled-components': 5.1.34 - hex-rgba: 1.0.2 - immutable: 5.1.3 - lodash.debounce: 4.0.8 - react: 18.3.1 - react-base16-styling: 0.10.0 - react-json-tree: 0.20.0(@types/react@18.3.23)(react@18.3.1) - redux: 5.0.1 - styled-components: 5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0) - transitivePeerDependencies: - - react-dom - - supports-color - '@redux-devtools/rtk-query-monitor@5.2.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': dependencies: '@babel/runtime': 7.26.10 @@ -15713,21 +14662,6 @@ snapshots: immutable: 4.3.7 jsan: 3.1.14 - '@redux-devtools/slider-monitor@5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': - dependencies: - '@babel/runtime': 7.26.10 - '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) - '@redux-devtools/ui': 1.4.0(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@types/react': 18.3.23 - '@types/styled-components': 5.1.34 - react: 18.3.1 - react-base16-styling: 0.10.0 - redux: 5.0.1 - styled-components: 5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0) - transitivePeerDependencies: - - react-dom - - supports-color - '@redux-devtools/slider-monitor@5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': dependencies: '@babel/runtime': 7.26.10 @@ -15743,29 +14677,6 @@ snapshots: - react-dom - supports-color - '@redux-devtools/ui@1.4.0(@types/react@18.3.23)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': - dependencies: - '@babel/runtime': 7.26.10 - '@rjsf/core': 5.24.12(@rjsf/utils@5.24.12(react@18.3.1))(react@18.3.1) - '@rjsf/utils': 5.24.12(react@18.3.1) - '@rjsf/validator-ajv8': 5.24.12(@rjsf/utils@5.24.12(react@18.3.1)) - '@types/codemirror': 5.60.16 - '@types/json-schema': 7.0.15 - '@types/react': 18.3.23 - '@types/simple-element-resize-detector': 1.3.3 - '@types/styled-components': 5.1.34 - codemirror: 5.65.19 - color: 4.2.3 - react: 18.3.1 - react-base16-styling: 0.10.0 - react-icons: 5.5.0(react@18.3.1) - react-select: 5.10.2(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - simple-element-resize-detector: 1.3.0 - styled-components: 5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0) - transitivePeerDependencies: - - react-dom - - supports-color - '@redux-devtools/ui@1.4.0(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': dependencies: '@babel/runtime': 7.26.10 @@ -15804,18 +14715,6 @@ snapshots: - react - react-redux - '@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@18.3.1)': - dependencies: - '@standard-schema/spec': 1.0.0 - '@standard-schema/utils': 0.3.0 - immer: 10.1.1 - redux: 5.0.1 - redux-thunk: 3.1.0(redux@5.0.1) - reselect: 5.1.1 - optionalDependencies: - react: 18.3.1 - react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) - '@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)': dependencies: '@standard-schema/spec': 1.0.0 @@ -15828,16 +14727,6 @@ snapshots: react: 19.2.0 react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) - '@rjsf/core@5.24.12(@rjsf/utils@5.24.12(react@18.3.1))(react@18.3.1)': - dependencies: - '@rjsf/utils': 5.24.12(react@18.3.1) - lodash: 4.17.21 - lodash-es: 4.17.21 - markdown-to-jsx: 7.7.12(react@18.3.1) - nanoid: 3.3.11 - prop-types: 15.8.1 - react: 18.3.1 - '@rjsf/core@5.24.12(@rjsf/utils@5.24.12(react@19.2.0))(react@19.2.0)': dependencies: '@rjsf/utils': 5.24.12(react@19.2.0) @@ -15848,15 +14737,6 @@ snapshots: prop-types: 15.8.1 react: 19.2.0 - '@rjsf/utils@5.24.12(react@18.3.1)': - dependencies: - json-schema-merge-allof: 0.8.1 - jsonpointer: 5.0.1 - lodash: 4.17.21 - lodash-es: 4.17.21 - react: 18.3.1 - react-is: 18.3.1 - '@rjsf/utils@5.24.12(react@19.2.0)': dependencies: json-schema-merge-allof: 0.8.1 @@ -15866,14 +14746,6 @@ snapshots: react: 19.2.0 react-is: 18.3.1 - '@rjsf/validator-ajv8@5.24.12(@rjsf/utils@5.24.12(react@18.3.1))': - dependencies: - '@rjsf/utils': 5.24.12(react@18.3.1) - ajv: 8.17.1 - ajv-formats: 2.1.1 - lodash: 4.17.21 - lodash-es: 4.17.21 - '@rjsf/validator-ajv8@5.24.12(@rjsf/utils@5.24.12(react@19.2.0))': dependencies: '@rjsf/utils': 5.24.12(react@19.2.0) @@ -16220,8 +15092,6 @@ snapshots: '@sinclair/typebox@0.34.48': {} - '@sindresorhus/is@4.6.0': {} - '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 @@ -16319,10 +15189,6 @@ snapshots: dependencies: '@swc/counter': 0.1.3 - '@szmarczak/http-timer@4.0.6': - dependencies: - defer-to-connect: 2.0.1 - '@tanstack/query-core@5.83.0': {} '@tanstack/query-devtools@5.81.2': {} @@ -16374,9 +15240,6 @@ snapshots: react-test-renderer: 19.2.0(react@19.2.0) redent: 3.0.0 - '@tootallnate/once@1.1.2': - optional: true - '@tootallnate/once@2.0.0': {} '@tybys/wasm-util@0.10.1': @@ -16412,13 +15275,6 @@ snapshots: '@types/connect': 3.4.38 '@types/node': 18.16.9 - '@types/cacheable-request@6.0.3': - dependencies: - '@types/http-cache-semantics': 4.0.4 - '@types/keyv': 3.1.4 - '@types/node': 18.16.9 - '@types/responselike': 1.0.3 - '@types/chai@5.2.2': dependencies: '@types/deep-eql': 4.0.2 @@ -16578,13 +15434,6 @@ snapshots: '@types/estree@1.0.8': {} - '@types/express-serve-static-core@4.19.6': - dependencies: - '@types/node': 18.16.9 - '@types/qs': 6.14.0 - '@types/range-parser': 1.2.7 - '@types/send': 0.17.5 - '@types/express-serve-static-core@5.0.6': dependencies: '@types/node': 18.16.9 @@ -16592,13 +15441,6 @@ snapshots: '@types/range-parser': 1.2.7 '@types/send': 0.17.5 - '@types/express@4.17.23': - dependencies: - '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.6 - '@types/qs': 6.14.0 - '@types/serve-static': 1.15.8 - '@types/express@5.0.3': dependencies: '@types/body-parser': 1.19.6 @@ -16632,8 +15474,6 @@ snapshots: '@types/react': 19.2.14 hoist-non-react-statics: 3.3.2 - '@types/http-cache-semantics@4.0.4': {} - '@types/http-errors@2.0.5': {} '@types/http-proxy@1.17.16': @@ -16654,18 +15494,12 @@ snapshots: '@types/json5@0.0.29': {} - '@types/keyv@3.1.4': - dependencies: - '@types/node': 18.16.9 - '@types/lodash.debounce@4.0.9': dependencies: '@types/lodash': 4.17.20 '@types/lodash@4.17.20': {} - '@types/long@4.0.2': {} - '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 @@ -16676,11 +15510,6 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node-fetch@2.6.12': - dependencies: - '@types/node': 18.16.9 - form-data: 4.0.3 - '@types/node-forge@1.3.11': dependencies: '@types/node': 18.16.9 @@ -16689,10 +15518,6 @@ snapshots: '@types/node@18.16.9': {} - '@types/node@20.19.8': - dependencies: - undici-types: 6.21.0 - '@types/node@22.17.0': dependencies: undici-types: 6.21.0 @@ -16705,8 +15530,6 @@ snapshots: pg-protocol: 1.10.3 pg-types: 2.2.0 - '@types/prop-types@15.7.15': {} - '@types/qs@6.14.0': {} '@types/range-parser@1.2.7': {} @@ -16715,19 +15538,10 @@ snapshots: dependencies: '@types/react': 19.2.14 - '@types/react-transition-group@4.4.12(@types/react@18.3.23)': - dependencies: - '@types/react': 18.3.23 - '@types/react-transition-group@4.4.12(@types/react@19.2.14)': dependencies: '@types/react': 19.2.14 - '@types/react@18.3.23': - dependencies: - '@types/prop-types': 15.7.15 - csstype: 3.2.3 - '@types/react@19.1.9': dependencies: csstype: 3.1.3 @@ -16736,10 +15550,6 @@ snapshots: dependencies: csstype: 3.2.3 - '@types/responselike@1.0.3': - dependencies: - '@types/node': 18.16.9 - '@types/semver@7.7.0': {} '@types/send@0.17.5': @@ -16787,11 +15597,6 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@types/yauzl@2.10.3': - dependencies: - '@types/node': 18.16.9 - optional: true - '@typescript-eslint/eslint-plugin@8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.37.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -17163,7 +15968,20 @@ snapshots: de-indent: 1.0.2 he: 1.2.0 - '@vue/language-core@2.2.0(typescript@5.8.3)': + '@vue/language-core@2.2.0(typescript@5.8.3)': + dependencies: + '@volar/language-core': 2.4.17 + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.17 + alien-signals: 0.4.14 + minimatch: 9.0.5 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + optionalDependencies: + typescript: 5.8.3 + + '@vue/language-core@2.2.0(typescript@5.9.3)': dependencies: '@volar/language-core': 2.4.17 '@vue/compiler-dom': 3.5.17 @@ -17174,7 +15992,7 @@ snapshots: muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.3 '@vue/shared@3.5.17': {} @@ -17189,9 +16007,6 @@ snapshots: abab@2.0.6: {} - abbrev@1.1.1: - optional: true - abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -17231,12 +16046,6 @@ snapshots: dependencies: sc-errors: 3.0.0 - ag-simple-broker@6.0.1: - dependencies: - ag-channel: 5.0.0 - async-stream-emitter: 7.0.1 - stream-demux: 10.0.1 - agent-base@6.0.2: dependencies: debug: 4.4.1(supports-color@5.5.0) @@ -17245,17 +16054,6 @@ snapshots: agent-base@7.1.3: {} - agentkeepalive@4.6.0: - dependencies: - humanize-ms: 1.2.1 - optional: true - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - optional: true - ajv-draft-04@1.0.0(ajv@8.13.0): optionalDependencies: ajv: 8.13.0 @@ -17342,15 +16140,6 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - aproba@2.1.0: - optional: true - - are-we-there-yet@3.0.1: - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - optional: true - arg@5.0.2: {} argparse@1.0.10: @@ -17450,10 +16239,6 @@ snapshots: async-limiter@1.0.1: {} - async-retry@1.3.3: - dependencies: - retry: 0.13.1 - async-stream-emitter@7.0.1: dependencies: stream-demux: 10.0.1 @@ -17618,7 +16403,40 @@ snapshots: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.0) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.0) - babel-preset-expo@55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10)(react-refresh@0.14.2): + babel-preset-expo@55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-refresh@0.14.2): + dependencies: + '@babel/generator': 7.28.3 + '@babel/helper-module-imports': 7.27.1(supports-color@5.5.0) + '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.28.0) + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.28.0) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-runtime': 7.28.0(@babel/core@7.28.0) + '@babel/preset-react': 7.28.5(@babel/core@7.28.0) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) + '@react-native/babel-preset': 0.83.1 + babel-plugin-react-compiler: 1.0.0 + babel-plugin-react-native-web: 0.21.2 + babel-plugin-syntax-hermes-parser: 0.29.1 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.0) + debug: 4.4.1(supports-color@5.5.0) + react-refresh: 0.14.2 + resolve-from: 5.0.0 + optionalDependencies: + '@babel/runtime': 7.26.10 + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + transitivePeerDependencies: + - '@babel/core' + - supports-color + + babel-preset-expo@55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-refresh@0.14.2): dependencies: '@babel/generator': 7.28.3 '@babel/helper-module-imports': 7.27.1(supports-color@5.5.0) @@ -17663,8 +16481,6 @@ snapshots: base64-js@1.5.1: {} - base64id@2.0.0: {} - baseline-browser-mapping@2.8.16: {} basic-auth@2.0.1: @@ -17683,10 +16499,6 @@ snapshots: binary-extensions@2.3.0: {} - bindings@1.5.0: - dependencies: - file-uri-to-path: 1.0.0 - birpc@2.9.0: {} bl@1.2.3: @@ -17694,12 +16506,6 @@ snapshots: readable-stream: 2.3.8 safe-buffer: 5.2.1 - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - body-parser@1.20.3: dependencies: bytes: 3.1.2 @@ -17735,9 +16541,6 @@ snapshots: boolbase@1.0.0: {} - boolean@3.2.0: - optional: true - bplist-creator@0.1.0: dependencies: stream-buffers: 2.2.0 @@ -17775,8 +16578,6 @@ snapshots: dependencies: node-int64: 0.4.0 - buffer-crc32@0.2.13: {} - buffer-equal-constant-time@1.0.1: {} buffer-from@1.1.2: {} @@ -17794,42 +16595,6 @@ snapshots: cac@6.7.14: {} - cacache@15.3.0: - dependencies: - '@npmcli/fs': 1.1.1 - '@npmcli/move-file': 1.1.2 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 7.2.3 - infer-owner: 1.0.4 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 8.0.1 - tar: 6.2.1 - unique-filename: 1.1.1 - transitivePeerDependencies: - - bluebird - optional: true - - cacheable-lookup@5.0.4: {} - - cacheable-request@7.0.4: - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.2.0 - keyv: 4.5.4 - lowercase-keys: 2.0.0 - normalize-url: 6.1.0 - responselike: 2.0.1 - call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -17941,10 +16706,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chownr@1.1.4: {} - - chownr@2.0.0: {} - chrome-launcher@0.15.2: dependencies: '@types/node': 18.16.9 @@ -17977,9 +16738,6 @@ snapshots: classnames@2.5.1: {} - clean-stack@2.2.0: - optional: true - cli-cursor@2.1.0: dependencies: restore-cursor: 2.0.0 @@ -18009,10 +16767,6 @@ snapshots: kind-of: 6.0.3 shallow-clone: 3.0.1 - clone-response@1.0.3: - dependencies: - mimic-response: 1.0.1 - clone@1.0.4: {} clsx@2.1.1: {} @@ -18040,16 +16794,11 @@ snapshots: color-name: 1.1.4 simple-swizzle: 0.2.2 - color-support@1.1.3: - optional: true - color@4.2.3: dependencies: color-convert: 2.0.1 color-string: 1.9.1 - colorette@2.0.19: {} - colorette@2.0.20: {} combined-stream@1.0.8: @@ -18058,8 +16807,6 @@ snapshots: comma-separated-tokens@2.0.3: {} - commander@10.0.1: {} - commander@12.1.0: {} commander@14.0.0: {} @@ -18129,9 +16876,6 @@ snapshots: transitivePeerDependencies: - supports-color - console-control-strings@1.1.0: - optional: true - consumable-stream@2.0.0: {} consumable-stream@3.0.0: {} @@ -18183,11 +16927,6 @@ snapshots: core-util-is@1.0.3: {} - cors@2.8.5: - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - cosmiconfig-typescript-loader@6.2.0(@types/node@18.16.9)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): dependencies: '@types/node': 18.16.9 @@ -18219,9 +16958,9 @@ snapshots: optionalDependencies: typescript: 5.8.3 - cross-fetch@3.2.0(encoding@0.1.13): + cross-fetch@3.2.0: dependencies: - node-fetch: 2.7.0(encoding@0.1.13) + node-fetch: 2.7.0 transitivePeerDependencies: - encoding @@ -18474,10 +17213,6 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.4: - dependencies: - ms: 2.1.2 - debug@4.4.1(supports-color@5.5.0): dependencies: ms: 2.1.3 @@ -18492,16 +17227,10 @@ snapshots: decode-uri-component@0.2.2: {} - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - dedent@0.7.0: {} deep-eql@5.0.2: {} - deep-extend@0.6.0: {} - deep-is@0.1.4: {} deepmerge@4.3.1: {} @@ -18517,8 +17246,6 @@ snapshots: dependencies: clone: 1.0.4 - defer-to-connect@2.0.1: {} - define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 @@ -18541,9 +17268,6 @@ snapshots: delayed-stream@1.0.0: {} - delegates@1.0.0: - optional: true - depd@2.0.0: {} dequal@2.0.3: {} @@ -18556,9 +17280,6 @@ snapshots: detect-node-es@1.1.0: {} - detect-node@2.1.0: - optional: true - devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -18639,14 +17360,6 @@ snapshots: electron-to-chromium@1.5.234: {} - electron@31.7.7: - dependencies: - '@electron/get': 2.0.3 - '@types/node': 20.19.8 - extract-zip: 2.0.1 - transitivePeerDependencies: - - supports-color - emoji-regex@10.5.0: {} emoji-regex@8.0.0: {} @@ -18662,15 +17375,6 @@ snapshots: iconv-lite: 0.6.3 whatwg-encoding: 3.1.1 - encoding@0.1.13: - dependencies: - iconv-lite: 0.6.3 - optional: true - - end-of-stream@1.4.5: - dependencies: - once: 1.4.0 - enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -18688,9 +17392,6 @@ snapshots: environment@1.1.0: {} - err-code@2.0.3: - optional: true - error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -18804,9 +17505,6 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - es6-error@4.1.1: - optional: true - es6-template-regex@0.1.1: {} es6template@1.0.5: @@ -18915,7 +17613,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.37.0(jiti@2.6.1)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.37.0(jiti@2.6.1)))(eslint@9.37.0(jiti@2.6.1)): dependencies: debug: 3.2.7 optionalDependencies: @@ -18946,7 +17644,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.37.0(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.37.0(jiti@2.6.1)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.37.0(jiti@2.6.1)))(eslint@9.37.0(jiti@2.6.1)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -19083,8 +17781,6 @@ snapshots: transitivePeerDependencies: - supports-color - esm@3.2.25: {} - espree@10.4.0: dependencies: acorn: 8.15.0 @@ -19174,21 +17870,29 @@ snapshots: exit-hook@4.0.0: {} - expand-template@2.0.3: {} - expect-type@1.2.2: {} - expo-asset@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + expo-asset@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + dependencies: + '@expo/image-utils': 0.8.12 + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + react: 19.2.0 + react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) + transitivePeerDependencies: + - supports-color + + expo-asset@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: '@expo/image-utils': 0.8.12 expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) transitivePeerDependencies: - supports-color - expo-atlas@0.4.0(expo@55.0.0-preview.10): + expo-atlas@0.4.0(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)): dependencies: '@expo/server': 0.5.3 arg: 5.0.2 @@ -19206,7 +17910,16 @@ snapshots: transitivePeerDependencies: - supports-color - expo-constants@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): + expo-constants@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): + dependencies: + '@expo/config': 55.0.4 + '@expo/env': 2.1.0 + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) + transitivePeerDependencies: + - supports-color + + expo-constants@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): dependencies: '@expo/config': 55.0.4 '@expo/env': 2.1.0 @@ -19215,45 +17928,62 @@ snapshots: transitivePeerDependencies: - supports-color - expo-file-system@55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): + expo-file-system@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): + dependencies: + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) + + expo-file-system@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + dependencies: + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + fontfaceobserver: 2.3.0 + react: 19.2.0 + react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) + + expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) fontfaceobserver: 2.3.0 react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - expo-glass-effect@55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + expo-glass-effect@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - expo-haptics@55.0.5(expo@55.0.0-preview.10): + expo-haptics@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-image@55.0.3(expo@55.0.0-preview.10)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + expo-image@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) sf-symbols-typescript: 2.2.0 optionalDependencies: - react-native-web: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-native-web: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + + expo-keep-awake@55.0.2(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react@19.2.0): + dependencies: + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + react: 19.2.0 - expo-keep-awake@55.0.2(expo@55.0.0-preview.10)(react@19.2.0): + expo-keep-awake@55.0.2(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react@19.2.0): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 expo-linking@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: - expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) invariant: 2.2.4 react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) @@ -19275,10 +18005,10 @@ snapshots: react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - expo-router@55.0.0-preview.7(c332f919f836fd5fb063a1a24a62156a): + expo-router@55.0.0-preview.7(mfjfgdrtx2hkscbkfatqrdcoli): dependencies: - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/schema-utils': 55.0.2 '@radix-ui/react-slot': 1.2.0(@types/react@19.2.14)(react@19.2.0) '@radix-ui/react-tabs': 1.1.12(@types/react-dom@19.1.11(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -19289,12 +18019,12 @@ snapshots: debug: 4.4.1(supports-color@5.5.0) escape-string-regexp: 4.0.0 expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-glass-effect: 55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-image: 55.0.3(expo@55.0.0-preview.10)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-glass-effect: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-image: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-linking: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-server: 55.0.3 - expo-symbols: 55.0.3(expo-font@55.0.3)(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-symbols: 55.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) fast-deep-equal: 3.1.3 invariant: 2.2.4 nanoid: 3.3.11 @@ -19316,7 +18046,7 @@ snapshots: react-dom: 19.2.0(react@19.2.0) react-native-gesture-handler: 2.30.0(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native-reanimated: 4.2.1(react-native-worklets@0.7.2(@babel/core@7.28.0)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - react-native-web: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-native-web: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) transitivePeerDependencies: - '@react-native-masked-view/masked-view' - '@types/react' @@ -19324,11 +18054,15 @@ snapshots: - expo-font - supports-color + expo-secure-store@55.0.8(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)): + dependencies: + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-server@55.0.3: {} - expo-splash-screen@55.0.5(expo@55.0.0-preview.10): + expo-splash-screen@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)): dependencies: - '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10) + '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) transitivePeerDependencies: - supports-color @@ -19339,27 +18073,27 @@ snapshots: react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) react-native-is-edge-to-edge: 1.2.1(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-symbols@55.0.3(expo-font@55.0.3)(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + expo-symbols@55.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: '@expo-google-fonts/material-symbols': 0.4.22 expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) sf-symbols-typescript: 2.2.0 - expo-system-ui@55.0.5(expo@55.0.0-preview.10)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): + expo-system-ui@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): dependencies: '@react-native/normalize-colors': 0.83.1 debug: 4.4.1(supports-color@5.5.0) expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) optionalDependencies: - react-native-web: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-native-web: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) transitivePeerDependencies: - supports-color - expo-web-browser@55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): + expo-web-browser@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) @@ -19367,23 +18101,23 @@ snapshots: expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: '@babel/runtime': 7.26.10 - '@expo/cli': 55.0.7(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4)(expo-font@55.0.3)(expo-router@55.0.0-preview.7)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/cli': 55.0.7(u4h2ohzskzybnnlmfi7ygsjfkm) '@expo/config': 55.0.4 '@expo/config-plugins': 55.0.4 '@expo/devtools': 55.0.2(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/fingerprint': 0.16.3 '@expo/local-build-cache-provider': 55.0.3 - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/metro': 54.2.0 - '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10) - '@expo/vector-icons': 15.0.3(expo-font@55.0.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) + '@expo/vector-icons': 15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@ungap/structured-clone': 1.3.0 - babel-preset-expo: 55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10)(react-refresh@0.14.2) - expo-asset: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-file-system: 55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-keep-awake: 55.0.2(expo@55.0.0-preview.10)(react@19.2.0) + babel-preset-expo: 55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-refresh@0.14.2) + expo-asset: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-file-system: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-keep-awake: 55.0.2(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react@19.2.0) expo-modules-autolinking: 55.0.3 expo-modules-core: 55.0.8(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) pretty-format: 29.7.0 @@ -19392,8 +18126,8 @@ snapshots: react-refresh: 0.14.2 whatwg-url-minimum: 0.1.1 optionalDependencies: - '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) transitivePeerDependencies: - '@babel/core' - bufferutil @@ -19407,23 +18141,23 @@ snapshots: expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: '@babel/runtime': 7.26.10 - '@expo/cli': 55.0.7(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)))(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/cli': 55.0.7(bt7yl4nwsruljbnpm4qr6emjei) '@expo/config': 55.0.4 '@expo/config-plugins': 55.0.4 '@expo/devtools': 55.0.2(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/fingerprint': 0.16.3 '@expo/local-build-cache-provider': 55.0.3 - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/metro': 54.2.0 - '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10) - '@expo/vector-icons': 15.0.3(expo-font@55.0.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) + '@expo/vector-icons': 15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@ungap/structured-clone': 1.3.0 - babel-preset-expo: 55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10)(react-refresh@0.14.2) - expo-asset: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-file-system: 55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-keep-awake: 55.0.2(expo@55.0.0-preview.10)(react@19.2.0) + babel-preset-expo: 55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-refresh@0.14.2) + expo-asset: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-file-system: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-keep-awake: 55.0.2(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react@19.2.0) expo-modules-autolinking: 55.0.3 expo-modules-core: 55.0.8(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) pretty-format: 29.7.0 @@ -19432,7 +18166,7 @@ snapshots: react-refresh: 0.14.2 whatwg-url-minimum: 0.1.1 optionalDependencies: - '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) transitivePeerDependencies: - '@babel/core' @@ -19524,16 +18258,6 @@ snapshots: extendable-error@0.1.7: {} - extract-zip@2.0.1: - dependencies: - debug: 4.4.1(supports-color@5.5.0) - get-stream: 5.2.0 - yauzl: 2.10.0 - optionalDependencies: - '@types/yauzl': 2.10.3 - transitivePeerDependencies: - - supports-color - fast-base64-decode@1.0.0: {} fast-content-type-parse@1.1.0: {} @@ -19611,9 +18335,9 @@ snapshots: fbjs-css-vars@1.0.2: {} - fbjs@3.0.5(encoding@0.1.13): + fbjs@3.0.5: dependencies: - cross-fetch: 3.2.0(encoding@0.1.13) + cross-fetch: 3.2.0 fbjs-css-vars: 1.0.2 loose-envify: 1.4.0 object-assign: 4.1.1 @@ -19623,10 +18347,6 @@ snapshots: transitivePeerDependencies: - encoding - fd-slicer@1.1.0: - dependencies: - pend: 1.2.0 - fdir@6.4.6(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -19643,8 +18363,6 @@ snapshots: dependencies: flat-cache: 4.0.1 - file-uri-to-path@1.0.0: {} - filelist@1.0.4: dependencies: minimatch: 5.1.6 @@ -19790,8 +18508,6 @@ snapshots: fresh@2.0.0: {} - fs-constants@1.0.0: {} - fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 @@ -19810,10 +18526,6 @@ snapshots: jsonfile: 4.0.0 universalify: 0.1.2 - fs-minipass@2.1.0: - dependencies: - minipass: 3.3.6 - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -19832,18 +18544,6 @@ snapshots: functions-have-names@1.2.3: {} - gauge@4.0.4: - dependencies: - aproba: 2.1.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - optional: true - generator-function@2.0.1: {} gensync@1.0.0-beta.2: {} @@ -19871,17 +18571,11 @@ snapshots: get-params@0.1.2: {} - get-port@7.1.0: {} - get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - get-stream@5.2.0: - dependencies: - pump: 3.0.3 - get-stream@6.0.1: {} get-symbol-description@1.1.0: @@ -19900,16 +18594,12 @@ snapshots: getenv@2.0.0: {} - getopts@2.3.0: {} - git-raw-commits@4.0.0: dependencies: dargs: 8.1.0 meow: 12.1.1 split2: 4.2.0 - github-from-package@0.0.0: {} - github-slugger@2.0.0: {} glob-parent@5.1.2: @@ -19944,16 +18634,6 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - global-agent@3.0.0: - dependencies: - boolean: 3.2.0 - es6-error: 4.1.1 - matcher: 3.0.0 - roarr: 2.15.4 - semver: 7.7.3 - serialize-error: 7.0.1 - optional: true - global-directory@4.0.1: dependencies: ini: 4.1.1 @@ -19978,20 +18658,6 @@ snapshots: gopd@1.2.0: {} - got@11.8.6: - dependencies: - '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.3 - cacheable-lookup: 5.0.4 - cacheable-request: 7.0.4 - decompress-response: 6.0.0 - http2-wrapper: 1.0.3 - lowercase-keys: 2.0.0 - p-cancelable: 2.1.1 - responselike: 2.0.1 - graceful-fs@4.2.11: {} gradient-string@2.0.2: @@ -20001,8 +18667,6 @@ snapshots: graphemer@1.4.0: {} - graphql@16.11.0: {} - gray-matter@4.0.3: dependencies: js-yaml: 3.14.1 @@ -20030,9 +18694,6 @@ snapshots: dependencies: has-symbols: 1.1.0 - has-unicode@2.0.1: - optional: true - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -20212,8 +18873,6 @@ snapshots: domutils: 3.2.2 entities: 7.0.1 - http-cache-semantics@4.2.0: {} - http-errors@2.0.0: dependencies: depd: 2.0.0 @@ -20222,15 +18881,6 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 - http-proxy-agent@4.0.1: - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.4.1(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - optional: true - http-proxy-agent@5.0.0: dependencies: '@tootallnate/once': 2.0.0 @@ -20258,11 +18908,6 @@ snapshots: transitivePeerDependencies: - debug - http2-wrapper@1.0.3: - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 @@ -20281,11 +18926,6 @@ snapshots: human-signals@2.1.0: {} - humanize-ms@1.2.1: - dependencies: - ms: 2.1.3 - optional: true - husky@9.1.7: {} hyperdyperid@1.2.0: {} @@ -20304,6 +18944,8 @@ snapshots: dependencies: safer-buffer: 2.1.2 + idb@8.0.3: {} + ieee754@1.2.1: {} ignore@5.3.2: {} @@ -20340,9 +18982,6 @@ snapshots: indent-string@4.0.0: {} - infer-owner@1.0.4: - optional: true - inflight@1.0.6: dependencies: once: 1.4.0 @@ -20350,8 +18989,6 @@ snapshots: inherits@2.0.4: {} - ini@1.3.8: {} - ini@4.1.1: {} inline-style-parser@0.2.4: {} @@ -20368,18 +19005,10 @@ snapshots: internmap@2.0.3: {} - interpret@2.2.0: {} - invariant@2.2.4: dependencies: loose-envify: 1.4.0 - ip-address@9.0.5: - dependencies: - jsbn: 1.1.0 - sprintf-js: 1.1.3 - optional: true - ipaddr.js@1.9.1: {} is-absolute-url@4.0.1: {} @@ -20483,9 +19112,6 @@ snapshots: dependencies: is-docker: 3.0.0 - is-lambda@1.0.1: - optional: true - is-map@2.0.3: {} is-negative-zero@2.0.3: {} @@ -20770,9 +19396,6 @@ snapshots: jsan@3.1.14: {} - jsbn@1.1.0: - optional: true - jsc-safe-url@0.2.4: {} jscodeshift@0.14.0: @@ -20859,9 +19482,6 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - json-stringify-safe@5.0.1: - optional: true - json5@1.0.2: dependencies: minimist: 1.2.8 @@ -20933,27 +19553,6 @@ snapshots: kleur@3.0.3: {} - knex@3.1.0(sqlite3@5.1.7): - dependencies: - colorette: 2.0.19 - commander: 10.0.1 - debug: 4.3.4 - escalade: 3.2.0 - esm: 3.2.25 - get-package-type: 0.1.0 - getopts: 2.3.0 - interpret: 2.2.0 - lodash: 4.17.21 - pg-connection-string: 2.6.2 - rechoir: 0.8.0 - resolve-from: 5.0.0 - tarn: 3.0.2 - tildify: 2.0.0 - optionalDependencies: - sqlite3: 5.1.7 - transitivePeerDependencies: - - supports-color - kolorist@1.8.0: {} lan-network@0.1.7: {} @@ -21118,8 +19717,6 @@ snapshots: lodash.snakecase@4.1.1: {} - lodash.sortby@4.7.0: {} - lodash.startcase@4.4.0: {} lodash.throttle@4.1.1: {} @@ -21142,10 +19739,6 @@ snapshots: strip-ansi: 7.1.0 wrap-ansi: 9.0.2 - loglevel@1.9.2: {} - - long@4.0.0: {} - longest-streak@3.1.0: {} loose-envify@1.4.0: @@ -21154,8 +19747,6 @@ snapshots: loupe@3.2.1: {} - lowercase-keys@2.0.0: {} - lru-cache@10.4.3: {} lru-cache@11.2.6: {} @@ -21168,8 +19759,6 @@ snapshots: dependencies: yallist: 4.0.0 - lru-cache@7.18.3: {} - lucide-react@0.263.1(react@19.2.0): dependencies: react: 19.2.0 @@ -21183,29 +19772,6 @@ snapshots: pify: 4.0.1 semver: 5.7.2 - make-fetch-happen@9.1.0: - dependencies: - agentkeepalive: 4.6.0 - cacache: 15.3.0 - http-cache-semantics: 4.2.0 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 1.4.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.4 - promise-retry: 2.0.1 - socks-proxy-agent: 6.2.1 - ssri: 8.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - optional: true - makeerror@1.0.12: dependencies: tmpl: 1.0.5 @@ -21218,20 +19784,11 @@ snapshots: markdown-table@3.0.4: {} - markdown-to-jsx@7.7.12(react@18.3.1): - dependencies: - react: 18.3.1 - markdown-to-jsx@7.7.12(react@19.2.0): dependencies: - react: 19.2.0 - - marky@1.3.0: {} - - matcher@3.0.0: - dependencies: - escape-string-regexp: 4.0.0 - optional: true + react: 19.2.0 + + marky@1.3.0: {} math-intrinsics@1.1.0: {} @@ -22242,10 +20799,6 @@ snapshots: mimic-function@5.0.1: {} - mimic-response@1.0.1: {} - - mimic-response@3.1.0: {} - min-indent@1.0.1: {} minimatch@10.1.2: @@ -22270,50 +20823,8 @@ snapshots: minimist@1.2.8: {} - minipass-collect@1.0.2: - dependencies: - minipass: 3.3.6 - optional: true - - minipass-fetch@1.4.1: - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - optional: true - - minipass-flush@1.0.5: - dependencies: - minipass: 3.3.6 - optional: true - - minipass-pipeline@1.2.4: - dependencies: - minipass: 3.3.6 - optional: true - - minipass-sized@1.0.3: - dependencies: - minipass: 3.3.6 - optional: true - - minipass@3.3.6: - dependencies: - yallist: 4.0.0 - - minipass@5.0.0: {} - minipass@7.1.2: {} - minizlib@2.1.2: - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - - mkdirp-classic@0.5.3: {} - mkdirp@0.5.6: dependencies: minimist: 1.2.8 @@ -22343,8 +20854,6 @@ snapshots: ms@2.0.0: {} - ms@2.1.2: {} - ms@2.1.3: {} muggle-string@0.4.1: {} @@ -22367,8 +20876,6 @@ snapshots: nanoid@5.1.5: {} - napi-build-utils@2.0.0: {} - napi-postinstall@0.3.4: {} natural-compare@1.4.0: {} @@ -22383,62 +20890,28 @@ snapshots: nocache@4.0.0: {} - node-abi@3.75.0: - dependencies: - semver: 7.7.3 - - node-abort-controller@3.1.1: {} - - node-addon-api@7.1.1: {} - node-dir@0.1.17: dependencies: minimatch: 3.1.2 - node-fetch@2.7.0(encoding@0.1.13): + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - optionalDependencies: - encoding: 0.1.13 node-forge@1.3.1: {} node-forge@1.3.3: {} - node-gyp@8.4.1: - dependencies: - env-paths: 2.2.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - make-fetch-happen: 9.1.0 - nopt: 5.0.0 - npmlog: 6.0.2 - rimraf: 3.0.2 - semver: 7.7.3 - tar: 6.2.1 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - optional: true - node-int64@0.4.0: {} node-modules-regexp@1.0.0: {} node-releases@2.0.23: {} - nopt@5.0.0: - dependencies: - abbrev: 1.1.1 - optional: true - normalize-path@3.0.0: {} normalize-range@0.1.2: {} - normalize-url@6.1.0: {} - npm-package-arg@11.0.3: dependencies: hosted-git-info: 7.0.2 @@ -22450,14 +20923,6 @@ snapshots: dependencies: path-key: 3.1.1 - npmlog@6.0.2: - dependencies: - are-we-there-yet: 3.0.1 - console-control-strings: 1.1.0 - gauge: 4.0.4 - set-blocking: 2.0.0 - optional: true - nprogress@0.2.0: {} nth-check@2.1.1: @@ -22606,8 +21071,6 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - p-cancelable@2.1.1: {} - p-filter@2.1.0: dependencies: p-map: 2.1.0 @@ -22646,11 +21109,6 @@ snapshots: p-map@2.1.0: {} - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - optional: true - p-throttle@7.0.0: {} p-try@2.2.0: {} @@ -22742,10 +21200,6 @@ snapshots: pathval@2.0.1: {} - pend@1.2.0: {} - - pg-connection-string@2.6.2: {} - pg-int8@1.0.1: {} pg-protocol@1.10.3: {} @@ -22889,21 +21343,6 @@ snapshots: dependencies: xtend: 4.0.2 - prebuild-install@7.1.3: - dependencies: - detect-libc: 2.0.4 - expand-template: 2.0.3 - github-from-package: 0.0.0 - minimist: 1.2.8 - mkdirp-classic: 0.5.3 - napi-build-utils: 2.0.0 - node-abi: 3.75.0 - pump: 3.0.3 - rc: 1.2.8 - simple-get: 4.0.1 - tar-fs: 2.1.3 - tunnel-agent: 0.6.0 - prelude-ls@1.2.1: {} prettier@2.8.8: {} @@ -22946,15 +21385,6 @@ snapshots: progress@2.0.3: {} - promise-inflight@1.0.1: - optional: true - - promise-retry@2.0.1: - dependencies: - err-code: 2.0.3 - retry: 0.12.0 - optional: true - promise@7.3.1: dependencies: asap: 2.0.6 @@ -22993,11 +21423,6 @@ snapshots: dependencies: punycode: 2.3.1 - pump@3.0.3: - dependencies: - end-of-stream: 1.4.5 - once: 1.4.0 - punycode@2.3.1: {} qrcode-terminal@0.11.0: {} @@ -23029,8 +21454,6 @@ snapshots: quick-format-unescaped@4.0.4: {} - quick-lru@5.1.1: {} - radix-ui@1.4.2(@types/react-dom@19.1.11(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: '@radix-ui/primitive': 1.1.2 @@ -23116,13 +21539,6 @@ snapshots: iconv-lite: 0.6.3 unpipe: 1.0.0 - rc@1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - react-base16-styling@0.10.0: dependencies: '@types/lodash': 4.17.20 @@ -23138,12 +21554,6 @@ snapshots: - bufferutil - utf-8-validate - react-dom@18.3.1(react@18.3.1): - dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 - react-dom@19.1.1(react@19.1.1): dependencies: react: 19.1.1 @@ -23173,10 +21583,6 @@ snapshots: dependencies: react: 19.2.0 - react-icons@5.5.0(react@18.3.1): - dependencies: - react: 18.3.1 - react-icons@5.5.0(react@19.2.0): dependencies: react: 19.2.0 @@ -23191,13 +21597,6 @@ snapshots: react-is@19.2.4: {} - react-json-tree@0.20.0(@types/react@18.3.23)(react@18.3.1): - dependencies: - '@types/lodash': 4.17.20 - '@types/react': 18.3.23 - react: 18.3.1 - react-base16-styling: 0.10.0 - react-json-tree@0.20.0(@types/react@19.2.14)(react@19.2.0): dependencies: '@types/lodash': 4.17.20 @@ -23289,11 +21688,11 @@ snapshots: react-native-sse@1.2.1: {} - react-native-svg-web@1.0.9(prop-types@15.8.1)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0): + react-native-svg-web@1.0.9(prop-types@15.8.1)(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0): dependencies: prop-types: 15.8.1 react: 19.2.0 - react-native-web: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-native-web: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react-native-svg@15.15.1(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: @@ -23311,11 +21710,11 @@ snapshots: react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) warn-once: 0.1.1 - react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: '@babel/runtime': 7.26.10 '@react-native/normalize-colors': 0.74.89 - fbjs: 3.0.5(encoding@0.1.13) + fbjs: 3.0.5 inline-style-prefixer: 7.0.1 memoize-one: 6.0.0 nullthrows: 1.1.1 @@ -23446,15 +21845,6 @@ snapshots: react: 19.2.4 scheduler: 0.27.0 - react-redux@9.2.0(@types/react@18.3.23)(react@18.3.1)(redux@5.0.1): - dependencies: - '@types/use-sync-external-store': 0.0.6 - react: 18.3.1 - use-sync-external-store: 1.5.0(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.23 - redux: 5.0.1 - react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1): dependencies: '@types/use-sync-external-store': 0.0.6 @@ -23505,23 +21895,6 @@ snapshots: optionalDependencies: react-dom: 19.2.4(react@19.2.4) - react-select@5.10.2(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@babel/runtime': 7.26.10 - '@emotion/cache': 11.14.0 - '@emotion/react': 11.14.0(@types/react@18.3.23)(react@18.3.1) - '@floating-ui/dom': 1.7.2 - '@types/react-transition-group': 4.4.12(@types/react@18.3.23) - memoize-one: 6.0.0 - prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - use-isomorphic-layout-effect: 1.2.1(@types/react@18.3.23)(react@18.3.1) - transitivePeerDependencies: - - '@types/react' - - supports-color - react-select@5.10.2(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: '@babel/runtime': 7.26.10 @@ -23553,15 +21926,6 @@ snapshots: react-is: 19.2.4 scheduler: 0.27.0 - react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@babel/runtime': 7.26.10 - dom-helpers: 5.2.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-transition-group@4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: '@babel/runtime': 7.26.10 @@ -23583,10 +21947,6 @@ snapshots: react: 19.2.0 react-dom: 19.2.0(react@19.2.0) - react@18.3.1: - dependencies: - loose-envify: 1.4.0 - react@19.1.1: {} react@19.2.0: {} @@ -23614,12 +21974,6 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -23633,10 +21987,6 @@ snapshots: source-map: 0.6.1 tslib: 2.8.1 - rechoir@0.8.0: - dependencies: - resolve: 1.22.10 - recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.8 @@ -23672,12 +22022,6 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 - redux-persist@6.0.0(react@18.3.1)(redux@5.0.1): - dependencies: - redux: 5.0.1 - optionalDependencies: - react: 18.3.1 - redux-persist@6.0.0(react@19.2.0)(redux@5.0.1): dependencies: redux: 5.0.1 @@ -23817,8 +22161,6 @@ snapshots: reselect@5.1.1: {} - resolve-alpn@1.2.1: {} - resolve-from@3.0.0: {} resolve-from@4.0.0: {} @@ -23841,10 +22183,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - responselike@2.0.1: - dependencies: - lowercase-keys: 2.0.0 - restore-cursor@2.0.0: dependencies: onetime: 2.0.1 @@ -23857,11 +22195,6 @@ snapshots: ret@0.4.3: {} - retry@0.12.0: - optional: true - - retry@0.13.1: {} - reusify@1.1.0: {} rfdc@1.4.1: {} @@ -23874,18 +22207,6 @@ snapshots: dependencies: glob: 7.2.3 - rn-host-detect@1.2.0: {} - - roarr@2.15.4: - dependencies: - boolean: 3.2.0 - detect-node: 2.1.0 - globalthis: 1.0.4 - json-stringify-safe: 5.0.1 - semver-compare: 1.0.0 - sprintf-js: 1.1.3 - optional: true - robust-predicates@3.0.2: {} rollup@2.79.2: @@ -23985,10 +22306,6 @@ snapshots: sc-formatter@4.0.0: {} - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 - scheduler@0.26.0: {} scheduler@0.27.0: {} @@ -24016,9 +22333,6 @@ snapshots: '@types/node-forge': 1.3.11 node-forge: 1.3.1 - semver-compare@1.0.0: - optional: true - semver@5.7.2: {} semver@6.3.1: {} @@ -24069,11 +22383,6 @@ snapshots: serialize-error@2.1.0: {} - serialize-error@7.0.1: - dependencies: - type-fest: 0.13.1 - optional: true - serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 @@ -24098,9 +22407,6 @@ snapshots: server-only@0.0.1: {} - set-blocking@2.0.0: - optional: true - set-cookie-parser@2.7.1: {} set-function-length@1.2.2: @@ -24131,12 +22437,6 @@ snapshots: sf-symbols-typescript@2.2.0: {} - sha.js@2.4.12: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - to-buffer: 1.2.1 - shallow-clone@3.0.1: dependencies: kind-of: 6.0.3 @@ -24196,18 +22496,10 @@ snapshots: signal-exit@4.1.0: {} - simple-concat@1.0.1: {} - simple-diff@1.7.2: {} simple-element-resize-detector@1.3.0: {} - simple-get@4.0.1: - dependencies: - decompress-response: 6.0.0 - once: 1.4.0 - simple-concat: 1.0.1 - simple-plist@1.3.1: dependencies: bplist-creator: 0.1.0 @@ -24237,9 +22529,6 @@ snapshots: slugify@1.6.6: {} - smart-buffer@4.2.0: - optional: true - socketcluster-client@19.2.7: dependencies: ag-auth: 2.1.0 @@ -24259,38 +22548,6 @@ snapshots: - bufferutil - utf-8-validate - socketcluster-server@19.2.0: - dependencies: - ag-auth: 2.1.0 - ag-request: 1.1.0 - ag-simple-broker: 6.0.1 - async-stream-emitter: 7.0.1 - base64id: 2.0.0 - clone-deep: 4.0.1 - sc-errors: 3.0.0 - sc-formatter: 4.0.0 - stream-demux: 10.0.1 - writable-consumable-stream: 4.2.0 - ws: 8.18.3 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - socks-proxy-agent@6.2.1: - dependencies: - agent-base: 6.0.2 - debug: 4.4.1(supports-color@5.5.0) - socks: 2.8.6 - transitivePeerDependencies: - - supports-color - optional: true - - socks@2.8.6: - dependencies: - ip-address: 9.0.5 - smart-buffer: 4.2.0 - optional: true - sonic-boom@4.2.0: dependencies: atomic-sleep: 1.0.0 @@ -24321,28 +22578,8 @@ snapshots: sprintf-js@1.0.3: {} - sprintf-js@1.1.3: - optional: true - - sqlite3@5.1.7: - dependencies: - bindings: 1.5.0 - node-addon-api: 7.1.1 - prebuild-install: 7.1.3 - tar: 6.2.1 - optionalDependencies: - node-gyp: 8.4.1 - transitivePeerDependencies: - - bluebird - - supports-color - ssim.js@3.5.0: {} - ssri@8.0.1: - dependencies: - minipass: 3.3.6 - optional: true - stable-hash@0.0.5: {} stack-utils@2.0.6: @@ -24458,10 +22695,6 @@ snapshots: dependencies: safe-buffer: 5.1.2 - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 @@ -24489,8 +22722,6 @@ snapshots: dependencies: min-indent: 1.0.1 - strip-json-comments@2.0.1: {} - strip-json-comments@3.1.1: {} strip-literal@3.1.0: @@ -24507,24 +22738,6 @@ snapshots: dependencies: inline-style-parser: 0.2.4 - styled-components@5.3.11(@babel/core@7.28.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1): - dependencies: - '@babel/helper-module-imports': 7.27.1(supports-color@5.5.0) - '@babel/traverse': 7.29.0(supports-color@5.5.0) - '@emotion/is-prop-valid': 1.3.1 - '@emotion/stylis': 0.8.5 - '@emotion/unitless': 0.7.5 - babel-plugin-styled-components: 2.1.4(@babel/core@7.28.0)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))(supports-color@5.5.0) - css-to-react-native: 3.2.0 - hoist-non-react-statics: 3.3.2 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-is: 18.3.1 - shallowequal: 1.1.0 - supports-color: 5.5.0 - transitivePeerDependencies: - - '@babel/core' - styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0): dependencies: '@babel/helper-module-imports': 7.27.1(supports-color@5.5.0) @@ -24567,12 +22780,6 @@ snapshots: tinyglobby: 0.2.15 ts-interface-checker: 0.1.13 - sumchecker@3.0.1: - dependencies: - debug: 4.4.1(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -24631,32 +22838,6 @@ snapshots: tapable@2.2.2: {} - tar-fs@2.1.3: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.3 - tar-stream: 2.2.0 - - tar-stream@2.2.0: - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.5 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - - tar@6.2.1: - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 5.0.0 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - - tarn@3.0.2: {} - temp@0.8.4: dependencies: rimraf: 2.6.3 @@ -24720,8 +22901,6 @@ snapshots: through@2.3.8: {} - tildify@2.0.0: {} - tinybench@2.9.0: {} tinycolor2@1.6.0: {} @@ -24755,12 +22934,6 @@ snapshots: tmpl@1.0.5: {} - to-buffer@1.2.1: - dependencies: - isarray: 2.0.5 - safe-buffer: 5.2.1 - typed-array-buffer: 1.0.3 - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -24820,10 +22993,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 - turbo-darwin-64@2.8.3: optional: true @@ -24857,9 +23026,6 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.13.1: - optional: true - type-fest@0.21.3: {} type-fest@0.7.1: {} @@ -24969,16 +23135,6 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unique-filename@1.1.1: - dependencies: - unique-slug: 2.0.2 - optional: true - - unique-slug@2.0.2: - dependencies: - imurmurhash: 0.1.4 - optional: true - unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 @@ -25076,12 +23232,6 @@ snapshots: optionalDependencies: '@types/react': 19.2.14 - use-isomorphic-layout-effect@1.2.1(@types/react@18.3.23)(react@18.3.1): - dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.23 - use-isomorphic-layout-effect@1.2.1(@types/react@19.2.14)(react@19.2.0): dependencies: react: 19.2.0 @@ -25100,10 +23250,6 @@ snapshots: optionalDependencies: '@types/react': 19.2.14 - use-sync-external-store@1.5.0(react@18.3.1): - dependencies: - react: 18.3.1 - use-sync-external-store@1.5.0(react@19.2.0): dependencies: react: 19.2.0 @@ -25116,14 +23262,10 @@ snapshots: utils-merge@1.0.1: {} - uuid@10.0.0: {} - uuid@7.0.3: {} uuid@8.3.2: {} - uuid@9.0.1: {} - validate-npm-package-name@5.0.1: {} validate-npm-package-name@6.0.1: {} @@ -25143,8 +23285,6 @@ snapshots: validate.io-number@1.0.3: {} - value-or-promise@1.0.12: {} - vary@1.1.2: {} vaul@1.1.2(@types/react-dom@19.1.11(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): @@ -25216,18 +23356,18 @@ snapshots: - rollup - supports-color - vite-plugin-dts@4.5.4(@types/node@22.17.0)(rollup@4.44.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1)): + vite-plugin-dts@4.5.4(@types/node@22.17.0)(rollup@4.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1)): dependencies: '@microsoft/api-extractor': 7.48.1(@types/node@22.17.0) '@rollup/pluginutils': 5.2.0(rollup@4.44.1) '@volar/typescript': 2.4.17 - '@vue/language-core': 2.2.0(typescript@5.8.3) + '@vue/language-core': 2.2.0(typescript@5.9.3) compare-versions: 6.1.1 debug: 4.4.1(supports-color@5.5.0) kolorist: 1.8.0 local-pkg: 1.1.1 magic-string: 0.30.17 - typescript: 5.8.3 + typescript: 5.9.3 optionalDependencies: vite: 7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1) transitivePeerDependencies: @@ -25425,11 +23565,6 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - wide-align@1.1.5: - dependencies: - string-width: 4.2.3 - optional: true - wildcard@2.0.1: {} word-wrap@1.2.5: {} @@ -25523,11 +23658,6 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yauzl@2.10.0: - dependencies: - buffer-crc32: 0.2.13 - fd-slicer: 1.1.0 - yocto-queue@0.1.0: {} yocto-queue@1.2.1: {} diff --git a/website/src/docs/official-plugins/_meta.json b/website/src/docs/official-plugins/_meta.json index 9ccbac45..d1d15e97 100644 --- a/website/src/docs/official-plugins/_meta.json +++ b/website/src/docs/official-plugins/_meta.json @@ -44,6 +44,11 @@ "name": "mmkv", "label": "MMKV" }, + { + "type": "file", + "name": "storage", + "label": "Storage" + }, { "type": "file", "name": "require-profiler", diff --git a/website/src/docs/official-plugins/mmkv.mdx b/website/src/docs/official-plugins/mmkv.mdx index cad514a8..5d291d4e 100644 --- a/website/src/docs/official-plugins/mmkv.mdx +++ b/website/src/docs/official-plugins/mmkv.mdx @@ -6,6 +6,10 @@ import { PackageManagerTabs } from '@rspress/core/theme'; The MMKV plugin provides comprehensive storage inspection and management for React Native applications using MMKV, offering real-time data visualization and editing capabilities directly within your DevTools environment. +:::warning Deprecation Notice +The MMKV plugin is planned to be deprecated in favor of the generic [Storage plugin](./storage.md), which supports MMKV and additional storage backends through adapters. +::: + ## What is MMKV Plugin? The MMKV plugin is a powerful debugging tool that helps you inspect and manage MMKV storage instances in your React Native application. It provides: diff --git a/website/src/docs/official-plugins/overview.mdx b/website/src/docs/official-plugins/overview.mdx index 97f207d1..8f4956bb 100644 --- a/website/src/docs/official-plugins/overview.mdx +++ b/website/src/docs/official-plugins/overview.mdx @@ -69,6 +69,15 @@ Inspect and manage MMKV storage instances in your React Native app with comprehe - **Visual Data Representation**: Color-coded type indicators and formatted value display - **Data Management**: Add, edit, and delete entries directly from the DevTools interface +### [Storage](./storage.md) + +Inspect multiple storage backends from one panel using adapters for MMKV, AsyncStorage, and Expo SecureStore. This plugin provides: + +- **Multi-Adapter Support**: Combine multiple storage libraries in one DevTools panel +- **Per-Storage Capabilities**: Enforce supported value types per storage +- **Per-Storage Blacklist**: Hide sensitive or noisy keys per storage instance +- **Async + Sync Coverage**: Works with both sync (MMKV) and async (AsyncStorage/SecureStore) APIs + ## Installing Plugins Plugins should be installed as development dependencies since they are only needed during development: @@ -85,6 +94,8 @@ Plugins should be installed as development dependencies since they are only need + + See the individual plugin documentation for complete installation instructions including hook setup. ## Configuration @@ -101,4 +112,4 @@ Want to contribute to plugins or suggest new ones? Check out our [Plugin Develop --- -**Next**: Learn about the [Expo Atlas plugin](./expo-atlas.md), [TanStack Query plugin](./tanstack-query.md), [Network Activity Inspector](./network-activity.md), [Redux DevTools plugin](./redux-devtools.md), [Performance Monitor plugin](./performance-monitor.md), or [MMKV plugin](./mmkv.md). +**Next**: Learn about the [Expo Atlas plugin](./expo-atlas.md), [TanStack Query plugin](./tanstack-query.md), [Network Activity Inspector](./network-activity.md), [Redux DevTools plugin](./redux-devtools.md), [Performance Monitor plugin](./performance-monitor.md), [MMKV plugin](./mmkv.md), or [Storage plugin](./storage.md). diff --git a/website/src/docs/official-plugins/storage.mdx b/website/src/docs/official-plugins/storage.mdx new file mode 100644 index 00000000..28804b22 --- /dev/null +++ b/website/src/docs/official-plugins/storage.mdx @@ -0,0 +1,122 @@ +import { PackageManagerTabs } from '@rspress/core/theme'; + +# Storage Plugin + +The Storage plugin provides a generic storage inspector for React Native DevTools. It supports multiple adapters and multiple storages per adapter, so you can inspect MMKV, AsyncStorage, and SecureStore in one panel. + +## Installation + +Make sure to go through the [Getting Started guide](/docs/getting-started) before installing the plugin. + +Install the plugin: + + + +Install adapter peer dependencies for the storages you use: + + + +## Base Setup + +```ts title="App.tsx" +import { + createAsyncStorageAdapter, + createExpoSecureStorageAdapter, + createMMKVStorageAdapter, + useRozeniteStoragePlugin, +} from '@rozenite/storage-plugin'; + +const storages = [ + createMMKVStorageAdapter({ + storages: { + user: userStorage, + cache: cacheStorage, + }, + }), + createAsyncStorageAdapter({ + storage: AsyncStorage, + }), + createExpoSecureStorageAdapter({ + storage: SecureStore, + keys: ['token', 'session'], + }), +]; + +function App() { + useRozeniteStoragePlugin({ storages }); + return ; +} +``` + +## Adapter: MMKV + +```ts title="App.tsx" +createMMKVStorageAdapter({ + adapterId: 'mmkv', + adapterName: 'MMKV', + storages: { + 'user-storage': userStorage, + 'settings-storage': settingsStorage, + }, + blacklist: { + 'user-storage': /token|secret|password/, + }, +}); +``` + +### Limitations + +- MMKV v4 arrays are not supported because storage IDs are not readable from instances; pass a record (`{ id: instance }`) instead. +- Buffer support depends on MMKV runtime behavior and value decoding heuristics. + +## Adapter: AsyncStorage + +```ts title="App.tsx" +// v2 style +createAsyncStorageAdapter({ + storage: AsyncStorage, +}); + +// v3 style (instance-based) +createAsyncStorageAdapter({ + storages: { + auth: authStorageInstance, + cache: { + storage: cacheStorageInstance, + name: 'Cache Instance', + blacklist: /debug|temp/, + }, + }, +}); +``` + +## Adapter: Expo SecureStore + +```ts title="App.tsx" +createExpoSecureStorageAdapter({ + storage: SecureStore, + keys: async () => ['token', 'session', 'refreshToken'], + storageName: 'Auth Secure Storage', +}); +``` + +### Limitations + +- SecureStore does not provide key enumeration; you must provide known keys via `keys`. + +## Per-Storage Blacklist + +Blacklist is configured per storage and matched against the key in that storage. + +```ts title="App.tsx" +createAsyncStorageAdapter({ + storages: { + cache: { + storage: cacheStorageInstance, + blacklist: /temp|debug|internal/, + }, + }, +}); +``` + +**Next**: See [MMKV](./mmkv.md), [Network Activity](./network-activity.md), and [Plugin Development](../plugin-development/plugin-development.md). From 973f68256f9b2bd6f70e0581bce18e4bfb9f1932 Mon Sep 17 00:00:00 2001 From: Szymon Chmal Date: Fri, 6 Mar 2026 12:29:03 +0100 Subject: [PATCH 2/4] chore: update lockfile --- pnpm-lock.yaml | 2813 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 2484 insertions(+), 329 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8a88c687..272f4b4f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -34,7 +34,7 @@ importers: devDependencies: '@changesets/changelog-github': specifier: ^0.5.2 - version: 0.5.2 + version: 0.5.2(encoding@0.1.13) '@changesets/cli': specifier: ^2.27.1 version: 2.29.8(@types/node@18.16.9) @@ -118,7 +118,7 @@ importers: dependencies: '@expo/vector-icons': specifier: ^15.0.3 - version: 15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + version: 15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@react-native-async-storage/async-storage': specifier: ^3.0.1 version: 3.0.1(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) @@ -181,40 +181,40 @@ importers: version: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-constants: specifier: ~55.0.4 - version: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + version: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) expo-font: specifier: ~55.0.3 - version: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + version: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-haptics: specifier: ~55.0.5 - version: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) + version: 55.0.5(expo@55.0.0-preview.10) expo-image: specifier: ~55.0.3 - version: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + version: 55.0.3(expo@55.0.0-preview.10)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-linking: specifier: ~55.0.4 version: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-router: specifier: ~55.0.0-preview.7 - version: 55.0.0-preview.7(mfjfgdrtx2hkscbkfatqrdcoli) + version: 55.0.0-preview.7(c332f919f836fd5fb063a1a24a62156a) expo-secure-store: specifier: ^55.0.8 - version: 55.0.8(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) + version: 55.0.8(expo@55.0.0-preview.10) expo-splash-screen: specifier: ~55.0.5 - version: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) + version: 55.0.5(expo@55.0.0-preview.10) expo-status-bar: specifier: ~55.0.2 version: 55.0.2(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-symbols: specifier: ~55.0.3 - version: 55.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + version: 55.0.3(expo-font@55.0.3)(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-system-ui: specifier: ~55.0.5 - version: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + version: 55.0.5(expo@55.0.0-preview.10)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) expo-web-browser: specifier: ~55.0.5 - version: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + version: 55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) react: specifier: 'catalog:' version: 19.2.0 @@ -232,7 +232,7 @@ importers: version: 1.11.0(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) react-native-harness: specifier: ^1.0.0-alpha.24 - version: 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@types/react@19.2.14)(immer@10.1.1)(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + version: 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@types/react@19.2.14)(immer@11.1.4)(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native-mmkv: specifier: ^4.0.0 version: 4.0.0(react-native-nitro-modules@0.31.4(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) @@ -259,10 +259,10 @@ importers: version: 15.15.1(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native-svg-web: specifier: ~1.0.9 - version: 1.0.9(prop-types@15.8.1)(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0) + version: 1.0.9(prop-types@15.8.1)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0) react-native-web: specifier: ~0.21.0 - version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react-native-worklets: specifier: 0.7.2 version: 0.7.2(@babel/core@7.28.0)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) @@ -271,7 +271,7 @@ importers: version: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) zustand: specifier: ^5.0.6 - version: 5.0.6(@types/react@19.2.14)(immer@10.1.1)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)) + version: 5.0.6(@types/react@19.2.14)(immer@11.1.4)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)) devDependencies: '@react-native-harness/platform-android': specifier: ^1.0.0-alpha.24 @@ -373,7 +373,7 @@ importers: version: 3.7.0 expo-atlas: specifier: ^0.4.0 - version: 0.4.0(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) + version: 0.4.0(expo@55.0.0-preview.10) devDependencies: '@rozenite/tools': specifier: workspace:* @@ -407,7 +407,7 @@ importers: version: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -524,7 +524,7 @@ importers: version: 0.31.4(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -618,7 +618,7 @@ importers: version: 1.2.1 react-native-web: specifier: ^0.21.2 - version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -639,7 +639,7 @@ importers: version: 7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1) zustand: specifier: ^5.0.6 - version: 5.0.6(@types/react@19.2.14)(immer@10.1.1)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)) + version: 5.0.6(@types/react@19.2.14)(immer@11.1.4)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)) packages/overlay-plugin: dependencies: @@ -676,7 +676,7 @@ importers: version: 15.8.0(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -743,7 +743,7 @@ importers: version: 5.1.4(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) react-native-web: specifier: ^0.21.2 - version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react-virtuoso: specifier: ^4.6.0 version: 4.14.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -810,7 +810,7 @@ importers: version: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -832,25 +832,22 @@ importers: packages/redux-devtools-plugin: dependencies: - '@redux-devtools/instrument': - specifier: ^2.2.0 - version: 2.2.0(redux@5.0.1) - '@redux-devtools/utils': - specifier: ^3.1.1 - version: 3.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) + '@redux-devtools/cli': + specifier: ^4.0.3 + version: 4.0.4(encoding@0.1.13)(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1)) + '@redux-devtools/remote': + specifier: ^0.9.5 + version: 0.9.5(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) '@rozenite/plugin-bridge': specifier: workspace:* version: link:../plugin-bridge '@rozenite/tools': specifier: workspace:* version: link:../tools - jsan: - specifier: ^3.1.14 - version: 3.1.14 devDependencies: '@redux-devtools/app': specifier: ^6.2.2 - version: 6.2.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) + version: 6.2.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) '@rozenite/vite-plugin': specifier: workspace:* version: link:../vite-plugin @@ -881,9 +878,12 @@ importers: react-native: specifier: 'catalog:' version: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) + react-native-get-random-values: + specifier: ^1.11.0 + version: 1.11.0(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) react-native-web: specifier: ^0.21.2 - version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react-redux: specifier: ^9.2.0 version: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) @@ -981,7 +981,7 @@ importers: version: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -1054,7 +1054,7 @@ importers: version: 0.31.4(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -1109,7 +1109,7 @@ importers: version: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) react-native-web: specifier: ^0.21.2 - version: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rozenite: specifier: workspace:* version: link:../cli @@ -1148,7 +1148,7 @@ importers: version: 3.1.10 vite-plugin-dts: specifier: ~4.5.0 - version: 4.5.4(@types/node@22.17.0)(rollup@4.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1)) + version: 4.5.4(@types/node@22.17.0)(rollup@4.44.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1)) vite-plugin-react-native-web: specifier: ^2.1.1 version: 2.1.1 @@ -1217,6 +1217,98 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@apollo/cache-control-types@1.0.3': + resolution: {integrity: sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/protobufjs@1.2.7': + resolution: {integrity: sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==} + hasBin: true + + '@apollo/server-gateway-interface@1.1.1': + resolution: {integrity: sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ==} + deprecated: '@apollo/server-gateway-interface v1 is part of Apollo Server v4, which is deprecated and will transition to end-of-life on January 26, 2026. As long as you are already using a non-EOL version of Node.js, upgrading to v2 should take only a few minutes. See https://www.apollographql.com/docs/apollo-server/previous-versions for details.' + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/server@4.13.0': + resolution: {integrity: sha512-t4GzaRiYIcPwYy40db6QjZzgvTr9ztDKBddykUXmBb2SVjswMKXbkaJ5nPeHqmT3awr9PAaZdCZdZhRj55I/8A==} + engines: {node: '>=14.16.0'} + deprecated: Apollo Server v4 is end-of-life since January 26, 2026. As long as you are already using a non-EOL version of Node.js, upgrading to v5 should take only a few minutes. See https://www.apollographql.com/docs/apollo-server/previous-versions for details. + peerDependencies: + graphql: ^16.6.0 + + '@apollo/usage-reporting-protobuf@4.1.1': + resolution: {integrity: sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==} + + '@apollo/utils.createhash@2.0.2': + resolution: {integrity: sha512-UkS3xqnVFLZ3JFpEmU/2cM2iKJotQXMoSTgxXsfQgXLC5gR1WaepoXagmYnPSA7Q/2cmnyTYK5OgAgoC4RULPg==} + engines: {node: '>=14'} + + '@apollo/utils.dropunuseddefinitions@2.0.1': + resolution: {integrity: sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.fetcher@2.0.1': + resolution: {integrity: sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A==} + engines: {node: '>=14'} + + '@apollo/utils.isnodelike@2.0.1': + resolution: {integrity: sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q==} + engines: {node: '>=14'} + + '@apollo/utils.keyvaluecache@2.1.1': + resolution: {integrity: sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw==} + engines: {node: '>=14'} + + '@apollo/utils.logger@2.0.1': + resolution: {integrity: sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg==} + engines: {node: '>=14'} + + '@apollo/utils.printwithreducedwhitespace@2.0.1': + resolution: {integrity: sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.removealiases@2.0.1': + resolution: {integrity: sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.sortast@2.0.1': + resolution: {integrity: sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.stripsensitiveliterals@2.0.1': + resolution: {integrity: sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.usagereporting@2.1.0': + resolution: {integrity: sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.withrequired@2.0.1': + resolution: {integrity: sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA==} + engines: {node: '>=14'} + + '@as-integrations/express5@1.1.2': + resolution: {integrity: sha512-BxfwtcWNf2CELDkuPQxi5Zl3WqY/dQVJYafeCBOGoFQjv5M0fjhxmAFZ9vKx/5YKKNeok4UY6PkFbHzmQrdxIA==} + engines: {node: '>=20'} + peerDependencies: + '@apollo/server': ^4.0.0 || ^5.0.0 + express: ^5.0.0 + '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} @@ -1784,6 +1876,10 @@ packages: resolution: {integrity: sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.28.6': + resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} + engines: {node: '>=6.9.0'} + '@babel/template@7.27.2': resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} @@ -1997,6 +2093,9 @@ packages: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} + '@dmsnell/diff-match-patch@1.1.0': + resolution: {integrity: sha512-yejLPmM5pjsGvxS9gXablUSbInW7H976c/FJ4iQxWIm7/38xBySRemTPDe34lhg1gVLbJntX0+sH0jYfU+PN9A==} + '@dnd-kit/accessibility@3.1.1': resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==} peerDependencies: @@ -2014,6 +2113,18 @@ packages: '@dnd-kit/core': ^6.1.0 react: '>=16.8.0' + '@dnd-kit/modifiers@9.0.0': + resolution: {integrity: sha512-ybiLc66qRGuZoC20wdSSG6pDXFikui/dCNGthxv4Ndy8ylErY0N3KVxY2bgo7AWwIbxDmXDg3ylAFmnrjcbVvw==} + peerDependencies: + '@dnd-kit/core': ^6.3.0 + react: '>=16.8.0' + + '@dnd-kit/sortable@10.0.0': + resolution: {integrity: sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==} + peerDependencies: + '@dnd-kit/core': ^6.3.0 + react: '>=16.8.0' + '@dnd-kit/sortable@8.0.0': resolution: {integrity: sha512-U3jk5ebVXe1Lr7c2wU7SBZjcWdQP+j7peHJfCspnA81enlu88Mgd7CC8Q+pub9ubP7eKVETzJW+IBAhsqbSu/g==} peerDependencies: @@ -2029,6 +2140,10 @@ packages: resolution: {integrity: sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==} engines: {node: '>=0.8.0'} + '@electron/get@2.0.3': + resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} + engines: {node: '>=12'} + '@emnapi/core@1.6.0': resolution: {integrity: sha512-zq/ay+9fNIJJtJiZxdTnXS20PllcYMX3OE23ESc4HK/bdYu3cOWYVhsOhVnXALfU/uqJIxn5NBPd9z4v+SfoSg==} @@ -2068,6 +2183,16 @@ packages: '@emotion/sheet@1.4.0': resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} + '@emotion/styled@11.14.1': + resolution: {integrity: sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==} + peerDependencies: + '@emotion/react': ^11.0.0-rc.0 + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + '@emotion/stylis@0.8.5': resolution: {integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==} @@ -2435,7 +2560,7 @@ packages: peerDependencies: expo-font: '>=14.0.4' react: '*' - react-native: 0.76.0 + react-native: '*' '@expo/ws-tunnel@1.0.6': resolution: {integrity: sha512-nDRbLmSrJar7abvUjp3smDwH8HcbZcoOEa5jVPUv9/9CajgmWw20JNRwTuBRzWIWIkEJDkz20GoNA+tSwUqk0Q==} @@ -2483,6 +2608,29 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@gar/promisify@1.1.3': + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + + '@graphql-tools/merge@8.4.2': + resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/schema@9.0.19': + resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/utils@9.2.1': + resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-typed-document-node/core@3.2.0': + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -2676,6 +2824,14 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} + '@npmcli/fs@1.1.1': + resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} + + '@npmcli/move-file@1.1.2': + resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} + engines: {node: '>=10'} + deprecated: This functionality has been moved to @npmcli/fs + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -2683,6 +2839,36 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@radix-ui/colors@3.0.0': resolution: {integrity: sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==} @@ -3653,6 +3839,19 @@ packages: redux-persist: ^6.0.0 styled-components: ^5.3.11 + '@redux-devtools/app-core@2.0.0': + resolution: {integrity: sha512-jQR4kRd5RT57a1o0BSfhGjia5078im5LxFCIKM4w4tpj2+Du0TyzHAycQSYZq4cn6Kp930zAE5HgpSCzD4WzWg==} + peerDependencies: + '@emotion/react': ^11.14.0 + '@emotion/styled': ^11.14.1 + '@reduxjs/toolkit': ^1.0.0 || ^2.0.0 + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-redux: ^8.0.0 || ^9.0.0 + redux: ^4.0.0 || ^5.0.0 + redux-persist: ^6.0.0 + '@redux-devtools/app@6.2.2': resolution: {integrity: sha512-ZC+J/Pou6p5YZUyRigu2VUXR36V4mtZ2wV3NXXyJiXwDuTSQmPIFUlayEh9DxC8Jt8h5d+A/nG++uqaV14f/9g==} peerDependencies: @@ -3664,6 +3863,16 @@ packages: react-dom: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 styled-components: ^5.3.11 + '@redux-devtools/app@7.0.0': + resolution: {integrity: sha512-dCKoqBxZnPuKMGdKGiM7v2TDMf5byNGtckyX6K/FCiTikx2MTYjPFIEMgiHRfx6Z/cjaBByjoP5MKJNJ9qQq9g==} + peerDependencies: + '@emotion/react': ^11.14.0 + '@emotion/styled': ^11.14.1 + '@reduxjs/toolkit': ^1.0.0 || ^2.0.0 + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@redux-devtools/chart-monitor@5.1.1': resolution: {integrity: sha512-M4HQnjfjwVTgsii1CKj/oGdURa4FSdyDeQk1Mt/X7fyvtY7v8i/6o2B+d/+N2UqgK+iTGEbdV3qW25+sGS5/jg==} peerDependencies: @@ -3672,6 +3881,11 @@ packages: react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 redux: ^3.4.0 || ^4.0.0 || ^5.0.0 + '@redux-devtools/cli@4.0.4': + resolution: {integrity: sha512-LT0VAdxhNBR+tBJJFhzurvsYYtWEODQ3Y+CSMVko6VgesLuVqArdRQtUCUmvos33n0pPu05igGxpoHrmzCFc5Q==} + engines: {node: '>= 18.12.0'} + hasBin: true + '@redux-devtools/core@4.1.1': resolution: {integrity: sha512-ZyyJwiHX4DFDU0llk45tYSFPoIMekdoKLz0Q7soowpNOtchvTxruQx4Xy//Cohkwsw+DH8W1amdo4C/NYT6ARA==} peerDependencies: @@ -3691,6 +3905,17 @@ packages: redux: ^3.4.0 || ^4.0.0 || ^5.0.0 styled-components: ^5.3.11 + '@redux-devtools/inspector-monitor-test-tab@5.0.0': + resolution: {integrity: sha512-bPMZMmqsxDMqxPBD7ygvrJnrNOP0cOKw7oDJvEvdbQgbbL7drlURTr7DSERn6h+/UETTUTKmP6qYOFv2T5/6cg==} + peerDependencies: + '@emotion/react': ^11.14.0 + '@emotion/styled': ^11.14.1 + '@redux-devtools/inspector-monitor': ^6.1.2 + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + redux: ^3.4.0 || ^4.0.0 || ^5.0.0 + '@redux-devtools/inspector-monitor-trace-tab@4.1.1': resolution: {integrity: sha512-oA7QJiWeY5paYsc4bo3r+oA61pxJP3AsWhrOHkePmiIWmb62ez911SRGI5NORJqxY9OremxXbxgY7U8n2/JdGA==} peerDependencies: @@ -3711,6 +3936,16 @@ packages: react-dom: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 redux: ^3.4.0 || ^4.0.0 || ^5.0.0 + '@redux-devtools/inspector-monitor@6.1.2': + resolution: {integrity: sha512-DrwnoCjzTRJnWDF0OarWethoZgkQ1lIomPkU49uNfSka5lqRGyW+A8vEVNPgvW1DgnoA4Rn5nRFN0lkQOLk+Tw==} + peerDependencies: + '@emotion/react': ^11.14.0 + '@redux-devtools/core': ^4.1.1 + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + redux: ^3.4.0 || ^4.0.0 || ^5.0.0 + '@redux-devtools/instrument@2.2.0': resolution: {integrity: sha512-HKaL+ghBQ4ZQkM/kEQIKx8dNwz4E1oeiCDfdQlpPXxEi/BrisyrFFncAXb1y2HIJsLV9zSvQUR2jRtMDWgfi8w==} peerDependencies: @@ -3724,6 +3959,11 @@ packages: react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 redux: ^3.4.0 || ^4.0.0 || ^5.0.0 + '@redux-devtools/remote@0.9.5': + resolution: {integrity: sha512-ETOUWgB5n6yopU4xH6wSwwmcVQT6liGBJbrWHkJkXCbCq9j/VqXHQ7spNN398p59vDseFZWOPo8KXNI0Mvo1RQ==} + peerDependencies: + redux: ^3.5.2 || ^4.0.0 || ^5.0.0 + '@redux-devtools/rtk-query-monitor@5.2.0': resolution: {integrity: sha512-UN6v4JN3jaLj8IaErbz14rwBLS/TkISXUmAQ9/5JoeDpXqt6yLwvvYG9ptiUVpEtc98Q8wyDJcC1ZfOnXSqaAQ==} peerDependencies: @@ -3736,6 +3976,17 @@ packages: redux: ^3.4.0 || ^4.0.0 || ^5.0.0 styled-components: ^5.3.11 + '@redux-devtools/rtk-query-monitor@6.0.0': + resolution: {integrity: sha512-uSZiNVL77leLd58m8u/uzt8Wiwr37NI93c7BStGCCu3pZycZZBWqEiVtOvQ/+rVEf+gPfomdBSb+guXcX05gZw==} + peerDependencies: + '@emotion/react': ^11.14.0 + '@emotion/styled': ^11.14.1 + '@redux-devtools/core': ^4.1.1 + '@reduxjs/toolkit': ^1.0.0 || ^2.0.0 + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + redux: ^3.4.0 || ^4.0.0 || ^5.0.0 + '@redux-devtools/serialize@0.4.2': resolution: {integrity: sha512-YVqZCChJld5l3Ni2psEZ5loe9x5xpf9J4ckz+7OJdzCNsplC7vzjnkQbFxE6+ULZbywRVp+nSBslTXmaXqAw4A==} peerDependencies: @@ -3751,6 +4002,16 @@ packages: redux: ^3.4.0 || ^4.0.0 || ^5.0.0 styled-components: ^5.3.11 + '@redux-devtools/slider-monitor@6.0.0': + resolution: {integrity: sha512-sdvBIvJNeUtewLy1SrCnEfh0KB5amLrRDCXwtQzohNBqlc2nVU1yLvbm3voR8GBGkv3UTms7NpGWq+kQLN595A==} + peerDependencies: + '@emotion/react': ^11.14.0 + '@emotion/styled': ^11.14.1 + '@redux-devtools/core': ^4.1.1 + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + redux: ^3.4.0 || ^4.0.0 || ^5.0.0 + '@redux-devtools/ui@1.4.0': resolution: {integrity: sha512-gPV2tUeq0IL1t/nleF5axWXqqDmadCtSRCXlZs4tL3KYZVQDxCKAh+ew/WavPRfrhLsyAERDXGiSKcdsURY5fg==} peerDependencies: @@ -3759,11 +4020,30 @@ packages: react: ^16.3.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 styled-components: ^5.3.11 + '@redux-devtools/ui@2.0.0': + resolution: {integrity: sha512-8pEa1eX5/FHoXIGgBtpAkle5cQSnWfVXwC/gzetIaisxaaG51FYlrGzthFU6OIg+cVIVcOy7agfvqfexl0gjUg==} + peerDependencies: + '@emotion/react': ^11.14.0 + '@emotion/styled': ^11.14.1 + '@types/react': ^16.3.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^16.3.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@redux-devtools/utils@3.1.1': resolution: {integrity: sha512-l+m3/8a7lcxULInBADIqE/3Tt2DkTJm5MAGVA/4czMCXW0VE+gdjkoRFqgZhTBoDJW1fi1z8pdL+4G/+R1rDJw==} peerDependencies: redux: ^4.0.0 || ^5.0.0 + '@reduxjs/toolkit@2.11.2': + resolution: {integrity: sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==} + peerDependencies: + react: ^16.9.0 || ^17.0.0 || ^18 || ^19 + react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 + peerDependenciesMeta: + react: + optional: true + react-redux: + optional: true + '@reduxjs/toolkit@2.8.2': resolution: {integrity: sha512-MYlOhQ0sLdw4ud48FoC5w0dH9VfWQjtCjreKwYTT3l+r427qYC5Y8PihNutepr8XrNaBUDQo9khWUwQxZaqt5A==} peerDependencies: @@ -3782,18 +4062,37 @@ packages: '@rjsf/utils': ^5.24.x react: ^16.14.0 || >=17 + '@rjsf/core@5.24.13': + resolution: {integrity: sha512-ONTr14s7LFIjx2VRFLuOpagL76sM/HPy6/OhdBfq6UukINmTIs6+aFN0GgcR0aXQHFDXQ7f/fel0o/SO05Htdg==} + engines: {node: '>=14'} + peerDependencies: + '@rjsf/utils': ^5.24.x + react: ^16.14.0 || >=17 + '@rjsf/utils@5.24.12': resolution: {integrity: sha512-fDwQB0XkjZjpdFUz5UAnuZj8nnbxDbX5tp+jTOjjJKw2TMQ9gFFYCQ12lSpdhezA2YgEGZfxyYTGW0DKDL5Drg==} engines: {node: '>=14'} peerDependencies: react: ^16.14.0 || >=17 + '@rjsf/utils@5.24.13': + resolution: {integrity: sha512-rNF8tDxIwTtXzz5O/U23QU73nlhgQNYJ+Sv5BAwQOIyhIE2Z3S5tUiSVMwZHt0julkv/Ryfwi+qsD4FiE5rOuw==} + engines: {node: '>=14'} + peerDependencies: + react: ^16.14.0 || >=17 + '@rjsf/validator-ajv8@5.24.12': resolution: {integrity: sha512-IMXdCjvDNdvb+mDgZC3AlAtr0pjYKq5s0GcLECjG5PuiX7Ib4JaDQHZY5ZJdKblMfgzhsn8AAOi573jXAt7BHQ==} engines: {node: '>=14'} peerDependencies: '@rjsf/utils': ^5.24.x + '@rjsf/validator-ajv8@5.24.13': + resolution: {integrity: sha512-oWHP7YK581M8I5cF1t+UXFavnv+bhcqjtL1a7MG/Kaffi0EwhgcYjODrD8SsnrhncsEYMqSECr4ZOEoirnEUWw==} + engines: {node: '>=14'} + peerDependencies: + '@rjsf/utils': ^5.24.x + '@rolldown/pluginutils@1.0.0-beta.19': resolution: {integrity: sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==} @@ -4081,6 +4380,10 @@ packages: '@sinclair/typebox@0.34.48': resolution: {integrity: sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==} + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} @@ -4190,6 +4493,10 @@ packages: '@swc/types@0.1.25': resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + '@tanstack/query-core@5.83.0': resolution: {integrity: sha512-0M8dA+amXUkyz5cVUm/B+zSk3xkQAcuXuz5/Q/LveT4ots2rBpPTZOzd7yJa2Utsf8D2Upl5KyjhHRY+9lB/XA==} @@ -4250,6 +4557,10 @@ packages: jest: optional: true + '@tootallnate/once@1.1.2': + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + '@tootallnate/once@2.0.0': resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} @@ -4275,6 +4586,9 @@ packages: '@types/body-parser@1.19.6': resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + '@types/chai@5.2.2': resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} @@ -4404,9 +4718,15 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/express-serve-static-core@4.19.8': + resolution: {integrity: sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==} + '@types/express-serve-static-core@5.0.6': resolution: {integrity: sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==} + '@types/express@4.17.25': + resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} + '@types/express@5.0.3': resolution: {integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==} @@ -4439,6 +4759,9 @@ packages: peerDependencies: '@types/react': '*' + '@types/http-cache-semantics@4.2.0': + resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} + '@types/http-errors@2.0.5': resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} @@ -4460,12 +4783,18 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + '@types/lodash.debounce@4.0.9': resolution: {integrity: sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==} '@types/lodash@4.17.20': resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} + '@types/long@4.0.2': + resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} + '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -4478,6 +4807,9 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + '@types/node-fetch@2.6.13': + resolution: {integrity: sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==} + '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} @@ -4487,6 +4819,9 @@ packages: '@types/node@18.16.9': resolution: {integrity: sha512-IeB32oIV4oGArLrd7znD2rkHQ6EDCM+2Sr76dJnrHwv9OHBTTM6nuDLK9bmikXzPa0ZlWMWtRGo/Uw4mrzQedA==} + '@types/node@20.19.37': + resolution: {integrity: sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw==} + '@types/node@22.17.0': resolution: {integrity: sha512-bbAKTCqX5aNVryi7qXVMi+OkB3w/OyblodicMbvE38blyAz7GxXf6XYhklokijuPwwVg9sDLKRxt0ZHXQwZVfQ==} @@ -4518,6 +4853,9 @@ packages: '@types/react@19.2.14': resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + '@types/semver@7.7.0': resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} @@ -4563,6 +4901,9 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + '@typescript-eslint/eslint-plugin@8.46.0': resolution: {integrity: sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4847,6 +5188,9 @@ packages: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -4885,6 +5229,9 @@ packages: ag-request@1.1.0: resolution: {integrity: sha512-d4K7QC1KnIpzcnUNNOeh1ddxmYMLiIdhdc1M8osxiHbZP/uoia4IINhhf2+1CrlnNJEPUoUH0Y58Sx0qeqoIvg==} + ag-simple-broker@6.0.1: + resolution: {integrity: sha512-pDlHotEoC9uV2Uk8DrR570QXMiUd9QYwJZXWDlBJZEbYTHzMJLEJDJStxmn7Kp4eT7SIGoPFuzELYZyMYNZ2Kw==} + agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -4893,6 +5240,14 @@ packages: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: @@ -4980,6 +5335,14 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} + aproba@2.1.0: + resolution: {integrity: sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==} + + are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -5057,6 +5420,9 @@ packages: async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + async-retry@1.3.3: + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + async-stream-emitter@7.0.1: resolution: {integrity: sha512-1bgA3iZ80rCBX2LocvsyZPy0QB3/xM+CsXBze2HDHLmshOqx2JlAANGq23djaJ48e9fpcKzTzS1QM0hAKKI0UQ==} @@ -5191,6 +5557,10 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + base64id@2.0.0: + resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} + engines: {node: ^4.5.0 || >= 5.9} + baseline-browser-mapping@2.8.16: resolution: {integrity: sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw==} hasBin: true @@ -5215,12 +5585,18 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + birpc@2.9.0: resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} bl@1.2.3: resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -5235,6 +5611,10 @@ packages: boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + bplist-creator@0.1.0: resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==} @@ -5264,6 +5644,9 @@ packages: bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} @@ -5285,6 +5668,18 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + cacache@15.3.0: + resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} + engines: {node: '>= 10'} + + cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + + cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -5354,6 +5749,10 @@ packages: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -5384,6 +5783,13 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + chrome-launcher@0.15.2: resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} engines: {node: '>=12.13.0'} @@ -5409,6 +5815,10 @@ packages: classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + cli-cursor@2.1.0: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} engines: {node: '>=4'} @@ -5436,6 +5846,9 @@ packages: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} engines: {node: '>=6'} + clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} @@ -5447,6 +5860,9 @@ packages: codemirror@5.65.19: resolution: {integrity: sha512-+aFkvqhaAVr1gferNMuN8vkTSrWIFvzlMV9I2KBLCWS2WpZ2+UAkZjlMZmEuT+gcXTi6RrGQCkWq1/bDtGqhIA==} + codemirror@5.65.21: + resolution: {integrity: sha512-6teYk0bA0nR3QP0ihGMoxuKzpl5W80FpnHpBJpgy66NK3cZv5b/d/HY8PnRvfSsCG1MTfr92u2WUl+wT0E40mQ==} + collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} @@ -5460,19 +5876,42 @@ packages: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} + color-convert@3.1.3: + resolution: {integrity: sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==} + engines: {node: '>=14.6'} + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@2.1.0: + resolution: {integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==} + engines: {node: '>=12.20'} + color-string@1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + color-string@2.1.4: + resolution: {integrity: sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==} + engines: {node: '>=18'} + + color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + color@4.2.3: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} + color@5.0.3: + resolution: {integrity: sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==} + engines: {node: '>=18'} + + colorette@2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -5483,6 +5922,10 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + commander@12.1.0: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} @@ -5548,6 +5991,9 @@ packages: resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} engines: {node: '>= 0.10.0'} + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + consumable-stream@2.0.0: resolution: {integrity: sha512-I6WA2JVYXs/68rEvi1ie3rZjP6qusTVFEQkbzR+WC+fY56TpwiGTIDJETsrnlxv5CsnmK69ps6CkYvIbpEEqBA==} @@ -5609,6 +6055,10 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + cors@2.8.6: + resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} + engines: {node: '>= 0.10'} + cosmiconfig-typescript-loader@6.2.0: resolution: {integrity: sha512-GEN39v7TgdxgIoNcdkRE3uiAzQt3UXLyHbRHD6YoL048XAeOomyxaP+Hh/+2C6C2wYjxJ2onhJcsQp+L4YEkVQ==} engines: {node: '>=v18'} @@ -5859,6 +6309,15 @@ packages: supports-color: optional: true + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.4.1: resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} @@ -5878,6 +6337,10 @@ packages: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} @@ -5885,6 +6348,10 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -5903,6 +6370,10 @@ packages: defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -5926,6 +6397,9 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -5949,6 +6423,9 @@ packages: detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -6031,6 +6508,11 @@ packages: electron-to-chromium@1.5.234: resolution: {integrity: sha512-RXfEp2x+VRYn8jbKfQlRImzoJU01kyDvVPBmG39eU2iuRVhuS6vQNocB8J0/8GrIMLnPzgz4eW6WiRnJkTuNWg==} + electron@31.7.7: + resolution: {integrity: sha512-HZtZg8EHsDGnswFt0QeV8If8B+et63uD6RJ7I4/xhcXqmTIbI08GoubX/wm+HdY0DwcuPe1/xsgqpmYvjdjRoA==} + engines: {node: '>= 12.20.55'} + hasBin: true + emoji-regex@10.5.0: resolution: {integrity: sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==} @@ -6051,6 +6533,12 @@ packages: encoding-sniffer@0.2.1: resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -6079,6 +6567,9 @@ packages: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -6123,6 +6614,9 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} + es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + es6-template-regex@0.1.1: resolution: {integrity: sha512-sCeu9DOYhaSlKG7ry2y384bwxxaxPPdqWS0Jj45lv1MeQSpRK7mYlLO0jZdqwDLHViDWMsMikOkSIXuXpf4DiQ==} engines: {node: '>=0.10.0'} @@ -6262,6 +6756,10 @@ packages: jiti: optional: true + esm@3.2.25: + resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} + engines: {node: '>=6'} + espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -6348,6 +6846,10 @@ packages: resolution: {integrity: sha512-Fqs7ChZm72y40wKjOFXBKg7nJZvQJmewP5/7LtePDdnah/+FH9Hp5sgMujSCMPXlxOAW2//1jrW9pnsY7o20vQ==} engines: {node: '>=18'} + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + expect-type@1.2.2: resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} engines: {node: '>=12.0.0'} @@ -6548,6 +7050,11 @@ packages: extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + fast-base64-decode@1.0.0: resolution: {integrity: sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==} @@ -6613,6 +7120,9 @@ packages: fbjs@3.0.5: resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fdir@6.4.6: resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} peerDependencies: @@ -6640,6 +7150,9 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} @@ -6753,6 +7266,10 @@ packages: resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==} engines: {node: '>= 6'} + form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + engines: {node: '>= 6'} + forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -6772,6 +7289,9 @@ packages: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -6784,6 +7304,10 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -6802,6 +7326,11 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + generator-function@2.0.1: resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} engines: {node: '>= 0.4'} @@ -6833,10 +7362,18 @@ packages: get-params@0.1.2: resolution: {integrity: sha512-41eOxtlGgHQRbFyA8KTH+w+32Em3cRdfBud7j67ulzmIfmaHX9doq47s0fa4P5o9H64BZX9nrYI6sJvk46Op+Q==} + get-port@7.1.0: + resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} + engines: {node: '>=16'} + get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -6860,12 +7397,18 @@ packages: resolution: {integrity: sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==} engines: {node: '>=6'} + getopts@2.3.0: + resolution: {integrity: sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==} + git-raw-commits@4.0.0: resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} engines: {node: '>=16'} deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -6890,6 +7433,10 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + global-agent@3.0.0: + resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} + engines: {node: '>=10.0'} + global-directory@4.0.1: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} engines: {node: '>=18'} @@ -6914,6 +7461,10 @@ packages: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} + got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -6924,6 +7475,10 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + graphql@16.13.1: + resolution: {integrity: sha512-gGgrVCoDKlIZ8fIqXBBb0pPKqDgki0Z/FSKNiQzSGj2uEYHr1tq5wmBegGwJx6QB5S5cM0khSBpi/JFHMCvsmQ==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -6955,6 +7510,9 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -7052,10 +7610,17 @@ packages: htmlparser2@10.1.0: resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} + http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -7068,6 +7633,10 @@ packages: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} + http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} @@ -7084,6 +7653,9 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + husky@9.1.7: resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} engines: {node: '>=18'} @@ -7133,6 +7705,9 @@ packages: immer@10.1.1: resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} + immer@11.1.4: + resolution: {integrity: sha512-XREFCPo6ksxVzP4E0ekD5aMdf8WMwmdNaz6vuvxgI40UaEiu6q3p8X52aU6GdyvLY3XXX/8R7JOTXStz/nBbRw==} + immutable@4.3.7: resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} @@ -7162,6 +7737,9 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -7169,6 +7747,9 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ini@4.1.1: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -7187,9 +7768,17 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} + interpret@2.2.0: + resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} + engines: {node: '>= 0.10'} + invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + ip-address@10.1.0: + resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} + engines: {node: '>= 12'} + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -7302,6 +7891,9 @@ packages: engines: {node: '>=14.16'} hasBin: true + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -7602,6 +8194,9 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -7620,6 +8215,11 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + jsondiffpatch@0.7.3: + resolution: {integrity: sha512-zd4dqFiXSYyant2WgSXAZ9+yYqilNVvragVNkNRn2IFZKgjyULNrKRznqN4Zon0MkLueCg+3QaPVCnDAVP20OQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -7659,6 +8259,34 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} + knex@3.1.0: + resolution: {integrity: sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw==} + engines: {node: '>=16'} + hasBin: true + peerDependencies: + better-sqlite3: '*' + mysql: '*' + mysql2: '*' + pg: '*' + pg-native: '*' + sqlite3: '*' + tedious: '*' + peerDependenciesMeta: + better-sqlite3: + optional: true + mysql: + optional: true + mysql2: + optional: true + pg: + optional: true + pg-native: + optional: true + sqlite3: + optional: true + tedious: + optional: true + kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} @@ -7843,6 +8471,9 @@ packages: lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} @@ -7866,6 +8497,13 @@ packages: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} + loglevel@1.9.2: + resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} + engines: {node: '>= 0.6.0'} + + long@4.0.0: + resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} + longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -7876,6 +8514,10 @@ packages: loupe@3.2.1: resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} + lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -7890,6 +8532,10 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + lucide-react@0.263.1: resolution: {integrity: sha512-keqxAx97PlaEN89PXZ6ki1N8nRjGWtDa4021GFYLNj0RgruM5odbpl8GHTExj0hhPq3sF6Up0gnxt6TSHu+ovw==} peerDependencies: @@ -7902,6 +8548,10 @@ packages: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} + make-fetch-happen@9.1.0: + resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} + engines: {node: '>= 10'} + makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} @@ -7924,6 +8574,10 @@ packages: marky@1.3.0: resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} + matcher@3.0.0: + resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} + engines: {node: '>=10'} + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -8341,6 +8995,14 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -8366,10 +9028,45 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + + minipass-fetch@1.4.1: + resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} + engines: {node: '>=8'} + + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -8386,6 +9083,10 @@ packages: resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} engines: {node: '>= 0.8.0'} + morgan@1.10.1: + resolution: {integrity: sha512-223dMRJtI/l25dJKWpgij2cMtywuG/WiUKXdvwfbhGKBhy1puASqXwFzmWZ7+K73vUPoR7SS2Qz2cI/g9MKw0A==} + engines: {node: '>= 0.8.0'} + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -8397,6 +9098,9 @@ packages: ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -8431,6 +9135,9 @@ packages: engines: {node: ^18 || >=20} hasBin: true + napi-build-utils@2.0.0: + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} + napi-postinstall@0.3.4: resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -8458,6 +9165,16 @@ packages: resolution: {integrity: sha512-AntnTbmKZvNYIsTVPPwv7dfZdAfo/6H/2ZlZACK66NAOQtIApxkB/6pf/c+s+ACW8vemGJzUCyVTssrzNUK6yQ==} engines: {node: '>=16.0.0'} + node-abi@3.87.0: + resolution: {integrity: sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==} + engines: {node: '>=10'} + + node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-dir@0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} engines: {node: '>= 0.10.5'} @@ -8479,6 +9196,11 @@ packages: resolution: {integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==} engines: {node: '>= 6.13.0'} + node-gyp@8.4.1: + resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} + engines: {node: '>= 10.12.0'} + hasBin: true + node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} @@ -8489,6 +9211,11 @@ packages: node-releases@2.0.23: resolution: {integrity: sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==} + nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -8497,6 +9224,10 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + npm-package-arg@11.0.3: resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} engines: {node: ^16.14.0 || >=18.0.0} @@ -8505,6 +9236,11 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} + npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + nprogress@0.2.0: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} @@ -8585,6 +9321,10 @@ packages: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -8633,6 +9373,10 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} + p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -8673,6 +9417,10 @@ packages: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + p-throttle@7.0.0: resolution: {integrity: sha512-aio0v+S0QVkH1O+9x4dHtD4dgCExACcL+3EtNaGqC01GBudS9ijMuUsmN8OVScyV4OOp0jqdLShZFuSlbL/AsA==} engines: {node: '>=18'} @@ -8774,6 +9522,12 @@ packages: resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} engines: {node: '>=4.0.0'} @@ -8930,6 +9684,12 @@ packages: resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} engines: {node: '>=0.10.0'} + prebuild-install@7.1.3: + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} + engines: {node: '>=10'} + deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. + hasBin: true + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -8977,6 +9737,18 @@ packages: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + promise@7.3.1: resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} @@ -9009,6 +9781,9 @@ packages: psl@1.15.0: resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + pump@3.0.4: + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -9044,6 +9819,10 @@ packages: quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + radix-ui@1.4.2: resolution: {integrity: sha512-fT/3YFPJzf2WUpqDoQi005GS8EpCi+53VhcLaHUj5fwkPYiZAjk1mSxFvbMA8Uq71L03n+WysuYC+mlKkXxt/Q==} peerDependencies: @@ -9075,6 +9854,10 @@ packages: resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} engines: {node: '>= 0.8'} + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + react-base16-styling@0.10.0: resolution: {integrity: sha512-H1k2eFB6M45OaiRru3PBXkuCcn2qNmx+gzLb4a9IPMR7tMH8oBRXU5jGbPDYG1Hz+82d88ED0vjR8BmqU3pQdg==} @@ -9384,6 +10167,10 @@ packages: readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -9396,6 +10183,10 @@ packages: resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} engines: {node: '>= 4'} + rechoir@0.8.0: + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} + engines: {node: '>= 10.13.0'} + recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -9508,6 +10299,9 @@ packages: reselect@5.1.1: resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolve-from@3.0.0: resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} engines: {node: '>=4'} @@ -9535,6 +10329,9 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + restore-cursor@2.0.0: resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} engines: {node: '>=4'} @@ -9547,6 +10344,14 @@ packages: resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} engines: {node: '>=10'} + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -9564,6 +10369,13 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true + rn-host-detect@1.2.0: + resolution: {integrity: sha512-btNg5kzHcjZZ7t7mvvV/4wNJ9e3MPgrWivkRgWURzXL0JJ0pwWlU4zrbmdlz3HHzHOxhBhHB4D+/dbMFfu4/4A==} + + roarr@2.15.4: + resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} + engines: {node: '>=8.0'} + robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} @@ -9671,6 +10483,9 @@ packages: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} + semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -9711,6 +10526,10 @@ packages: resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} engines: {node: '>=0.10.0'} + serialize-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} + serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} @@ -9725,6 +10544,9 @@ packages: server-only@0.0.1: resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-cookie-parser@2.7.1: resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} @@ -9750,6 +10572,11 @@ packages: resolution: {integrity: sha512-TPbeg0b7ylrswdGCji8FRGFAKuqbpQlLbL8SOle3j1iHSs5Ob5mhvMAxWN2UItOjgALAB5Zp3fmMfj8mbWvXKw==} engines: {node: '>=10'} + sha.js@2.4.12: + resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==} + engines: {node: '>= 0.10'} + hasBin: true + shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -9798,12 +10625,18 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + simple-diff@1.7.2: resolution: {integrity: sha512-7UPeBrh/I1zlY33vyUL5R0J1rP4HqP1zMpbuYw0+Lbq4OhWWadUi0dNziRMrQzjJsk2MoPwKDLHacjGpolUiqQ==} simple-element-resize-detector@1.3.0: resolution: {integrity: sha512-cCFTDpFMgz/OikrV9R++wOQgLbFwqrneci8FmAOH79xrfn1sQVZg9LJV2RvproMgdN2LnfZXZPrM+Z12GXN7jA==} + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + simple-plist@1.3.1: resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==} @@ -9832,9 +10665,24 @@ packages: resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} engines: {node: '>=8.0.0'} + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + socketcluster-client@19.2.7: resolution: {integrity: sha512-c6caNOr/49FUjlVnQfXb0TasMnrqY1uN/uevT99xicF+7NkvGSNwjP6rlMP0v1ZZjz+MosT2/qJNDDc2b3v/Jw==} + socketcluster-server@19.2.2: + resolution: {integrity: sha512-GHZn7+n2+rOUNoWWpr7kIzDWBc61HUQR0f9o6sAAnYEHXww6j7RhJ1Clonhp90D6gvRoLqK4jhgX+Y6bcBsWPA==} + + socks-proxy-agent@6.2.1: + resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} + engines: {node: '>= 10'} + + socks@2.8.7: + resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + sonic-boom@4.2.0: resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} @@ -9874,9 +10722,19 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + sqlite3@5.1.7: + resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} + ssim.js@3.5.0: resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==} + ssri@8.0.1: + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} + engines: {node: '>= 8'} + stable-hash@0.0.5: resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} @@ -10003,6 +10861,10 @@ packages: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -10043,6 +10905,10 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true + sumchecker@3.0.1: + resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} + engines: {node: '>= 8.0'} + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -10086,6 +10952,22 @@ packages: resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} engines: {node: '>=6'} + tar-fs@2.1.4: + resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + tarn@3.0.2: + resolution: {integrity: sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==} + engines: {node: '>=8.0.0'} + temp@0.8.4: resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} engines: {node: '>=6.0.0'} @@ -10156,6 +11038,10 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + tildify@2.0.0: + resolution: {integrity: sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==} + engines: {node: '>=8'} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -10198,6 +11084,10 @@ packages: tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + to-buffer@1.2.2: + resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} + engines: {node: '>= 0.4'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -10260,6 +11150,9 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + turbo-darwin-64@2.8.3: resolution: {integrity: sha512-4kXRLfcygLOeNcP6JquqRLmGB/ATjjfehiojL2dJkL7GFm3SPSXbq7oNj8UbD8XriYQ5hPaSuz59iF1ijPHkTw==} cpu: [x64] @@ -10302,6 +11195,10 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -10404,6 +11301,12 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + unique-filename@1.1.1: + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + + unique-slug@2.0.2: + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -10513,6 +11416,10 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} + uuid@13.0.0: + resolution: {integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==} + hasBin: true + uuid@7.0.3: resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} hasBin: true @@ -10521,6 +11428,10 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + validate-npm-package-name@5.0.1: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -10544,6 +11455,10 @@ packages: validate.io-number@1.0.3: resolution: {integrity: sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==} + value-or-promise@1.0.12: + resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} + engines: {node: '>=12'} + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -10745,6 +11660,9 @@ packages: engines: {node: '>=8'} hasBin: true + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} @@ -10870,6 +11788,9 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -10911,6 +11832,123 @@ snapshots: '@jridgewell/gen-mapping': 0.3.12 '@jridgewell/trace-mapping': 0.3.29 + '@apollo/cache-control-types@1.0.3(graphql@16.13.1)': + dependencies: + graphql: 16.13.1 + + '@apollo/protobufjs@1.2.7': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/long': 4.0.2 + long: 4.0.0 + + '@apollo/server-gateway-interface@1.1.1(graphql@16.13.1)': + dependencies: + '@apollo/usage-reporting-protobuf': 4.1.1 + '@apollo/utils.fetcher': 2.0.1 + '@apollo/utils.keyvaluecache': 2.1.1 + '@apollo/utils.logger': 2.0.1 + graphql: 16.13.1 + + '@apollo/server@4.13.0(encoding@0.1.13)(graphql@16.13.1)': + dependencies: + '@apollo/cache-control-types': 1.0.3(graphql@16.13.1) + '@apollo/server-gateway-interface': 1.1.1(graphql@16.13.1) + '@apollo/usage-reporting-protobuf': 4.1.1 + '@apollo/utils.createhash': 2.0.2 + '@apollo/utils.fetcher': 2.0.1 + '@apollo/utils.isnodelike': 2.0.1 + '@apollo/utils.keyvaluecache': 2.1.1 + '@apollo/utils.logger': 2.0.1 + '@apollo/utils.usagereporting': 2.1.0(graphql@16.13.1) + '@apollo/utils.withrequired': 2.0.1 + '@graphql-tools/schema': 9.0.19(graphql@16.13.1) + '@types/express': 4.17.25 + '@types/express-serve-static-core': 4.19.8 + '@types/node-fetch': 2.6.13 + async-retry: 1.3.3 + content-type: 1.0.5 + cors: 2.8.6 + express: 4.21.2 + graphql: 16.13.1 + loglevel: 1.9.2 + lru-cache: 7.18.3 + negotiator: 0.6.4 + node-abort-controller: 3.1.1 + node-fetch: 2.7.0(encoding@0.1.13) + uuid: 9.0.1 + whatwg-mimetype: 3.0.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@apollo/usage-reporting-protobuf@4.1.1': + dependencies: + '@apollo/protobufjs': 1.2.7 + + '@apollo/utils.createhash@2.0.2': + dependencies: + '@apollo/utils.isnodelike': 2.0.1 + sha.js: 2.4.12 + + '@apollo/utils.dropunuseddefinitions@2.0.1(graphql@16.13.1)': + dependencies: + graphql: 16.13.1 + + '@apollo/utils.fetcher@2.0.1': {} + + '@apollo/utils.isnodelike@2.0.1': {} + + '@apollo/utils.keyvaluecache@2.1.1': + dependencies: + '@apollo/utils.logger': 2.0.1 + lru-cache: 7.18.3 + + '@apollo/utils.logger@2.0.1': {} + + '@apollo/utils.printwithreducedwhitespace@2.0.1(graphql@16.13.1)': + dependencies: + graphql: 16.13.1 + + '@apollo/utils.removealiases@2.0.1(graphql@16.13.1)': + dependencies: + graphql: 16.13.1 + + '@apollo/utils.sortast@2.0.1(graphql@16.13.1)': + dependencies: + graphql: 16.13.1 + lodash.sortby: 4.7.0 + + '@apollo/utils.stripsensitiveliterals@2.0.1(graphql@16.13.1)': + dependencies: + graphql: 16.13.1 + + '@apollo/utils.usagereporting@2.1.0(graphql@16.13.1)': + dependencies: + '@apollo/usage-reporting-protobuf': 4.1.1 + '@apollo/utils.dropunuseddefinitions': 2.0.1(graphql@16.13.1) + '@apollo/utils.printwithreducedwhitespace': 2.0.1(graphql@16.13.1) + '@apollo/utils.removealiases': 2.0.1(graphql@16.13.1) + '@apollo/utils.sortast': 2.0.1(graphql@16.13.1) + '@apollo/utils.stripsensitiveliterals': 2.0.1(graphql@16.13.1) + graphql: 16.13.1 + + '@apollo/utils.withrequired@2.0.1': {} + + '@as-integrations/express5@1.1.2(@apollo/server@4.13.0(encoding@0.1.13)(graphql@16.13.1))(express@5.1.0)': + dependencies: + '@apollo/server': 4.13.0(encoding@0.1.13)(graphql@16.13.1) + express: 5.1.0 + '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.27.1 @@ -11591,6 +12629,8 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 + '@babel/runtime@7.28.6': {} + '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 @@ -11764,9 +12804,9 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/changelog-github@0.5.2': + '@changesets/changelog-github@0.5.2(encoding@0.1.13)': dependencies: - '@changesets/get-github-info': 0.7.0 + '@changesets/get-github-info': 0.7.0(encoding@0.1.13) '@changesets/types': 6.1.0 dotenv: 8.6.0 transitivePeerDependencies: @@ -11826,10 +12866,10 @@ snapshots: picocolors: 1.1.1 semver: 7.7.3 - '@changesets/get-github-info@0.7.0': + '@changesets/get-github-info@0.7.0(encoding@0.1.13)': dependencies: dataloader: 1.4.0 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: - encoding @@ -12049,11 +13089,26 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} + '@dmsnell/diff-match-patch@1.1.0': {} + + '@dnd-kit/accessibility@3.1.1(react@19.1.1)': + dependencies: + react: 19.1.1 + tslib: 2.8.1 + '@dnd-kit/accessibility@3.1.1(react@19.2.0)': dependencies: react: 19.2.0 tslib: 2.8.1 + '@dnd-kit/core@6.3.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@dnd-kit/accessibility': 3.1.1(react@19.1.1) + '@dnd-kit/utilities': 3.2.2(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + tslib: 2.8.1 + '@dnd-kit/core@6.3.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: '@dnd-kit/accessibility': 3.1.1(react@19.2.0) @@ -12069,6 +13124,20 @@ snapshots: react: 19.2.0 tslib: 2.8.1 + '@dnd-kit/modifiers@9.0.0(@dnd-kit/core@6.3.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@dnd-kit/utilities': 3.2.2(react@19.1.1) + react: 19.1.1 + tslib: 2.8.1 + + '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@dnd-kit/utilities': 3.2.2(react@19.1.1) + react: 19.1.1 + tslib: 2.8.1 + '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)': dependencies: '@dnd-kit/core': 6.3.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -12076,6 +13145,11 @@ snapshots: react: 19.2.0 tslib: 2.8.1 + '@dnd-kit/utilities@3.2.2(react@19.1.1)': + dependencies: + react: 19.1.1 + tslib: 2.8.1 + '@dnd-kit/utilities@3.2.2(react@19.2.0)': dependencies: react: 19.2.0 @@ -12085,6 +13159,20 @@ snapshots: dependencies: '@types/hammerjs': 2.0.46 + '@electron/get@2.0.3': + dependencies: + debug: 4.4.1(supports-color@5.5.0) + env-paths: 2.2.1 + fs-extra: 8.1.0 + got: 11.8.6 + progress: 2.0.3 + semver: 6.3.1 + sumchecker: 3.0.1 + optionalDependencies: + global-agent: 3.0.0 + transitivePeerDependencies: + - supports-color + '@emnapi/core@1.6.0': dependencies: '@emnapi/wasi-threads': 1.1.0 @@ -12133,6 +13221,22 @@ snapshots: '@emotion/memoize@0.9.0': {} + '@emotion/react@11.14.0(@types/react@19.2.14)(react@19.1.1)': + dependencies: + '@babel/runtime': 7.26.10 + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.1) + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + hoist-non-react-statics: 3.3.2 + react: 19.1.1 + optionalDependencies: + '@types/react': 19.2.14 + transitivePeerDependencies: + - supports-color + '@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0)': dependencies: '@babel/runtime': 7.26.10 @@ -12159,12 +13263,31 @@ snapshots: '@emotion/sheet@1.4.0': {} - '@emotion/stylis@0.8.5': {} + '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1)': + dependencies: + '@babel/runtime': 7.26.10 + '@emotion/babel-plugin': 11.13.5 + '@emotion/is-prop-valid': 1.3.1 + '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.1) + '@emotion/utils': 1.4.2 + react: 19.1.1 + optionalDependencies: + '@types/react': 19.2.14 + transitivePeerDependencies: + - supports-color + + '@emotion/stylis@0.8.5': {} '@emotion/unitless@0.10.0': {} '@emotion/unitless@0.7.5': {} + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.1.1)': + dependencies: + react: 19.1.1 + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.0)': dependencies: react: 19.2.0 @@ -12304,7 +13427,7 @@ snapshots: '@expo-google-fonts/material-symbols@0.4.22': {} - '@expo/cli@55.0.7(bt7yl4nwsruljbnpm4qr6emjei)': + '@expo/cli@55.0.7(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)))(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': dependencies: '@expo/code-signing-certificates': 0.0.6 '@expo/config': 55.0.4 @@ -12313,14 +13436,14 @@ snapshots: '@expo/env': 2.1.0 '@expo/image-utils': 0.8.12 '@expo/json-file': 10.0.12 - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/metro': 54.2.0 - '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) + '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10) '@expo/osascript': 2.4.2 '@expo/package-manager': 1.10.3 '@expo/plist': 0.5.2 - '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) - '@expo/router-server': 55.0.5(wzc5kkbapyihdjhrbopr2pqcca) + '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10) + '@expo/router-server': 55.0.5(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)))(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo-server@55.0.3)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@expo/schema-utils': 55.0.2 '@expo/spawn-async': 1.7.2 '@expo/ws-tunnel': 1.0.6 @@ -12379,7 +13502,7 @@ snapshots: - supports-color - utf-8-validate - '@expo/cli@55.0.7(u4h2ohzskzybnnlmfi7ygsjfkm)': + '@expo/cli@55.0.7(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4)(expo-font@55.0.3)(expo-router@55.0.0-preview.7)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': dependencies: '@expo/code-signing-certificates': 0.0.6 '@expo/config': 55.0.4 @@ -12388,14 +13511,14 @@ snapshots: '@expo/env': 2.1.0 '@expo/image-utils': 0.8.12 '@expo/json-file': 10.0.12 - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/metro': 54.2.0 - '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) + '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10) '@expo/osascript': 2.4.2 '@expo/package-manager': 1.10.3 '@expo/plist': 0.5.2 - '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) - '@expo/router-server': 55.0.5(n3b4arpwkcfc4zalnbzoxanvwy) + '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10) + '@expo/router-server': 55.0.5(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4)(expo-font@55.0.3)(expo-router@55.0.0-preview.7)(expo-server@55.0.3)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@expo/schema-utils': 55.0.2 '@expo/spawn-async': 1.7.2 '@expo/ws-tunnel': 1.0.6 @@ -12442,7 +13565,7 @@ snapshots: ws: 8.18.3 zod: 3.25.76 optionalDependencies: - expo-router: 55.0.0-preview.7(mfjfgdrtx2hkscbkfatqrdcoli) + expo-router: 55.0.0-preview.7(c332f919f836fd5fb063a1a24a62156a) react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) transitivePeerDependencies: - '@expo/metro-runtime' @@ -12511,18 +13634,12 @@ snapshots: react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - '@expo/dom-webview@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + '@expo/dom-webview@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - '@expo/dom-webview@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': - dependencies: - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - '@expo/env@2.1.0': dependencies: chalk: 4.1.2 @@ -12568,25 +13685,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/log-box@55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + '@expo/log-box@55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': dependencies: - '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) anser: 1.4.10 expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) stacktrace-parser: 0.1.11 - '@expo/log-box@55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': - dependencies: - '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - anser: 1.4.10 - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - stacktrace-parser: 0.1.11 - - '@expo/metro-config@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))': + '@expo/metro-config@55.0.5(expo@55.0.0-preview.10)': dependencies: '@babel/code-frame': 7.27.1 '@babel/core': 7.28.0 @@ -12614,52 +13722,11 @@ snapshots: - supports-color - utf-8-validate - '@expo/metro-config@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/core': 7.28.0 - '@babel/generator': 7.28.3 - '@expo/config': 55.0.4 - '@expo/env': 2.1.0 - '@expo/json-file': 10.0.12 - '@expo/metro': 54.2.0 - '@expo/spawn-async': 1.7.2 - browserslist: 4.26.3 - chalk: 4.1.2 - debug: 4.4.1(supports-color@5.5.0) - getenv: 2.0.0 - glob: 13.0.2 - hermes-parser: 0.29.1 - jsc-safe-url: 0.2.4 - lightningcss: 1.31.1 - minimatch: 9.0.5 - postcss: 8.4.49 - resolve-from: 5.0.0 - optionalDependencies: - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - '@expo/metro-runtime@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': - dependencies: - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - anser: 1.4.10 - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - pretty-format: 29.7.0 - react: 19.2.0 - react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - stacktrace-parser: 0.1.11 - whatwg-fetch: 3.6.20 - optionalDependencies: - react-dom: 19.2.0(react@19.2.0) - '@expo/metro-runtime@55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': dependencies: - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) anser: 1.4.10 - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) pretty-format: 29.7.0 react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) @@ -12667,7 +13734,6 @@ snapshots: whatwg-fetch: 3.6.20 optionalDependencies: react-dom: 19.2.0(react@19.2.0) - optional: true '@expo/metro@54.2.0': dependencies: @@ -12709,7 +13775,7 @@ snapshots: base64-js: 1.5.1 xmlbuilder: 15.1.1 - '@expo/prebuild-config@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))': + '@expo/prebuild-config@55.0.4(expo@55.0.0-preview.10)': dependencies: '@expo/config': 55.0.4 '@expo/config-plugins': 55.0.4 @@ -12725,47 +13791,31 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/prebuild-config@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))': + '@expo/router-server@55.0.5(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)))(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo-server@55.0.3)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: - '@expo/config': 55.0.4 - '@expo/config-plugins': 55.0.4 - '@expo/config-types': 55.0.4 - '@expo/image-utils': 0.8.12 - '@expo/json-file': 10.0.12 - '@react-native/normalize-colors': 0.83.1 debug: 4.4.1(supports-color@5.5.0) expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - resolve-from: 5.0.0 - semver: 7.7.2 - xml2js: 0.6.0 - transitivePeerDependencies: - - supports-color - - '@expo/router-server@55.0.5(n3b4arpwkcfc4zalnbzoxanvwy)': - dependencies: - debug: 4.4.1(supports-color@5.5.0) - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-server: 55.0.3 react: 19.2.0 optionalDependencies: - '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-router: 55.0.0-preview.7(mfjfgdrtx2hkscbkfatqrdcoli) + '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-dom: 19.2.0(react@19.2.0) transitivePeerDependencies: - supports-color - '@expo/router-server@55.0.5(wzc5kkbapyihdjhrbopr2pqcca)': + '@expo/router-server@55.0.5(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4)(expo-font@55.0.3)(expo-router@55.0.0-preview.7)(expo-server@55.0.3)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: debug: 4.4.1(supports-color@5.5.0) - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-server: 55.0.3 react: 19.2.0 optionalDependencies: '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-router: 55.0.0-preview.7(c332f919f836fd5fb063a1a24a62156a) react-dom: 19.2.0(react@19.2.0) transitivePeerDependencies: - supports-color @@ -12789,15 +13839,9 @@ snapshots: '@expo/sudo-prompt@9.3.2': {} - '@expo/vector-icons@15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': - dependencies: - expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - react: 19.2.0 - react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - - '@expo/vector-icons@15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + '@expo/vector-icons@15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': dependencies: - expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) @@ -12867,6 +13911,33 @@ snapshots: '@floating-ui/utils@0.2.10': {} + '@gar/promisify@1.1.3': + optional: true + + '@graphql-tools/merge@8.4.2(graphql@16.13.1)': + dependencies: + '@graphql-tools/utils': 9.2.1(graphql@16.13.1) + graphql: 16.13.1 + tslib: 2.8.1 + + '@graphql-tools/schema@9.0.19(graphql@16.13.1)': + dependencies: + '@graphql-tools/merge': 8.4.2(graphql@16.13.1) + '@graphql-tools/utils': 9.2.1(graphql@16.13.1) + graphql: 16.13.1 + tslib: 2.8.1 + value-or-promise: 1.0.12 + + '@graphql-tools/utils@9.2.1(graphql@16.13.1)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.1) + graphql: 16.13.1 + tslib: 2.8.1 + + '@graphql-typed-document-node/core@3.2.0(graphql@16.13.1)': + dependencies: + graphql: 16.13.1 + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.7': @@ -13195,11 +14266,46 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} + '@npmcli/fs@1.1.1': + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.7.3 + optional: true + + '@npmcli/move-file@1.1.2': + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + optional: true + '@pkgjs/parseargs@0.11.0': optional: true '@polka/url@1.0.0-next.29': {} + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + '@radix-ui/colors@3.0.0': {} '@radix-ui/number@1.1.1': {} @@ -14002,10 +15108,10 @@ snapshots: - react-native - utf-8-validate - '@react-native-harness/bundler-metro@1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@10.1.1)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))': + '@react-native-harness/bundler-metro@1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@11.1.4)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))': dependencies: '@react-native-harness/config': 1.0.0-alpha.25(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - '@react-native-harness/metro': 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@10.1.1)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + '@react-native-harness/metro': 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@11.1.4)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) '@react-native-harness/tools': 1.0.0-alpha.25(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) connect: 3.7.0 metro: 0.83.3 @@ -14039,11 +15145,11 @@ snapshots: transitivePeerDependencies: - react-native - '@react-native-harness/jest@1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@10.1.1)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))': + '@react-native-harness/jest@1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@11.1.4)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))': dependencies: '@jest/test-result': 30.2.0 '@react-native-harness/bridge': 1.0.0-alpha.25(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - '@react-native-harness/bundler-metro': 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@10.1.1)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + '@react-native-harness/bundler-metro': 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@11.1.4)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) '@react-native-harness/config': 1.0.0-alpha.25(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) '@react-native-harness/platforms': 1.0.0-alpha.25 '@react-native-harness/tools': 1.0.0-alpha.25(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) @@ -14064,11 +15170,11 @@ snapshots: - supports-color - utf-8-validate - '@react-native-harness/metro@1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@10.1.1)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))': + '@react-native-harness/metro@1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@11.1.4)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))': dependencies: '@react-native-harness/babel-preset': 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0)) '@react-native-harness/config': 1.0.0-alpha.25(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - '@react-native-harness/runtime': 1.0.0-alpha.25(@types/react@19.2.14)(immer@10.1.1)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@react-native-harness/runtime': 1.0.0-alpha.25(@types/react@19.2.14)(immer@11.1.4)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) metro: 0.83.3 tslib: 2.8.1 transitivePeerDependencies: @@ -14091,7 +15197,7 @@ snapshots: dependencies: tslib: 2.8.1 - '@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@10.1.1)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': + '@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@11.1.4)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)': dependencies: '@react-native-harness/bridge': 1.0.0-alpha.25(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) '@vitest/expect': 4.0.16 @@ -14101,7 +15207,7 @@ snapshots: react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) use-sync-external-store: 1.6.0(react@19.2.0) - zustand: 5.0.6(@types/react@19.2.14)(immer@10.1.1)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)) + zustand: 5.0.6(@types/react@19.2.14)(immer@11.1.4)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)) transitivePeerDependencies: - '@types/react' - bufferutil @@ -14483,7 +15589,7 @@ snapshots: dependencies: nanoid: 3.3.11 - '@redux-devtools/app-core@1.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux-persist@6.0.0(react@19.2.0)(redux@5.0.1))(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': + '@redux-devtools/app-core@1.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux-persist@6.0.0(react@19.2.0)(redux@5.0.1))(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': dependencies: '@babel/runtime': 7.26.10 '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) @@ -14493,10 +15599,10 @@ snapshots: '@redux-devtools/inspector-monitor-test-tab': 4.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) '@redux-devtools/inspector-monitor-trace-tab': 4.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1) '@redux-devtools/log-monitor': 5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) - '@redux-devtools/rtk-query-monitor': 5.2.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) + '@redux-devtools/rtk-query-monitor': 5.2.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) '@redux-devtools/slider-monitor': 5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) '@redux-devtools/ui': 1.4.0(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@reduxjs/toolkit': 2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) + '@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) '@types/react': 19.2.14 '@types/styled-components': 5.1.34 d3-state-visualizer: 3.0.0 @@ -14514,12 +15620,42 @@ snapshots: transitivePeerDependencies: - supports-color - '@redux-devtools/app@6.2.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': + '@redux-devtools/app-core@2.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.1.1)(redux-persist@6.0.0(react@19.2.0)(redux@5.0.1))(redux@5.0.1)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1) + '@redux-devtools/chart-monitor': 5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react@19.1.1)(redux@5.0.1) + '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.1.1)(redux@5.0.1) + '@redux-devtools/inspector-monitor': 6.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1) + '@redux-devtools/inspector-monitor-test-tab': 5.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@redux-devtools/inspector-monitor@6.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1) + '@redux-devtools/inspector-monitor-trace-tab': 4.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/inspector-monitor@6.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1) + '@redux-devtools/log-monitor': 5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react@19.1.1)(redux@5.0.1) + '@redux-devtools/rtk-query-monitor': 6.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1) + '@redux-devtools/slider-monitor': 6.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1) + '@redux-devtools/ui': 2.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) + '@types/react': 19.2.14 + d3-state-visualizer: 3.0.0 + javascript-stringify: 2.1.0 + jsan: 3.1.14 + jsondiffpatch: 0.7.3 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + react-icons: 5.5.0(react@19.1.1) + react-is: 19.2.4 + react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) + redux: 5.0.1 + redux-persist: 6.0.0(react@19.2.0)(redux@5.0.1) + transitivePeerDependencies: + - supports-color + + '@redux-devtools/app@6.2.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': dependencies: '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) - '@redux-devtools/app-core': 1.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux-persist@6.0.0(react@19.2.0)(redux@5.0.1))(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) + '@redux-devtools/app-core': 1.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux-persist@6.0.0(react@19.2.0)(redux@5.0.1))(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) '@redux-devtools/ui': 1.4.0(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@reduxjs/toolkit': 2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) + '@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) '@types/react': 19.2.14 '@types/styled-components': 5.1.34 jsan: 3.1.14 @@ -14536,6 +15672,38 @@ snapshots: - supports-color - utf-8-validate + '@redux-devtools/app@7.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1) + '@redux-devtools/app-core': 2.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.1.1)(redux-persist@6.0.0(react@19.2.0)(redux@5.0.1))(redux@5.0.1) + '@redux-devtools/ui': 2.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) + '@types/react': 19.2.14 + jsan: 3.1.14 + localforage: 1.10.0 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + react-redux: 9.2.0(@types/react@19.2.14)(react@19.1.1)(redux@5.0.1) + redux: 5.0.1 + redux-persist: 6.0.0(react@19.1.1)(redux@5.0.1) + socketcluster-client: 19.2.7 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@redux-devtools/chart-monitor@5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react@19.1.1)(redux@5.0.1)': + dependencies: + '@babel/runtime': 7.26.10 + '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) + '@types/react': 19.2.14 + d3-state-visualizer: 3.0.0 + deepmerge: 4.3.1 + react: 19.1.1 + react-base16-styling: 0.10.0 + redux: 5.0.1 + '@redux-devtools/chart-monitor@5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1)': dependencies: '@babel/runtime': 7.26.10 @@ -14547,6 +15715,57 @@ snapshots: react-base16-styling: 0.10.0 redux: 5.0.1 + '@redux-devtools/cli@4.0.4(encoding@0.1.13)(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))': + dependencies: + '@apollo/server': 4.13.0(encoding@0.1.13)(graphql@16.13.1) + '@as-integrations/express5': 1.1.2(@apollo/server@4.13.0(encoding@0.1.13)(graphql@16.13.1))(express@5.1.0) + '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.1.1) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1) + '@redux-devtools/app': 7.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.1.1) + '@types/react': 19.2.14 + body-parser: 2.2.0 + chalk: 5.6.2 + cors: 2.8.6 + cross-spawn: 7.0.6 + electron: 31.7.7 + express: 5.1.0 + get-port: 7.1.0 + graphql: 16.13.1 + knex: 3.1.0(sqlite3@5.1.7) + lodash-es: 4.17.23 + minimist: 1.2.8 + morgan: 1.10.1 + open: 10.2.0 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + react-is: 19.2.4 + semver: 7.7.3 + socketcluster-server: 19.2.2 + sqlite3: 5.1.7 + uuid: 13.0.0 + transitivePeerDependencies: + - better-sqlite3 + - bluebird + - bufferutil + - encoding + - mysql + - mysql2 + - pg + - pg-native + - react-redux + - supports-color + - tedious + - utf-8-validate + + '@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.1.1)(redux@5.0.1)': + dependencies: + '@babel/runtime': 7.26.10 + '@redux-devtools/instrument': 2.2.0(redux@5.0.1) + react: 19.1.1 + react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) + redux: 5.0.1 + '@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1)': dependencies: '@babel/runtime': 7.26.10 @@ -14576,6 +15795,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@redux-devtools/inspector-monitor-test-tab@5.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@redux-devtools/inspector-monitor@6.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1) + '@redux-devtools/inspector-monitor': 6.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1) + '@redux-devtools/ui': 2.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@types/react': 19.2.14 + es6template: 1.0.5 + javascript-stringify: 2.1.0 + jsan: 3.1.14 + object-path: 0.11.8 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + react-icons: 5.5.0(react@19.1.1) + redux: 5.0.1 + simple-diff: 1.7.2 + transitivePeerDependencies: + - supports-color + '@redux-devtools/inspector-monitor-trace-tab@4.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)': dependencies: '@babel/code-frame': 8.0.0-beta.1 @@ -14593,6 +15832,23 @@ snapshots: redux: 5.0.1 source-map: 0.5.7 + '@redux-devtools/inspector-monitor-trace-tab@4.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/inspector-monitor@6.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1)': + dependencies: + '@babel/code-frame': 8.0.0-beta.1 + '@babel/runtime': 7.26.10 + '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) + '@redux-devtools/inspector-monitor': 6.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1) + '@types/chrome': 0.0.306 + '@types/react': 19.2.14 + anser: 2.3.2 + html-entities: 2.6.0 + path-browserify: 1.0.1 + react: 19.1.1 + react-base16-styling: 0.10.0 + react-dom: 19.1.1(react@19.1.1) + redux: 5.0.1 + source-map: 0.5.7 + '@redux-devtools/inspector-monitor@6.1.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)': dependencies: '@babel/runtime': 7.26.10 @@ -14616,12 +15872,47 @@ snapshots: react-json-tree: 0.20.0(@types/react@19.2.14)(react@19.2.0) redux: 5.0.1 + '@redux-devtools/inspector-monitor@6.1.2(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1)': + dependencies: + '@babel/runtime': 7.28.6 + '@dnd-kit/core': 6.3.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@dnd-kit/modifiers': 9.0.0(@dnd-kit/core@6.3.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1) + '@dnd-kit/sortable': 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1) + '@dnd-kit/utilities': 3.2.2(react@19.1.1) + '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) + '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) + '@types/lodash': 4.17.20 + '@types/react': 19.2.14 + dateformat: 5.0.3 + hex-rgba: 1.0.2 + immutable: 5.1.3 + javascript-stringify: 2.1.0 + jsondiffpatch: 0.7.3 + lodash.debounce: 4.0.8 + react: 19.1.1 + react-base16-styling: 0.10.0 + react-dom: 19.1.1(react@19.1.1) + react-json-tree: 0.20.0(@types/react@19.2.14)(react@19.1.1) + redux: 5.0.1 + '@redux-devtools/instrument@2.2.0(redux@5.0.1)': dependencies: '@babel/runtime': 7.26.10 lodash: 4.17.21 redux: 5.0.1 + '@redux-devtools/log-monitor@5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react@19.1.1)(redux@5.0.1)': + dependencies: + '@babel/runtime': 7.26.10 + '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) + '@types/lodash.debounce': 4.0.9 + '@types/react': 19.2.14 + lodash.debounce: 4.0.8 + react: 19.1.1 + react-base16-styling: 0.10.0 + react-json-tree: 0.20.0(@types/react@19.2.14)(react@19.1.1) + redux: 5.0.1 + '@redux-devtools/log-monitor@5.1.1(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1)': dependencies: '@babel/runtime': 7.26.10 @@ -14634,13 +15925,28 @@ snapshots: react-json-tree: 0.20.0(@types/react@19.2.14)(react@19.2.0) redux: 5.0.1 - '@redux-devtools/rtk-query-monitor@5.2.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': + '@redux-devtools/remote@0.9.5(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1)': + dependencies: + '@babel/runtime': 7.26.10 + '@redux-devtools/instrument': 2.2.0(redux@5.0.1) + '@redux-devtools/utils': 3.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) + jsan: 3.1.14 + redux: 5.0.1 + rn-host-detect: 1.2.0 + socketcluster-client: 19.2.7 + transitivePeerDependencies: + - bufferutil + - react + - react-redux + - utf-8-validate + + '@redux-devtools/rtk-query-monitor@5.2.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(redux@5.0.1)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': dependencies: '@babel/runtime': 7.26.10 '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) '@redux-devtools/ui': 1.4.0(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0)) - '@reduxjs/toolkit': 2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) + '@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) '@types/lodash': 4.17.20 '@types/react': 19.2.14 '@types/styled-components': 5.1.34 @@ -14656,6 +15962,27 @@ snapshots: - react-dom - supports-color + '@redux-devtools/rtk-query-monitor@6.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1) + '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) + '@redux-devtools/ui': 2.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0) + '@types/lodash': 4.17.20 + '@types/react': 19.2.14 + hex-rgba: 1.0.2 + immutable: 5.1.3 + lodash.debounce: 4.0.8 + react: 19.1.1 + react-base16-styling: 0.10.0 + react-json-tree: 0.20.0(@types/react@19.2.14)(react@19.1.1) + redux: 5.0.1 + transitivePeerDependencies: + - react-dom + - supports-color + '@redux-devtools/serialize@0.4.2(immutable@4.3.7)': dependencies: '@babel/runtime': 7.26.10 @@ -14677,6 +16004,21 @@ snapshots: - react-dom - supports-color + '@redux-devtools/slider-monitor@6.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@redux-devtools/core@4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(redux@5.0.1)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1) + '@redux-devtools/core': 4.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1) + '@redux-devtools/ui': 2.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@types/react': 19.2.14 + react: 19.1.1 + react-base16-styling: 0.10.0 + redux: 5.0.1 + transitivePeerDependencies: + - react-dom + - supports-color + '@redux-devtools/ui@1.4.0(@types/react@19.2.14)(@types/styled-components@5.1.34)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(styled-components@5.3.11(@babel/core@7.28.0)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.4)(react@19.2.0))': dependencies: '@babel/runtime': 7.26.10 @@ -14700,6 +16042,29 @@ snapshots: - react-dom - supports-color + '@redux-devtools/ui@2.0.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1))(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.0) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.0))(@types/react@19.2.14)(react@19.1.1) + '@rjsf/core': 5.24.13(@rjsf/utils@5.24.13(react@19.1.1))(react@19.1.1) + '@rjsf/utils': 5.24.13(react@19.1.1) + '@rjsf/validator-ajv8': 5.24.13(@rjsf/utils@5.24.13(react@19.1.1)) + '@types/codemirror': 5.60.16 + '@types/json-schema': 7.0.15 + '@types/react': 19.2.14 + '@types/simple-element-resize-detector': 1.3.3 + codemirror: 5.65.21 + color: 5.0.3 + react: 19.1.1 + react-base16-styling: 0.10.0 + react-icons: 5.5.0(react@19.1.1) + react-select: 5.10.2(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + simple-element-resize-detector: 1.3.0 + transitivePeerDependencies: + - react-dom + - supports-color + '@redux-devtools/utils@3.1.1(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)(redux@5.0.1)': dependencies: '@babel/runtime': 7.26.10 @@ -14715,6 +16080,30 @@ snapshots: - react - react-redux + '@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.1.1)': + dependencies: + '@standard-schema/spec': 1.0.0 + '@standard-schema/utils': 0.3.0 + immer: 11.1.4 + redux: 5.0.1 + redux-thunk: 3.1.0(redux@5.0.1) + reselect: 5.1.1 + optionalDependencies: + react: 19.1.1 + react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) + + '@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)': + dependencies: + '@standard-schema/spec': 1.0.0 + '@standard-schema/utils': 0.3.0 + immer: 11.1.4 + redux: 5.0.1 + redux-thunk: 3.1.0(redux@5.0.1) + reselect: 5.1.1 + optionalDependencies: + react: 19.2.0 + react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1) + '@reduxjs/toolkit@2.8.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1))(react@19.2.0)': dependencies: '@standard-schema/spec': 1.0.0 @@ -14731,28 +16120,54 @@ snapshots: dependencies: '@rjsf/utils': 5.24.12(react@19.2.0) lodash: 4.17.21 - lodash-es: 4.17.21 + lodash-es: 4.17.23 markdown-to-jsx: 7.7.12(react@19.2.0) nanoid: 3.3.11 prop-types: 15.8.1 react: 19.2.0 + '@rjsf/core@5.24.13(@rjsf/utils@5.24.13(react@19.1.1))(react@19.1.1)': + dependencies: + '@rjsf/utils': 5.24.13(react@19.1.1) + lodash: 4.17.21 + lodash-es: 4.17.23 + markdown-to-jsx: 7.7.12(react@19.1.1) + prop-types: 15.8.1 + react: 19.1.1 + '@rjsf/utils@5.24.12(react@19.2.0)': dependencies: json-schema-merge-allof: 0.8.1 jsonpointer: 5.0.1 lodash: 4.17.21 - lodash-es: 4.17.21 + lodash-es: 4.17.23 react: 19.2.0 react-is: 18.3.1 + '@rjsf/utils@5.24.13(react@19.1.1)': + dependencies: + json-schema-merge-allof: 0.8.1 + jsonpointer: 5.0.1 + lodash: 4.17.21 + lodash-es: 4.17.23 + react: 19.1.1 + react-is: 18.3.1 + '@rjsf/validator-ajv8@5.24.12(@rjsf/utils@5.24.12(react@19.2.0))': dependencies: '@rjsf/utils': 5.24.12(react@19.2.0) ajv: 8.17.1 ajv-formats: 2.1.1 lodash: 4.17.21 - lodash-es: 4.17.21 + lodash-es: 4.17.23 + + '@rjsf/validator-ajv8@5.24.13(@rjsf/utils@5.24.13(react@19.1.1))': + dependencies: + '@rjsf/utils': 5.24.13(react@19.1.1) + ajv: 8.17.1 + ajv-formats: 2.1.1 + lodash: 4.17.21 + lodash-es: 4.17.23 '@rolldown/pluginutils@1.0.0-beta.19': {} @@ -15092,6 +16507,8 @@ snapshots: '@sinclair/typebox@0.34.48': {} + '@sindresorhus/is@4.6.0': {} + '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 @@ -15189,6 +16606,10 @@ snapshots: dependencies: '@swc/counter': 0.1.3 + '@szmarczak/http-timer@4.0.6': + dependencies: + defer-to-connect: 2.0.1 + '@tanstack/query-core@5.83.0': {} '@tanstack/query-devtools@5.81.2': {} @@ -15240,6 +16661,9 @@ snapshots: react-test-renderer: 19.2.0(react@19.2.0) redent: 3.0.0 + '@tootallnate/once@1.1.2': + optional: true + '@tootallnate/once@2.0.0': {} '@tybys/wasm-util@0.10.1': @@ -15275,6 +16699,13 @@ snapshots: '@types/connect': 3.4.38 '@types/node': 18.16.9 + '@types/cacheable-request@6.0.3': + dependencies: + '@types/http-cache-semantics': 4.2.0 + '@types/keyv': 3.1.4 + '@types/node': 18.16.9 + '@types/responselike': 1.0.3 + '@types/chai@5.2.2': dependencies: '@types/deep-eql': 4.0.2 @@ -15434,6 +16865,13 @@ snapshots: '@types/estree@1.0.8': {} + '@types/express-serve-static-core@4.19.8': + dependencies: + '@types/node': 18.16.9 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.5 + '@types/express-serve-static-core@5.0.6': dependencies: '@types/node': 18.16.9 @@ -15441,6 +16879,13 @@ snapshots: '@types/range-parser': 1.2.7 '@types/send': 0.17.5 + '@types/express@4.17.25': + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 4.19.8 + '@types/qs': 6.14.0 + '@types/serve-static': 1.15.8 + '@types/express@5.0.3': dependencies: '@types/body-parser': 1.19.6 @@ -15474,6 +16919,8 @@ snapshots: '@types/react': 19.2.14 hoist-non-react-statics: 3.3.2 + '@types/http-cache-semantics@4.2.0': {} + '@types/http-errors@2.0.5': {} '@types/http-proxy@1.17.16': @@ -15494,12 +16941,18 @@ snapshots: '@types/json5@0.0.29': {} + '@types/keyv@3.1.4': + dependencies: + '@types/node': 18.16.9 + '@types/lodash.debounce@4.0.9': dependencies: '@types/lodash': 4.17.20 '@types/lodash@4.17.20': {} + '@types/long@4.0.2': {} + '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 @@ -15510,6 +16963,11 @@ snapshots: '@types/ms@2.1.0': {} + '@types/node-fetch@2.6.13': + dependencies: + '@types/node': 18.16.9 + form-data: 4.0.5 + '@types/node-forge@1.3.11': dependencies: '@types/node': 18.16.9 @@ -15518,6 +16976,10 @@ snapshots: '@types/node@18.16.9': {} + '@types/node@20.19.37': + dependencies: + undici-types: 6.21.0 + '@types/node@22.17.0': dependencies: undici-types: 6.21.0 @@ -15550,6 +17012,10 @@ snapshots: dependencies: csstype: 3.2.3 + '@types/responselike@1.0.3': + dependencies: + '@types/node': 18.16.9 + '@types/semver@7.7.0': {} '@types/send@0.17.5': @@ -15597,6 +17063,11 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 18.16.9 + optional: true + '@typescript-eslint/eslint-plugin@8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.37.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -15968,20 +17439,7 @@ snapshots: de-indent: 1.0.2 he: 1.2.0 - '@vue/language-core@2.2.0(typescript@5.8.3)': - dependencies: - '@volar/language-core': 2.4.17 - '@vue/compiler-dom': 3.5.17 - '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.17 - alien-signals: 0.4.14 - minimatch: 9.0.5 - muggle-string: 0.4.1 - path-browserify: 1.0.1 - optionalDependencies: - typescript: 5.8.3 - - '@vue/language-core@2.2.0(typescript@5.9.3)': + '@vue/language-core@2.2.0(typescript@5.8.3)': dependencies: '@volar/language-core': 2.4.17 '@vue/compiler-dom': 3.5.17 @@ -15992,7 +17450,7 @@ snapshots: muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.9.3 + typescript: 5.8.3 '@vue/shared@3.5.17': {} @@ -16007,6 +17465,9 @@ snapshots: abab@2.0.6: {} + abbrev@1.1.1: + optional: true + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -16046,6 +17507,12 @@ snapshots: dependencies: sc-errors: 3.0.0 + ag-simple-broker@6.0.1: + dependencies: + ag-channel: 5.0.0 + async-stream-emitter: 7.0.1 + stream-demux: 10.0.1 + agent-base@6.0.2: dependencies: debug: 4.4.1(supports-color@5.5.0) @@ -16054,6 +17521,17 @@ snapshots: agent-base@7.1.3: {} + agentkeepalive@4.6.0: + dependencies: + humanize-ms: 1.2.1 + optional: true + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + optional: true + ajv-draft-04@1.0.0(ajv@8.13.0): optionalDependencies: ajv: 8.13.0 @@ -16140,6 +17618,15 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 + aproba@2.1.0: + optional: true + + are-we-there-yet@3.0.1: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + optional: true + arg@5.0.2: {} argparse@1.0.10: @@ -16239,6 +17726,10 @@ snapshots: async-limiter@1.0.1: {} + async-retry@1.3.3: + dependencies: + retry: 0.13.1 + async-stream-emitter@7.0.1: dependencies: stream-demux: 10.0.1 @@ -16403,7 +17894,7 @@ snapshots: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.0) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.0) - babel-preset-expo@55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-refresh@0.14.2): + babel-preset-expo@55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10)(react-refresh@0.14.2): dependencies: '@babel/generator': 7.28.3 '@babel/helper-module-imports': 7.27.1(supports-color@5.5.0) @@ -16436,39 +17927,6 @@ snapshots: - '@babel/core' - supports-color - babel-preset-expo@55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-refresh@0.14.2): - dependencies: - '@babel/generator': 7.28.3 - '@babel/helper-module-imports': 7.27.1(supports-color@5.5.0) - '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.28.0) - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.28.0) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-runtime': 7.28.0(@babel/core@7.28.0) - '@babel/preset-react': 7.28.5(@babel/core@7.28.0) - '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) - '@react-native/babel-preset': 0.83.1 - babel-plugin-react-compiler: 1.0.0 - babel-plugin-react-native-web: 0.21.2 - babel-plugin-syntax-hermes-parser: 0.29.1 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.0) - debug: 4.4.1(supports-color@5.5.0) - react-refresh: 0.14.2 - resolve-from: 5.0.0 - optionalDependencies: - '@babel/runtime': 7.26.10 - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - transitivePeerDependencies: - - '@babel/core' - - supports-color - babel-preset-jest@29.6.3(@babel/core@7.28.0): dependencies: '@babel/core': 7.28.0 @@ -16481,6 +17939,8 @@ snapshots: base64-js@1.5.1: {} + base64id@2.0.0: {} + baseline-browser-mapping@2.8.16: {} basic-auth@2.0.1: @@ -16499,6 +17959,10 @@ snapshots: binary-extensions@2.3.0: {} + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + birpc@2.9.0: {} bl@1.2.3: @@ -16506,6 +17970,12 @@ snapshots: readable-stream: 2.3.8 safe-buffer: 5.2.1 + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + body-parser@1.20.3: dependencies: bytes: 3.1.2 @@ -16541,6 +18011,9 @@ snapshots: boolbase@1.0.0: {} + boolean@3.2.0: + optional: true + bplist-creator@0.1.0: dependencies: stream-buffers: 2.2.0 @@ -16578,6 +18051,8 @@ snapshots: dependencies: node-int64: 0.4.0 + buffer-crc32@0.2.13: {} + buffer-equal-constant-time@1.0.1: {} buffer-from@1.1.2: {} @@ -16595,6 +18070,42 @@ snapshots: cac@6.7.14: {} + cacache@15.3.0: + dependencies: + '@npmcli/fs': 1.1.1 + '@npmcli/move-file': 1.1.2 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.2.3 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.1 + tar: 6.2.1 + unique-filename: 1.1.1 + transitivePeerDependencies: + - bluebird + optional: true + + cacheable-lookup@5.0.4: {} + + cacheable-request@7.0.4: + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.2.0 + keyv: 4.5.4 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -16659,6 +18170,8 @@ snapshots: chalk@5.4.1: {} + chalk@5.6.2: {} + character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} @@ -16706,6 +18219,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chownr@1.1.4: {} + + chownr@2.0.0: {} + chrome-launcher@0.15.2: dependencies: '@types/node': 18.16.9 @@ -16738,6 +18255,9 @@ snapshots: classnames@2.5.1: {} + clean-stack@2.2.0: + optional: true + cli-cursor@2.1.0: dependencies: restore-cursor: 2.0.0 @@ -16767,12 +18287,18 @@ snapshots: kind-of: 6.0.3 shallow-clone: 3.0.1 + clone-response@1.0.3: + dependencies: + mimic-response: 1.0.1 + clone@1.0.4: {} clsx@2.1.1: {} codemirror@5.65.19: {} + codemirror@5.65.21: {} + collapse-white-space@2.1.0: {} collect-v8-coverage@1.0.3: {} @@ -16785,20 +18311,40 @@ snapshots: dependencies: color-name: 1.1.4 + color-convert@3.1.3: + dependencies: + color-name: 2.1.0 + color-name@1.1.3: {} color-name@1.1.4: {} + color-name@2.1.0: {} + color-string@1.9.1: dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 + color-string@2.1.4: + dependencies: + color-name: 2.1.0 + + color-support@1.1.3: + optional: true + color@4.2.3: dependencies: color-convert: 2.0.1 color-string: 1.9.1 + color@5.0.3: + dependencies: + color-convert: 3.1.3 + color-string: 2.1.4 + + colorette@2.0.19: {} + colorette@2.0.20: {} combined-stream@1.0.8: @@ -16807,6 +18353,8 @@ snapshots: comma-separated-tokens@2.0.3: {} + commander@10.0.1: {} + commander@12.1.0: {} commander@14.0.0: {} @@ -16876,6 +18424,9 @@ snapshots: transitivePeerDependencies: - supports-color + console-control-strings@1.1.0: + optional: true + consumable-stream@2.0.0: {} consumable-stream@3.0.0: {} @@ -16927,6 +18478,11 @@ snapshots: core-util-is@1.0.3: {} + cors@2.8.6: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + cosmiconfig-typescript-loader@6.2.0(@types/node@18.16.9)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): dependencies: '@types/node': 18.16.9 @@ -16958,9 +18514,9 @@ snapshots: optionalDependencies: typescript: 5.8.3 - cross-fetch@3.2.0: + cross-fetch@3.2.0(encoding@0.1.13): dependencies: - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: - encoding @@ -17213,6 +18769,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.3.4: + dependencies: + ms: 2.1.2 + debug@4.4.1(supports-color@5.5.0): dependencies: ms: 2.1.3 @@ -17227,10 +18787,16 @@ snapshots: decode-uri-component@0.2.2: {} + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + dedent@0.7.0: {} deep-eql@5.0.2: {} + deep-extend@0.6.0: {} + deep-is@0.1.4: {} deepmerge@4.3.1: {} @@ -17246,6 +18812,8 @@ snapshots: dependencies: clone: 1.0.4 + defer-to-connect@2.0.1: {} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 @@ -17268,6 +18836,9 @@ snapshots: delayed-stream@1.0.0: {} + delegates@1.0.0: + optional: true + depd@2.0.0: {} dequal@2.0.3: {} @@ -17280,6 +18851,9 @@ snapshots: detect-node-es@1.1.0: {} + detect-node@2.1.0: + optional: true + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -17360,6 +18934,14 @@ snapshots: electron-to-chromium@1.5.234: {} + electron@31.7.7: + dependencies: + '@electron/get': 2.0.3 + '@types/node': 20.19.37 + extract-zip: 2.0.1 + transitivePeerDependencies: + - supports-color + emoji-regex@10.5.0: {} emoji-regex@8.0.0: {} @@ -17375,6 +18957,15 @@ snapshots: iconv-lite: 0.6.3 whatwg-encoding: 3.1.1 + encoding@0.1.13: + dependencies: + iconv-lite: 0.6.3 + optional: true + + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -17392,6 +18983,9 @@ snapshots: environment@1.1.0: {} + err-code@2.0.3: + optional: true + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -17505,6 +19099,9 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 + es6-error@4.1.1: + optional: true + es6-template-regex@0.1.1: {} es6template@1.0.5: @@ -17613,7 +19210,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.37.0(jiti@2.6.1)))(eslint@9.37.0(jiti@2.6.1)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.37.0(jiti@2.6.1)): dependencies: debug: 3.2.7 optionalDependencies: @@ -17644,7 +19241,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.37.0(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.37.0(jiti@2.6.1)))(eslint@9.37.0(jiti@2.6.1)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.37.0(jiti@2.6.1)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -17781,6 +19378,8 @@ snapshots: transitivePeerDependencies: - supports-color + esm@3.2.25: {} + espree@10.4.0: dependencies: acorn: 8.15.0 @@ -17870,29 +19469,21 @@ snapshots: exit-hook@4.0.0: {} + expand-template@2.0.3: {} + expect-type@1.2.2: {} - expo-asset@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + expo-asset@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: '@expo/image-utils': 0.8.12 expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - react: 19.2.0 - react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - transitivePeerDependencies: - - supports-color - - expo-asset@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): - dependencies: - '@expo/image-utils': 0.8.12 - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) transitivePeerDependencies: - supports-color - expo-atlas@0.4.0(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)): + expo-atlas@0.4.0(expo@55.0.0-preview.10): dependencies: '@expo/server': 0.5.3 arg: 5.0.2 @@ -17910,7 +19501,7 @@ snapshots: transitivePeerDependencies: - supports-color - expo-constants@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): + expo-constants@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): dependencies: '@expo/config': 55.0.4 '@expo/env': 2.1.0 @@ -17919,71 +19510,45 @@ snapshots: transitivePeerDependencies: - supports-color - expo-constants@55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): - dependencies: - '@expo/config': 55.0.4 - '@expo/env': 2.1.0 - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - transitivePeerDependencies: - - supports-color - - expo-file-system@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): + expo-file-system@55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - expo-file-system@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): - dependencies: - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - - expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) fontfaceobserver: 2.3.0 react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): - dependencies: - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - fontfaceobserver: 2.3.0 - react: 19.2.0 - react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - - expo-glass-effect@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + expo-glass-effect@55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - expo-haptics@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)): + expo-haptics@55.0.5(expo@55.0.0-preview.10): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-image@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + expo-image@55.0.3(expo@55.0.0-preview.10)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) sf-symbols-typescript: 2.2.0 optionalDependencies: - react-native-web: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-native-web: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - expo-keep-awake@55.0.2(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react@19.2.0): + expo-keep-awake@55.0.2(expo@55.0.0-preview.10)(react@19.2.0): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 - expo-keep-awake@55.0.2(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react@19.2.0): - dependencies: - expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - react: 19.2.0 - expo-linking@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: - expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) invariant: 2.2.4 react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) @@ -18005,10 +19570,10 @@ snapshots: react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - expo-router@55.0.0-preview.7(mfjfgdrtx2hkscbkfatqrdcoli): + expo-router@55.0.0-preview.7(c332f919f836fd5fb063a1a24a62156a): dependencies: - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/schema-utils': 55.0.2 '@radix-ui/react-slot': 1.2.0(@types/react@19.2.14)(react@19.2.0) '@radix-ui/react-tabs': 1.1.12(@types/react-dom@19.1.11(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -18019,12 +19584,12 @@ snapshots: debug: 4.4.1(supports-color@5.5.0) escape-string-regexp: 4.0.0 expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-glass-effect: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-image: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-glass-effect: 55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-image: 55.0.3(expo@55.0.0-preview.10)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-linking: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-server: 55.0.3 - expo-symbols: 55.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-symbols: 55.0.3(expo-font@55.0.3)(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) fast-deep-equal: 3.1.3 invariant: 2.2.4 nanoid: 3.3.11 @@ -18046,7 +19611,7 @@ snapshots: react-dom: 19.2.0(react@19.2.0) react-native-gesture-handler: 2.30.0(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native-reanimated: 4.2.1(react-native-worklets@0.7.2(@babel/core@7.28.0)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - react-native-web: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-native-web: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) transitivePeerDependencies: - '@react-native-masked-view/masked-view' - '@types/react' @@ -18054,15 +19619,15 @@ snapshots: - expo-font - supports-color - expo-secure-store@55.0.8(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)): + expo-secure-store@55.0.8(expo@55.0.0-preview.10): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) expo-server@55.0.3: {} - expo-splash-screen@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)): + expo-splash-screen@55.0.5(expo@55.0.0-preview.10): dependencies: - '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) + '@expo/prebuild-config': 55.0.4(expo@55.0.0-preview.10) expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) transitivePeerDependencies: - supports-color @@ -18073,27 +19638,27 @@ snapshots: react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) react-native-is-edge-to-edge: 1.2.1(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-symbols@55.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + expo-symbols@55.0.3(expo-font@55.0.3)(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: '@expo-google-fonts/material-symbols': 0.4.22 expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react: 19.2.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) sf-symbols-typescript: 2.2.0 - expo-system-ui@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): + expo-system-ui@55.0.5(expo@55.0.0-preview.10)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): dependencies: '@react-native/normalize-colors': 0.83.1 debug: 4.4.1(supports-color@5.5.0) expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) optionalDependencies: - react-native-web: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-native-web: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) transitivePeerDependencies: - supports-color - expo-web-browser@55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): + expo-web-browser@55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)): dependencies: expo: 55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) @@ -18101,23 +19666,23 @@ snapshots: expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: '@babel/runtime': 7.26.10 - '@expo/cli': 55.0.7(u4h2ohzskzybnnlmfi7ygsjfkm) + '@expo/cli': 55.0.7(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4)(expo-font@55.0.3)(expo-router@55.0.0-preview.7)(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/config': 55.0.4 '@expo/config-plugins': 55.0.4 '@expo/devtools': 55.0.2(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/fingerprint': 0.16.3 '@expo/local-build-cache-provider': 55.0.3 - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/metro': 54.2.0 - '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) - '@expo/vector-icons': 15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10) + '@expo/vector-icons': 15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@ungap/structured-clone': 1.3.0 - babel-preset-expo: 55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-refresh@0.14.2) - expo-asset: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-file-system: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-keep-awake: 55.0.2(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react@19.2.0) + babel-preset-expo: 55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10)(react-refresh@0.14.2) + expo-asset: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-file-system: 55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-keep-awake: 55.0.2(expo@55.0.0-preview.10)(react@19.2.0) expo-modules-autolinking: 55.0.3 expo-modules-core: 55.0.8(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) pretty-format: 29.7.0 @@ -18126,8 +19691,8 @@ snapshots: react-refresh: 0.14.2 whatwg-url-minimum: 0.1.1 optionalDependencies: - '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(expo-router@55.0.0-preview.7)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) transitivePeerDependencies: - '@babel/core' - bufferutil @@ -18141,23 +19706,23 @@ snapshots: expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: '@babel/runtime': 7.26.10 - '@expo/cli': 55.0.7(bt7yl4nwsruljbnpm4qr6emjei) + '@expo/cli': 55.0.7(@expo/metro-runtime@55.0.5)(expo-constants@55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)))(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/config': 55.0.4 '@expo/config-plugins': 55.0.4 '@expo/devtools': 55.0.2(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/fingerprint': 0.16.3 '@expo/local-build-cache-provider': 55.0.3 - '@expo/log-box': 55.0.6(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/log-box': 55.0.6(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/metro': 54.2.0 - '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0)) - '@expo/vector-icons': 15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/metro-config': 55.0.5(expo@55.0.0-preview.10) + '@expo/vector-icons': 15.0.3(expo-font@55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@ungap/structured-clone': 1.3.0 - babel-preset-expo: 55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-refresh@0.14.2) - expo-asset: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-constants: 55.0.4(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-file-system: 55.0.5(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - expo-font: 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) - expo-keep-awake: 55.0.2(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react@19.2.0) + babel-preset-expo: 55.0.4(@babel/core@7.28.0)(@babel/runtime@7.26.10)(expo@55.0.0-preview.10)(react-refresh@0.14.2) + expo-asset: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-constants: 55.0.4(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-file-system: 55.0.5(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + expo-font: 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + expo-keep-awake: 55.0.2(expo@55.0.0-preview.10)(react@19.2.0) expo-modules-autolinking: 55.0.3 expo-modules-core: 55.0.8(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) pretty-format: 29.7.0 @@ -18166,7 +19731,7 @@ snapshots: react-refresh: 0.14.2 whatwg-url-minimum: 0.1.1 optionalDependencies: - '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10(@babel/core@7.28.0)(@expo/dom-webview@55.0.3)(@expo/metro-runtime@55.0.5)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@expo/dom-webview': 55.0.3(expo@55.0.0-preview.10)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) '@expo/metro-runtime': 55.0.5(expo@55.0.0-preview.10)(react-dom@19.2.0(react@19.2.0))(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) transitivePeerDependencies: - '@babel/core' @@ -18258,6 +19823,16 @@ snapshots: extendable-error@0.1.7: {} + extract-zip@2.0.1: + dependencies: + debug: 4.4.1(supports-color@5.5.0) + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + fast-base64-decode@1.0.0: {} fast-content-type-parse@1.1.0: {} @@ -18335,9 +19910,9 @@ snapshots: fbjs-css-vars@1.0.2: {} - fbjs@3.0.5: + fbjs@3.0.5(encoding@0.1.13): dependencies: - cross-fetch: 3.2.0 + cross-fetch: 3.2.0(encoding@0.1.13) fbjs-css-vars: 1.0.2 loose-envify: 1.4.0 object-assign: 4.1.1 @@ -18347,6 +19922,10 @@ snapshots: transitivePeerDependencies: - encoding + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 + fdir@6.4.6(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -18363,6 +19942,8 @@ snapshots: dependencies: flat-cache: 4.0.1 + file-uri-to-path@1.0.0: {} + filelist@1.0.4: dependencies: minimatch: 5.1.6 @@ -18498,6 +20079,14 @@ snapshots: hasown: 2.0.2 mime-types: 2.1.35 + form-data@4.0.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + forwarded@0.2.0: {} fraction.js@4.3.7: {} @@ -18508,6 +20097,8 @@ snapshots: fresh@2.0.0: {} + fs-constants@1.0.0: {} + fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 @@ -18526,6 +20117,10 @@ snapshots: jsonfile: 4.0.0 universalify: 0.1.2 + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -18544,6 +20139,18 @@ snapshots: functions-have-names@1.2.3: {} + gauge@4.0.4: + dependencies: + aproba: 2.1.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + optional: true + generator-function@2.0.1: {} gensync@1.0.0-beta.2: {} @@ -18571,11 +20178,17 @@ snapshots: get-params@0.1.2: {} + get-port@7.1.0: {} + get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 + get-stream@5.2.0: + dependencies: + pump: 3.0.4 + get-stream@6.0.1: {} get-symbol-description@1.1.0: @@ -18594,12 +20207,16 @@ snapshots: getenv@2.0.0: {} + getopts@2.3.0: {} + git-raw-commits@4.0.0: dependencies: dargs: 8.1.0 meow: 12.1.1 split2: 4.2.0 + github-from-package@0.0.0: {} + github-slugger@2.0.0: {} glob-parent@5.1.2: @@ -18634,6 +20251,16 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 + global-agent@3.0.0: + dependencies: + boolean: 3.2.0 + es6-error: 4.1.1 + matcher: 3.0.0 + roarr: 2.15.4 + semver: 7.7.3 + serialize-error: 7.0.1 + optional: true + global-directory@4.0.1: dependencies: ini: 4.1.1 @@ -18658,6 +20285,20 @@ snapshots: gopd@1.2.0: {} + got@11.8.6: + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 + graceful-fs@4.2.11: {} gradient-string@2.0.2: @@ -18667,6 +20308,8 @@ snapshots: graphemer@1.4.0: {} + graphql@16.13.1: {} + gray-matter@4.0.3: dependencies: js-yaml: 3.14.1 @@ -18694,6 +20337,9 @@ snapshots: dependencies: has-symbols: 1.1.0 + has-unicode@2.0.1: + optional: true + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -18873,6 +20519,8 @@ snapshots: domutils: 3.2.2 entities: 7.0.1 + http-cache-semantics@4.2.0: {} + http-errors@2.0.0: dependencies: depd: 2.0.0 @@ -18881,6 +20529,15 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 + http-proxy-agent@4.0.1: + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.4.1(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + optional: true + http-proxy-agent@5.0.0: dependencies: '@tootallnate/once': 2.0.0 @@ -18908,6 +20565,11 @@ snapshots: transitivePeerDependencies: - debug + http2-wrapper@1.0.3: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 @@ -18926,6 +20588,11 @@ snapshots: human-signals@2.1.0: {} + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + optional: true + husky@9.1.7: {} hyperdyperid@1.2.0: {} @@ -18960,6 +20627,8 @@ snapshots: immer@10.1.1: {} + immer@11.1.4: {} + immutable@4.3.7: {} immutable@5.1.3: {} @@ -18982,6 +20651,9 @@ snapshots: indent-string@4.0.0: {} + infer-owner@1.0.4: + optional: true + inflight@1.0.6: dependencies: once: 1.4.0 @@ -18989,6 +20661,8 @@ snapshots: inherits@2.0.4: {} + ini@1.3.8: {} + ini@4.1.1: {} inline-style-parser@0.2.4: {} @@ -19005,10 +20679,15 @@ snapshots: internmap@2.0.3: {} + interpret@2.2.0: {} + invariant@2.2.4: dependencies: loose-envify: 1.4.0 + ip-address@10.1.0: + optional: true + ipaddr.js@1.9.1: {} is-absolute-url@4.0.1: {} @@ -19112,6 +20791,9 @@ snapshots: dependencies: is-docker: 3.0.0 + is-lambda@1.0.1: + optional: true + is-map@2.0.3: {} is-negative-zero@2.0.3: {} @@ -19482,6 +21164,9 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} + json-stringify-safe@5.0.1: + optional: true + json5@1.0.2: dependencies: minimist: 1.2.8 @@ -19500,6 +21185,10 @@ snapshots: '@types/diff-match-patch': 1.0.36 diff-match-patch: 1.0.5 + jsondiffpatch@0.7.3: + dependencies: + '@dmsnell/diff-match-patch': 1.1.0 + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 @@ -19553,6 +21242,27 @@ snapshots: kleur@3.0.3: {} + knex@3.1.0(sqlite3@5.1.7): + dependencies: + colorette: 2.0.19 + commander: 10.0.1 + debug: 4.3.4 + escalade: 3.2.0 + esm: 3.2.25 + get-package-type: 0.1.0 + getopts: 2.3.0 + interpret: 2.2.0 + lodash: 4.17.21 + pg-connection-string: 2.6.2 + rechoir: 0.8.0 + resolve-from: 5.0.0 + tarn: 3.0.2 + tildify: 2.0.0 + optionalDependencies: + sqlite3: 5.1.7 + transitivePeerDependencies: + - supports-color + kolorist@1.8.0: {} lan-network@0.1.7: {} @@ -19717,6 +21427,8 @@ snapshots: lodash.snakecase@4.1.1: {} + lodash.sortby@4.7.0: {} + lodash.startcase@4.4.0: {} lodash.throttle@4.1.1: {} @@ -19739,6 +21451,10 @@ snapshots: strip-ansi: 7.1.0 wrap-ansi: 9.0.2 + loglevel@1.9.2: {} + + long@4.0.0: {} + longest-streak@3.1.0: {} loose-envify@1.4.0: @@ -19747,6 +21463,8 @@ snapshots: loupe@3.2.1: {} + lowercase-keys@2.0.0: {} + lru-cache@10.4.3: {} lru-cache@11.2.6: {} @@ -19759,6 +21477,8 @@ snapshots: dependencies: yallist: 4.0.0 + lru-cache@7.18.3: {} + lucide-react@0.263.1(react@19.2.0): dependencies: react: 19.2.0 @@ -19772,24 +21492,56 @@ snapshots: pify: 4.0.1 semver: 5.7.2 + make-fetch-happen@9.1.0: + dependencies: + agentkeepalive: 4.6.0 + cacache: 15.3.0 + http-cache-semantics: 4.2.0 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 1.4.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.4 + promise-retry: 2.0.1 + socks-proxy-agent: 6.2.1 + ssri: 8.0.1 + transitivePeerDependencies: + - bluebird + - supports-color + optional: true + makeerror@1.0.12: dependencies: tmpl: 1.0.5 map2tree@4.0.0: dependencies: - lodash-es: 4.17.21 + lodash-es: 4.17.23 markdown-extensions@2.0.0: {} markdown-table@3.0.4: {} + markdown-to-jsx@7.7.12(react@19.1.1): + dependencies: + react: 19.1.1 + markdown-to-jsx@7.7.12(react@19.2.0): dependencies: react: 19.2.0 marky@1.3.0: {} + matcher@3.0.0: + dependencies: + escape-string-regexp: 4.0.0 + optional: true + math-intrinsics@1.1.0: {} mdast-util-find-and-replace@3.0.2: @@ -20799,6 +22551,10 @@ snapshots: mimic-function@5.0.1: {} + mimic-response@1.0.1: {} + + mimic-response@3.1.0: {} + min-indent@1.0.1: {} minimatch@10.1.2: @@ -20823,8 +22579,50 @@ snapshots: minimist@1.2.8: {} + minipass-collect@1.0.2: + dependencies: + minipass: 3.3.6 + optional: true + + minipass-fetch@1.4.1: + dependencies: + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + optional: true + + minipass-flush@1.0.5: + dependencies: + minipass: 3.3.6 + optional: true + + minipass-pipeline@1.2.4: + dependencies: + minipass: 3.3.6 + optional: true + + minipass-sized@1.0.3: + dependencies: + minipass: 3.3.6 + optional: true + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + minipass@7.1.2: {} + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mkdirp-classic@0.5.3: {} + mkdirp@0.5.6: dependencies: minimist: 1.2.8 @@ -20848,12 +22646,24 @@ snapshots: transitivePeerDependencies: - supports-color + morgan@1.10.1: + dependencies: + basic-auth: 2.0.1 + debug: 2.6.9 + depd: 2.0.0 + on-finished: 2.3.0 + on-headers: 1.1.0 + transitivePeerDependencies: + - supports-color + mri@1.2.0: {} mrmime@2.0.1: {} ms@2.0.0: {} + ms@2.1.2: {} + ms@2.1.3: {} muggle-string@0.4.1: {} @@ -20876,6 +22686,8 @@ snapshots: nanoid@5.1.5: {} + napi-build-utils@2.0.0: {} + napi-postinstall@0.3.4: {} natural-compare@1.4.0: {} @@ -20890,28 +22702,62 @@ snapshots: nocache@4.0.0: {} + node-abi@3.87.0: + dependencies: + semver: 7.7.3 + + node-abort-controller@3.1.1: {} + + node-addon-api@7.1.1: {} + node-dir@0.1.17: dependencies: minimatch: 3.1.2 - node-fetch@2.7.0: + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 node-forge@1.3.1: {} node-forge@1.3.3: {} + node-gyp@8.4.1: + dependencies: + env-paths: 2.2.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 9.1.0 + nopt: 5.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.7.3 + tar: 6.2.1 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + optional: true + node-int64@0.4.0: {} node-modules-regexp@1.0.0: {} node-releases@2.0.23: {} + nopt@5.0.0: + dependencies: + abbrev: 1.1.1 + optional: true + normalize-path@3.0.0: {} normalize-range@0.1.2: {} + normalize-url@6.1.0: {} + npm-package-arg@11.0.3: dependencies: hosted-git-info: 7.0.2 @@ -20923,6 +22769,14 @@ snapshots: dependencies: path-key: 3.1.1 + npmlog@6.0.2: + dependencies: + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 + optional: true + nprogress@0.2.0: {} nth-check@2.1.1: @@ -21003,6 +22857,8 @@ snapshots: on-headers@1.0.2: {} + on-headers@1.1.0: {} + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -21071,6 +22927,8 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 + p-cancelable@2.1.1: {} + p-filter@2.1.0: dependencies: p-map: 2.1.0 @@ -21109,6 +22967,11 @@ snapshots: p-map@2.1.0: {} + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + optional: true + p-throttle@7.0.0: {} p-try@2.2.0: {} @@ -21200,6 +23063,10 @@ snapshots: pathval@2.0.1: {} + pend@1.2.0: {} + + pg-connection-string@2.6.2: {} + pg-int8@1.0.1: {} pg-protocol@1.10.3: {} @@ -21343,6 +23210,21 @@ snapshots: dependencies: xtend: 4.0.2 + prebuild-install@7.1.3: + dependencies: + detect-libc: 2.0.4 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 2.0.0 + node-abi: 3.87.0 + pump: 3.0.4 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.4 + tunnel-agent: 0.6.0 + prelude-ls@1.2.1: {} prettier@2.8.8: {} @@ -21385,6 +23267,15 @@ snapshots: progress@2.0.3: {} + promise-inflight@1.0.1: + optional: true + + promise-retry@2.0.1: + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + optional: true + promise@7.3.1: dependencies: asap: 2.0.6 @@ -21423,6 +23314,11 @@ snapshots: dependencies: punycode: 2.3.1 + pump@3.0.4: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + punycode@2.3.1: {} qrcode-terminal@0.11.0: {} @@ -21454,6 +23350,8 @@ snapshots: quick-format-unescaped@4.0.4: {} + quick-lru@5.1.1: {} + radix-ui@1.4.2(@types/react-dom@19.1.11(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: '@radix-ui/primitive': 1.1.2 @@ -21539,6 +23437,13 @@ snapshots: iconv-lite: 0.6.3 unpipe: 1.0.0 + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + react-base16-styling@0.10.0: dependencies: '@types/lodash': 4.17.20 @@ -21583,6 +23488,10 @@ snapshots: dependencies: react: 19.2.0 + react-icons@5.5.0(react@19.1.1): + dependencies: + react: 19.1.1 + react-icons@5.5.0(react@19.2.0): dependencies: react: 19.2.0 @@ -21597,6 +23506,13 @@ snapshots: react-is@19.2.4: {} + react-json-tree@0.20.0(@types/react@19.2.14)(react@19.1.1): + dependencies: + '@types/lodash': 4.17.20 + '@types/react': 19.2.14 + react: 19.1.1 + react-base16-styling: 0.10.0 + react-json-tree@0.20.0(@types/react@19.2.14)(react@19.2.0): dependencies: '@types/lodash': 4.17.20 @@ -21619,13 +23535,13 @@ snapshots: fast-base64-decode: 1.0.0 react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) - react-native-harness@1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@types/react@19.2.14)(immer@10.1.1)(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): + react-native-harness@1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@types/react@19.2.14)(immer@11.1.4)(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: '@react-native-harness/babel-preset': 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0)) '@react-native-harness/cli': 1.0.0-alpha.25(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - '@react-native-harness/jest': 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@10.1.1)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - '@react-native-harness/metro': 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@10.1.1)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) - '@react-native-harness/runtime': 1.0.0-alpha.25(@types/react@19.2.14)(immer@10.1.1)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) + '@react-native-harness/jest': 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@11.1.4)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro-config@0.83.3)(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + '@react-native-harness/metro': 1.0.0-alpha.25(@babel/core@7.28.0)(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@react-native-harness/runtime@1.0.0-alpha.25(@types/react@19.2.14)(immer@11.1.4)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0))(metro@0.83.3)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0)) + '@react-native-harness/runtime': 1.0.0-alpha.25(@types/react@19.2.14)(immer@11.1.4)(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0) tslib: 2.8.1 transitivePeerDependencies: - '@babel/core' @@ -21688,11 +23604,11 @@ snapshots: react-native-sse@1.2.1: {} - react-native-svg-web@1.0.9(prop-types@15.8.1)(react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0): + react-native-svg-web@1.0.9(prop-types@15.8.1)(react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0): dependencies: prop-types: 15.8.1 react: 19.2.0 - react-native-web: 0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-native-web: 0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react-native-svg@15.15.1(react-native@0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0))(react@19.2.0): dependencies: @@ -21710,11 +23626,11 @@ snapshots: react-native: 0.83.1(@babel/core@7.28.0)(@react-native/metro-config@0.76.9)(@types/react@19.2.14)(react@19.2.0) warn-once: 0.1.1 - react-native-web@0.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: '@babel/runtime': 7.26.10 '@react-native/normalize-colors': 0.74.89 - fbjs: 3.0.5 + fbjs: 3.0.5(encoding@0.1.13) inline-style-prefixer: 7.0.1 memoize-one: 6.0.0 nullthrows: 1.1.1 @@ -21845,6 +23761,15 @@ snapshots: react: 19.2.4 scheduler: 0.27.0 + react-redux@9.2.0(@types/react@19.2.14)(react@19.1.1)(redux@5.0.1): + dependencies: + '@types/use-sync-external-store': 0.0.6 + react: 19.1.1 + use-sync-external-store: 1.5.0(react@19.1.1) + optionalDependencies: + '@types/react': 19.2.14 + redux: 5.0.1 + react-redux@9.2.0(@types/react@19.2.14)(react@19.2.0)(redux@5.0.1): dependencies: '@types/use-sync-external-store': 0.0.6 @@ -21895,6 +23820,23 @@ snapshots: optionalDependencies: react-dom: 19.2.4(react@19.2.4) + react-select@5.10.2(@types/react@19.2.14)(react-dom@19.1.1(react@19.1.1))(react@19.1.1): + dependencies: + '@babel/runtime': 7.26.10 + '@emotion/cache': 11.14.0 + '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.1.1) + '@floating-ui/dom': 1.7.2 + '@types/react-transition-group': 4.4.12(@types/react@19.2.14) + memoize-one: 6.0.0 + prop-types: 15.8.1 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + react-transition-group: 4.4.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.14)(react@19.1.1) + transitivePeerDependencies: + - '@types/react' + - supports-color + react-select@5.10.2(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: '@babel/runtime': 7.26.10 @@ -21926,6 +23868,15 @@ snapshots: react-is: 19.2.4 scheduler: 0.27.0 + react-transition-group@4.4.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1): + dependencies: + '@babel/runtime': 7.26.10 + dom-helpers: 5.2.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + react-transition-group@4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: '@babel/runtime': 7.26.10 @@ -21974,6 +23925,12 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -21987,6 +23944,10 @@ snapshots: source-map: 0.6.1 tslib: 2.8.1 + rechoir@0.8.0: + dependencies: + resolve: 1.22.10 + recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.8 @@ -22022,6 +23983,12 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 + redux-persist@6.0.0(react@19.1.1)(redux@5.0.1): + dependencies: + redux: 5.0.1 + optionalDependencies: + react: 19.1.1 + redux-persist@6.0.0(react@19.2.0)(redux@5.0.1): dependencies: redux: 5.0.1 @@ -22161,6 +24128,8 @@ snapshots: reselect@5.1.1: {} + resolve-alpn@1.2.1: {} + resolve-from@3.0.0: {} resolve-from@4.0.0: {} @@ -22183,6 +24152,10 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + responselike@2.0.1: + dependencies: + lowercase-keys: 2.0.0 + restore-cursor@2.0.0: dependencies: onetime: 2.0.1 @@ -22195,6 +24168,11 @@ snapshots: ret@0.4.3: {} + retry@0.12.0: + optional: true + + retry@0.13.1: {} + reusify@1.1.0: {} rfdc@1.4.1: {} @@ -22207,6 +24185,18 @@ snapshots: dependencies: glob: 7.2.3 + rn-host-detect@1.2.0: {} + + roarr@2.15.4: + dependencies: + boolean: 3.2.0 + detect-node: 2.1.0 + globalthis: 1.0.4 + json-stringify-safe: 5.0.1 + semver-compare: 1.0.0 + sprintf-js: 1.1.3 + optional: true + robust-predicates@3.0.2: {} rollup@2.79.2: @@ -22333,6 +24323,9 @@ snapshots: '@types/node-forge': 1.3.11 node-forge: 1.3.1 + semver-compare@1.0.0: + optional: true + semver@5.7.2: {} semver@6.3.1: {} @@ -22383,6 +24376,11 @@ snapshots: serialize-error@2.1.0: {} + serialize-error@7.0.1: + dependencies: + type-fest: 0.13.1 + optional: true + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 @@ -22407,6 +24405,9 @@ snapshots: server-only@0.0.1: {} + set-blocking@2.0.0: + optional: true + set-cookie-parser@2.7.1: {} set-function-length@1.2.2: @@ -22437,6 +24438,12 @@ snapshots: sf-symbols-typescript@2.2.0: {} + sha.js@2.4.12: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + to-buffer: 1.2.2 + shallow-clone@3.0.1: dependencies: kind-of: 6.0.3 @@ -22496,10 +24503,18 @@ snapshots: signal-exit@4.1.0: {} + simple-concat@1.0.1: {} + simple-diff@1.7.2: {} simple-element-resize-detector@1.3.0: {} + simple-get@4.0.1: + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + simple-plist@1.3.1: dependencies: bplist-creator: 0.1.0 @@ -22529,6 +24544,9 @@ snapshots: slugify@1.6.6: {} + smart-buffer@4.2.0: + optional: true + socketcluster-client@19.2.7: dependencies: ag-auth: 2.1.0 @@ -22548,6 +24566,38 @@ snapshots: - bufferutil - utf-8-validate + socketcluster-server@19.2.2: + dependencies: + ag-auth: 2.1.0 + ag-request: 1.1.0 + ag-simple-broker: 6.0.1 + async-stream-emitter: 7.0.1 + base64id: 2.0.0 + clone-deep: 4.0.1 + sc-errors: 3.0.0 + sc-formatter: 4.0.0 + stream-demux: 10.0.1 + writable-consumable-stream: 4.2.0 + ws: 8.18.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + socks-proxy-agent@6.2.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.1(supports-color@5.5.0) + socks: 2.8.7 + transitivePeerDependencies: + - supports-color + optional: true + + socks@2.8.7: + dependencies: + ip-address: 10.1.0 + smart-buffer: 4.2.0 + optional: true + sonic-boom@4.2.0: dependencies: atomic-sleep: 1.0.0 @@ -22578,8 +24628,28 @@ snapshots: sprintf-js@1.0.3: {} + sprintf-js@1.1.3: + optional: true + + sqlite3@5.1.7: + dependencies: + bindings: 1.5.0 + node-addon-api: 7.1.1 + prebuild-install: 7.1.3 + tar: 6.2.1 + optionalDependencies: + node-gyp: 8.4.1 + transitivePeerDependencies: + - bluebird + - supports-color + ssim.js@3.5.0: {} + ssri@8.0.1: + dependencies: + minipass: 3.3.6 + optional: true + stable-hash@0.0.5: {} stack-utils@2.0.6: @@ -22722,6 +24792,8 @@ snapshots: dependencies: min-indent: 1.0.1 + strip-json-comments@2.0.1: {} + strip-json-comments@3.1.1: {} strip-literal@3.1.0: @@ -22780,6 +24852,12 @@ snapshots: tinyglobby: 0.2.15 ts-interface-checker: 0.1.13 + sumchecker@3.0.1: + dependencies: + debug: 4.4.1(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -22838,6 +24916,32 @@ snapshots: tapable@2.2.2: {} + tar-fs@2.1.4: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.4 + tar-stream: 2.2.0 + + tar-stream@2.2.0: + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.5 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + tarn@3.0.2: {} + temp@0.8.4: dependencies: rimraf: 2.6.3 @@ -22901,6 +25005,8 @@ snapshots: through@2.3.8: {} + tildify@2.0.0: {} + tinybench@2.9.0: {} tinycolor2@1.6.0: {} @@ -22934,6 +25040,12 @@ snapshots: tmpl@1.0.5: {} + to-buffer@1.2.2: + dependencies: + isarray: 2.0.5 + safe-buffer: 5.2.1 + typed-array-buffer: 1.0.3 + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -22993,6 +25105,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + turbo-darwin-64@2.8.3: optional: true @@ -23026,6 +25142,9 @@ snapshots: type-detect@4.0.8: {} + type-fest@0.13.1: + optional: true + type-fest@0.21.3: {} type-fest@0.7.1: {} @@ -23135,6 +25254,16 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 + unique-filename@1.1.1: + dependencies: + unique-slug: 2.0.2 + optional: true + + unique-slug@2.0.2: + dependencies: + imurmurhash: 0.1.4 + optional: true + unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 @@ -23232,6 +25361,12 @@ snapshots: optionalDependencies: '@types/react': 19.2.14 + use-isomorphic-layout-effect@1.2.1(@types/react@19.2.14)(react@19.1.1): + dependencies: + react: 19.1.1 + optionalDependencies: + '@types/react': 19.2.14 + use-isomorphic-layout-effect@1.2.1(@types/react@19.2.14)(react@19.2.0): dependencies: react: 19.2.0 @@ -23250,6 +25385,10 @@ snapshots: optionalDependencies: '@types/react': 19.2.14 + use-sync-external-store@1.5.0(react@19.1.1): + dependencies: + react: 19.1.1 + use-sync-external-store@1.5.0(react@19.2.0): dependencies: react: 19.2.0 @@ -23262,10 +25401,14 @@ snapshots: utils-merge@1.0.1: {} + uuid@13.0.0: {} + uuid@7.0.3: {} uuid@8.3.2: {} + uuid@9.0.1: {} + validate-npm-package-name@5.0.1: {} validate-npm-package-name@6.0.1: {} @@ -23285,6 +25428,8 @@ snapshots: validate.io-number@1.0.3: {} + value-or-promise@1.0.12: {} + vary@1.1.2: {} vaul@1.1.2(@types/react-dom@19.1.11(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): @@ -23356,18 +25501,18 @@ snapshots: - rollup - supports-color - vite-plugin-dts@4.5.4(@types/node@22.17.0)(rollup@4.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1)): + vite-plugin-dts@4.5.4(@types/node@22.17.0)(rollup@4.44.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1)): dependencies: '@microsoft/api-extractor': 7.48.1(@types/node@22.17.0) '@rollup/pluginutils': 5.2.0(rollup@4.44.1) '@volar/typescript': 2.4.17 - '@vue/language-core': 2.2.0(typescript@5.9.3) + '@vue/language-core': 2.2.0(typescript@5.8.3) compare-versions: 6.1.1 debug: 4.4.1(supports-color@5.5.0) kolorist: 1.8.0 local-pkg: 1.1.1 magic-string: 0.30.17 - typescript: 5.9.3 + typescript: 5.8.3 optionalDependencies: vite: 7.3.1(@types/node@22.17.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.43.1)(tsx@4.21.0)(yaml@2.8.1) transitivePeerDependencies: @@ -23565,6 +25710,11 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 + wide-align@1.1.5: + dependencies: + string-width: 4.2.3 + optional: true + wildcard@2.0.1: {} word-wrap@1.2.5: {} @@ -23658,16 +25808,21 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + yocto-queue@0.1.0: {} yocto-queue@1.2.1: {} zod@3.25.76: {} - zustand@5.0.6(@types/react@19.2.14)(immer@10.1.1)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)): + zustand@5.0.6(@types/react@19.2.14)(immer@11.1.4)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)): optionalDependencies: '@types/react': 19.2.14 - immer: 10.1.1 + immer: 11.1.4 react: 19.2.0 use-sync-external-store: 1.6.0(react@19.2.0) From b82167201c5c2c3bd15cbeeb6d8f229babbf3bad Mon Sep 17 00:00:00 2001 From: Szymon Chmal Date: Fri, 6 Mar 2026 12:29:52 +0100 Subject: [PATCH 3/4] chore: add changeset for storage plugin --- .changeset/bright-toes-share.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .changeset/bright-toes-share.md diff --git a/.changeset/bright-toes-share.md b/.changeset/bright-toes-share.md new file mode 100644 index 00000000..79099242 --- /dev/null +++ b/.changeset/bright-toes-share.md @@ -0,0 +1,12 @@ +--- +"@rozenite/storage-plugin": minor +--- + +Introduce `@rozenite/storage-plugin` as a generic storage inspector for React Native devtools. + +User-facing changes: +- Add `useRozeniteStoragePlugin({ storages })` API for registering one or more adapters. +- Support named storages across adapters so multiple independent stores can be inspected in a single plugin panel. +- Provide built-in adapters for MMKV, AsyncStorage (including v2 and v3-style usage), and Expo SecureStore. +- Improve entry workflows in the panel by prefilling the key when an entry is selected, making update/delete actions faster. +- Add official documentation for the new Storage plugin and guide users from MMKV docs toward the generic plugin path. From 3c99d172f418f69a0639a53f6ed937c68cf4c977 Mon Sep 17 00:00:00 2001 From: Szymon Chmal Date: Fri, 6 Mar 2026 12:40:43 +0100 Subject: [PATCH 4/4] fix(storage-plugin): treat JSON primitives as plain strings --- .../storage-plugin/src/ui/entry-detail-dialog.tsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/storage-plugin/src/ui/entry-detail-dialog.tsx b/packages/storage-plugin/src/ui/entry-detail-dialog.tsx index 85143271..87a32af3 100644 --- a/packages/storage-plugin/src/ui/entry-detail-dialog.tsx +++ b/packages/storage-plugin/src/ui/entry-detail-dialog.tsx @@ -29,9 +29,19 @@ const jsonTreeTheme = { base0F: '#f97316', // text-orange-500 }; -const jsonSafeParse = (value: string): unknown | null => { +const jsonSafeParse = (value: string): Record | unknown[] | null => { try { - return JSON.parse(value); + const parsed = JSON.parse(value) as unknown; + + if (Array.isArray(parsed)) { + return parsed; + } + + if (parsed && typeof parsed === 'object') { + return parsed as Record; + } + + return null; } catch { return null; }