Your music, beautifully tracked. All yours. (coming soon) teal.fm
teal-fm atproto

Rebase

Changed files
+2909 -3190
.vscode
apps
packages
+3 -3
.vscode/settings.json
··· 1 - { 2 - "deno.enable": false 3 - } 1 + { 2 + "deno.enable": false 3 + }
+9 -8
CONTRIBUTING.md
··· 1 1 # Contributing 2 2 3 - Hi, thanks for showing interest in our project, we appreciate you wanting to be 3 + Hi, thanks for showing interest in our project, we appreciate you wanting to be 4 4 a part of it! 5 5 6 6 > ###### Do you accept external contributions? 7 - > Yes, we welcome external contributions! The only request we have is that you 8 - > check with us before working on a large feature, as we'd prefer to avoid duplicating effort. 7 + > 8 + > Yes, we welcome external contributions! The only request we have is that you 9 + > check with us before working on a large feature, as we'd prefer to avoid duplicating effort. 9 10 > 10 - > You can do this by either creating an issue that we can communicate through, or 11 - > popping into the Discord channel and asking in the #development channel. 11 + > You can do this by either creating an issue that we can communicate through, or 12 + > popping into the Discord channel and asking in the #development channel. 12 13 > Whatever works best for you! 13 14 > 14 15 > Other than that, feel free to contribute however you'd like! ··· 38 39 turbo dev --filter=<service_path> 39 40 ``` 40 41 41 - Open http://localhost:3000/ with your browser to see the home page. You will need 42 - to login with Bluesky to test the posting functionality of the app. Note: if the 43 - redirect back to the app after you login isn't working correctly, you may need to 42 + Open http://localhost:3000/ with your browser to see the home page. You will need 43 + to login with Bluesky to test the posting functionality of the app. Note: if the 44 + redirect back to the app after you login isn't working correctly, you may need to 44 45 replace the `127.0.0.1` with `localhost`. 45 46 46 47 Push to your fork and [submit a pull request][pr].
+2
README.md
··· 1 1 ## Getting Started 2 2 3 3 ### Prerequisites 4 + 4 5 - Node (>= v21.0.0) 5 6 - Go 6 7 - Bun ··· 12 13 pnpm install && pnpm install -g turbo && cp apps/aqua/.env.example apps/aqua/.env && 13 14 pnpm run db:migrate 14 15 ``` 16 + 15 17 Running on a Mac may also require adding @libsql/darwin-x64 dependency 16 18 17 19 ## Development
+6 -7
apps/amethyst/.eslintrc.js
··· 1 1 // https://docs.expo.dev/guides/using-eslint/ 2 2 module.exports = { 3 - extends: 'expo', 4 - plugins: ['eslint-plugin-react-compiler'], 5 - rules: { 6 - 'react-compiler/react-compiler': 'error', 7 - }, 8 - }; 9 - 3 + extends: "expo", 4 + plugins: ["eslint-plugin-react-compiler"], 5 + rules: { 6 + "react-compiler/react-compiler": "error", 7 + }, 8 + };
+1 -1
apps/amethyst/app/(tabs)/(stamp)/_layout.tsx
··· 1 - import { Stack } from "expo-router"; 2 1 import { useMemo } from "react"; 2 + import { Stack } from "expo-router"; 3 3 4 4 const Layout = ({ segment }: { segment: string }) => { 5 5 const rootScreen = useMemo(() => {
+2 -2
apps/amethyst/app/(tabs)/(stamp)/stamp/_layout.tsx
··· 1 - import { MusicBrainzRecording, PlaySubmittedData } from "@/lib/oldStamp"; 2 - import { Slot, Stack } from "expo-router"; 3 1 import { createContext, useState } from "react"; 2 + import { Slot, Stack } from "expo-router"; 3 + import { MusicBrainzRecording, PlaySubmittedData } from "@/lib/oldStamp"; 4 4 5 5 export enum StampStep { 6 6 IDLE = "IDLE",
+31 -33
apps/amethyst/app/(tabs)/(stamp)/stamp/index.tsx
··· 1 - import { Button } from "@/components/ui/button"; 2 - import { Icon } from "@/lib/icons/iconWithClassName"; 3 - import { Link, Stack, useRouter } from "expo-router"; 4 - import { Check, ChevronDown, ChevronRight } from "lucide-react-native"; 5 - 6 1 import React, { useContext, useEffect, useRef, useState } from "react"; 7 2 import { 8 3 FlatList, ··· 11 6 TouchableOpacity, 12 7 View, 13 8 } from "react-native"; 14 - 9 + import { Link, Stack, useRouter } from "expo-router"; 10 + import { ExternalLink } from "@/components/ExternalLink"; 11 + import { Button } from "@/components/ui/button"; 12 + import { Input } from "@/components/ui/input"; 13 + import SheetBackdrop, { SheetHandle } from "@/components/ui/sheetBackdrop"; 15 14 import { Text } from "@/components/ui/text"; 15 + import { Icon } from "@/lib/icons/iconWithClassName"; 16 16 import { 17 17 MusicBrainzRecording, 18 18 MusicBrainzRelease, ··· 22 22 SearchResultProps, 23 23 } from "@/lib/oldStamp"; 24 24 import { BottomSheetModal, BottomSheetScrollView } from "@gorhom/bottom-sheet"; 25 - import SheetBackdrop, { SheetHandle } from "@/components/ui/sheetBackdrop"; 26 - import { StampContext, StampContextValue, StampStep } from "./_layout"; 27 - import { ExternalLink } from "@/components/ExternalLink"; 25 + import { Check, ChevronDown, ChevronRight } from "lucide-react-native"; 28 26 29 - import { Input } from "@/components/ui/input"; 27 + import { StampContext, StampContextValue, StampStep } from "./_layout"; 30 28 31 29 export default function StepOne() { 32 30 const router = useRouter(); ··· 80 78 }; 81 79 82 80 return ( 83 - <ScrollView className="flex-1 justify-start items-center w-min bg-background pt-2"> 81 + <ScrollView className="w-min flex-1 items-center justify-start bg-background pt-2"> 84 82 <Stack.Screen 85 83 options={{ 86 84 title: "Stamp a play manually", ··· 146 144 </View> 147 145 148 146 {/* Search Results */} 149 - <View className="flex gap-4 max-w-2xl w-screen px-4"> 147 + <View className="flex w-screen max-w-2xl gap-4 px-4"> 150 148 {searchResults.length > 0 ? ( 151 149 <View className="mt-4"> 152 - <Text className="text-lg font-bold mb-2"> 150 + <Text className="mb-2 text-lg font-bold"> 153 151 Search Results ({searchResults.length}) 154 152 </Text> 155 153 ··· 175 173 ) : ( 176 174 hasSearched && ( 177 175 <View className="mt-4"> 178 - <Text className="text-lg text-muted-foreground mb-2 text-center"> 176 + <Text className="mb-2 text-center text-lg text-muted-foreground"> 179 177 No search results found. 180 178 </Text> 181 - <Text className="text-lg text-muted-foreground mb-2 text-center"> 179 + <Text className="mb-2 text-center text-lg text-muted-foreground"> 182 180 Please try importing with{" "} 183 181 <ExternalLink 184 182 href="https://harmony.pulsewidth.org.uk/" ··· 201 199 202 200 {/* Submit Button */} 203 201 {selectedTrack && ( 204 - <View className="mt-4 sticky bottom-0"> 202 + <View className="sticky bottom-0 mt-4"> 205 203 <Button 206 204 onPress={() => { 207 205 setState({ ··· 212 210 pathname: "/stamp/submit", 213 211 }); 214 212 }} 215 - className="w-full flex flex-row align-middle" 213 + className="flex w-full flex-row align-middle" 216 214 > 217 215 <Text>{`Submit "${selectedTrack.title}" as Play`}</Text> 218 216 <ChevronRight className="ml-2 inline" /> ··· 295 293 }, 296 294 ); 297 295 }} 298 - className={`px-4 py-2 mb-2 rounded-lg ${ 296 + className={`mb-2 rounded-lg px-4 py-2 ${ 299 297 isSelected ? "bg-primary/20" : "bg-secondary/10" 300 298 }`} 301 299 > 302 - <View className={`flex-row justify-between items-center gap-4`}> 300 + <View className={`flex-row items-center justify-between gap-4`}> 303 301 <Image 304 - className="w-16 h-16 rounded-lg bg-gray-500/50" 302 + className="h-16 w-16 rounded-lg bg-gray-500/50" 305 303 source={{ 306 304 uri: `https://coverartarchive.org/release/${currentRelease?.id}/front-250`, 307 305 }} 308 306 /> 309 307 <View className="flex-1"> 310 - <Text className="font-bold text-sm line-clamp-2">{result.title}</Text> 308 + <Text className="line-clamp-2 text-sm font-bold">{result.title}</Text> 311 309 <Text className="text-sm text-muted-foreground"> 312 310 {result["artist-credit"]?.[0]?.artist?.name ?? "Unknown Artist"} 313 311 </Text> ··· 316 314 {result.releases && result.releases?.length > 0 && ( 317 315 <TouchableOpacity 318 316 onPress={() => showModal()} 319 - className="p-1 bg-secondary/10 rounded-lg flex md:flex-row items-start md:items-center justify-between md:gap-1 w-full" 317 + className="flex w-full items-start justify-between rounded-lg bg-secondary/10 p-1 md:flex-row md:items-center md:gap-1" 320 318 > 321 - <View className="flex-1 flex md:flex-row items-start gap-1 overflow-hidden w-full"> 322 - <Text className="text-sm text-gray-500 whitespace-nowrap"> 319 + <View className="flex w-full flex-1 items-start gap-1 overflow-hidden md:flex-row"> 320 + <Text className="whitespace-nowrap text-sm text-gray-500"> 323 321 Release: 324 322 </Text> 325 - <Text className="text-sm line-clamp-1"> 323 + <Text className="line-clamp-1 text-sm"> 326 324 {currentRelease?.title} 327 325 {currentRelease?.date ? ` (${currentRelease.date})` : ""} 328 326 {currentRelease?.country ··· 331 329 </Text> 332 330 </View> 333 331 {/* the chevron looks odd in the other layout so I'm just hiding it for now. -mm */} 334 - <ChevronDown className="md:ml-1 md:block hidden w-6 h-6" /> 332 + <ChevronDown className="hidden h-6 w-6 md:ml-1 md:block" /> 335 333 </TouchableOpacity> 336 334 )} 337 335 </View> ··· 342 340 </View> 343 341 </Link> */} 344 342 {isSelected ? ( 345 - <View className="bg-primary rounded-full p-1"> 343 + <View className="rounded-full bg-primary p-1"> 346 344 <Icon icon={Check} size={20} /> 347 345 </View> 348 346 ) : ( 349 - <View className="border-2 border-secondary rounded-full p-3"></View> 347 + <View className="rounded-full border-2 border-secondary p-3"></View> 350 348 )} 351 349 </View> 352 350 ··· 358 356 backdropComponent={SheetBackdrop} 359 357 handleComponent={SheetHandle} 360 358 > 361 - <View className="pb-4 border-b -mt-2 border-x border-neutral-500/30 bg-card"> 362 - <Text className="text-lg font-bold text-center">Select Release</Text> 359 + <View className="-mt-2 border-x border-b border-neutral-500/30 bg-card pb-4"> 360 + <Text className="text-center text-lg font-bold">Select Release</Text> 363 361 <TouchableOpacity 364 362 className="absolute right-4 top-1.5" 365 363 onPress={() => dismissModal()} ··· 367 365 <Text className="text-primary">Done</Text> 368 366 </TouchableOpacity> 369 367 </View> 370 - <BottomSheetScrollView className="bg-card min-h-64 border-x border-neutral-500/30"> 368 + <BottomSheetScrollView className="min-h-64 border-x border-neutral-500/30 bg-card"> 371 369 {result.releases?.map((release) => ( 372 370 <TouchableOpacity 373 371 key={release.id} 374 - className={`p-4 border-b border-gray-100 ${ 372 + className={`border-b border-gray-100 p-4 ${ 375 373 selectedRelease?.id === release.id ? "bg-primary/10" : "" 376 374 }`} 377 375 onPress={() => { ··· 396 394 )} 397 395 </View> 398 396 {release.disambiguation && ( 399 - <Text className="text-sm text-gray-400 italic"> 397 + <Text className="text-sm italic text-gray-400"> 400 398 {release.disambiguation} 401 399 </Text> 402 400 )}
+20 -13
apps/amethyst/app/(tabs)/(stamp)/stamp/submit.tsx
··· 1 + import { useContext, useEffect, useState } from "react"; 2 + import { Image, Switch, View } from "react-native"; 3 + import { Redirect, Stack, useRouter } from "expo-router"; 4 + import { ExternalLink } from "@/components/ExternalLink"; 1 5 import VerticalPlayView from "@/components/play/verticalPlayView"; 2 6 import { Button } from "@/components/ui/button"; 7 + import { Text } from "@/components/ui/text"; 8 + import { MusicBrainzRecording, PlaySubmittedData } from "@/lib/oldStamp"; 3 9 import { useStore } from "@/stores/mainStore"; 4 10 import { 5 11 Agent, ··· 7 13 ComAtprotoRepoCreateRecord, 8 14 RichText, 9 15 } from "@atproto/api"; 16 + 10 17 import { 11 18 Record as PlayRecord, 12 19 validateRecord, ··· 309 316 }; 310 317 311 318 return ( 312 - <View className="flex-1 p-4 bg-background items-center h-screen-safe"> 319 + <View className="h-screen-safe flex-1 items-center bg-background p-4"> 313 320 <Stack.Screen 314 321 options={{ 315 322 title: "Submit Stamp", 316 323 }} 317 324 /> 318 - <View className="flex justify-between align-middle gap-4 max-w-2xl w-screen min-h-full px-4"> 325 + <View className="flex min-h-full w-screen max-w-2xl justify-between gap-4 px-4 align-middle"> 319 326 <View /> 320 327 <View> 321 328 <VerticalPlayView ··· 330 337 .join(", ")} 331 338 releaseTitle={selectedTrack?.selectedRelease?.title} 332 339 /> 333 - <Text className="text-sm text-gray-500 text-center mt-4"> 340 + <Text className="mt-4 text-center text-sm text-gray-500"> 334 341 Any missing info?{" "} 335 342 <ExternalLink 336 343 className="text-blue-600 dark:text-blue-400" ··· 343 350 344 351 <View className="flex-col gap-4 items-center w-full"> 345 352 {blueskyEmbedCard && shareWithBluesky ? ( 346 - <View className="gap-2 w-full"> 347 - <Text className="text-sm text-muted-foreground text-center"> 353 + <View className="w-full gap-2"> 354 + <Text className="text-center text-sm text-muted-foreground"> 348 355 Card Preview: 349 356 </Text> 350 - <View className="flex-col items-start rounded-xl bg-card border border-border"> 357 + <View className="flex-col items-start rounded-xl border border-border bg-card"> 351 358 <Image 352 359 source={{ 353 360 uri: blueskyEmbedCard.external.cardyThumbUrl, 354 361 }} 355 - className="rounded-t-xl aspect-video w-full" 362 + className="aspect-video w-full rounded-t-xl" 356 363 /> 357 - <View className="p-2 items-start"> 358 - <Text className="text-card-foreground text-start font-semibold"> 364 + <View className="items-start p-2"> 365 + <Text className="text-start font-semibold text-card-foreground"> 359 366 {blueskyEmbedCard.external.title} 360 367 </Text> 361 - <Text className="text-muted-foreground text-start"> 368 + <Text className="text-start text-muted-foreground"> 362 369 {blueskyEmbedCard.external.description} 363 370 </Text> 364 371 </View> ··· 366 373 </View> 367 374 ) : ( 368 375 shareWithBluesky && ( 369 - <Text className="text-sm text-muted-foreground text-center"> 376 + <Text className="text-center text-sm text-muted-foreground"> 370 377 jsyk: there won't be an embed card on your post. 371 378 </Text> 372 379 ) ··· 398 405 value={shareWithBluesky} 399 406 onValueChange={setShareWithBluesky} 400 407 /> 401 - <Text className="text-lg text-muted-foreground text-center"> 408 + <Text className="text-center text-lg text-muted-foreground"> 402 409 Share with Bluesky? 403 410 </Text> 404 411 </View> 405 - <View className="flex-row gap-2 w-full"> 412 + <View className="w-full flex-row gap-2"> 406 413 <Button 407 414 className="flex-1" 408 415 onPress={handleSubmit}
+9 -8
apps/amethyst/app/(tabs)/(stamp)/stamp/success.tsx
··· 1 + import { useContext, useEffect } from "react"; 2 + import { View } from "react-native"; 3 + import { Redirect, Stack, useRouter } from "expo-router"; 1 4 import { ExternalLink } from "@/components/ExternalLink"; 2 - import { Redirect, Stack, useRouter } from "expo-router"; 5 + import { Button } from "@/components/ui/button"; 6 + import { Text } from "@/components/ui/text"; 3 7 import { Check, ExternalLinkIcon } from "lucide-react-native"; 4 - import { View } from "react-native"; 5 - import { Text } from "@/components/ui/text"; 8 + 6 9 import { StampContext, StampContextValue, StampStep } from "./_layout"; 7 - import { useContext, useEffect } from "react"; 8 - import { Button } from "@/components/ui/button"; 9 10 10 11 export default function StepThree() { 11 12 const router = useRouter(); ··· 23 24 return <Redirect href="/stamp" />; 24 25 } 25 26 return ( 26 - <View className="flex-1 p-4 bg-background items-center h-screen-safe"> 27 + <View className="h-screen-safe flex-1 items-center bg-background p-4"> 27 28 <Stack.Screen 28 29 options={{ 29 30 title: "Play Successfully Submitted", 30 31 }} 31 32 /> 32 - <View className="flex justify-center items-center gap-2 max-w-screen-md w-screen min-h-full px-4"> 33 + <View className="flex min-h-full w-screen max-w-screen-md items-center justify-center gap-2 px-4"> 33 34 <Check size={48} className="text-green-600 dark:text-green-400" /> 34 35 <Text className="text-xl">Play Submitted!</Text> 35 36 <Text> ··· 40 41 > 41 42 on PDSls 42 43 </ExternalLink> 43 - <ExternalLinkIcon className="inline mb-0.5 ml-0.5" size="1rem" /> 44 + <ExternalLinkIcon className="mb-0.5 ml-0.5 inline" size="1rem" /> 44 45 </Text> 45 46 {state.submittedStamp.blueskyPostUrl && ( 46 47 <Text>
+1 -2
apps/amethyst/app/(tabs)/_layout.tsx
··· 1 1 import React from "react"; 2 - 3 2 import { 4 3 FilePen, 5 4 Home, ··· 72 71 {({ pressed }) => ( 73 72 <Icon 74 73 icon={LogOut} 75 - className="text-2xl mr-4 text-muted-foreground" 74 + className="mr-4 text-2xl text-muted-foreground" 76 75 name="log-out" 77 76 /> 78 77 )}
+19 -23
apps/amethyst/app/(tabs)/index.tsx
··· 1 + import * as React from "react"; 2 + import { useEffect, useState } from "react"; 3 + import { ActivityIndicator, ScrollView, View } from "react-native"; 4 + import { Redirect, Stack, useRouter } from "expo-router"; 5 + import ActorView from "@/components/actor/actorView"; 6 + import { useStore } from "@/stores/mainStore"; 1 7 2 - import * as React from 'react'; 3 - import { ActivityIndicator, ScrollView, View } from 'react-native'; 4 - 5 - import { useStore } from '@/stores/mainStore'; 6 - import AuthOptions from '../auth/options'; 7 - 8 - import { Redirect, Stack } from 'expo-router'; 9 - import ActorView from '@/components/actor/actorView'; 10 - import { useEffect, useState } from 'react'; 11 - import { useRouter } from 'expo-router'; 8 + import AuthOptions from "../auth/options"; 12 9 13 10 export default function Screen() { 14 11 const router = useRouter(); 15 12 const j = useStore((state) => state.status); 16 13 // @me 17 14 const agent = useStore((state) => state.pdsAgent); 18 - const profile = useStore((state) => state.profiles[agent?.did ?? '']); 15 + const profile = useStore((state) => state.profiles[agent?.did ?? ""]); 19 16 const tealDid = useStore((state) => state.tealDid); 20 17 const [hasTealProfile, setHasTealProfile] = useState<boolean | null>(null); 21 18 ··· 26 23 try { 27 24 if (!agent || !tealDid) return; 28 25 let res = await agent.call( 29 - 'fm.teal.alpha.actor.getProfile', 26 + "fm.teal.alpha.actor.getProfile", 30 27 { actor: agent?.did }, 31 28 {}, 32 - { headers: { 'atproto-proxy': tealDid + '#teal_fm_appview' } }, 29 + { headers: { "atproto-proxy": tealDid + "#teal_fm_appview" } }, 33 30 ); 34 31 if (isMounted) { 35 32 setHasTealProfile(true); 36 33 } 37 34 } catch (error) { 38 35 setHasTealProfile(false); 39 - console.error('Error fetching profile:', error); 36 + console.error("Error fetching profile:", error); 40 37 if ( 41 38 error instanceof Error && 42 - error.message.includes('could not resolve proxy did') 39 + error.message.includes("could not resolve proxy did") 43 40 ) { 44 - router.replace('/offline'); 41 + router.replace("/offline"); 45 42 } 46 43 } 47 44 }; ··· 53 50 }; 54 51 }, [agent, tealDid, router]); 55 52 56 - if (j !== 'loggedIn') { 53 + if (j !== "loggedIn") { 57 54 return <AuthOptions />; 58 55 } 59 56 60 57 if (hasTealProfile !== null && !hasTealProfile) { 61 58 return ( 62 - <View className="flex-1 justify-center items-center gap-5 p-6 bg-background"> 59 + <View className="flex-1 items-center justify-center gap-5 bg-background p-6"> 63 60 <Redirect href="/onboarding" /> 64 61 </View> 65 62 ); ··· 68 65 // TODO: replace with skeleton 69 66 if (!profile || !agent) { 70 67 return ( 71 - <View className="flex-1 justify-center items-center gap-5 p-6 bg-background"> 68 + <View className="flex-1 items-center justify-center gap-5 bg-background p-6"> 72 69 <ActivityIndicator size="large" /> 73 70 </View> 74 71 ); 75 72 } 76 73 77 74 return ( 78 - <ScrollView className="flex-1 justify-start items-center gap-5 bg-background w-full"> 75 + <ScrollView className="w-full flex-1 items-center justify-start gap-5 bg-background"> 79 76 <Stack.Screen 80 77 options={{ 81 - title: 'Home', 82 - headerBackButtonDisplayMode: 'minimal', 78 + title: "Home", 79 + headerBackButtonDisplayMode: "minimal", 83 80 headerShown: false, 84 81 }} 85 82 /> 86 83 <ActorView actorDid={agent.did!} pdsAgent={agent} /> 87 - 88 84 </ScrollView> 89 85 ); 90 86 }
+1 -1
apps/amethyst/app/(tabs)/profile/[handle].tsx
··· 30 30 if (!did) return <ActivityIndicator size="large" color="#0000ff" />; 31 31 32 32 return ( 33 - <ScrollView className="flex-1 justify-start items-center gap-5 bg-background w-full"> 33 + <ScrollView className="w-full flex-1 items-center justify-start gap-5 bg-background"> 34 34 <Stack.Screen 35 35 options={{ 36 36 title: "Home",
+25 -25
apps/amethyst/app/(tabs)/search/index.tsx
··· 1 - import React, { useEffect, useState } from 'react'; 2 - import { ScrollView, View } from 'react-native'; 3 - import { Link, Stack } from 'expo-router'; 4 - import { Input } from '@/components/ui/input'; 5 - import { Text } from '@/components/ui/text'; 6 - import { useStore } from '@/stores/mainStore'; 1 + import React, { useEffect, useState } from "react"; 2 + import { ScrollView, View } from "react-native"; 3 + import { Link, Stack } from "expo-router"; 4 + import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 5 + import { Input } from "@/components/ui/input"; 6 + import { Text } from "@/components/ui/text"; 7 + import getImageCdnLink from "@/lib/atp/getImageCdnLink"; 8 + import { useStore } from "@/stores/mainStore"; 7 9 8 - import { OutputSchema as SearchActorsOutputSchema } from '@teal/lexicons/src/types/fm/teal/alpha/actor/searchActors'; 9 - import { MiniProfileView } from '@teal/lexicons/src/types/fm/teal/alpha/actor/defs'; 10 - import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; 11 - import getImageCdnLink from '@/lib/atp/getImageCdnLink'; 10 + import { MiniProfileView } from "@teal/lexicons/src/types/fm/teal/alpha/actor/defs"; 11 + import { OutputSchema as SearchActorsOutputSchema } from "@teal/lexicons/src/types/fm/teal/alpha/actor/searchActors"; 12 12 13 13 export default function Search() { 14 - const [searchQuery, setSearchQuery] = React.useState(''); 14 + const [searchQuery, setSearchQuery] = React.useState(""); 15 15 const [searchResults, setSearchResults] = useState<MiniProfileView[]>([]); 16 16 17 17 const tealDid = useStore((state) => state.tealDid); ··· 28 28 } 29 29 try { 30 30 let res = await agent.call( 31 - 'fm.teal.alpha.actor.searchActors', 31 + "fm.teal.alpha.actor.searchActors", 32 32 { q: searchQuery }, 33 33 {}, 34 - { headers: { 'atproto-proxy': tealDid + '#teal_fm_appview' } }, 34 + { headers: { "atproto-proxy": tealDid + "#teal_fm_appview" } }, 35 35 ); 36 36 if (isMounted) { 37 37 setSearchResults( 38 - res.data['actors'] as SearchActorsOutputSchema['actors'], 38 + res.data["actors"] as SearchActorsOutputSchema["actors"], 39 39 ); 40 40 } 41 41 } catch (error) { 42 - console.error('Error fetching profile:', error); 42 + console.error("Error fetching profile:", error); 43 43 } 44 44 }; 45 45 ··· 51 51 }, [agent, tealDid, searchQuery]); 52 52 53 53 return ( 54 - <ScrollView className="flex-1 justify-start items-center gap-5 bg-background w-full"> 54 + <ScrollView className="w-full flex-1 items-center justify-start gap-5 bg-background"> 55 55 <Stack.Screen 56 56 options={{ 57 - title: 'Search', 58 - headerBackButtonDisplayMode: 'minimal', 57 + title: "Search", 58 + headerBackButtonDisplayMode: "minimal", 59 59 headerShown: false, 60 60 }} 61 61 /> 62 - <View className="max-w-2xl flex-1 w-screen flex flex-col p-4 divide-y divide-muted-foreground/50 gap-4 rounded-xl my-2 mt-5"> 62 + <View className="my-2 mt-5 flex w-screen max-w-2xl flex-1 flex-col gap-4 divide-y divide-muted-foreground/50 rounded-xl p-4"> 63 63 <Input 64 64 placeholder="Search for users..." 65 65 value={searchQuery} 66 66 onChangeText={setSearchQuery} 67 67 /> 68 68 </View> 69 - <View className="my-2 mx-5"> 69 + <View className="mx-5 my-2"> 70 70 {searchResults.map((user) => ( 71 71 <Link 72 - href={`/profile/${user.handle?.replace('at://', '')}`} 72 + href={`/profile/${user.handle?.replace("at://", "")}`} 73 73 key={user.did} 74 - className="flex flex-row items-center gap-4 hover:bg-muted-foreground/20 p-2 rounded-xl" 74 + className="flex flex-row items-center gap-4 rounded-xl p-2 hover:bg-muted-foreground/20" 75 75 > 76 76 <Avatar 77 77 alt={`${user.displayName}'s profile`} 78 - className="w-14 h-14 border border-border" 78 + className="h-14 w-14 border border-border" 79 79 > 80 80 <AvatarImage 81 81 source={{ ··· 91 91 <Text> 92 92 {user.displayName?.substring(0, 1) ?? 93 93 user.handle?.substring(0, 1) ?? 94 - 'R'} 94 + "R"} 95 95 </Text> 96 96 </AvatarFallback> 97 97 </Avatar> 98 98 <View className="flex flex-col"> 99 99 <Text className="font-semibold">{user.displayName}</Text> 100 100 <Text className="text-muted-foreground"> 101 - {user.handle?.replace('at://', '@')} 101 + {user.handle?.replace("at://", "@")} 102 102 </Text> 103 103 </View> 104 104 </Link>
+5 -4
apps/amethyst/app/(tabs)/settings/index.tsx
··· 2 2 import { Text } from "@/components/ui/text"; 3 3 import { ScrollView, Switch, View } from "react-native"; 4 4 import { Link, Stack } from "expo-router"; 5 + import { Button } from "@/components/ui/button"; 6 + import { Text } from "@/components/ui/text"; 5 7 import { useColorScheme } from "@/lib/useColorScheme"; 6 8 import { cn } from "@/lib/utils"; 7 - import { Button } from "@/components/ui/button"; 8 9 9 10 import pkg from "@/package.json"; 10 11 import { useStore } from "@/stores/mainStore"; ··· 22 23 ]; 23 24 24 25 return ( 25 - <ScrollView className="flex-1 justify-start items-center gap-5 bg-background w-full"> 26 + <ScrollView className="w-full flex-1 items-center justify-start gap-5 bg-background"> 26 27 <Stack.Screen 27 28 options={{ 28 29 title: "Settings", ··· 30 31 headerShown: true, 31 32 }} 32 33 /> 33 - <View className="max-w-2xl flex-1 w-screen flex flex-col p-4 divide-y divide-muted-foreground/50 gap-4 rounded-xl my-2 mx-5"> 34 + <View className="mx-5 my-2 flex w-screen max-w-2xl flex-1 flex-col gap-4 divide-y divide-muted-foreground/50 rounded-xl p-4"> 34 35 <ButtonSelector 35 36 text="Theme" 36 37 values={colorSchemeOptions} ··· 107 108 <Button 108 109 key={value} 109 110 onPress={() => setSelectedValue(value)} 110 - className={`flex-1 w-full h-8`} 111 + className={`h-8 w-full flex-1`} 111 112 variant={selectedValue === value ? "secondary" : "ghost"} 112 113 > 113 114 <Text
+5 -2
apps/amethyst/app/+html.tsx
··· 1 - import { ScrollViewStyleReset } from 'expo-router/html'; 1 + import { ScrollViewStyleReset } from "expo-router/html"; 2 2 3 3 // This file is web-only and used to configure the root HTML for every 4 4 // web page during static rendering. ··· 10 10 <head> 11 11 <meta charSet="utf-8" /> 12 12 <meta httpEquiv="X-UA-Compatible" content="IE=edge" /> 13 - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> 13 + <meta 14 + name="viewport" 15 + content="width=device-width, initial-scale=1, shrink-to-fit=no" 16 + /> 14 17 15 18 {/* 16 19 Disable body scrolling on web. This makes ScrollView components work closer to how they do on native.
+1 -1
apps/amethyst/app/+not-found.tsx
··· 1 - import { Link, Stack } from "expo-router"; 2 1 import { StyleSheet, View } from "react-native"; 2 + import { Link, Stack } from "expo-router"; 3 3 4 4 import { Text } from "../components/ui/text"; 5 5
+7 -6
apps/amethyst/app/_layout.tsx
··· 1 + import { useEffect } from "react"; 2 + import { useFonts } from "expo-font"; 3 + import { Stack } from "expo-router"; 4 + import * as SplashScreen from "expo-splash-screen"; 1 5 import FontAwesome from "@expo/vector-icons/FontAwesome"; 2 6 import { 3 7 DarkTheme, ··· 6 10 ThemeProvider, 7 11 } from "@react-navigation/native"; 8 12 import { PortalHost } from "@rn-primitives/portal"; 9 - import { useFonts } from "expo-font"; 10 - import { Stack } from "expo-router"; 11 - import * as SplashScreen from "expo-splash-screen"; 12 - import { useEffect } from "react"; 13 + 13 14 import "react-native-reanimated"; 14 15 15 16 import { GestureHandlerRootView } from "react-native-gesture-handler"; 16 - 17 - import { verifyInstallation, useColorScheme } from "nativewind"; 17 + import { useColorScheme, verifyInstallation } from "nativewind"; 18 18 19 19 import { GlobalTextClassContext } from "../components/ui/text"; 20 + 20 21 import "../global.css"; 21 22 22 23 import { BottomSheetModalProvider } from "@gorhom/bottom-sheet";
+7 -7
apps/amethyst/app/auth/callback.tsx
··· 1 - import { Link, Stack, router } from "expo-router"; 1 + import React, { useEffect } from "react"; 2 2 import { View } from "react-native"; 3 + import { Link, router, Stack } from "expo-router"; 4 + import { useLocalSearchParams } from "expo-router/build/hooks"; 3 5 import { Text } from "@/components/ui/text"; 4 - import React, { useEffect } from "react"; 5 6 import { Icon } from "@/lib/icons/iconWithClassName"; 6 - import { PencilLine } from "lucide-react-native"; 7 - import { useLocalSearchParams } from "expo-router/build/hooks"; 8 7 import { useStore } from "@/stores/mainStore"; 8 + import { PencilLine } from "lucide-react-native"; 9 9 10 10 interface CallbackSearchParams { 11 11 iss: string; ··· 44 44 ); 45 45 } 46 46 return ( 47 - <View className="flex-1 justify-center items-center gap-5 p-6 bg-background"> 47 + <View className="flex-1 items-center justify-center gap-5 bg-background p-6"> 48 48 <Stack.Screen 49 49 options={{ 50 50 title: "Processing", ··· 52 52 }} 53 53 /> 54 54 <Icon icon={PencilLine} size={64} /> 55 - <Text className="text-3xl font-semibold text-center text-foreground"> 55 + <Text className="text-center text-3xl font-semibold text-foreground"> 56 56 {status === "loggedIn" ? "Success!" : "Fetching your data..."} 57 57 </Text> 58 58 <Text className="text-sm text-muted-foreground"> 59 59 This may take a few seconds {status} 60 60 </Text> 61 - <Text className="text-sm text-muted-foreground font-mono bg-muted-foreground/30 py-1 px-2 rounded-full"> 61 + <Text className="rounded-full bg-muted-foreground/30 px-2 py-1 font-mono text-sm text-muted-foreground"> 62 62 {state} 63 63 </Text> 64 64 </View>
+4 -2
apps/amethyst/app/auth/login.tsx
··· 3 3 import React, { useState, useEffect, useCallback, useRef } from "react"; // Added useCallback, useRef 4 4 import { Platform, TextInput, View } from "react-native"; 5 5 import { SafeAreaView } from "react-native-safe-area-context"; 6 + import { Link, router, Stack } from "expo-router"; 7 + import { openAuthSessionAsync } from "expo-web-browser"; 6 8 import { Button } from "@/components/ui/button"; 7 9 import { Input } from "@/components/ui/input"; 8 10 import { Text } from "@/components/ui/text"; ··· 210 212 }; 211 213 212 214 return ( 213 - <SafeAreaView className="flex-1 flex items-center justify-center w-full"> 215 + <SafeAreaView className="flex w-full flex-1 items-center justify-center"> 214 216 <Stack.Screen 215 217 options={{ 216 218 title: "Sign in", ··· 222 224 <View className="flex items-center"> 223 225 <Icon icon={AtSign} className="color-bsky" name="at" size={64} /> 224 226 </View> 225 - <Text className="text-3xl text-center text-foreground"> 227 + <Text className="text-center text-3xl text-foreground"> 226 228 Sign in with your PDS 227 229 </Text> 228 230 <View>
+8 -10
apps/amethyst/app/auth/logoutModal.tsx
··· 1 + import { Platform, TouchableOpacity, View } from "react-native"; 2 + import { router } from "expo-router"; 1 3 import { StatusBar } from "expo-status-bar"; 2 - import { Platform, TouchableOpacity } from "react-native"; 3 - 4 - import { View } from "react-native"; 4 + import { Button } from "@/components/ui/button"; 5 5 import { Text } from "@/components/ui/text"; 6 + import { Icon } from "@/lib/icons/iconWithClassName"; 6 7 import { useStore } from "@/stores/mainStore"; 7 - import { Button } from "@/components/ui/button"; 8 - import { router } from "expo-router"; 9 8 import { X } from "lucide-react-native"; 10 - import { Icon } from "@/lib/icons/iconWithClassName"; 11 9 12 10 // should probably be a WebModal component or something? 13 11 export default function ModalScreen() { ··· 18 16 }; 19 17 return ( 20 18 <TouchableOpacity 21 - className="flex justify-center items-center bg-muted/60 w-full h-screen backdrop-blur-sm fade-in animate-in" 19 + className="flex h-screen w-full items-center justify-center bg-muted/60 backdrop-blur-sm animate-in fade-in" 22 20 onPress={() => handleGoBack()} 23 21 > 24 - <View className="flex-1 relative items-center justify-center gap-2 bg-background w-full max-w-96 max-h-80 shadow-xl rounded-xl"> 22 + <View className="relative max-h-80 w-full max-w-96 flex-1 items-center justify-center gap-2 rounded-xl bg-background shadow-xl"> 25 23 <Icon 26 24 icon={X} 27 - className="top-2 right-2 absolute text-muted-foreground hover:text-foreground" 25 + className="absolute right-2 top-2 text-muted-foreground hover:text-foreground" 28 26 name="x" 29 27 /> 30 28 <Text className="text-4xl">Surprise!</Text> 31 29 <Text className="text-xl">You can sign out here!</Text> 32 - <Text className="text-xl -mt-2">but... are you sure?</Text> 30 + <Text className="-mt-2 text-xl">but... are you sure?</Text> 33 31 <Button 34 32 onPress={() => { 35 33 logOut();
+8 -8
apps/amethyst/app/auth/options.tsx
··· 1 - import { Link, Stack } from "expo-router"; 1 + import React from "react"; 2 2 import { View } from "react-native"; 3 - import { Text } from "@/components/ui/text"; 3 + import { Link, Stack } from "expo-router"; 4 4 import { Button } from "@/components/ui/button"; 5 - import React from "react"; 5 + import { Text } from "@/components/ui/text"; 6 6 7 7 export default function AuthOptions() { 8 8 return ( 9 - <View className="flex-1 justify-center items-center gap-5 p-6 bg-background"> 9 + <View className="flex-1 items-center justify-center gap-5 bg-background p-6"> 10 10 <Stack.Screen 11 11 options={{ 12 12 title: "Sign in", ··· 16 16 }} 17 17 /> 18 18 <View className="gap-2"> 19 - <Text className="text-5xl text-center text-foreground"> 19 + <Text className="text-center text-5xl text-foreground"> 20 20 Get started with 21 21 </Text> 22 22 <Text className="text-center text-5xl text-foreground"> 23 23 teal 24 - <Text className="text-5xl font-serif-old-italic">.fm</Text> 24 + <Text className="font-serif-old-italic text-5xl">.fm</Text> 25 25 </Text> 26 26 </View> 27 27 <Link href="/auth/login" className="text-secondary"> 28 28 <Button 29 - className="flex flex-row justify-center items-center rounded-full dark-blue-800 dark:bg-blue-400 gap-2" 29 + className="dark-blue-800 flex flex-row items-center justify-center gap-2 rounded-full dark:bg-blue-400" 30 30 size="lg" 31 31 > 32 32 <Text>Sign in with ATProto</Text> ··· 34 34 </Link> 35 35 <Link href="/auth/signup" className="text-secondary"> 36 36 <Button 37 - className="flex flex-row justify-center items-center rounded-full" 37 + className="flex flex-row items-center justify-center rounded-full" 38 38 size="lg" 39 39 > 40 40 <Text>Sign up</Text>
+25 -26
apps/amethyst/app/auth/signup.tsx
··· 1 - import React from 'react'; 2 - import { Platform, View } from 'react-native'; 3 - import { SafeAreaView } from 'react-native-safe-area-context'; 4 - import { Text } from '@/components/ui/text'; 5 - import { Button } from '@/components/ui/button'; 6 - import { Icon } from '@/lib/icons/iconWithClassName'; 7 - import { ArrowRight, AtSignIcon } from 'lucide-react-native'; 8 - 9 - import { Stack, router } from 'expo-router'; 1 + import React from "react"; 2 + import { Platform, View } from "react-native"; 3 + import { SafeAreaView } from "react-native-safe-area-context"; 4 + import { router, Stack } from "expo-router"; 5 + import { Button } from "@/components/ui/button"; 6 + import { Text } from "@/components/ui/text"; 7 + import { Icon } from "@/lib/icons/iconWithClassName"; 8 + import { ArrowRight, AtSignIcon } from "lucide-react-native"; 10 9 11 10 const LoginScreen = () => { 12 11 return ( 13 - <SafeAreaView className="flex-1 flex justify-center items-center"> 12 + <SafeAreaView className="flex flex-1 items-center justify-center"> 14 13 <Stack.Screen 15 14 options={{ 16 - title: 'Sign in', 17 - headerBackButtonDisplayMode: 'minimal', 15 + title: "Sign in", 16 + headerBackButtonDisplayMode: "minimal", 18 17 headerShown: false, 19 18 }} 20 19 /> 21 - <View className="flex-1 justify-center p-8 gap-4 pb-32 w-screen max-w-md"> 22 - <Text className="text-3xl text-center text-foreground -mb-2"> 23 - Sign up via <br /> the{' '} 20 + <View className="w-screen max-w-md flex-1 justify-center gap-4 p-8 pb-32"> 21 + <Text className="-mb-2 text-center text-3xl text-foreground"> 22 + Sign up via <br /> the{" "} 24 23 <Icon 25 24 icon={AtSignIcon} 26 - className="color-bsky inline mb-2 mr-1.5" 25 + className="mb-2 mr-1.5 inline color-bsky" 27 26 size={32} 28 27 /> 29 28 Atmosphere 30 29 </Text> 31 - <Text className="text-foreground text-xl text-center"> 30 + <Text className="text-center text-xl text-foreground"> 32 31 No account? No problem. 33 32 </Text> 34 - <View className="flex flex-col justify-center items-center"> 35 - <Text className="mb-2 text-center -mx-3"> 33 + <View className="flex flex-col items-center justify-center"> 34 + <Text className="-mx-3 mb-2 text-center"> 36 35 To use teal.fm, you’ll need a PDS—your personal data storage on the 37 36 Atmosphere. Signing up with Bluesky is a great way to begin. 38 37 </Text> 39 - <Text className="text-center mb-4 text-xs text-muted-foreground"> 38 + <Text className="mb-4 text-center text-xs text-muted-foreground"> 40 39 Sign up with Bluesky, then return here to start exploring. 41 40 </Text> 42 41 {/* on click, open tab, then in the background navigate to /login */} 43 42 <Button 44 43 onPress={() => { 45 44 // on web, open new tab 46 - if (Platform.OS === 'web') { 47 - window.open('https://bsky.app/signup', '_blank'); 45 + if (Platform.OS === "web") { 46 + window.open("https://bsky.app/signup", "_blank"); 48 47 } else { 49 - router.navigate('https://bsky.app'); 48 + router.navigate("https://bsky.app"); 50 49 } 51 50 setTimeout(() => { 52 - router.replace('/auth/login'); 51 + router.replace("/auth/login"); 53 52 }, 1000); 54 53 }} 55 - className="flex flex-row justify-center items-center gap-2 bg-bsky" 54 + className="flex flex-row items-center justify-center gap-2 bg-bsky" 56 55 > 57 - <Text className="text-sm ml-2 text-secondary">To Bluesky</Text> 56 + <Text className="ml-2 text-sm text-secondary">To Bluesky</Text> 58 57 <Icon icon={ArrowRight} /> 59 58 </Button> 60 59 </View>
+9 -8
apps/amethyst/app/error.tsx
··· 1 1 import React from "react"; 2 - import { View, TouchableOpacity } from "react-native"; 2 + import { TouchableOpacity, View } from "react-native"; 3 3 import { SafeAreaView } from "react-native-safe-area-context"; 4 - import { Text } from "../components/ui/text"; 4 + import { router, Stack } from "expo-router"; 5 + import { AlertCircle, Home } from "lucide-react-native"; 6 + 5 7 import { Button } from "../components/ui/button"; 8 + import { Text } from "../components/ui/text"; 6 9 import { Icon } from "../lib/icons/iconWithClassName"; 7 - import { Home, AlertCircle } from "lucide-react-native"; 8 - import { Stack, router } from "expo-router"; 9 10 10 11 const ErrorScreen = () => { 11 12 return ( ··· 17 18 headerShown: false, 18 19 }} 19 20 /> 20 - <View className="flex-1 justify-center align-center p-8 gap-4 pb-32 max-w-screen-sm"> 21 + <View className="align-center max-w-screen-sm flex-1 justify-center gap-4 p-8 pb-32"> 21 22 <View className="flex items-center"> 22 23 <Icon icon={AlertCircle} className="color-destructive" size={64} /> 23 24 </View> 24 - <Text className="text-4xl font-semibold text-center text-foreground"> 25 + <Text className="text-center text-4xl font-semibold text-foreground"> 25 26 Oops! Something went wrong 26 27 </Text> 27 28 <Text className="text-center text-muted-foreground"> 28 29 We couldn't complete your request. Please try again later. 29 30 </Text> 30 - <View className="flex flex-row justify-center items-center mt-4"> 31 + <View className="mt-4 flex flex-row items-center justify-center"> 31 32 <Button className="bg-primary" onPress={() => router.push("/")}> 32 33 <> 33 - <Text className="font-semibold text-lg">Return Home</Text> 34 + <Text className="text-lg font-semibold">Return Home</Text> 34 35 <Icon icon={Home} /> 35 36 </> 36 37 </Button>
+17 -17
apps/amethyst/app/onboarding/descriptionPage.tsx
··· 1 - import React, { useState } from 'react'; 2 - import { View } from 'react-native'; 3 - import { Text } from '@/components/ui/text'; 4 - import { Button } from '@/components/ui/button'; 5 - import { Textarea } from '@/components/ui/textarea'; 6 - import { Icon } from '@/lib/icons/iconWithClassName'; 7 - import { CheckCircle } from 'lucide-react-native'; 1 + import React, { useState } from "react"; 2 + import { View } from "react-native"; 3 + import { Button } from "@/components/ui/button"; 4 + import { Text } from "@/components/ui/text"; 5 + import { Textarea } from "@/components/ui/textarea"; 6 + import { Icon } from "@/lib/icons/iconWithClassName"; 7 + import { CheckCircle } from "lucide-react-native"; 8 8 9 9 interface DescriptionPageProps { 10 10 onComplete: (description: string) => void; ··· 17 17 initialDescription, 18 18 onBack, 19 19 }) => { 20 - const [description, setDescription] = useState(initialDescription || ''); 20 + const [description, setDescription] = useState(initialDescription || ""); 21 21 22 22 const handleComplete = () => { 23 23 if (description) { ··· 26 26 }; 27 27 28 28 return ( 29 - <View className="flex-1 justify-between items-center px-5"> 29 + <View className="flex-1 items-center justify-between px-5"> 30 30 <View /> 31 - <View className="gap-4 max-w-lg"> 32 - <Text className="text-2xl font-semibold text-center"> 31 + <View className="max-w-lg gap-4"> 32 + <Text className="text-center text-2xl font-semibold"> 33 33 Tell us about yourself! 34 34 </Text> 35 - <Text className="text-sm text-center text-muted-foreground -mt-2"> 35 + <Text className="-mt-2 text-center text-sm text-muted-foreground"> 36 36 Your bio is your chance to shine. Let your creativity flow and tell 37 37 the world who you are. You can always edit it later. 38 38 </Text> 39 39 <Textarea 40 - className="border border-gray-300 rounded px-3 py-2 mb-5 min-h-[150px]" 40 + className="mb-5 min-h-[150px] rounded border border-gray-300 px-3 py-2" 41 41 placeholder="A short bio or description" 42 42 multiline 43 43 value={description} 44 44 onChangeText={setDescription} 45 45 /> 46 46 </View> 47 - <View className="flex-row justify-between w-full"> 47 + <View className="w-full flex-row justify-between"> 48 48 {onBack && ( 49 - <Button variant="outline" onPress={onBack} className="flex-1 mr-2"> 49 + <Button variant="outline" onPress={onBack} className="mr-2 flex-1"> 50 50 <Text>Back</Text> 51 51 </Button> 52 52 )} 53 53 <Button 54 54 onPress={handleComplete} 55 55 disabled={!description} 56 - className="flex-1 ml-2" 56 + className="ml-2 flex-1" 57 57 > 58 - <Text>Next</Text>{' '} 58 + <Text>Next</Text>{" "} 59 59 <Icon icon={CheckCircle} size={18} className="ml-2" /> 60 60 </Button> 61 61 </View>
+14 -14
apps/amethyst/app/onboarding/displayNamePage.tsx
··· 1 - import React, { useState } from 'react'; 2 - import { View } from 'react-native'; 3 - import { Text } from '@/components/ui/text'; 4 - import { Button } from '@/components/ui/button'; 5 - import { Input } from '@/components/ui/input'; 1 + import React, { useState } from "react"; 2 + import { View } from "react-native"; 3 + import { Button } from "@/components/ui/button"; 4 + import { Input } from "@/components/ui/input"; 5 + import { Text } from "@/components/ui/text"; 6 6 7 7 interface DisplayNamePageProps { 8 8 onComplete: (displayName: string) => void; ··· 15 15 initialDisplayName, 16 16 onBack, 17 17 }) => { 18 - const [displayName, setDisplayName] = useState(initialDisplayName || ''); 18 + const [displayName, setDisplayName] = useState(initialDisplayName || ""); 19 19 20 20 const handleNext = () => { 21 21 if (displayName) { ··· 24 24 }; 25 25 26 26 return ( 27 - <View className="flex-1 justify-between items-center px-5"> 27 + <View className="flex-1 items-center justify-between px-5"> 28 28 <View /> 29 - <View className="gap-4 max-w-lg"> 30 - <Text className="text-2xl font-semibold text-center"> 29 + <View className="max-w-lg gap-4"> 30 + <Text className="text-center text-2xl font-semibold"> 31 31 Welcome! What should we call you? 32 32 </Text> 33 - <Text className="text-sm text-center text-muted-foreground -mt-2"> 33 + <Text className="-mt-2 text-center text-sm text-muted-foreground"> 34 34 Choose something unique, memorable, and something others will easily 35 35 recognise. It can be your real name or a nickname you like. 36 36 </Text> 37 37 <Input 38 - className="border border-gray-300 rounded px-3 py-2 mb-5" 38 + className="mb-5 rounded border border-gray-300 px-3 py-2" 39 39 placeholder="Your Display Name" 40 40 value={displayName} 41 41 onChangeText={setDisplayName} 42 42 /> 43 43 </View> 44 - <View className="flex-row justify-between w-full"> 44 + <View className="w-full flex-row justify-between"> 45 45 {onBack && ( 46 - <Button variant="outline" onPress={onBack} className="flex-1 mr-2"> 46 + <Button variant="outline" onPress={onBack} className="mr-2 flex-1"> 47 47 <Text>Back</Text> 48 48 </Button> 49 49 )} 50 50 <Button 51 51 onPress={handleNext} 52 52 disabled={!displayName} 53 - className="flex-1 ml-2" 53 + className="ml-2 flex-1" 54 54 > 55 55 <Text>Next</Text> 56 56 </Button>
+19 -19
apps/amethyst/app/onboarding/imageSelectionPage.tsx
··· 1 - import React, { useState } from 'react'; 2 - import { View, Pressable, Image, ActivityIndicator } from 'react-native'; 3 - import { Text } from '@/components/ui/text'; 4 - import { Button } from '@/components/ui/button'; 5 - import * as ImagePicker from 'expo-image-picker'; 6 - import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; 7 - import { Icon } from '@/lib/icons/iconWithClassName'; 8 - import { Pen } from 'lucide-react-native'; 1 + import React, { useState } from "react"; 2 + import { ActivityIndicator, Image, Pressable, View } from "react-native"; 3 + import * as ImagePicker from "expo-image-picker"; 4 + import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 5 + import { Button } from "@/components/ui/button"; 6 + import { Text } from "@/components/ui/text"; 7 + import { Icon } from "@/lib/icons/iconWithClassName"; 8 + import { Pen } from "lucide-react-native"; 9 9 10 10 interface ImageSelectionPageProps { 11 11 onComplete: (avatarUri: string, bannerUri: string) => void; ··· 18 18 initialAvatar, 19 19 initialBanner, 20 20 }) => { 21 - const [avatarUri, setAvatarUri] = useState(initialAvatar || ''); 22 - const [bannerUri, setBannerUri] = useState(initialBanner || ''); 21 + const [avatarUri, setAvatarUri] = useState(initialAvatar || ""); 22 + const [bannerUri, setBannerUri] = useState(initialBanner || ""); 23 23 const [loading, setLoading] = useState(false); 24 24 25 25 const pickImage = async ( ··· 27 27 ) => { 28 28 setLoading(true); 29 29 let result = await ImagePicker.launchImageLibraryAsync({ 30 - mediaTypes: ['images'], 30 + mediaTypes: ["images"], 31 31 allowsEditing: true, 32 32 aspect: setType === setAvatarUri ? [1, 1] : [3, 1], 33 33 quality: 1, ··· 45 45 }; 46 46 47 47 return ( 48 - <View className="flex-1 justify-center items-center h-screen min-h-full px-5"> 49 - <Text className="text-2xl font-bold mb-5 text-center"> 48 + <View className="h-screen min-h-full flex-1 items-center justify-center px-5"> 49 + <Text className="mb-5 text-center text-2xl font-bold"> 50 50 What do you look like? 51 51 </Text> 52 52 <Pressable 53 53 onPress={() => pickImage(setBannerUri)} 54 - className="w-full aspect-[3/1] mb-5" 54 + className="mb-5 aspect-[3/1] w-full" 55 55 > 56 - <View className="flex-1 bg-gray-200 rounded-lg justify-center items-center relative"> 56 + <View className="relative flex-1 items-center justify-center rounded-lg bg-gray-200"> 57 57 {loading && !bannerUri && <ActivityIndicator />} 58 58 {bannerUri ? ( 59 59 <> 60 60 <Image 61 61 source={{ uri: bannerUri }} 62 - className="w-full h-full rounded-lg object-cover" 62 + className="h-full w-full rounded-lg object-cover" 63 63 /> 64 - <View className="absolute -bottom-2 -right-2 bg-gray-500/50 rounded-full p-1"> 64 + <View className="absolute -bottom-2 -right-2 rounded-full bg-gray-500/50 p-1"> 65 65 <Icon icon={Pen} size={18} className="fill-white" /> 66 66 </View> 67 67 </> ··· 73 73 <Pressable onPress={() => pickImage(setAvatarUri)} className="mb-10"> 74 74 <View className="relative"> 75 75 {loading && !avatarUri && <ActivityIndicator />} 76 - <Avatar className="w-24 h-24" alt="User Avatar"> 76 + <Avatar className="h-24 w-24" alt="User Avatar"> 77 77 {avatarUri ? ( 78 78 <> 79 79 <AvatarImage source={{ uri: avatarUri }} /> 80 - <View className="absolute bottom-0 right-0 bg-gray-500/50 rounded-full p-1"> 80 + <View className="absolute bottom-0 right-0 rounded-full bg-gray-500/50 p-1"> 81 81 <Icon icon={Pen} size={18} className="fill-white" /> 82 82 </View> 83 83 </>
+45 -43
apps/amethyst/app/onboarding/index.tsx
··· 1 - import React, { useState } from 'react'; 2 - import { ActivityIndicator, View } from 'react-native'; 3 - import { Text } from '@/components/ui/text'; // Your UI components 4 - import ImageSelectionPage from './imageSelectionPage'; // Separate page components 5 - import DisplayNamePage from './displayNamePage'; 6 - import DescriptionPage from './descriptionPage'; 7 - import { SafeAreaView } from 'react-native-safe-area-context'; 8 - import ProgressDots from '@/components/onboarding/progressDots'; 1 + import React, { useState } from "react"; 2 + import { ActivityIndicator, View } from "react-native"; 3 + import { SafeAreaView } from "react-native-safe-area-context"; 4 + import { useRouter } from "expo-router"; 5 + import ProgressDots from "@/components/onboarding/progressDots"; 6 + import { Text } from "@/components/ui/text"; // Your UI components 9 7 10 - import { Record as ProfileRecord } from '@teal/lexicons/src/types/fm/teal/alpha/actor/profile'; 11 - import { useStore } from '@/stores/mainStore'; 12 - import { useRouter } from 'expo-router'; 8 + import { useStore } from "@/stores/mainStore"; 9 + 10 + import { Record as ProfileRecord } from "@teal/lexicons/src/types/fm/teal/alpha/actor/profile"; 11 + 12 + import DescriptionPage from "./descriptionPage"; 13 + import DisplayNamePage from "./displayNamePage"; 14 + import ImageSelectionPage from "./imageSelectionPage"; // Separate page components 13 15 14 16 const OnboardingSubmissionSteps: string[] = [ 15 - '', 16 - 'Double checking everything', 17 - 'Submitting Profile Picture', 18 - 'Submitting Header Image', 19 - 'Submitting Profile', 20 - 'Done!', 17 + "", 18 + "Double checking everything", 19 + "Submitting Profile Picture", 20 + "Submitting Header Image", 21 + "Submitting Profile", 22 + "Done!", 21 23 ]; 22 24 23 25 export default function OnboardingPage() { 24 26 const [step, setStep] = useState(1); 25 - const [displayName, setDisplayName] = useState(''); 26 - const [description, setDescription] = useState(''); 27 - const [avatarUri, setAvatarUri] = useState(''); 28 - const [bannerUri, setBannerUri] = useState(''); 27 + const [displayName, setDisplayName] = useState(""); 28 + const [description, setDescription] = useState(""); 29 + const [avatarUri, setAvatarUri] = useState(""); 30 + const [bannerUri, setBannerUri] = useState(""); 29 31 30 32 const [submissionStep, setSubmissionStep] = useState(0); 31 - const [submissionError, setSubmissionError] = useState(''); 33 + const [submissionError, setSubmissionError] = useState(""); 32 34 33 35 const router = useRouter(); 34 36 ··· 58 60 ) => { 59 61 if (!agent) return; 60 62 // Implement your save logic here (e.g., update your database or state) 61 - console.log('Saving profile:', updatedProfile, newAvatarUri, newBannerUri); 63 + console.log("Saving profile:", updatedProfile, newAvatarUri, newBannerUri); 62 64 63 65 setSubmissionStep(1); 64 66 ··· 66 68 let currentUser: ProfileRecord | undefined; 67 69 let cid: string | undefined; 68 70 try { 69 - const res = await agent.call('com.atproto.repo.getRecord', { 71 + const res = await agent.call("com.atproto.repo.getRecord", { 70 72 repo: agent.did, 71 - collection: 'fm.teal.alpha.actor.profile', 72 - rkey: 'self', 73 + collection: "fm.teal.alpha.actor.profile", 74 + rkey: "self", 73 75 }); 74 76 currentUser = res.data.value; 75 77 cid = res.data.cid; 76 78 } catch (error) { 77 - console.error('Error fetching user profile:', error); 79 + console.error("Error fetching user profile:", error); 78 80 } 79 81 80 82 // upload blobs if necessary ··· 83 85 if (newAvatarUri) { 84 86 console.log(newAvatarUri); 85 87 // if it is http/s url then do nothing 86 - if (!newAvatarUri.startsWith('http')) { 88 + if (!newAvatarUri.startsWith("http")) { 87 89 setSubmissionStep(2); 88 - console.log('Uploading avatar'); 90 + console.log("Uploading avatar"); 89 91 // its a b64 encoded data uri, decode it and get a blob 90 92 const data = await fetch(newAvatarUri).then((r) => r.blob()); 91 - const fileType = newAvatarUri.split(';')[0].split(':')[1]; 93 + const fileType = newAvatarUri.split(";")[0].split(":")[1]; 92 94 console.log(fileType); 93 95 const blob = new Blob([data], { type: fileType }); 94 96 newAvatarBlob = (await agent.uploadBlob(blob)).data.blob; 95 97 } 96 98 } 97 99 if (newBannerUri) { 98 - if (!newBannerUri.startsWith('http')) { 100 + if (!newBannerUri.startsWith("http")) { 99 101 setSubmissionStep(3); 100 - console.log('Uploading banner'); 102 + console.log("Uploading banner"); 101 103 const data = await fetch(newBannerUri).then((r) => r.blob()); 102 - const fileType = newBannerUri.split(';')[0].split(':')[1]; 104 + const fileType = newBannerUri.split(";")[0].split(":")[1]; 103 105 console.log(fileType); 104 106 const blob = new Blob([data], { type: fileType }); 105 107 newBannerBlob = (await agent.uploadBlob(blob)).data.blob; 106 108 } 107 109 } 108 110 109 - console.log('done uploading'); 111 + console.log("done uploading"); 110 112 111 113 setSubmissionStep(4); 112 114 ··· 121 123 122 124 if (cid) { 123 125 post = await agent.call( 124 - 'com.atproto.repo.putRecord', 126 + "com.atproto.repo.putRecord", 125 127 {}, 126 128 { 127 129 repo: agent.did, 128 - collection: 'fm.teal.alpha.actor.profile', 129 - rkey: 'self', 130 + collection: "fm.teal.alpha.actor.profile", 131 + rkey: "self", 130 132 record, 131 133 swapRecord: cid, 132 134 }, 133 135 ); 134 136 } else { 135 137 post = await agent.call( 136 - 'com.atproto.repo.createRecord', 138 + "com.atproto.repo.createRecord", 137 139 {}, 138 140 { 139 141 repo: agent.did, 140 - collection: 'fm.teal.alpha.actor.profile', 141 - rkey: 'self', 142 + collection: "fm.teal.alpha.actor.profile", 143 + rkey: "self", 142 144 record, 143 145 }, 144 146 ); ··· 148 150 setSubmissionStep(5); 149 151 //redirect to / after 2 seconds 150 152 setTimeout(() => { 151 - router.replace('/'); 153 + router.replace("/"); 152 154 }, 2000); 153 155 }; 154 156 ··· 170 172 171 173 if (submissionStep) { 172 174 return ( 173 - <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}> 175 + <View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}> 174 176 <ActivityIndicator size="large" color="#0000ff" /> 175 177 <Text>{OnboardingSubmissionSteps[submissionStep]}</Text> 176 178 </View> ··· 210 212 211 213 return ( 212 214 <SafeAreaView className="flex-1 p-5 pt-5"> 213 - <View className="flex-1 flex min-h-max h-full">{renderPage()}</View> 215 + <View className="flex h-full min-h-max flex-1">{renderPage()}</View> 214 216 <ProgressDots totalSteps={3} currentStep={step} /> 215 217 </SafeAreaView> 216 218 );
+1 -1
apps/amethyst/components.json
··· 3 3 "components": "~/components", 4 4 "lib": "~/lib" 5 5 } 6 - } 6 + }
+2 -2
apps/amethyst/components/ExternalLink.tsx
··· 1 + import React from "react"; 2 + import { Platform } from "react-native"; 1 3 import { Link } from "expo-router"; 2 4 import * as WebBrowser from "expo-web-browser"; 3 - import React from "react"; 4 - import { Platform } from "react-native"; 5 5 6 6 export function ExternalLink( 7 7 props: Omit<React.ComponentProps<typeof Link>, "href"> & { href: string },
+3 -3
apps/amethyst/components/__tests__/StyledText-test.js
··· 1 - import * as React from 'react'; 2 - import renderer from 'react-test-renderer'; 1 + import * as React from "react"; 2 + import renderer from "react-test-renderer"; 3 3 4 - import { MonoText } from '../StyledText'; 4 + import { MonoText } from "../StyledText"; 5 5 6 6 it(`renders correctly`, () => { 7 7 const tree = renderer.create(<MonoText>Snapshot test!</MonoText>).toJSON();
+56 -56
apps/amethyst/components/actor/actorView.tsx
··· 1 - import { View, Image } from 'react-native'; 2 - import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; 3 - import { CardTitle } from '../../components/ui/card'; 4 - import { Text } from '@/components/ui/text'; 5 - import { useStore } from '@/stores/mainStore'; 1 + import { useEffect, useState } from "react"; 2 + import { Image, View } from "react-native"; 3 + import ActorPlaysView from "@/components/play/actorPlaysView"; 4 + import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 5 + import { Button } from "@/components/ui/button"; 6 + import { Text } from "@/components/ui/text"; 7 + import getImageCdnLink from "@/lib/atp/getImageCdnLink"; 8 + import { Icon } from "@/lib/icons/iconWithClassName"; 9 + import { useStore } from "@/stores/mainStore"; 10 + import { Agent } from "@atproto/api"; 11 + import { MoreHorizontal, Pen, Plus } from "lucide-react-native"; 6 12 7 - import ActorPlaysView from '@/components/play/actorPlaysView'; 8 - import { Button } from '@/components/ui/button'; 9 - import { Icon } from '@/lib/icons/iconWithClassName'; 10 - import { MoreHorizontal, Pen, Plus } from 'lucide-react-native'; 11 - import { Agent } from '@atproto/api'; 12 - import { useState, useEffect } from 'react'; 13 - import EditProfileModal from './editProfileView'; 13 + import { OutputSchema as GetProfileOutputSchema } from "@teal/lexicons/src/types/fm/teal/alpha/actor/getProfile"; 14 + import { Record as ProfileRecord } from "@teal/lexicons/src/types/fm/teal/alpha/actor/profile"; 14 15 15 - import { Record as ProfileRecord } from '@teal/lexicons/src/types/fm/teal/alpha/actor/profile'; 16 - import { OutputSchema as GetProfileOutputSchema } from '@teal/lexicons/src/types/fm/teal/alpha/actor/getProfile'; 17 - import getImageCdnLink from '@/lib/atp/getImageCdnLink'; 16 + import { CardTitle } from "../../components/ui/card"; 17 + import EditProfileModal from "./editProfileView"; 18 18 19 19 const GITHUB_AVATAR_URI = 20 - 'https://i.pinimg.com/originals/ef/a2/8d/efa28d18a04e7fa40ed49eeb0ab660db.jpg'; 20 + "https://i.pinimg.com/originals/ef/a2/8d/efa28d18a04e7fa40ed49eeb0ab660db.jpg"; 21 21 22 22 export interface ActorViewProps { 23 23 actorDid: string; ··· 27 27 export default function ActorView({ actorDid, pdsAgent }: ActorViewProps) { 28 28 const [isEditing, setIsEditing] = useState(false); 29 29 const [profile, setProfile] = useState< 30 - GetProfileOutputSchema['actor'] | null 30 + GetProfileOutputSchema["actor"] | null 31 31 >(null); 32 32 33 33 const tealDid = useStore((state) => state.tealDid); ··· 41 41 } 42 42 try { 43 43 let res = await pdsAgent.call( 44 - 'fm.teal.alpha.actor.getProfile', 44 + "fm.teal.alpha.actor.getProfile", 45 45 { actor: actorDid }, 46 46 {}, 47 - { headers: { 'atproto-proxy': tealDid + '#teal_fm_appview' } }, 47 + { headers: { "atproto-proxy": tealDid + "#teal_fm_appview" } }, 48 48 ); 49 49 if (isMounted) { 50 - setProfile(res.data['actor'] as GetProfileOutputSchema['actor']); 50 + setProfile(res.data["actor"] as GetProfileOutputSchema["actor"]); 51 51 } 52 52 } catch (error) { 53 - console.error('Error fetching profile:', error); 53 + console.error("Error fetching profile:", error); 54 54 } 55 55 }; 56 56 ··· 61 61 }; 62 62 }, [pdsAgent, actorDid, tealDid]); 63 63 64 - const isSelf = actorDid === (pdsAgent?.did || ''); 64 + const isSelf = actorDid === (pdsAgent?.did || ""); 65 65 66 66 const handleSave = async ( 67 67 updatedProfile: { displayName: any; description: any }, ··· 72 72 return; 73 73 } 74 74 // Implement your save logic here (e.g., update your database or state) 75 - console.log('Saving profile:', updatedProfile, newAvatarUri, newBannerUri); 75 + console.log("Saving profile:", updatedProfile, newAvatarUri, newBannerUri); 76 76 77 77 // Update the local profile data 78 78 setProfile((prevProfile) => ({ ··· 87 87 let currentUser: ProfileRecord | undefined; 88 88 let cid: string | undefined; 89 89 try { 90 - const res = await pdsAgent.call('com.atproto.repo.getRecord', { 90 + const res = await pdsAgent.call("com.atproto.repo.getRecord", { 91 91 repo: pdsAgent.did, 92 - collection: 'fm.teal.alpha.actor.profile', 93 - rkey: 'self', 92 + collection: "fm.teal.alpha.actor.profile", 93 + rkey: "self", 94 94 }); 95 95 currentUser = res.data.value; 96 96 cid = res.data.cid; 97 97 } catch (error) { 98 - console.error('Error fetching user profile:', error); 98 + console.error("Error fetching user profile:", error); 99 99 } 100 100 101 101 // upload blobs if necessary ··· 103 103 let newBannerBlob = currentUser?.banner ?? undefined; 104 104 if (newAvatarUri) { 105 105 // if it is http/s url then do nothing 106 - if (!newAvatarUri.startsWith('http')) { 107 - console.log('Uploading avatar'); 106 + if (!newAvatarUri.startsWith("http")) { 107 + console.log("Uploading avatar"); 108 108 // its a b64 encoded data uri, decode it and get a blob 109 109 const data = await fetch(newAvatarUri).then((r) => r.blob()); 110 - const fileType = newAvatarUri.split(';')[0].split(':')[1]; 110 + const fileType = newAvatarUri.split(";")[0].split(":")[1]; 111 111 console.log(fileType); 112 112 const blob = new Blob([data], { type: fileType }); 113 113 newAvatarBlob = (await pdsAgent.uploadBlob(blob)).data.blob; 114 114 } 115 115 } 116 116 if (newBannerUri) { 117 - if (!newBannerUri.startsWith('http')) { 118 - console.log('Uploading banner'); 117 + if (!newBannerUri.startsWith("http")) { 118 + console.log("Uploading banner"); 119 119 const data = await fetch(newBannerUri).then((r) => r.blob()); 120 - const fileType = newBannerUri.split(';')[0].split(':')[1]; 120 + const fileType = newBannerUri.split(";")[0].split(":")[1]; 121 121 console.log(fileType); 122 122 const blob = new Blob([data], { type: fileType }); 123 123 newBannerBlob = (await pdsAgent.uploadBlob(blob)).data.blob; 124 124 } 125 125 } 126 126 127 - console.log('done uploading'); 127 + console.log("done uploading"); 128 128 129 129 let record: ProfileRecord = { 130 130 displayName: updatedProfile.displayName, ··· 137 137 138 138 if (cid) { 139 139 post = await pdsAgent.call( 140 - 'com.atproto.repo.putRecord', 140 + "com.atproto.repo.putRecord", 141 141 {}, 142 142 { 143 143 repo: pdsAgent.did, 144 - collection: 'fm.teal.alpha.actor.profile', 145 - rkey: 'self', 144 + collection: "fm.teal.alpha.actor.profile", 145 + rkey: "self", 146 146 record, 147 147 swapRecord: cid, 148 148 }, 149 149 ); 150 150 } else { 151 151 post = await pdsAgent.call( 152 - 'com.atproto.repo.createRecord', 152 + "com.atproto.repo.createRecord", 153 153 {}, 154 154 { 155 155 repo: pdsAgent.did, 156 - collection: 'fm.teal.alpha.actor.profile', 157 - rkey: 'self', 156 + collection: "fm.teal.alpha.actor.profile", 157 + rkey: "self", 158 158 record, 159 159 }, 160 160 ); ··· 171 171 <> 172 172 {profile.banner ? ( 173 173 <Image 174 - className="w-full max-w-[100vh] h-32 md:h-44 scale-[1.32] rounded-xl -mb-6" 174 + className="-mb-6 h-32 w-full max-w-[100vh] scale-[1.32] rounded-xl md:h-44" 175 175 source={{ 176 176 uri: 177 177 getImageCdnLink({ did: profile.did!, hash: profile.banner }) ?? ··· 179 179 }} 180 180 /> 181 181 ) : ( 182 - <View className="w-full max-w-[100vh] h-32 md:h-44 scale-[1.32] rounded-xl -mb-6 bg-background" /> 182 + <View className="-mb-6 h-32 w-full max-w-[100vh] scale-[1.32] rounded-xl bg-background md:h-44" /> 183 183 )} 184 - <View className="flex flex-col items-left justify-start text-left max-w-2xl w-screen gap-1 p-4 px-8"> 185 - <View className="flex flex-row justify-between items-center"> 184 + <View className="items-left flex w-screen max-w-2xl flex-col justify-start gap-1 p-4 px-8 text-left"> 185 + <View className="flex flex-row items-center justify-between"> 186 186 <View className="flex justify-between"> 187 - <Avatar alt="Rick Sanchez's Avatar" className="w-24 h-24"> 187 + <Avatar alt="Rick Sanchez's Avatar" className="h-24 w-24"> 188 188 <AvatarImage 189 189 source={{ 190 190 uri: ··· 197 197 }} 198 198 /> 199 199 <AvatarFallback> 200 - <Text>{profile.displayName?.substring(0, 1) ?? 'R'}</Text> 200 + <Text>{profile.displayName?.substring(0, 1) ?? "R"}</Text> 201 201 </AvatarFallback> 202 202 </Avatar> 203 - <CardTitle className="text-left flex w-full justify-between mt-2"> 204 - {profile.displayName ?? ' Richard'} 203 + <CardTitle className="mt-2 flex w-full justify-between text-left"> 204 + {profile.displayName ?? " Richard"} 205 205 </CardTitle> 206 206 </View> 207 207 <View className="mt-2 flex-row gap-2"> ··· 209 209 <Button 210 210 variant="outline" 211 211 size="sm" 212 - className="rounded-xl flex-row gap-2 justify-center items-center" 212 + className="flex-row items-center justify-center gap-2 rounded-xl" 213 213 onPress={() => setIsEditing(true)} 214 214 > 215 215 <Icon icon={Pen} size={18} /> ··· 219 219 <Button 220 220 variant="outline" 221 221 size="sm" 222 - className="rounded-xl flex-row gap-2 justify-center items-center" 222 + className="flex-row items-center justify-center gap-2 rounded-xl" 223 223 > 224 224 <Icon icon={Plus} size={18} /> 225 225 <Text>Follow</Text> ··· 228 228 <Button 229 229 variant="outline" 230 230 size="sm" 231 - className="text-white aspect-square p-0 rounded-full flex flex-row gap-2 justify-center items-center" 231 + className="flex aspect-square flex-row items-center justify-center gap-2 rounded-full p-0 text-white" 232 232 > 233 233 <Icon icon={MoreHorizontal} size={18} /> 234 234 </Button> ··· 236 236 </View> 237 237 <View> 238 238 {profile 239 - ? profile.description?.split('\n').map((str, i) => ( 239 + ? profile.description?.split("\n").map((str, i) => ( 240 240 <Text 241 - className="text-start self-start place-self-start" 241 + className="place-self-start self-start text-start" 242 242 key={i} 243 243 > 244 244 {str} 245 245 </Text> 246 246 )) || <Text>'A very mysterious person'</Text> 247 - : 'Loading...'} 247 + : "Loading..."} 248 248 </View> 249 249 </View> 250 - <View className="max-w-2xl w-full gap-4 py-4 pl-8"> 251 - <Text className="text-left text-2xl border-b border-b-muted-foreground/30 -ml-2 pl-2 mr-6"> 250 + <View className="w-full max-w-2xl gap-4 py-4 pl-8"> 251 + <Text className="-ml-2 mr-6 border-b border-b-muted-foreground/30 pl-2 text-left text-2xl"> 252 252 Stamps 253 253 </Text> 254 254 <ActorPlaysView repo={actorDid} pdsAgent={pdsAgent} />
+41 -40
apps/amethyst/components/actor/editProfileView.tsx
··· 1 - import * as React from 'react'; 2 - import { useState } from 'react'; 1 + import * as React from "react"; 2 + import { useState } from "react"; 3 3 import { 4 + ActivityIndicator, 5 + Image, 4 6 Modal, 5 7 Pressable, 6 - View, 7 - Image, 8 - ActivityIndicator, 9 8 Touchable, 10 9 TouchableWithoutFeedback, 11 - } from 'react-native'; 12 - import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; 13 - import { Text } from '@/components/ui/text'; 14 - import { Button } from '@/components/ui/button'; 15 - import * as ImagePicker from 'expo-image-picker'; 16 - import { Card } from '../ui/card'; 17 - import { Input } from '../ui/input'; 18 - import { Textarea } from '../ui/textarea'; 19 - import { cn } from '@/lib/utils'; 20 - import { useOnEscape } from '@/hooks/useOnEscape'; 21 - import { Icon } from '@/lib/icons/iconWithClassName'; 22 - import { Pen } from 'lucide-react-native'; 23 - import getImageCdnLink from '@/lib/atp/getImageCdnLink'; 10 + View, 11 + } from "react-native"; 12 + import * as ImagePicker from "expo-image-picker"; 13 + import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 14 + import { Button } from "@/components/ui/button"; 15 + import { Text } from "@/components/ui/text"; 16 + import { useOnEscape } from "@/hooks/useOnEscape"; 17 + import getImageCdnLink from "@/lib/atp/getImageCdnLink"; 18 + import { Icon } from "@/lib/icons/iconWithClassName"; 19 + import { cn } from "@/lib/utils"; 20 + import { Pen } from "lucide-react-native"; 21 + 22 + import { Card } from "../ui/card"; 23 + import { Input } from "../ui/input"; 24 + import { Textarea } from "../ui/textarea"; 24 25 25 26 const GITHUB_AVATAR_URI = 26 - 'https://i.pinimg.com/originals/ef/a2/8d/efa28d18a04e7fa40ed49eeb0ab660db.jpg'; 27 + "https://i.pinimg.com/originals/ef/a2/8d/efa28d18a04e7fa40ed49eeb0ab660db.jpg"; 27 28 28 29 export interface EditProfileModalProps { 29 30 isVisible: boolean; ··· 49 50 setLoading(true); // Start loading 50 51 51 52 let result = await ImagePicker.launchImageLibraryAsync({ 52 - mediaTypes: ['images'], 53 + mediaTypes: ["images"], 53 54 allowsEditing: true, 54 55 aspect: setType === setAvatarUri ? [1, 1] : [3, 1], 55 56 quality: 1, ··· 71 72 72 73 if (!profile) { 73 74 return ( 74 - <View className="flex-1 justify-center items-center gap-5 p-6 bg-background"> 75 + <View className="flex-1 items-center justify-center gap-5 bg-background p-6"> 75 76 <ActivityIndicator size="large" /> 76 77 </View> 77 78 ); ··· 80 81 return ( 81 82 <Modal animationType="fade" transparent={true} visible={isVisible}> 82 83 <TouchableWithoutFeedback onPress={() => onClose()}> 83 - <View className="flex-1 justify-center items-center bg-black/50 backdrop-blur"> 84 + <View className="flex-1 items-center justify-center bg-black/50 backdrop-blur"> 84 85 <TouchableWithoutFeedback> 85 - <Card className="bg-card rounded-lg p-4 w-11/12 max-w-md"> 86 - <Text className="text-xl font-bold mb-4">Edit Profile</Text> 86 + <Card className="w-11/12 max-w-md rounded-lg bg-card p-4"> 87 + <Text className="mb-4 text-xl font-bold">Edit Profile</Text> 87 88 <Pressable onPress={() => pickImage(setBannerUri)}> 88 89 {loading && !bannerUri && <ActivityIndicator />} 89 90 {bannerUri ? ( 90 - <View className="relative group"> 91 + <View className="group relative"> 91 92 <Image 92 93 source={{ 93 - uri: bannerUri?.includes(';') 94 + uri: bannerUri?.includes(";") 94 95 ? bannerUri 95 96 : getImageCdnLink({ 96 97 did: editedProfile.did, 97 98 hash: bannerUri, 98 99 }), 99 100 }} 100 - className="w-full h-24 rounded-lg" 101 + className="h-24 w-full rounded-lg" 101 102 /> 102 - <View className="absolute -right-2 -bottom-2 rounded-full bg-muted/70 group-hover:bg-muted/90 text-foreground transition-colors duration-300 border border-border p-1"> 103 + <View className="absolute -bottom-2 -right-2 rounded-full border border-border bg-muted/70 p-1 text-foreground transition-colors duration-300 group-hover:bg-muted/90"> 103 104 <Icon icon={Pen} size={18} className="fill-muted" /> 104 105 </View> 105 106 </View> 106 107 ) : ( 107 - <View className="w-full max-w-[100vh] h-32 md:h-44 rounded-xl -mb-6 bg-muted" /> 108 + <View className="-mb-6 h-32 w-full max-w-[100vh] rounded-xl bg-muted md:h-44" /> 108 109 )} 109 110 </Pressable> 110 111 111 112 <Pressable 112 113 onPress={() => pickImage(setAvatarUri)} 113 - className={cn('mb-4 relative group', bannerUri && 'pl-4 -mt-8')} 114 + className={cn("group relative mb-4", bannerUri && "-mt-8 pl-4")} 114 115 > 115 116 {loading && !avatarUri && <ActivityIndicator />} 116 - <View className="relative group w-min"> 117 + <View className="group relative w-min"> 117 118 <Avatar 118 - className="w-20 h-20" 119 - alt={`Avatar for ${editedProfile?.displayName ?? 'User'}`} 119 + className="h-20 w-20" 120 + alt={`Avatar for ${editedProfile?.displayName ?? "User"}`} 120 121 > 121 122 <AvatarImage 122 123 source={{ 123 - uri: avatarUri?.includes(';') 124 + uri: avatarUri?.includes(";") 124 125 ? avatarUri 125 126 : getImageCdnLink({ 126 127 did: editedProfile.did, ··· 130 131 /> 131 132 <AvatarFallback> 132 133 <Text> 133 - {editedProfile?.displayName?.substring(0, 1) ?? 'R'} 134 + {editedProfile?.displayName?.substring(0, 1) ?? "R"} 134 135 </Text> 135 136 </AvatarFallback> 136 137 </Avatar> 137 - <View className="absolute right-0 bottom-0 rounded-full bg-muted/70 group-hover:bg-muted/90 text-foreground transition-colors duration-300 border border-border p-1"> 138 + <View className="absolute bottom-0 right-0 rounded-full border border-border bg-muted/70 p-1 text-foreground transition-colors duration-300 group-hover:bg-muted/90"> 138 139 <Icon icon={Pen} size={18} className="fill-muted" /> 139 140 </View> 140 141 </View> 141 142 </Pressable> 142 143 143 - <Text className="text-sm font-semibold text-muted-foreground pl-1"> 144 + <Text className="pl-1 text-sm font-semibold text-muted-foreground"> 144 145 Display Name 145 146 </Text> 146 147 <Input 147 - className="border border-gray-300 rounded px-3 py-2 mb-4" 148 + className="mb-4 rounded border border-gray-300 px-3 py-2" 148 149 placeholder="Display Name" 149 150 value={editedProfile.displayName} 150 151 onChangeText={(text) => 151 152 setEditedProfile({ ...editedProfile, displayName: text }) 152 153 } 153 154 /> 154 - <Text className="text-sm font-semibold text-muted-foreground pl-1"> 155 + <Text className="pl-1 text-sm font-semibold text-muted-foreground"> 155 156 Description 156 157 </Text> 157 158 <Textarea 158 - className="border border-gray-300 rounded px-3 py-2 mb-4" 159 + className="mb-4 rounded border border-gray-300 px-3 py-2" 159 160 placeholder="Description" 160 161 multiline 161 162 value={editedProfile.description}
+4 -10
apps/amethyst/components/onboarding/progressDots.tsx
··· 1 - import React from 'react'; 2 - import { View } from 'react-native'; 1 + import React from "react"; 2 + import { View } from "react-native"; 3 3 4 4 interface ProgressDotsProps { 5 5 totalSteps: number; ··· 17 17 dots.push( 18 18 <View 19 19 key={i} 20 - className={` 21 - w-4 22 - h-4 23 - rounded-full 24 - m-2 25 - ${isActive ? `bg-accent` : `bg-muted`} 26 - `} 20 + className={`m-2 h-4 w-4 rounded-full ${isActive ? `bg-accent` : `bg-muted`} `} 27 21 />, 28 22 ); 29 23 } 30 24 31 - return <View className="flex-row justify-center items-center">{dots}</View>; 25 + return <View className="flex-row items-center justify-center">{dots}</View>; 32 26 }; 33 27 34 28 export default ProgressDots;
+5 -5
apps/amethyst/components/play/playView.tsx
··· 1 - import { View, Image } from "react-native"; 1 + import { Image, View } from "react-native"; 2 2 import { Text } from "@/components/ui/text"; 3 3 import { timeAgo } from "@/lib/utils"; 4 4 ··· 14 14 dateListened?: Date; 15 15 }) { 16 16 return ( 17 - <View className="flex flex-row gap-2 max-w-full"> 17 + <View className="flex max-w-full flex-row gap-2"> 18 18 <Image 19 - className="w-16 h-16 rounded-lg bg-gray-500/50" 19 + className="h-16 w-16 rounded-lg bg-gray-500/50" 20 20 source={{ 21 21 uri: 22 22 releaseMbid && 23 23 `https://coverartarchive.org/release/${releaseMbid}/front-250`, 24 24 }} 25 25 /> 26 - <View className="shrink flex flex-col justify-center"> 27 - <Text className=" text-foreground line-clamp-1 overflow-ellipsis -mt-0.5"> 26 + <View className="flex shrink flex-col justify-center"> 27 + <Text className="-mt-0.5 line-clamp-1 overflow-ellipsis text-foreground"> 28 28 {trackTitle} 29 29 </Text> 30 30 {artistName && (
+3 -3
apps/amethyst/components/play/verticalPlayView.tsx
··· 1 - import { View, Image } from "react-native"; 1 + import { Image, View } from "react-native"; 2 2 import { Text } from "@/components/ui/text"; 3 3 import { cn } from "@/lib/utils"; // Assuming you have a utils file with cn function like in shadcn 4 4 ··· 64 64 <Text 65 65 className={cn( 66 66 secondaryTextSizes[size], 67 - "text-muted-foreground text-center", 67 + "text-center text-muted-foreground", 68 68 )} 69 69 > 70 70 {artistName} ··· 74 74 <Text 75 75 className={cn( 76 76 secondaryTextSizes[size], 77 - "text-muted-foreground text-center", 77 + "text-center text-muted-foreground", 78 78 )} 79 79 > 80 80 {releaseTitle}
+1 -1
apps/amethyst/components/toggleTheme.tsx
··· 1 - import { useColorScheme } from "nativewind"; 2 1 import { Text } from "@/components/ui/text"; 2 + import { useColorScheme } from "nativewind"; 3 3 4 4 export default function ToggleTheme() { 5 5 const { colorScheme, setColorScheme } = useColorScheme();
+9 -9
apps/amethyst/components/ui/ago.tsx
··· 1 - import { Text } from './text'; 1 + import { Text } from "./text"; 2 2 3 3 const Ago = ({ time }: { time: Date }) => { 4 4 return ( 5 - <Text className="text-gray-500 text-sm">{timeAgoSinceDate(time)}</Text> 5 + <Text className="text-sm text-gray-500">{timeAgoSinceDate(time)}</Text> 6 6 ); 7 7 }; 8 8 ··· 27 27 const days = Math.floor(hours / 24); 28 28 29 29 if (seconds < 5) { 30 - return 'Just now'; 30 + return "Just now"; 31 31 } else if (seconds <= 60) { 32 32 return `${seconds} seconds ago`; 33 33 } else if (minutes <= 1) { 34 - return numericDates ? '1 minute ago' : 'A minute ago'; 34 + return numericDates ? "1 minute ago" : "A minute ago"; 35 35 } else if (minutes <= 60) { 36 36 return `${minutes} minutes ago`; 37 37 } else if (hours <= 1) { 38 - return numericDates ? '1 hour ago' : 'An hour ago'; 38 + return numericDates ? "1 hour ago" : "An hour ago"; 39 39 } else if (hours <= 60) { 40 40 return `${hours} hours ago`; 41 41 } else if (days <= 1) { 42 - return numericDates ? '1 day ago' : 'Yesterday'; 42 + return numericDates ? "1 day ago" : "Yesterday"; 43 43 } else if (days <= 6) { 44 44 return `${days} days ago`; 45 45 } else if (Math.ceil(days / 7) <= 1) { 46 - return numericDates ? '1 week ago' : 'Last week'; 46 + return numericDates ? "1 week ago" : "Last week"; 47 47 } else if (Math.ceil(days / 7) <= 4) { 48 48 return `${Math.ceil(days / 7)} weeks ago`; 49 49 } else if (Math.ceil(days / 30) <= 1) { 50 - return numericDates ? '1 month ago' : 'Last month'; 50 + return numericDates ? "1 month ago" : "Last month"; 51 51 } else if (Math.ceil(days / 30) <= 30) { 52 52 return `${Math.ceil(days / 30)} months ago`; 53 53 } else if (Math.ceil(days / 365) <= 1) { 54 - return numericDates ? '1 year ago' : 'Last year'; 54 + return numericDates ? "1 year ago" : "Last year"; 55 55 } else { 56 56 return `${Math.floor(days / 365)} years ago`; 57 57 }
+2 -1
apps/amethyst/components/ui/avatar.tsx
··· 1 + import * as React from "react"; 1 2 import * as AvatarPrimitive from "@rn-primitives/avatar"; 2 - import * as React from "react"; 3 + 3 4 import { cn } from "../../lib/utils"; 4 5 5 6 const AvatarPrimitiveRoot = AvatarPrimitive.Root;
+2 -1
apps/amethyst/components/ui/button.tsx
··· 1 - import { cva, type VariantProps } from "class-variance-authority"; 2 1 import * as React from "react"; 3 2 import { Pressable } from "react-native"; 3 + import { cva, type VariantProps } from "class-variance-authority"; 4 + 4 5 import { TextClassContext } from "../../components/ui/text"; 5 6 import { cn } from "../../lib/utils"; 6 7
+4 -3
apps/amethyst/components/ui/card.tsx
··· 1 - import type { TextRef, ViewRef } from "@rn-primitives/types"; 2 1 import * as React from "react"; 3 2 import { TextProps, View, ViewProps } from "react-native"; 4 - import { TextClassContext, Text } from "../../components/ui/text"; 3 + import type { TextRef, ViewRef } from "@rn-primitives/types"; 4 + 5 + import { Text, TextClassContext } from "../../components/ui/text"; 5 6 import { cn } from "../../lib/utils"; 6 7 7 8 const Card = React.forwardRef<ViewRef, ViewProps>( ··· 38 39 aria-level={3} 39 40 ref={ref} 40 41 className={cn( 41 - "text-2xl text-card-foreground font-semibold leading-none tracking-tight", 42 + "text-2xl font-semibold leading-none tracking-tight text-card-foreground", 42 43 className, 43 44 )} 44 45 {...props}
+14 -13
apps/amethyst/components/ui/hover-card.tsx
··· 1 - import * as React from 'react'; 2 - import { Platform, StyleSheet } from 'react-native'; 3 - import Animated, { FadeIn } from 'react-native-reanimated'; 4 - import { TextClassContext } from '../../components/ui/text'; 5 - import * as HoverCardPrimitive from '@rn-primitives/hover-card'; 6 - import { cn } from '../../lib/utils'; 1 + import * as React from "react"; 2 + import { Platform, StyleSheet } from "react-native"; 3 + import Animated, { FadeIn } from "react-native-reanimated"; 4 + import * as HoverCardPrimitive from "@rn-primitives/hover-card"; 5 + 6 + import { TextClassContext } from "../../components/ui/text"; 7 + import { cn } from "../../lib/utils"; 7 8 8 9 const HoverCard = HoverCardPrimitive.Root; 9 10 ··· 12 13 const HoverCardContent = React.forwardRef< 13 14 HoverCardPrimitive.ContentRef, 14 15 HoverCardPrimitive.ContentProps 15 - >(({ className, align = 'center', sideOffset = 4, ...props }, ref) => { 16 + >(({ className, align = "center", sideOffset = 4, ...props }, ref) => { 16 17 const { open } = HoverCardPrimitive.useRootContext(); 17 18 return ( 18 19 <HoverCardPrimitive.Portal> 19 20 <HoverCardPrimitive.Overlay 20 - style={Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined} 21 + style={Platform.OS !== "web" ? StyleSheet.absoluteFill : undefined} 21 22 > 22 23 <Animated.View entering={FadeIn}> 23 - <TextClassContext.Provider value='text-popover-foreground'> 24 + <TextClassContext.Provider value="text-popover-foreground"> 24 25 <HoverCardPrimitive.Content 25 26 ref={ref} 26 27 align={align} 27 28 sideOffset={sideOffset} 28 29 className={cn( 29 - 'z-50 w-64 rounded-md border border-border bg-popover p-4 shadow-md shadow-foreground/5 web:outline-none web:cursor-auto data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', 30 + "z-50 w-64 rounded-md border border-border bg-popover p-4 shadow-md shadow-foreground/5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 web:cursor-auto web:outline-none", 30 31 open 31 - ? 'web:animate-in web:fade-in-0 web:zoom-in-95' 32 - : 'web:animate-out web:fade-out-0 web:zoom-out-95 ', 33 - className 32 + ? "web:animate-in web:fade-in-0 web:zoom-in-95" 33 + : "web:animate-out web:fade-out-0 web:zoom-out-95", 34 + className, 34 35 )} 35 36 {...props} 36 37 />
+3 -2
apps/amethyst/components/ui/input.tsx
··· 1 1 import * as React from "react"; 2 2 import { TextInput, type TextInputProps } from "react-native"; 3 + 3 4 import { cn } from "../../lib/utils"; 4 - import { TextClassContext, GlobalTextClassContext } from "./text"; 5 + import { GlobalTextClassContext, TextClassContext } from "./text"; 5 6 6 7 const Input = React.forwardRef< 7 8 React.ElementRef<typeof TextInput>, ··· 14 15 ref={ref} 15 16 className={cn( 16 17 gc, 17 - "web:flex h-10 native:h-12 web:w-full rounded-md border border-input bg-background px-3 web:py-2 text-base lg:text-sm native:text-lg native:leading-[1.25] text-foreground placeholder:text-muted-foreground web:ring-offset-background file:border-0 file:bg-transparent file:font-medium web:focus-visible:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2", 18 + "native:h-12 native:text-lg native:leading-[1.25] h-10 rounded-md border border-input bg-background px-3 text-base text-foreground file:border-0 file:bg-transparent file:font-medium placeholder:text-muted-foreground web:flex web:w-full web:py-2 web:ring-offset-background web:focus-visible:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 lg:text-sm", 18 19 cc, 19 20 props.editable === false && "opacity-50 web:cursor-not-allowed", 20 21 className,
+3 -2
apps/amethyst/components/ui/progress.tsx
··· 1 - import * as ProgressPrimitive from "@rn-primitives/progress"; 2 1 import * as React from "react"; 3 2 import { Platform, View } from "react-native"; 4 3 import Animated, { ··· 8 7 useDerivedValue, 9 8 withSpring, 10 9 } from "react-native-reanimated"; 10 + import * as ProgressPrimitive from "@rn-primitives/progress"; 11 + 11 12 import { cn } from "../../lib/utils"; 12 13 13 14 const Progress = React.forwardRef< ··· 61 62 style={{ transform: `translateX(-${100 - (value ?? 0)}%)` }} 62 63 > 63 64 <ProgressPrimitive.Indicator 64 - className={cn("h-full w-full ", className)} 65 + className={cn("h-full w-full", className)} 65 66 /> 66 67 </View> 67 68 );
+4 -4
apps/amethyst/components/ui/sheetBackdrop.tsx
··· 1 1 import React, { useMemo } from "react"; 2 - import { BottomSheetBackdropProps } from "@gorhom/bottom-sheet"; 2 + import { StyleProp, View, ViewStyle } from "react-native"; 3 3 import Animated, { 4 4 AnimatedStyle, 5 5 Extrapolation, 6 6 interpolate, 7 7 useAnimatedStyle, 8 8 } from "react-native-reanimated"; 9 - import { StyleProp, View, ViewStyle } from "react-native"; 9 + import { BottomSheetBackdropProps } from "@gorhom/bottom-sheet"; 10 10 11 11 export default function SheetBackdrop({ 12 12 animatedIndex, ··· 50 50 style, 51 51 }: BottomSheetBackdropProps) => { 52 52 return ( 53 - <View className="w-full items-center h-6 bg-card rounded-t-xl border-t border-x border-neutral-500/30"> 54 - <View className="w-16 bg-muted-foreground/50 hover:bg-muted-foreground/70 transition-colors h-1.5 m-1 rounded-xl" /> 53 + <View className="h-6 w-full items-center rounded-t-xl border-x border-t border-neutral-500/30 bg-card"> 54 + <View className="m-1 h-1.5 w-16 rounded-xl bg-muted-foreground/50 transition-colors hover:bg-muted-foreground/70" /> 55 55 </View> 56 56 ); 57 57 };
+3 -2
apps/amethyst/components/ui/text.tsx
··· 1 + import * as React from "react"; 2 + import { Text as RNText } from "react-native"; 1 3 import * as Slot from "@rn-primitives/slot"; 2 4 import type { SlottableTextProps, TextRef } from "@rn-primitives/types"; 3 - import * as React from "react"; 4 - import { Text as RNText } from "react-native"; 5 + 5 6 import { cn } from "../../lib/utils"; 6 7 7 8 const TextClassContext = React.createContext<string | undefined>(undefined);
+13 -10
apps/amethyst/components/ui/tooltip.tsx
··· 1 - import * as TooltipPrimitive from '@rn-primitives/tooltip'; 2 - import * as React from 'react'; 3 - import { Platform, StyleSheet } from 'react-native'; 4 - import Animated, { FadeIn, FadeOut } from 'react-native-reanimated'; 5 - import { cn } from '../../lib/utils'; 6 - import { TextClassContext } from '../../components/ui/text'; 1 + import * as React from "react"; 2 + import { Platform, StyleSheet } from "react-native"; 3 + import Animated, { FadeIn, FadeOut } from "react-native-reanimated"; 4 + import * as TooltipPrimitive from "@rn-primitives/tooltip"; 5 + 6 + import { TextClassContext } from "../../components/ui/text"; 7 + import { cn } from "../../lib/utils"; 7 8 8 9 const Tooltip = TooltipPrimitive.Root; 9 10 const TooltipTrigger = TooltipPrimitive.Trigger; ··· 13 14 TooltipPrimitive.ContentProps & { portalHost?: string } 14 15 >(({ className, sideOffset = 4, portalHost, ...props }, ref) => ( 15 16 <TooltipPrimitive.Portal hostName={portalHost}> 16 - <TooltipPrimitive.Overlay style={Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined}> 17 + <TooltipPrimitive.Overlay 18 + style={Platform.OS !== "web" ? StyleSheet.absoluteFill : undefined} 19 + > 17 20 <Animated.View 18 21 entering={Platform.select({ web: undefined, default: FadeIn })} 19 22 exiting={Platform.select({ web: undefined, default: FadeOut })} 20 23 > 21 - <TextClassContext.Provider value='text-sm native:text-base text-popover-foreground'> 24 + <TextClassContext.Provider value="text-sm native:text-base text-popover-foreground"> 22 25 <TooltipPrimitive.Content 23 26 ref={ref} 24 27 sideOffset={sideOffset} 25 28 className={cn( 26 - 'z-50 overflow-hidden rounded-md border border-border bg-popover px-3 py-1.5 shadow-md shadow-foreground/5 web:animate-in web:fade-in-0 web:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', 27 - className 29 + "z-50 overflow-hidden rounded-md border border-border bg-popover px-3 py-1.5 shadow-md shadow-foreground/5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 web:animate-in web:fade-in-0 web:zoom-in-95", 30 + className, 28 31 )} 29 32 {...props} 30 33 />
+1 -1
apps/amethyst/components/useClientOnlyValue.web.ts
··· 1 - import React from 'react'; 1 + import React from "react"; 2 2 3 3 // `useEffect` is not invoked during server rendering, meaning 4 4 // we can use this to determine if we're on the server or not.
+8 -8
apps/amethyst/constants/Colors.ts
··· 1 - const tintColorLight = '#2f95dc'; 2 - const tintColorDark = '#fff'; 1 + const tintColorLight = "#2f95dc"; 2 + const tintColorDark = "#fff"; 3 3 4 4 export default { 5 5 light: { 6 - text: '#000', 7 - background: '#fff', 6 + text: "#000", 7 + background: "#fff", 8 8 tint: tintColorLight, 9 - tabIconDefault: '#ccc', 9 + tabIconDefault: "#ccc", 10 10 tabIconSelected: tintColorLight, 11 11 }, 12 12 dark: { 13 - text: '#fff', 14 - background: '#000', 13 + text: "#fff", 14 + background: "#000", 15 15 tint: tintColorDark, 16 - tabIconDefault: '#ccc', 16 + tabIconDefault: "#ccc", 17 17 tabIconSelected: tintColorDark, 18 18 }, 19 19 };
+1 -1
apps/amethyst/ios/amethyst/Images.xcassets/AppIcon.appiconset/Contents.json
··· 11 11 "version": 1, 12 12 "author": "expo" 13 13 } 14 - } 14 + }
+3 -3
apps/amethyst/ios/amethyst/Images.xcassets/Contents.json
··· 1 1 { 2 - "info" : { 3 - "version" : 1, 4 - "author" : "expo" 2 + "info": { 3 + "version": 1, 4 + "author": "expo" 5 5 } 6 6 }
+1 -1
apps/amethyst/ios/amethyst/Images.xcassets/SplashScreenBackground.colorset/Contents.json
··· 17 17 "version": 1, 18 18 "author": "expo" 19 19 } 20 - } 20 + }
+1 -1
apps/amethyst/ios/amethyst/Images.xcassets/SplashScreenLogo.imageset/Contents.json
··· 38 38 "version": 1, 39 39 "author": "expo" 40 40 } 41 - } 41 + }
+3 -3
apps/amethyst/lib/atp/getImageCdnLink.tsx
··· 1 - const DEFAULT_IMAGE_TEMPLATE = 'https://at.uwu.wang/{did}/{hash}'; 1 + const DEFAULT_IMAGE_TEMPLATE = "https://at.uwu.wang/{did}/{hash}"; 2 2 3 3 export default function getImageCdnLink({ 4 4 did, ··· 9 9 }): string | undefined { 10 10 if (!did || !hash) return undefined; 11 11 // if hash is actually a data url return it 12 - if (hash.startsWith('data:')) return hash; 13 - return DEFAULT_IMAGE_TEMPLATE.replace('{did}', did).replace('{hash}', hash); 12 + if (hash.startsWith("data:")) return hash; 13 + return DEFAULT_IMAGE_TEMPLATE.replace("{did}", did).replace("{hash}", hash); 14 14 }
+2 -2
apps/amethyst/lib/atp/oauth.tsx
··· 1 + import { Platform } from "react-native"; 2 + import Constants from "expo-constants"; 1 3 import { 2 4 ClientMetadata, 3 5 clientMetadataSchema, 4 6 ReactNativeOAuthClient, 5 7 } from "@aquareum/atproto-oauth-client-react-native"; 6 - import Constants from "expo-constants"; 7 - import { Platform } from "react-native"; 8 8 9 9 export type AquareumOAuthClient = Omit< 10 10 ReactNativeOAuthClient,
+1
apps/amethyst/lib/icons/CalendarDays.tsx
··· 1 1 import { CalendarDays } from "lucide-react-native"; 2 + 2 3 import { iconWithClassName } from "./iconWithClassName"; 3 4 4 5 iconWithClassName(CalendarDays);
+1
apps/amethyst/lib/icons/Info.tsx
··· 1 1 import { Info } from "lucide-react-native"; 2 + 2 3 import { iconWithClassName } from "./iconWithClassName"; 3 4 4 5 iconWithClassName(Info);
+1
apps/amethyst/lib/icons/Moon.tsx
··· 1 1 import { Moon } from "lucide-react-native"; 2 + 2 3 import { iconWithClassName } from "./iconWithClassName"; 3 4 4 5 iconWithClassName(Moon);
+1
apps/amethyst/lib/icons/Sun.tsx
··· 1 1 import { Sun } from "lucide-react-native"; 2 + 2 3 import { iconWithClassName } from "./iconWithClassName"; 3 4 4 5 iconWithClassName(Sun);
+7 -3
apps/amethyst/lib/icons/iconWithClassName.tsx
··· 1 + import React from "react"; 2 + import type { FontAwesome6 } from "@expo/vector-icons"; 1 3 import type { LucideIcon } from "lucide-react-native"; 2 - import type { FontAwesome6 } from "@expo/vector-icons"; 3 4 import { cssInterop } from "nativewind"; 5 + 6 + import { 7 + GlobalTextClassContext, 8 + TextClassContext, 9 + } from "../../components/ui/text"; 4 10 import { cn } from "../utils"; 5 - import { GlobalTextClassContext, TextClassContext } from "../../components/ui/text"; 6 - import React from "react"; 7 11 8 12 /// This type is used to support multiple icon libraries. 9 13 type SupportedIcons = LucideIcon | typeof FontAwesome6;
-1
apps/amethyst/lib/oldStamp.tsx
··· 72 72 queryParts.push(`release:"${searchParams.release}"`); 73 73 } 74 74 75 - 76 75 const query = queryParts.join(" AND "); 77 76 78 77 const res = await fetch(
+1 -1
apps/amethyst/nativewind-env.d.ts
··· 1 1 /// <reference types="nativewind/types" /> 2 2 3 - // NOTE: This file should not be edited and should be committed with your source code. It is generated by NativeWind. 3 + // NOTE: This file should not be edited and should be committed with your source code. It is generated by NativeWind.
+1
apps/amethyst/readme.md
··· 1 1 # Amethyst 2 + 2 3 The teal.fm app. 3 4 4 5 ## What?
+41 -39
apps/amethyst/stores/authenticationSlice.tsx
··· 1 - import { StateCreator } from './mainStore'; 2 - import createOAuthClient, { AquareumOAuthClient } from '../lib/atp/oauth'; 3 - import { OAuthSession } from '@atproto/oauth-client'; 4 - import { ProfileViewDetailed } from '@atproto/api/dist/client/types/app/bsky/actor/defs'; 5 - import { OutputSchema as GetProfileOutputSchema } from '@teal/lexicons/src/types/fm/teal/alpha/actor/getProfile'; 6 - import { Agent } from '@atproto/api'; 7 - import * as Lexicons from '@teal/lexicons/src/lexicons'; 8 - import { resolveFromIdentity } from '@/lib/atp/pid'; 1 + import { resolveFromIdentity } from "@/lib/atp/pid"; 2 + import { Agent } from "@atproto/api"; 3 + import { ProfileViewDetailed } from "@atproto/api/dist/client/types/app/bsky/actor/defs"; 4 + import { OAuthSession } from "@atproto/oauth-client"; 5 + 6 + import * as Lexicons from "@teal/lexicons/src/lexicons"; 7 + import { OutputSchema as GetProfileOutputSchema } from "@teal/lexicons/src/types/fm/teal/alpha/actor/getProfile"; 8 + 9 + import createOAuthClient, { AquareumOAuthClient } from "../lib/atp/oauth"; 10 + import { StateCreator } from "./mainStore"; 9 11 10 12 export interface AllProfileViews { 11 13 bsky: null | ProfileViewDetailed; 12 - teal: null | GetProfileOutputSchema['actor']; 14 + teal: null | GetProfileOutputSchema["actor"]; 13 15 // todo: teal profile view 14 16 } 15 17 16 18 export interface AuthenticationSlice { 17 19 auth: AquareumOAuthClient; 18 - status: 'start' | 'loggedIn' | 'loggedOut'; 20 + status: "start" | "loggedIn" | "loggedOut"; 19 21 oauthState: null | string; 20 22 oauthSession: null | OAuthSession; 21 23 pdsAgent: null | Agent; ··· 43 45 get, 44 46 ) => { 45 47 // check if we have CF_PAGES_URL set. if not, use localhost 46 - const baseUrl = process.env.EXPO_PUBLIC_BASE_URL || 'http://localhost:8081'; 47 - console.log('Using base URL:', baseUrl); 48 - const initialAuth = createOAuthClient(baseUrl, 'bsky.social'); 48 + const baseUrl = process.env.EXPO_PUBLIC_BASE_URL || "http://localhost:8081"; 49 + console.log("Using base URL:", baseUrl); 50 + const initialAuth = createOAuthClient(baseUrl, "bsky.social"); 49 51 50 - console.log('Auth client created!'); 52 + console.log("Auth client created!"); 51 53 52 54 return { 53 55 auth: initialAuth, 54 - status: 'start', 56 + status: "start", 55 57 oauthState: null, 56 58 oauthSession: null, 57 59 pdsAgent: null, ··· 80 82 }); 81 83 return url; 82 84 } catch (error) { 83 - console.error('Failed to get login URL:', error); 85 + console.error("Failed to get login URL:", error); 84 86 return null; 85 87 } 86 88 }, 87 89 88 90 oauthCallback: async (state: URLSearchParams) => { 89 91 try { 90 - if (!(state.has('code') && state.has('state') && state.has('iss'))) { 91 - throw new Error('Missing params, got: ' + state); 92 + if (!(state.has("code") && state.has("state") && state.has("iss"))) { 93 + throw new Error("Missing params, got: " + state); 92 94 } 93 95 // are we already logged in? 94 - if (get().status === 'loggedIn') { 96 + if (get().status === "loggedIn") { 95 97 return; 96 98 } 97 99 const { session, state: oauthState } = ··· 101 103 // TODO: fork or update auth lib 102 104 oauthSession: session as any, 103 105 oauthState, 104 - status: 'loggedIn', 106 + status: "loggedIn", 105 107 pdsAgent: addDocs(agent), 106 108 isAgentReady: true, 107 109 }); 108 110 get().populateLoggedInProfile(); 109 111 } catch (error: any) { 110 - console.error('OAuth callback failed:', error); 112 + console.error("OAuth callback failed:", error); 111 113 set({ 112 - status: 'loggedOut', 114 + status: "loggedOut", 113 115 login: { 114 116 loading: false, 115 117 error: 116 118 (error?.message as string) || 117 - 'Unknown error during OAuth callback', 119 + "Unknown error during OAuth callback", 118 120 }, 119 121 }); 120 122 } ··· 131 133 let sess = await initialAuth.restore(did); 132 134 133 135 if (!sess) { 134 - throw new Error('Failed to restore session'); 136 + throw new Error("Failed to restore session"); 135 137 } 136 138 137 139 const agent = new Agent(sess); ··· 139 141 set({ 140 142 pdsAgent: addDocs(agent), 141 143 isAgentReady: true, 142 - status: 'loggedIn', 144 + status: "loggedIn", 143 145 }); 144 146 get().populateLoggedInProfile(); 145 - console.log('Restored agent'); 147 + console.log("Restored agent"); 146 148 } catch (error) { 147 - console.error('Failed to restore agent:', error); 149 + console.error("Failed to restore agent:", error); 148 150 get().logOut(); 149 151 } 150 152 }, 151 153 logOut: () => { 152 - console.log('Logging out'); 154 + console.log("Logging out"); 153 155 let profiles = { ...get().profiles }; 154 156 // TODO: something better than 'delete' 155 - delete profiles[get().pdsAgent?.did ?? '']; 157 + delete profiles[get().pdsAgent?.did ?? ""]; 156 158 set({ 157 - status: 'loggedOut', 159 + status: "loggedOut", 158 160 oauthSession: null, 159 161 oauthState: null, 160 162 profiles, ··· 164 166 }); 165 167 }, 166 168 populateLoggedInProfile: async () => { 167 - console.log('Populating logged in profile'); 169 + console.log("Populating logged in profile"); 168 170 const agent = get().pdsAgent; 169 171 if (!agent) { 170 - throw new Error('No agent'); 172 + throw new Error("No agent"); 171 173 } 172 174 if (!agent.did) { 173 - throw new Error('No agent did! This is bad!'); 175 + throw new Error("No agent did! This is bad!"); 174 176 } 175 177 try { 176 178 let bskyProfile = await agent ··· 184 186 let tealDid = get().tealDid; 185 187 let tealProfile = await agent 186 188 .call( 187 - 'fm.teal.alpha.actor.getProfile', 189 + "fm.teal.alpha.actor.getProfile", 188 190 { actor: agent?.did }, 189 191 {}, 190 - { headers: { 'atproto-proxy': tealDid + '#teal_fm_appview' } }, 192 + { headers: { "atproto-proxy": tealDid + "#teal_fm_appview" } }, 191 193 ) 192 194 .then((profile) => { 193 195 console.log(profile); ··· 200 202 }, 201 203 }); 202 204 } catch (error) { 203 - console.error('Failed to get teal profile:', error); 205 + console.error("Failed to get teal profile:", error); 204 206 // insert bsky profile 205 207 set({ 206 208 profiles: { ··· 209 211 }); 210 212 } 211 213 } catch (error) { 212 - console.error('Failed to get profile:', error); 214 + console.error("Failed to get profile:", error); 213 215 } 214 216 }, 215 217 }; ··· 217 219 218 220 function addDocs(agent: Agent) { 219 221 Lexicons.schemas 220 - .filter((schema) => !schema.id.startsWith('app.bsky.')) 222 + .filter((schema) => !schema.id.startsWith("app.bsky.")) 221 223 .map((schema) => { 222 224 try { 223 225 agent.lex.add(schema); 224 226 } catch (e) { 225 - console.error('Failed to add schema:', e); 227 + console.error("Failed to add schema:", e); 226 228 } 227 229 }); 228 230 return agent;
+8 -7
apps/amethyst/stores/mainStore.tsx
··· 1 - import { create, StateCreator as ZustandStateCreator } from 'zustand'; 2 - import { persist, createJSONStorage } from 'zustand/middleware'; 1 + import AsyncStorage from "@react-native-async-storage/async-storage"; 2 + import { create, StateCreator as ZustandStateCreator } from "zustand"; 3 + import { createJSONStorage, persist } from "zustand/middleware"; 4 + 3 5 import { 4 6 AuthenticationSlice, 5 7 createAuthenticationSlice, 6 - } from './authenticationSlice'; 7 - import AsyncStorage from '@react-native-async-storage/async-storage'; 8 - import { createTempSlice, TempSlice } from './tempSlice'; 9 - import { createPreferenceSlice, PreferenceSlice } from './preferenceSlice'; 8 + } from "./authenticationSlice"; 9 + import { createPreferenceSlice, PreferenceSlice } from "./preferenceSlice"; 10 + import { createTempSlice, TempSlice } from "./tempSlice"; 10 11 11 12 /// Put all your non-shared slices here 12 13 export type Slices = AuthenticationSlice & TempSlice & PreferenceSlice; ··· 29 30 onRehydrateStorage: () => (state) => { 30 31 state?.restorePdsAgent(); 31 32 }, 32 - name: 'mainStore', 33 + name: "mainStore", 33 34 storage: createJSONStorage(() => AsyncStorage), 34 35 }, 35 36 ),
+5 -5
apps/amethyst/stores/preferenceSlice.tsx
··· 1 - import { StateCreator } from './mainStore'; 1 + import { StateCreator } from "./mainStore"; 2 2 3 3 export interface PreferenceSlice { 4 - colorTheme: 'dark' | 'light' | 'system'; 5 - setColorTheme: (theme: 'dark' | 'light' | 'system') => void; 4 + colorTheme: "dark" | "light" | "system"; 5 + setColorTheme: (theme: "dark" | "light" | "system") => void; 6 6 tealDid: string; 7 7 setTealDid: (url: string) => void; 8 8 } 9 9 10 10 export const createPreferenceSlice: StateCreator<PreferenceSlice> = (set) => { 11 11 return { 12 - colorTheme: 'system', 12 + colorTheme: "system", 13 13 setColorTheme: (theme) => set({ colorTheme: theme }), 14 - tealDid: 'did:web:rina.z.teal.fm', 14 + tealDid: "did:web:rina.z.teal.fm", 15 15 setTealDid: (url) => set({ tealDid: url }), 16 16 }; 17 17 };
+7 -10
apps/amethyst/stores/tempSlice.tsx
··· 1 - 2 1 import { StateCreator } from "./mainStore"; 3 2 4 3 export interface TempSlice { 5 - hello: () => string; 4 + hello: () => string; 6 5 } 7 6 8 - export const createTempSlice: StateCreator<TempSlice> = ( 9 - set 10 - ) => { 11 - return { 12 - hello: () => { 13 - return "world"; 14 - } 15 - }; 7 + export const createTempSlice: StateCreator<TempSlice> = (set) => { 8 + return { 9 + hello: () => { 10 + return "world"; 11 + }, 12 + }; 16 13 };
+3 -3
apps/amethyst/tailwind.config.js
··· 1 - import { platformSelect, hairlineWidth } from "nativewind/theme"; 1 + import { hairlineWidth, platformSelect } from "nativewind/theme"; 2 2 3 3 /** @type {import('tailwindcss').Config} */ 4 4 export const darkMode = "class"; ··· 10 10 sans: "DM Sans", 11 11 "serif-old": "CrimsonPro", 12 12 "serif-old-italic": "CrimsonPro Italic", 13 - "serif": "Fraunces", 13 + serif: "Fraunces", 14 14 // serif: platformSelect({ 15 15 // android: "Fraunces", 16 16 // ios: "Fraunces", 17 17 // web: 'Fraunces, Georgia, Cambria, "Times New Roman", Times, serif', 18 18 // }), 19 - mono: "PlexMono" 19 + mono: "PlexMono", 20 20 // mono: platformSelect({ 21 21 // android: "PlexMono", 22 22 // ios: ["PlexMono"],
+50 -46
apps/aqua/public/latex.css
··· 6 6 */ 7 7 8 8 @font-face { 9 - font-family: 'Latin Modern'; 9 + font-family: "Latin Modern"; 10 10 font-style: normal; 11 11 font-weight: normal; 12 12 font-display: swap; 13 - src: url('./fonts/LM-regular.woff2') format('woff2'), 14 - url('./fonts/LM-regular.woff') format('woff'), 15 - url('./fonts/LM-regular.ttf') format('truetype'); 13 + src: 14 + url("./fonts/LM-regular.woff2") format("woff2"), 15 + url("./fonts/LM-regular.woff") format("woff"), 16 + url("./fonts/LM-regular.ttf") format("truetype"); 16 17 } 17 18 18 19 @font-face { 19 - font-family: 'Latin Modern'; 20 + font-family: "Latin Modern"; 20 21 font-style: italic; 21 22 font-weight: normal; 22 23 font-display: swap; 23 - src: url('./fonts/LM-italic.woff2') format('woff2'), 24 - url('./fonts/LM-italic.woff') format('woff'), 25 - url('./fonts/LM-italic.ttf') format('truetype'); 24 + src: 25 + url("./fonts/LM-italic.woff2") format("woff2"), 26 + url("./fonts/LM-italic.woff") format("woff"), 27 + url("./fonts/LM-italic.ttf") format("truetype"); 26 28 } 27 29 28 30 @font-face { 29 - font-family: 'Latin Modern'; 31 + font-family: "Latin Modern"; 30 32 font-style: normal; 31 33 font-weight: bold; 32 34 font-display: swap; 33 - src: url('./fonts/LM-bold.woff2') format('woff2'), 34 - url('./fonts/LM-bold.woff') format('woff'), 35 - url('./fonts/LM-bold.ttf') format('truetype'); 35 + src: 36 + url("./fonts/LM-bold.woff2") format("woff2"), 37 + url("./fonts/LM-bold.woff") format("woff"), 38 + url("./fonts/LM-bold.ttf") format("truetype"); 36 39 } 37 40 38 41 @font-face { 39 - font-family: 'Latin Modern'; 42 + font-family: "Latin Modern"; 40 43 font-style: italic; 41 44 font-weight: bold; 42 45 font-display: swap; 43 - src: url('./fonts/LM-bold-italic.woff2') format('woff2'), 44 - url('./fonts/LM-bold-italic.woff') format('woff'), 45 - url('./fonts/LM-bold-italic.ttf') format('truetype'); 46 + src: 47 + url("./fonts/LM-bold-italic.woff2") format("woff2"), 48 + url("./fonts/LM-bold-italic.woff") format("woff"), 49 + url("./fonts/LM-bold-italic.ttf") format("truetype"); 46 50 } 47 51 48 52 @font-face { 49 - font-family: 'Libertinus'; 53 + font-family: "Libertinus"; 50 54 font-style: normal; 51 55 font-weight: normal; 52 56 font-display: swap; 53 - src: url('./fonts/Libertinus-regular.woff2') format('woff2'); 57 + src: url("./fonts/Libertinus-regular.woff2") format("woff2"); 54 58 } 55 59 56 60 @font-face { 57 - font-family: 'Libertinus'; 61 + font-family: "Libertinus"; 58 62 font-style: italic; 59 63 font-weight: normal; 60 64 font-display: swap; 61 - src: url('./fonts/Libertinus-italic.woff2') format('woff2'); 65 + src: url("./fonts/Libertinus-italic.woff2") format("woff2"); 62 66 } 63 67 64 68 @font-face { 65 - font-family: 'Libertinus'; 69 + font-family: "Libertinus"; 66 70 font-style: normal; 67 71 font-weight: bold; 68 72 font-display: swap; 69 - src: url('./fonts/Libertinus-bold.woff2') format('woff2'); 73 + src: url("./fonts/Libertinus-bold.woff2") format("woff2"); 70 74 } 71 75 72 76 @font-face { 73 - font-family: 'Libertinus'; 77 + font-family: "Libertinus"; 74 78 font-style: italic; 75 79 font-weight: bold; 76 80 font-display: swap; 77 - src: url('./fonts/Libertinus-bold-italic.woff2') format('woff2'); 81 + src: url("./fonts/Libertinus-bold-italic.woff2") format("woff2"); 78 82 } 79 83 80 84 @font-face { 81 - font-family: 'Libertinus'; 85 + font-family: "Libertinus"; 82 86 font-style: normal; 83 87 font-weight: 600; 84 88 font-display: swap; 85 - src: url('./fonts/Libertinus-semibold.woff2') format('woff2'); 89 + src: url("./fonts/Libertinus-semibold.woff2") format("woff2"); 86 90 } 87 91 88 92 @font-face { 89 - font-family: 'Libertinus'; 93 + font-family: "Libertinus"; 90 94 font-style: italic; 91 95 font-weight: 600; 92 96 font-display: swap; 93 - src: url('./fonts/Libertinus-semibold-italic.woff2') format('woff2'); 97 + src: url("./fonts/Libertinus-semibold-italic.woff2") format("woff2"); 94 98 } 95 99 96 100 /* Box sizing rules */ ··· 135 139 } 136 140 137 141 @media (prefers-color-scheme: dark) { 138 - .latex-dark-auto { 142 + .latex-dark-auto { 139 143 --body-color: hsl(0, 0%, 86%); 140 144 --body-bg-color: hsl(0, 0%, 16%); 141 145 --link-visited: hsl(196 80% 77%); ··· 178 182 } 179 183 180 184 body.libertinus { 181 - font-family: 'Libertinus', Georgia, Cambria, 'Times New Roman', Times, serif; 185 + font-family: "Libertinus", Georgia, Cambria, "Times New Roman", Times, serif; 182 186 } 183 187 184 188 body { 185 - font-family: 'Latin Modern', Georgia, Cambria, 'Times New Roman', Times, serif; 189 + font-family: 190 + "Latin Modern", Georgia, Cambria, "Times New Roman", Times, serif; 186 191 line-height: 1.8; 187 192 188 193 max-width: 80ch; ··· 274 279 code, 275 280 pre, 276 281 kbd { 277 - font-family: Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', 278 - monospace; 282 + font-family: 283 + Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 279 284 font-size: 85%; 280 285 hyphens: none; 281 286 } ··· 312 317 counter-increment: caption; 313 318 } 314 319 /* add bottom border on column table headings */ 315 - table:not(.borders-custom) tr > th[scope='col'] { 320 + table:not(.borders-custom) tr > th[scope="col"] { 316 321 border-bottom: var(--border-width-thin) solid var(--table-border-color); 317 322 } 318 323 /* add right border on row table headings */ 319 - table:not(.borders-custom) tr > th[scope='row'] { 324 + table:not(.borders-custom) tr > th[scope="row"] { 320 325 border-right: var(--border-width-thin) solid var(--table-border-color); 321 326 } 322 327 table:not(.borders-custom) > tbody > tr:first-child > td, ··· 345 350 } 346 351 347 352 caption::before { 348 - content: 'Table ' counter(caption) '. '; 353 + content: "Table " counter(caption) ". "; 349 354 font-weight: bold; 350 355 } 351 356 ··· 452 457 margin-left: 0; 453 458 } 454 459 figcaption::before { 455 - content: 'Figure ' counter(figcaption) '. '; 460 + content: "Figure " counter(figcaption) ". "; 456 461 font-weight: bold; 457 462 } 458 463 ··· 470 475 display: block; 471 476 } 472 477 nav li::before { 473 - content: counters(item, '.') ' '; 478 + content: counters(item, ".") " "; 474 479 counter-increment: item; 475 480 padding-right: 0.85rem; 476 481 } ··· 488 493 font-style: italic; 489 494 } 490 495 .theorem::before { 491 - content: 'Theorem ' counter(theorem) '. '; 496 + content: "Theorem " counter(theorem) ". "; 492 497 font-weight: bold; 493 498 font-style: normal; 494 499 } ··· 501 506 font-style: italic; 502 507 } 503 508 .lemma::before { 504 - content: 'Lemma ' counter(theorem) '. '; 509 + content: "Lemma " counter(theorem) ". "; 505 510 font-weight: bold; 506 511 font-style: normal; 507 512 } ··· 514 519 position: relative; 515 520 } 516 521 .proof::before { 517 - content: 'Proof. ' attr(title); 522 + content: "Proof. " attr(title); 518 523 font-style: italic; 519 524 } 520 525 .proof::after { 521 - content: '◾️'; 526 + content: "◾️"; 522 527 filter: var(--proof-symbol-filter); 523 528 position: absolute; 524 529 right: -12px; ··· 533 538 font-style: normal; 534 539 } 535 540 .definition::before { 536 - content: 'Definition ' counter(definition) '. '; 541 + content: "Definition " counter(definition) ". "; 537 542 font-weight: bold; 538 543 font-style: normal; 539 544 } ··· 567 572 /* (WIP) add border when a sidenote is clicked on */ 568 573 .sidenote:target { 569 574 border: var(--sidenote-target-border-color) 1.5px solid; 570 - padding: 0 .5rem; 575 + padding: 0 0.5rem; 571 576 scroll-margin-block-start: 10rem; 572 577 } 573 578 ··· 592 597 593 598 /* add number in front of the sidenote */ 594 599 .sidenote-number ~ .sidenote::before { 595 - content: counter(sidenote-counter) ' '; 600 + content: counter(sidenote-counter) " "; 596 601 font-size: 0.7rem; 597 602 top: -0.5rem; 598 603 } ··· 606 611 margin-right: -24vw; 607 612 width: 18vw; 608 613 } 609 - 610 614 611 615 label.sidenote-toggle { 612 616 display: inline;
+21 -20
apps/aqua/src/index.ts
··· 1 - import { env } from './lib/env'; 1 + import { serve } from "@hono/node-server"; 2 + import { serveStatic } from "@hono/node-server/serve-static"; 3 + import { Hono } from "hono"; 4 + import pino from "pino"; 5 + 6 + import { db } from "@teal/db/connect"; 2 7 3 - import { serve } from '@hono/node-server'; 4 - import { serveStatic } from '@hono/node-server/serve-static'; 5 - import { Hono } from 'hono'; 6 - import { db } from '@teal/db/connect'; 7 - import pino from 'pino'; 8 - import { EnvWithCtx, setupContext, TealContext } from './ctx'; 9 - import { getXrpcRouter } from './xrpc/route'; 10 - import { createDidWeb } from './did/web'; 8 + import { EnvWithCtx, setupContext, TealContext } from "./ctx"; 9 + import { createDidWeb } from "./did/web"; 10 + import { env } from "./lib/env"; 11 + import { getXrpcRouter } from "./xrpc/route"; 11 12 12 - const logger = pino({ name: 'server start' }); 13 + const logger = pino({ name: "server start" }); 13 14 14 15 const app = new Hono<EnvWithCtx>(); 15 16 ··· 56 57 } 57 58 `; 58 59 59 - app.get('/', (c) => 60 + app.get("/", (c) => 60 61 c.html( 61 62 `<html><head><style>${HOME_STYLES}</style></head><body><pre>${HOME_TEXT}</pre></body></html>`, 62 63 ), 63 64 ); 64 65 65 - app.route('/xrpc', getXrpcRouter()); 66 + app.route("/xrpc", getXrpcRouter()); 66 67 67 - app.get('/.well-known/did.json', (c) => 68 + app.get("/.well-known/did.json", (c) => 68 69 // assume public url is https! 69 - c.json(createDidWeb(env.PUBLIC_URL.split('://')[1], env.DID_WEB_PUBKEY)), 70 + c.json(createDidWeb(env.PUBLIC_URL.split("://")[1], env.DID_WEB_PUBKEY)), 70 71 ); 71 72 72 - app.use('/*', serveStatic({ root: '/public' })); 73 + app.use("/*", serveStatic({ root: "/public" })); 73 74 74 75 const run = async () => { 75 - logger.info('Running in ' + navigator.userAgent); 76 - if (navigator.userAgent.includes('Node')) { 76 + logger.info("Running in " + navigator.userAgent); 77 + if (navigator.userAgent.includes("Node")) { 77 78 serve( 78 79 { 79 80 fetch: app.fetch, ··· 83 84 (info) => { 84 85 logger.info( 85 86 `Listening on ${ 86 - info.address == '::1' 87 - ? 'http://0.0.0.0' 87 + info.address == "::1" 88 + ? "http://0.0.0.0" 88 89 : // TODO: below should probably be https:// 89 90 // but i just want to ctrl click in the terminal 90 - 'http://' + info.address 91 + "http://" + info.address 91 92 }:${info.port} (${info.family})`, 92 93 ); 93 94 },
+11 -11
apps/aqua/src/lib/env.ts
··· 1 - import dotenv from 'dotenv'; 2 - import { cleanEnv, host, port, str, testOnly } from 'envalid'; 3 - import process from 'node:process'; 1 + import process from "node:process"; 2 + import dotenv from "dotenv"; 3 + import { cleanEnv, host, port, str, testOnly } from "envalid"; 4 4 5 5 dotenv.config(); 6 6 // in case our .env file is in the root folder 7 - dotenv.config({ path: './../../.env' }); 7 + dotenv.config({ path: "./../../.env" }); 8 8 9 9 export const env = cleanEnv(process.env, { 10 10 NODE_ENV: str({ 11 - devDefault: testOnly('test'), 12 - choices: ['development', 'production', 'test'], 11 + devDefault: testOnly("test"), 12 + choices: ["development", "production", "test"], 13 13 }), 14 - HOST: host({ devDefault: testOnly('0.0.0.0') }), 14 + HOST: host({ devDefault: testOnly("0.0.0.0") }), 15 15 PORT: port({ devDefault: testOnly(3000) }), 16 16 PUBLIC_URL: str({}), 17 - DID_WEB_PUBKEY: str({ devDefault: testOnly('did:key:z6Mk...') }), 18 - APP_URI: str({ devDefault: 'fm.teal.amethyst://' }), 19 - DATABASE_URL: str({ devDefault: 'file:./db.sqlite' }), 20 - COOKIE_SECRET: str({ devDefault: 'secret_cookie! very secret!' }), 17 + DID_WEB_PUBKEY: str({ devDefault: testOnly("did:key:z6Mk...") }), 18 + APP_URI: str({ devDefault: "fm.teal.amethyst://" }), 19 + DATABASE_URL: str({ devDefault: "file:./db.sqlite" }), 20 + COOKIE_SECRET: str({ devDefault: "secret_cookie! very secret!" }), 21 21 });
+7 -6
apps/aqua/src/xrpc/actor/getProfile.ts
··· 1 - import { TealContext } from '@/ctx'; 2 - import { db, profiles } from '@teal/db'; 3 - import { eq } from 'drizzle-orm'; 4 - import { OutputSchema } from '@teal/lexicons/src/types/fm/teal/alpha/actor/getProfile'; 1 + import { TealContext } from "@/ctx"; 2 + import { eq } from "drizzle-orm"; 3 + 4 + import { db, profiles } from "@teal/db"; 5 + import { OutputSchema } from "@teal/lexicons/src/types/fm/teal/alpha/actor/getProfile"; 5 6 6 7 export default async function getProfile(c: TealContext) { 7 8 const params = c.req.query(); 8 9 if (!params.actor) { 9 - throw new Error('actor is required'); 10 + throw new Error("actor is required"); 10 11 } 11 12 12 13 // Assuming 'user' can be either a DID or a handle. We'll try to resolve ··· 30 31 } 31 32 32 33 if (!profile) { 33 - throw new Error('Profile not found'); 34 + throw new Error("Profile not found"); 34 35 } 35 36 36 37 profile = profile[0];
+13 -12
apps/aqua/src/xrpc/actor/searchActors.ts
··· 1 - import { TealContext } from '@/ctx'; 2 - import { db, profiles } from '@teal/db'; 3 - import { like, or, sql, lt, gt, and } from 'drizzle-orm'; 4 - import { OutputSchema } from '@teal/lexicons/src/types/fm/teal/alpha/actor/searchActors'; 1 + import { TealContext } from "@/ctx"; 2 + import { and, gt, like, lt, or, sql } from "drizzle-orm"; 3 + 4 + import { db, profiles } from "@teal/db"; 5 + import { OutputSchema } from "@teal/lexicons/src/types/fm/teal/alpha/actor/searchActors"; 5 6 6 7 export default async function searchActors(c: TealContext) { 7 8 const params = c.req.query(); ··· 10 11 11 12 if (!params.q) { 12 13 c.status(400); 13 - c.error = new Error('q is required'); 14 + c.error = new Error("q is required"); 14 15 return; 15 16 } 16 17 ··· 40 41 41 42 if (params.cursor) { 42 43 // Decode the cursor 43 - const [createdAtStr, didStr] = Buffer.from(params.cursor, 'base64') 44 - .toString('utf-8') 45 - .split(':'); 44 + const [createdAtStr, didStr] = Buffer.from(params.cursor, "base64") 45 + .toString("utf-8") 46 + .split(":"); 46 47 47 48 const createdAt = new Date(createdAtStr); 48 49 ··· 74 75 if (results.length > limit) { 75 76 const lastResult = results[limit - 1]; // Get the *limit*-th, not limit+1-th 76 77 nextCursor = Buffer.from( 77 - `${lastResult.createdAt?.toISOString() || ''}:${lastResult.did}`, 78 - ).toString('base64'); 78 + `${lastResult.createdAt?.toISOString() || ""}:${lastResult.did}`, 79 + ).toString("base64"); 79 80 results.pop(); // Remove the extra record we fetched 80 81 } 81 82 const res: OutputSchema = { ··· 91 92 92 93 return res; 93 94 } catch (error) { 94 - console.error('Database error:', error); 95 + console.error("Database error:", error); 95 96 c.status(500); 96 - throw new Error('Internal server error'); 97 + throw new Error("Internal server error"); 97 98 } 98 99 }
+3 -2
apps/aqua/src/xrpc/feed/getPlay.ts
··· 1 1 import { TealContext } from "@/ctx"; 2 - import { db, plays, playToArtists, artists } from "@teal/db"; 3 - import { eq, and, lt, desc, sql } from "drizzle-orm"; 2 + import { and, desc, eq, lt, sql } from "drizzle-orm"; 3 + 4 + import { artists, db, plays, playToArtists } from "@teal/db"; 4 5 import { OutputSchema } from "@teal/lexicons/src/types/fm/teal/alpha/feed/getActorFeed"; 5 6 6 7 export default async function getActorFeed(c: TealContext) {
+1 -1
compose.yaml
··· 8 8 ports: 9 9 - "3000:3000" 10 10 env_file: 11 - - .env 11 + - .env
+3 -1
package.json
··· 9 9 "typecheck": "pnpm -r exec tsc --noEmit", 10 10 "fix": "biome lint --apply . && biome format --write . && biome check . --apply", 11 11 "nuke": "rimraf node_modules */*/node_modules", 12 - "lex:gen-server": "turbo lex:gen-server" 12 + "lex:gen-server": "turbo lex:gen-server", 13 + "format": "prettier --write ." 13 14 }, 14 15 "dependencies": { 15 16 "@atproto/oauth-client": "^0.3.8", 16 17 "@ianvs/prettier-plugin-sort-imports": "^4.4.1", 18 + "prettier": "^3.5.3", 17 19 "prettier-plugin-tailwindcss": "^0.6.11" 18 20 }, 19 21 "devDependencies": {
+10 -29
packages/db/.drizzle/meta/0000_snapshot.json
··· 65 65 "name": "play_to_artists_play_uri_plays_uri_fk", 66 66 "tableFrom": "play_to_artists", 67 67 "tableTo": "plays", 68 - "columnsFrom": [ 69 - "play_uri" 70 - ], 71 - "columnsTo": [ 72 - "uri" 73 - ], 68 + "columnsFrom": ["play_uri"], 69 + "columnsTo": ["uri"], 74 70 "onDelete": "no action", 75 71 "onUpdate": "no action" 76 72 }, ··· 78 74 "name": "play_to_artists_artist_mbid_artists_mbid_fk", 79 75 "tableFrom": "play_to_artists", 80 76 "tableTo": "artists", 81 - "columnsFrom": [ 82 - "artist_mbid" 83 - ], 84 - "columnsTo": [ 85 - "mbid" 86 - ], 77 + "columnsFrom": ["artist_mbid"], 78 + "columnsTo": ["mbid"], 87 79 "onDelete": "no action", 88 80 "onUpdate": "no action" 89 81 } ··· 91 83 "compositePrimaryKeys": { 92 84 "play_to_artists_play_uri_artist_mbid_pk": { 93 85 "name": "play_to_artists_play_uri_artist_mbid_pk", 94 - "columns": [ 95 - "play_uri", 96 - "artist_mbid" 97 - ] 86 + "columns": ["play_uri", "artist_mbid"] 98 87 } 99 88 }, 100 89 "uniqueConstraints": {}, ··· 198 187 "name": "plays_release_mbid_releases_mbid_fk", 199 188 "tableFrom": "plays", 200 189 "tableTo": "releases", 201 - "columnsFrom": [ 202 - "release_mbid" 203 - ], 204 - "columnsTo": [ 205 - "mbid" 206 - ], 190 + "columnsFrom": ["release_mbid"], 191 + "columnsTo": ["mbid"], 207 192 "onDelete": "no action", 208 193 "onUpdate": "no action" 209 194 }, ··· 211 196 "name": "plays_recording_mbid_recordings_mbid_fk", 212 197 "tableFrom": "plays", 213 198 "tableTo": "recordings", 214 - "columnsFrom": [ 215 - "recording_mbid" 216 - ], 217 - "columnsTo": [ 218 - "mbid" 219 - ], 199 + "columnsFrom": ["recording_mbid"], 200 + "columnsTo": ["mbid"], 220 201 "onDelete": "no action", 221 202 "onUpdate": "no action" 222 203 } ··· 303 284 "schemas": {}, 304 285 "tables": {} 305 286 } 306 - } 287 + }
+10 -29
packages/db/.drizzle/meta/0001_snapshot.json
··· 65 65 "name": "play_to_artists_play_uri_plays_uri_fk", 66 66 "tableFrom": "play_to_artists", 67 67 "tableTo": "plays", 68 - "columnsFrom": [ 69 - "play_uri" 70 - ], 71 - "columnsTo": [ 72 - "uri" 73 - ], 68 + "columnsFrom": ["play_uri"], 69 + "columnsTo": ["uri"], 74 70 "onDelete": "no action", 75 71 "onUpdate": "no action" 76 72 }, ··· 78 74 "name": "play_to_artists_artist_mbid_artists_mbid_fk", 79 75 "tableFrom": "play_to_artists", 80 76 "tableTo": "artists", 81 - "columnsFrom": [ 82 - "artist_mbid" 83 - ], 84 - "columnsTo": [ 85 - "mbid" 86 - ], 77 + "columnsFrom": ["artist_mbid"], 78 + "columnsTo": ["mbid"], 87 79 "onDelete": "no action", 88 80 "onUpdate": "no action" 89 81 } ··· 91 83 "compositePrimaryKeys": { 92 84 "play_to_artists_play_uri_artist_mbid_pk": { 93 85 "name": "play_to_artists_play_uri_artist_mbid_pk", 94 - "columns": [ 95 - "play_uri", 96 - "artist_mbid" 97 - ] 86 + "columns": ["play_uri", "artist_mbid"] 98 87 } 99 88 }, 100 89 "uniqueConstraints": {}, ··· 198 187 "name": "plays_release_mbid_releases_mbid_fk", 199 188 "tableFrom": "plays", 200 189 "tableTo": "releases", 201 - "columnsFrom": [ 202 - "release_mbid" 203 - ], 204 - "columnsTo": [ 205 - "mbid" 206 - ], 190 + "columnsFrom": ["release_mbid"], 191 + "columnsTo": ["mbid"], 207 192 "onDelete": "no action", 208 193 "onUpdate": "no action" 209 194 }, ··· 211 196 "name": "plays_recording_mbid_recordings_mbid_fk", 212 197 "tableFrom": "plays", 213 198 "tableTo": "recordings", 214 - "columnsFrom": [ 215 - "recording_mbid" 216 - ], 217 - "columnsTo": [ 218 - "mbid" 219 - ], 199 + "columnsFrom": ["recording_mbid"], 200 + "columnsTo": ["mbid"], 220 201 "onDelete": "no action", 221 202 "onUpdate": "no action" 222 203 } ··· 417 398 "schemas": {}, 418 399 "tables": {} 419 400 } 420 - } 401 + }
+10 -29
packages/db/.drizzle/meta/0002_snapshot.json
··· 65 65 "name": "play_to_artists_artist_mbid_artists_mbid_fk", 66 66 "tableFrom": "play_to_artists", 67 67 "tableTo": "artists", 68 - "columnsFrom": [ 69 - "artist_mbid" 70 - ], 71 - "columnsTo": [ 72 - "mbid" 73 - ], 68 + "columnsFrom": ["artist_mbid"], 69 + "columnsTo": ["mbid"], 74 70 "onDelete": "no action", 75 71 "onUpdate": "no action" 76 72 }, ··· 78 74 "name": "play_to_artists_play_uri_plays_uri_fk", 79 75 "tableFrom": "play_to_artists", 80 76 "tableTo": "plays", 81 - "columnsFrom": [ 82 - "play_uri" 83 - ], 84 - "columnsTo": [ 85 - "uri" 86 - ], 77 + "columnsFrom": ["play_uri"], 78 + "columnsTo": ["uri"], 87 79 "onDelete": "no action", 88 80 "onUpdate": "no action" 89 81 } ··· 91 83 "compositePrimaryKeys": { 92 84 "play_to_artists_play_uri_artist_mbid_pk": { 93 85 "name": "play_to_artists_play_uri_artist_mbid_pk", 94 - "columns": [ 95 - "play_uri", 96 - "artist_mbid" 97 - ] 86 + "columns": ["play_uri", "artist_mbid"] 98 87 } 99 88 }, 100 89 "uniqueConstraints": {}, ··· 204 193 "name": "plays_recording_mbid_recordings_mbid_fk", 205 194 "tableFrom": "plays", 206 195 "tableTo": "recordings", 207 - "columnsFrom": [ 208 - "recording_mbid" 209 - ], 210 - "columnsTo": [ 211 - "mbid" 212 - ], 196 + "columnsFrom": ["recording_mbid"], 197 + "columnsTo": ["mbid"], 213 198 "onDelete": "no action", 214 199 "onUpdate": "no action" 215 200 }, ··· 217 202 "name": "plays_release_mbid_releases_mbid_fk", 218 203 "tableFrom": "plays", 219 204 "tableTo": "releases", 220 - "columnsFrom": [ 221 - "release_mbid" 222 - ], 223 - "columnsTo": [ 224 - "mbid" 225 - ], 205 + "columnsFrom": ["release_mbid"], 206 + "columnsTo": ["mbid"], 226 207 "onDelete": "no action", 227 208 "onUpdate": "no action" 228 209 } ··· 423 404 "schemas": {}, 424 405 "tables": {} 425 406 } 426 - } 407 + }
+10 -29
packages/db/.drizzle/meta/0003_snapshot.json
··· 65 65 "name": "play_to_artists_artist_mbid_artists_mbid_fk", 66 66 "tableFrom": "play_to_artists", 67 67 "tableTo": "artists", 68 - "columnsFrom": [ 69 - "artist_mbid" 70 - ], 71 - "columnsTo": [ 72 - "mbid" 73 - ], 68 + "columnsFrom": ["artist_mbid"], 69 + "columnsTo": ["mbid"], 74 70 "onDelete": "no action", 75 71 "onUpdate": "no action" 76 72 }, ··· 78 74 "name": "play_to_artists_play_uri_plays_uri_fk", 79 75 "tableFrom": "play_to_artists", 80 76 "tableTo": "plays", 81 - "columnsFrom": [ 82 - "play_uri" 83 - ], 84 - "columnsTo": [ 85 - "uri" 86 - ], 77 + "columnsFrom": ["play_uri"], 78 + "columnsTo": ["uri"], 87 79 "onDelete": "no action", 88 80 "onUpdate": "no action" 89 81 } ··· 91 83 "compositePrimaryKeys": { 92 84 "play_to_artists_play_uri_artist_mbid_pk": { 93 85 "name": "play_to_artists_play_uri_artist_mbid_pk", 94 - "columns": [ 95 - "play_uri", 96 - "artist_mbid" 97 - ] 86 + "columns": ["play_uri", "artist_mbid"] 98 87 } 99 88 }, 100 89 "uniqueConstraints": {}, ··· 204 193 "name": "plays_recording_mbid_recordings_mbid_fk", 205 194 "tableFrom": "plays", 206 195 "tableTo": "recordings", 207 - "columnsFrom": [ 208 - "recording_mbid" 209 - ], 210 - "columnsTo": [ 211 - "mbid" 212 - ], 196 + "columnsFrom": ["recording_mbid"], 197 + "columnsTo": ["mbid"], 213 198 "onDelete": "no action", 214 199 "onUpdate": "no action" 215 200 }, ··· 217 202 "name": "plays_release_mbid_releases_mbid_fk", 218 203 "tableFrom": "plays", 219 204 "tableTo": "releases", 220 - "columnsFrom": [ 221 - "release_mbid" 222 - ], 223 - "columnsTo": [ 224 - "mbid" 225 - ], 205 + "columnsFrom": ["release_mbid"], 206 + "columnsTo": ["mbid"], 226 207 "onDelete": "no action", 227 208 "onUpdate": "no action" 228 209 } ··· 509 490 "schemas": {}, 510 491 "tables": {} 511 492 } 512 - } 493 + }
+10 -29
packages/db/.drizzle/meta/0004_snapshot.json
··· 65 65 "name": "play_to_artists_artist_mbid_artists_mbid_fk", 66 66 "tableFrom": "play_to_artists", 67 67 "tableTo": "artists", 68 - "columnsFrom": [ 69 - "artist_mbid" 70 - ], 71 - "columnsTo": [ 72 - "mbid" 73 - ], 68 + "columnsFrom": ["artist_mbid"], 69 + "columnsTo": ["mbid"], 74 70 "onDelete": "no action", 75 71 "onUpdate": "no action" 76 72 }, ··· 78 74 "name": "play_to_artists_play_uri_plays_uri_fk", 79 75 "tableFrom": "play_to_artists", 80 76 "tableTo": "plays", 81 - "columnsFrom": [ 82 - "play_uri" 83 - ], 84 - "columnsTo": [ 85 - "uri" 86 - ], 77 + "columnsFrom": ["play_uri"], 78 + "columnsTo": ["uri"], 87 79 "onDelete": "no action", 88 80 "onUpdate": "no action" 89 81 } ··· 91 83 "compositePrimaryKeys": { 92 84 "play_to_artists_play_uri_artist_mbid_pk": { 93 85 "name": "play_to_artists_play_uri_artist_mbid_pk", 94 - "columns": [ 95 - "play_uri", 96 - "artist_mbid" 97 - ] 86 + "columns": ["play_uri", "artist_mbid"] 98 87 } 99 88 }, 100 89 "uniqueConstraints": {}, ··· 204 193 "name": "plays_recording_mbid_recordings_mbid_fk", 205 194 "tableFrom": "plays", 206 195 "tableTo": "recordings", 207 - "columnsFrom": [ 208 - "recording_mbid" 209 - ], 210 - "columnsTo": [ 211 - "mbid" 212 - ], 196 + "columnsFrom": ["recording_mbid"], 197 + "columnsTo": ["mbid"], 213 198 "onDelete": "no action", 214 199 "onUpdate": "no action" 215 200 }, ··· 217 202 "name": "plays_release_mbid_releases_mbid_fk", 218 203 "tableFrom": "plays", 219 204 "tableTo": "releases", 220 - "columnsFrom": [ 221 - "release_mbid" 222 - ], 223 - "columnsTo": [ 224 - "mbid" 225 - ], 205 + "columnsFrom": ["release_mbid"], 206 + "columnsTo": ["mbid"], 226 207 "onDelete": "no action", 227 208 "onUpdate": "no action" 228 209 } ··· 515 496 "schemas": {}, 516 497 "tables": {} 517 498 } 518 - } 499 + }
+10 -29
packages/db/.drizzle/meta/0005_snapshot.json
··· 65 65 "name": "play_to_artists_artist_mbid_artists_mbid_fk", 66 66 "tableFrom": "play_to_artists", 67 67 "tableTo": "artists", 68 - "columnsFrom": [ 69 - "artist_mbid" 70 - ], 71 - "columnsTo": [ 72 - "mbid" 73 - ], 68 + "columnsFrom": ["artist_mbid"], 69 + "columnsTo": ["mbid"], 74 70 "onDelete": "no action", 75 71 "onUpdate": "no action" 76 72 }, ··· 78 74 "name": "play_to_artists_play_uri_plays_uri_fk", 79 75 "tableFrom": "play_to_artists", 80 76 "tableTo": "plays", 81 - "columnsFrom": [ 82 - "play_uri" 83 - ], 84 - "columnsTo": [ 85 - "uri" 86 - ], 77 + "columnsFrom": ["play_uri"], 78 + "columnsTo": ["uri"], 87 79 "onDelete": "no action", 88 80 "onUpdate": "no action" 89 81 } ··· 91 83 "compositePrimaryKeys": { 92 84 "play_to_artists_play_uri_artist_mbid_pk": { 93 85 "name": "play_to_artists_play_uri_artist_mbid_pk", 94 - "columns": [ 95 - "play_uri", 96 - "artist_mbid" 97 - ] 86 + "columns": ["play_uri", "artist_mbid"] 98 87 } 99 88 }, 100 89 "uniqueConstraints": {}, ··· 204 193 "name": "plays_recording_mbid_recordings_mbid_fk", 205 194 "tableFrom": "plays", 206 195 "tableTo": "recordings", 207 - "columnsFrom": [ 208 - "recording_mbid" 209 - ], 210 - "columnsTo": [ 211 - "mbid" 212 - ], 196 + "columnsFrom": ["recording_mbid"], 197 + "columnsTo": ["mbid"], 213 198 "onDelete": "no action", 214 199 "onUpdate": "no action" 215 200 }, ··· 217 202 "name": "plays_release_mbid_releases_mbid_fk", 218 203 "tableFrom": "plays", 219 204 "tableTo": "releases", 220 - "columnsFrom": [ 221 - "release_mbid" 222 - ], 223 - "columnsTo": [ 224 - "mbid" 225 - ], 205 + "columnsFrom": ["release_mbid"], 206 + "columnsTo": ["mbid"], 226 207 "onDelete": "no action", 227 208 "onUpdate": "no action" 228 209 } ··· 515 496 "schemas": {}, 516 497 "tables": {} 517 498 } 518 - } 499 + }
+1 -1
packages/db/.drizzle/meta/_journal.json
··· 52 52 "breakpoints": true 53 53 } 54 54 ] 55 - } 55 + }
+3 -2
packages/db/connect.ts
··· 1 + import path from "node:path"; 2 + import process from "node:process"; 1 3 import { drizzle } from "drizzle-orm/postgres-js"; 2 4 import postgres from "postgres"; 5 + 3 6 import * as schema from "./schema"; 4 - import process from "node:process"; 5 - import path from "node:path"; 6 7 7 8 /// Trim a password from a db connection url 8 9 function withoutPassword(url: string) {
+7 -7
packages/db/schema.ts
··· 1 + import { createDeflate } from "node:zlib"; 1 2 import { sql } from "drizzle-orm"; 2 3 import { 4 + foreignKey, 5 + integer, 6 + jsonb, 7 + pgEnum, 8 + pgMaterializedView, 3 9 pgTable, 10 + primaryKey, 4 11 text, 5 - pgEnum, 6 12 timestamp, 7 13 uuid, 8 - integer, 9 - jsonb, 10 - primaryKey, 11 - foreignKey, 12 - pgMaterializedView, 13 14 } from "drizzle-orm/pg-core"; 14 - import { createDeflate } from "node:zlib"; 15 15 16 16 export const artists = pgTable("artists", { 17 17 mbid: uuid("mbid").primaryKey(),
+85 -84
packages/lexicons/src/index.ts
··· 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 4 import { 5 - createServer as createXrpcServer, 6 - Server as XrpcServer, 7 - Options as XrpcOptions, 8 5 AuthVerifier, 6 + createServer as createXrpcServer, 9 7 StreamAuthVerifier, 10 - } from '@atproto/xrpc-server' 11 - import { schemas } from './lexicons' 12 - import * as FmTealAlphaActorGetProfile from './types/fm/teal/alpha/actor/getProfile' 13 - import * as FmTealAlphaActorGetProfiles from './types/fm/teal/alpha/actor/getProfiles' 14 - import * as FmTealAlphaActorSearchActors from './types/fm/teal/alpha/actor/searchActors' 15 - import * as FmTealAlphaFeedGetActorFeed from './types/fm/teal/alpha/feed/getActorFeed' 16 - import * as FmTealAlphaFeedGetPlay from './types/fm/teal/alpha/feed/getPlay' 8 + Options as XrpcOptions, 9 + Server as XrpcServer, 10 + } from "@atproto/xrpc-server"; 11 + 12 + import { schemas } from "./lexicons"; 13 + import * as FmTealAlphaActorGetProfile from "./types/fm/teal/alpha/actor/getProfile"; 14 + import * as FmTealAlphaActorGetProfiles from "./types/fm/teal/alpha/actor/getProfiles"; 15 + import * as FmTealAlphaActorSearchActors from "./types/fm/teal/alpha/actor/searchActors"; 16 + import * as FmTealAlphaFeedGetActorFeed from "./types/fm/teal/alpha/feed/getActorFeed"; 17 + import * as FmTealAlphaFeedGetPlay from "./types/fm/teal/alpha/feed/getPlay"; 17 18 18 19 export function createServer(options?: XrpcOptions): Server { 19 - return new Server(options) 20 + return new Server(options); 20 21 } 21 22 22 23 export class Server { 23 - xrpc: XrpcServer 24 - app: AppNS 25 - fm: FmNS 26 - xyz: XyzNS 24 + xrpc: XrpcServer; 25 + app: AppNS; 26 + fm: FmNS; 27 + xyz: XyzNS; 27 28 28 29 constructor(options?: XrpcOptions) { 29 - this.xrpc = createXrpcServer(schemas, options) 30 - this.app = new AppNS(this) 31 - this.fm = new FmNS(this) 32 - this.xyz = new XyzNS(this) 30 + this.xrpc = createXrpcServer(schemas, options); 31 + this.app = new AppNS(this); 32 + this.fm = new FmNS(this); 33 + this.xyz = new XyzNS(this); 33 34 } 34 35 } 35 36 36 37 export class AppNS { 37 - _server: Server 38 - bsky: AppBskyNS 38 + _server: Server; 39 + bsky: AppBskyNS; 39 40 40 41 constructor(server: Server) { 41 - this._server = server 42 - this.bsky = new AppBskyNS(server) 42 + this._server = server; 43 + this.bsky = new AppBskyNS(server); 43 44 } 44 45 } 45 46 46 47 export class AppBskyNS { 47 - _server: Server 48 - actor: AppBskyActorNS 49 - richtext: AppBskyRichtextNS 48 + _server: Server; 49 + actor: AppBskyActorNS; 50 + richtext: AppBskyRichtextNS; 50 51 51 52 constructor(server: Server) { 52 - this._server = server 53 - this.actor = new AppBskyActorNS(server) 54 - this.richtext = new AppBskyRichtextNS(server) 53 + this._server = server; 54 + this.actor = new AppBskyActorNS(server); 55 + this.richtext = new AppBskyRichtextNS(server); 55 56 } 56 57 } 57 58 58 59 export class AppBskyActorNS { 59 - _server: Server 60 + _server: Server; 60 61 61 62 constructor(server: Server) { 62 - this._server = server 63 + this._server = server; 63 64 } 64 65 } 65 66 66 67 export class AppBskyRichtextNS { 67 - _server: Server 68 + _server: Server; 68 69 69 70 constructor(server: Server) { 70 - this._server = server 71 + this._server = server; 71 72 } 72 73 } 73 74 74 75 export class FmNS { 75 - _server: Server 76 - teal: FmTealNS 76 + _server: Server; 77 + teal: FmTealNS; 77 78 78 79 constructor(server: Server) { 79 - this._server = server 80 - this.teal = new FmTealNS(server) 80 + this._server = server; 81 + this.teal = new FmTealNS(server); 81 82 } 82 83 } 83 84 84 85 export class FmTealNS { 85 - _server: Server 86 - alpha: FmTealAlphaNS 86 + _server: Server; 87 + alpha: FmTealAlphaNS; 87 88 88 89 constructor(server: Server) { 89 - this._server = server 90 - this.alpha = new FmTealAlphaNS(server) 90 + this._server = server; 91 + this.alpha = new FmTealAlphaNS(server); 91 92 } 92 93 } 93 94 94 95 export class FmTealAlphaNS { 95 - _server: Server 96 - actor: FmTealAlphaActorNS 97 - feed: FmTealAlphaFeedNS 96 + _server: Server; 97 + actor: FmTealAlphaActorNS; 98 + feed: FmTealAlphaFeedNS; 98 99 99 100 constructor(server: Server) { 100 - this._server = server 101 - this.actor = new FmTealAlphaActorNS(server) 102 - this.feed = new FmTealAlphaFeedNS(server) 101 + this._server = server; 102 + this.actor = new FmTealAlphaActorNS(server); 103 + this.feed = new FmTealAlphaFeedNS(server); 103 104 } 104 105 } 105 106 106 107 export class FmTealAlphaActorNS { 107 - _server: Server 108 + _server: Server; 108 109 109 110 constructor(server: Server) { 110 - this._server = server 111 + this._server = server; 111 112 } 112 113 113 114 getProfile<AV extends AuthVerifier>( ··· 117 118 FmTealAlphaActorGetProfile.HandlerReqCtx<ExtractAuth<AV>> 118 119 >, 119 120 ) { 120 - const nsid = 'fm.teal.alpha.actor.getProfile' // @ts-ignore 121 - return this._server.xrpc.method(nsid, cfg) 121 + const nsid = "fm.teal.alpha.actor.getProfile"; // @ts-ignore 122 + return this._server.xrpc.method(nsid, cfg); 122 123 } 123 124 124 125 getProfiles<AV extends AuthVerifier>( ··· 128 129 FmTealAlphaActorGetProfiles.HandlerReqCtx<ExtractAuth<AV>> 129 130 >, 130 131 ) { 131 - const nsid = 'fm.teal.alpha.actor.getProfiles' // @ts-ignore 132 - return this._server.xrpc.method(nsid, cfg) 132 + const nsid = "fm.teal.alpha.actor.getProfiles"; // @ts-ignore 133 + return this._server.xrpc.method(nsid, cfg); 133 134 } 134 135 135 136 searchActors<AV extends AuthVerifier>( ··· 139 140 FmTealAlphaActorSearchActors.HandlerReqCtx<ExtractAuth<AV>> 140 141 >, 141 142 ) { 142 - const nsid = 'fm.teal.alpha.actor.searchActors' // @ts-ignore 143 - return this._server.xrpc.method(nsid, cfg) 143 + const nsid = "fm.teal.alpha.actor.searchActors"; // @ts-ignore 144 + return this._server.xrpc.method(nsid, cfg); 144 145 } 145 146 } 146 147 147 148 export class FmTealAlphaFeedNS { 148 - _server: Server 149 + _server: Server; 149 150 150 151 constructor(server: Server) { 151 - this._server = server 152 + this._server = server; 152 153 } 153 154 154 155 getActorFeed<AV extends AuthVerifier>( ··· 158 159 FmTealAlphaFeedGetActorFeed.HandlerReqCtx<ExtractAuth<AV>> 159 160 >, 160 161 ) { 161 - const nsid = 'fm.teal.alpha.feed.getActorFeed' // @ts-ignore 162 - return this._server.xrpc.method(nsid, cfg) 162 + const nsid = "fm.teal.alpha.feed.getActorFeed"; // @ts-ignore 163 + return this._server.xrpc.method(nsid, cfg); 163 164 } 164 165 165 166 getPlay<AV extends AuthVerifier>( ··· 169 170 FmTealAlphaFeedGetPlay.HandlerReqCtx<ExtractAuth<AV>> 170 171 >, 171 172 ) { 172 - const nsid = 'fm.teal.alpha.feed.getPlay' // @ts-ignore 173 - return this._server.xrpc.method(nsid, cfg) 173 + const nsid = "fm.teal.alpha.feed.getPlay"; // @ts-ignore 174 + return this._server.xrpc.method(nsid, cfg); 174 175 } 175 176 } 176 177 177 178 export class XyzNS { 178 - _server: Server 179 - statusphere: XyzStatusphereNS 179 + _server: Server; 180 + statusphere: XyzStatusphereNS; 180 181 181 182 constructor(server: Server) { 182 - this._server = server 183 - this.statusphere = new XyzStatusphereNS(server) 183 + this._server = server; 184 + this.statusphere = new XyzStatusphereNS(server); 184 185 } 185 186 } 186 187 187 188 export class XyzStatusphereNS { 188 - _server: Server 189 + _server: Server; 189 190 190 191 constructor(server: Server) { 191 - this._server = server 192 + this._server = server; 192 193 } 193 194 } 194 195 195 196 type SharedRateLimitOpts<T> = { 196 - name: string 197 - calcKey?: (ctx: T) => string | null 198 - calcPoints?: (ctx: T) => number 199 - } 197 + name: string; 198 + calcKey?: (ctx: T) => string | null; 199 + calcPoints?: (ctx: T) => number; 200 + }; 200 201 type RouteRateLimitOpts<T> = { 201 - durationMs: number 202 - points: number 203 - calcKey?: (ctx: T) => string | null 204 - calcPoints?: (ctx: T) => number 205 - } 206 - type HandlerOpts = { blobLimit?: number } 207 - type HandlerRateLimitOpts<T> = SharedRateLimitOpts<T> | RouteRateLimitOpts<T> 202 + durationMs: number; 203 + points: number; 204 + calcKey?: (ctx: T) => string | null; 205 + calcPoints?: (ctx: T) => number; 206 + }; 207 + type HandlerOpts = { blobLimit?: number }; 208 + type HandlerRateLimitOpts<T> = SharedRateLimitOpts<T> | RouteRateLimitOpts<T>; 208 209 type ConfigOf<Auth, Handler, ReqCtx> = 209 210 | Handler 210 211 | { 211 - auth?: Auth 212 - opts?: HandlerOpts 213 - rateLimit?: HandlerRateLimitOpts<ReqCtx> | HandlerRateLimitOpts<ReqCtx>[] 214 - handler: Handler 215 - } 212 + auth?: Auth; 213 + opts?: HandlerOpts; 214 + rateLimit?: HandlerRateLimitOpts<ReqCtx> | HandlerRateLimitOpts<ReqCtx>[]; 215 + handler: Handler; 216 + }; 216 217 type ExtractAuth<AV extends AuthVerifier | StreamAuthVerifier> = Extract< 217 218 Awaited<ReturnType<AV>>, 218 219 { credentials: unknown } 219 - > 220 + >;
+265 -265
packages/lexicons/src/lexicons.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import { LexiconDoc, Lexicons } from '@atproto/lexicon' 4 + import { LexiconDoc, Lexicons } from "@atproto/lexicon"; 5 5 6 6 export const schemaDict = { 7 7 AppBskyActorProfile: { 8 8 lexicon: 1, 9 - id: 'app.bsky.actor.profile', 9 + id: "app.bsky.actor.profile", 10 10 defs: { 11 11 main: { 12 - type: 'record', 13 - description: 'A declaration of a Bluesky account profile.', 14 - key: 'literal:self', 12 + type: "record", 13 + description: "A declaration of a Bluesky account profile.", 14 + key: "literal:self", 15 15 record: { 16 - type: 'object', 16 + type: "object", 17 17 properties: { 18 18 displayName: { 19 - type: 'string', 19 + type: "string", 20 20 maxGraphemes: 64, 21 21 maxLength: 640, 22 22 }, 23 23 description: { 24 - type: 'string', 25 - description: 'Free-form profile description text.', 24 + type: "string", 25 + description: "Free-form profile description text.", 26 26 maxGraphemes: 256, 27 27 maxLength: 2560, 28 28 }, 29 29 avatar: { 30 - type: 'blob', 30 + type: "blob", 31 31 description: 32 32 "Small image to be displayed next to posts from account. AKA, 'profile picture'", 33 - accept: ['image/png', 'image/jpeg'], 33 + accept: ["image/png", "image/jpeg"], 34 34 maxSize: 1000000, 35 35 }, 36 36 banner: { 37 - type: 'blob', 37 + type: "blob", 38 38 description: 39 - 'Larger horizontal image to display behind profile view.', 40 - accept: ['image/png', 'image/jpeg'], 39 + "Larger horizontal image to display behind profile view.", 40 + accept: ["image/png", "image/jpeg"], 41 41 maxSize: 1000000, 42 42 }, 43 43 labels: { 44 - type: 'union', 44 + type: "union", 45 45 description: 46 - 'Self-label values, specific to the Bluesky application, on the overall account.', 47 - refs: ['lex:com.atproto.label.defs#selfLabels'], 46 + "Self-label values, specific to the Bluesky application, on the overall account.", 47 + refs: ["lex:com.atproto.label.defs#selfLabels"], 48 48 }, 49 49 joinedViaStarterPack: { 50 - type: 'ref', 51 - ref: 'lex:com.atproto.repo.strongRef', 50 + type: "ref", 51 + ref: "lex:com.atproto.repo.strongRef", 52 52 }, 53 53 createdAt: { 54 - type: 'string', 55 - format: 'datetime', 54 + type: "string", 55 + format: "datetime", 56 56 }, 57 57 }, 58 58 }, ··· 61 61 }, 62 62 AppBskyRichtextFacet: { 63 63 lexicon: 1, 64 - id: 'app.bsky.richtext.facet', 64 + id: "app.bsky.richtext.facet", 65 65 defs: { 66 66 main: { 67 - type: 'object', 68 - description: 'Annotation of a sub-string within rich text.', 69 - required: ['index', 'features'], 67 + type: "object", 68 + description: "Annotation of a sub-string within rich text.", 69 + required: ["index", "features"], 70 70 properties: { 71 71 index: { 72 - type: 'ref', 73 - ref: 'lex:app.bsky.richtext.facet#byteSlice', 72 + type: "ref", 73 + ref: "lex:app.bsky.richtext.facet#byteSlice", 74 74 }, 75 75 features: { 76 - type: 'array', 76 + type: "array", 77 77 items: { 78 - type: 'union', 78 + type: "union", 79 79 refs: [ 80 - 'lex:app.bsky.richtext.facet#mention', 81 - 'lex:app.bsky.richtext.facet#link', 82 - 'lex:app.bsky.richtext.facet#tag', 80 + "lex:app.bsky.richtext.facet#mention", 81 + "lex:app.bsky.richtext.facet#link", 82 + "lex:app.bsky.richtext.facet#tag", 83 83 ], 84 84 }, 85 85 }, 86 86 }, 87 87 }, 88 88 mention: { 89 - type: 'object', 89 + type: "object", 90 90 description: 91 91 "Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.", 92 - required: ['did'], 92 + required: ["did"], 93 93 properties: { 94 94 did: { 95 - type: 'string', 96 - format: 'did', 95 + type: "string", 96 + format: "did", 97 97 }, 98 98 }, 99 99 }, 100 100 link: { 101 - type: 'object', 101 + type: "object", 102 102 description: 103 - 'Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.', 104 - required: ['uri'], 103 + "Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.", 104 + required: ["uri"], 105 105 properties: { 106 106 uri: { 107 - type: 'string', 108 - format: 'uri', 107 + type: "string", 108 + format: "uri", 109 109 }, 110 110 }, 111 111 }, 112 112 tag: { 113 - type: 'object', 113 + type: "object", 114 114 description: 115 115 "Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').", 116 - required: ['tag'], 116 + required: ["tag"], 117 117 properties: { 118 118 tag: { 119 - type: 'string', 119 + type: "string", 120 120 maxLength: 640, 121 121 maxGraphemes: 64, 122 122 }, 123 123 }, 124 124 }, 125 125 byteSlice: { 126 - type: 'object', 126 + type: "object", 127 127 description: 128 - 'Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.', 129 - required: ['byteStart', 'byteEnd'], 128 + "Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.", 129 + required: ["byteStart", "byteEnd"], 130 130 properties: { 131 131 byteStart: { 132 - type: 'integer', 132 + type: "integer", 133 133 minimum: 0, 134 134 }, 135 135 byteEnd: { 136 - type: 'integer', 136 + type: "integer", 137 137 minimum: 0, 138 138 }, 139 139 }, ··· 142 142 }, 143 143 FmTealAlphaActorDefs: { 144 144 lexicon: 1, 145 - id: 'fm.teal.alpha.actor.defs', 145 + id: "fm.teal.alpha.actor.defs", 146 146 defs: { 147 147 profileView: { 148 - type: 'object', 148 + type: "object", 149 149 properties: { 150 150 did: { 151 - type: 'string', 152 - description: 'The decentralized identifier of the actor', 151 + type: "string", 152 + description: "The decentralized identifier of the actor", 153 153 }, 154 154 displayName: { 155 - type: 'string', 155 + type: "string", 156 156 }, 157 157 description: { 158 - type: 'string', 159 - description: 'Free-form profile description text.', 158 + type: "string", 159 + description: "Free-form profile description text.", 160 160 }, 161 161 descriptionFacets: { 162 - type: 'array', 162 + type: "array", 163 163 description: 164 - 'Annotations of text in the profile description (mentions, URLs, hashtags, etc). May be changed to another (backwards compatible) lexicon.', 164 + "Annotations of text in the profile description (mentions, URLs, hashtags, etc). May be changed to another (backwards compatible) lexicon.", 165 165 items: { 166 - type: 'ref', 167 - ref: 'lex:app.bsky.richtext.facet', 166 + type: "ref", 167 + ref: "lex:app.bsky.richtext.facet", 168 168 }, 169 169 }, 170 170 featuredItem: { 171 - type: 'ref', 171 + type: "ref", 172 172 description: 173 173 "The user's most recent item featured on their profile.", 174 - ref: 'lex:fm.teal.alpha.actor.profile#featuredItem', 174 + ref: "lex:fm.teal.alpha.actor.profile#featuredItem", 175 175 }, 176 176 avatar: { 177 - type: 'string', 178 - description: 'IPLD of the avatar', 177 + type: "string", 178 + description: "IPLD of the avatar", 179 179 }, 180 180 banner: { 181 - type: 'string', 182 - description: 'IPLD of the banner image', 181 + type: "string", 182 + description: "IPLD of the banner image", 183 183 }, 184 184 createdAt: { 185 - type: 'string', 186 - format: 'datetime', 185 + type: "string", 186 + format: "datetime", 187 187 }, 188 188 }, 189 189 }, 190 190 miniProfileView: { 191 - type: 'object', 191 + type: "object", 192 192 properties: { 193 193 did: { 194 - type: 'string', 195 - description: 'The decentralized identifier of the actor', 194 + type: "string", 195 + description: "The decentralized identifier of the actor", 196 196 }, 197 197 displayName: { 198 - type: 'string', 198 + type: "string", 199 199 }, 200 200 handle: { 201 - type: 'string', 201 + type: "string", 202 202 }, 203 203 avatar: { 204 - type: 'string', 205 - description: 'IPLD of the avatar', 204 + type: "string", 205 + description: "IPLD of the avatar", 206 206 }, 207 207 }, 208 208 }, ··· 210 210 }, 211 211 FmTealAlphaActorGetProfile: { 212 212 lexicon: 1, 213 - id: 'fm.teal.alpha.actor.getProfile', 213 + id: "fm.teal.alpha.actor.getProfile", 214 214 description: 215 - 'This lexicon is in a not officially released state. It is subject to change. | Retrieves a play given an author DID and record key.', 215 + "This lexicon is in a not officially released state. It is subject to change. | Retrieves a play given an author DID and record key.", 216 216 defs: { 217 217 main: { 218 - type: 'query', 218 + type: "query", 219 219 parameters: { 220 - type: 'params', 221 - required: ['actor'], 220 + type: "params", 221 + required: ["actor"], 222 222 properties: { 223 223 actor: { 224 - type: 'string', 225 - format: 'at-identifier', 224 + type: "string", 225 + format: "at-identifier", 226 226 description: "The author's DID", 227 227 }, 228 228 }, 229 229 }, 230 230 output: { 231 - encoding: 'application/json', 231 + encoding: "application/json", 232 232 schema: { 233 - type: 'object', 234 - required: ['actor'], 233 + type: "object", 234 + required: ["actor"], 235 235 properties: { 236 236 actor: { 237 - type: 'ref', 238 - ref: 'lex:fm.teal.alpha.actor.defs#profileView', 237 + type: "ref", 238 + ref: "lex:fm.teal.alpha.actor.defs#profileView", 239 239 }, 240 240 }, 241 241 }, ··· 245 245 }, 246 246 FmTealAlphaActorGetProfiles: { 247 247 lexicon: 1, 248 - id: 'fm.teal.alpha.actor.getProfiles', 248 + id: "fm.teal.alpha.actor.getProfiles", 249 249 description: 250 - 'This lexicon is in a not officially released state. It is subject to change. | Retrieves the associated profile.', 250 + "This lexicon is in a not officially released state. It is subject to change. | Retrieves the associated profile.", 251 251 defs: { 252 252 main: { 253 - type: 'query', 253 + type: "query", 254 254 parameters: { 255 - type: 'params', 256 - required: ['actors'], 255 + type: "params", 256 + required: ["actors"], 257 257 properties: { 258 258 actors: { 259 - type: 'array', 259 + type: "array", 260 260 items: { 261 - type: 'string', 262 - format: 'at-identifier', 261 + type: "string", 262 + format: "at-identifier", 263 263 }, 264 - description: 'Array of actor DIDs', 264 + description: "Array of actor DIDs", 265 265 }, 266 266 }, 267 267 }, 268 268 output: { 269 - encoding: 'application/json', 269 + encoding: "application/json", 270 270 schema: { 271 - type: 'object', 272 - required: ['actors'], 271 + type: "object", 272 + required: ["actors"], 273 273 properties: { 274 274 actors: { 275 - type: 'array', 275 + type: "array", 276 276 items: { 277 - type: 'ref', 278 - ref: 'lex:fm.teal.alpha.actor.defs#miniProfileView', 277 + type: "ref", 278 + ref: "lex:fm.teal.alpha.actor.defs#miniProfileView", 279 279 }, 280 280 }, 281 281 }, ··· 286 286 }, 287 287 FmTealAlphaActorProfile: { 288 288 lexicon: 1, 289 - id: 'fm.teal.alpha.actor.profile', 289 + id: "fm.teal.alpha.actor.profile", 290 290 defs: { 291 291 main: { 292 - type: 'record', 292 + type: "record", 293 293 description: 294 - 'This lexicon is in a not officially released state. It is subject to change. | A declaration of a teal.fm account profile.', 295 - key: 'literal:self', 294 + "This lexicon is in a not officially released state. It is subject to change. | A declaration of a teal.fm account profile.", 295 + key: "literal:self", 296 296 record: { 297 - type: 'object', 297 + type: "object", 298 298 properties: { 299 299 displayName: { 300 - type: 'string', 300 + type: "string", 301 301 maxGraphemes: 64, 302 302 maxLength: 640, 303 303 }, 304 304 description: { 305 - type: 'string', 306 - description: 'Free-form profile description text.', 305 + type: "string", 306 + description: "Free-form profile description text.", 307 307 maxGraphemes: 256, 308 308 maxLength: 2560, 309 309 }, 310 310 descriptionFacets: { 311 - type: 'array', 311 + type: "array", 312 312 description: 313 - 'Annotations of text in the profile description (mentions, URLs, hashtags, etc).', 313 + "Annotations of text in the profile description (mentions, URLs, hashtags, etc).", 314 314 items: { 315 - type: 'ref', 316 - ref: 'lex:app.bsky.richtext.facet', 315 + type: "ref", 316 + ref: "lex:app.bsky.richtext.facet", 317 317 }, 318 318 }, 319 319 featuredItem: { 320 - type: 'ref', 320 + type: "ref", 321 321 description: 322 322 "The user's most recent item featured on their profile.", 323 - ref: 'lex:fm.teal.alpha.actor.profile#featuredItem', 323 + ref: "lex:fm.teal.alpha.actor.profile#featuredItem", 324 324 }, 325 325 avatar: { 326 - type: 'blob', 326 + type: "blob", 327 327 description: 328 328 "Small image to be displayed next to posts from account. AKA, 'profile picture'", 329 - accept: ['image/png', 'image/jpeg'], 329 + accept: ["image/png", "image/jpeg"], 330 330 maxSize: 1000000, 331 331 }, 332 332 banner: { 333 - type: 'blob', 333 + type: "blob", 334 334 description: 335 - 'Larger horizontal image to display behind profile view.', 336 - accept: ['image/png', 'image/jpeg'], 335 + "Larger horizontal image to display behind profile view.", 336 + accept: ["image/png", "image/jpeg"], 337 337 maxSize: 1000000, 338 338 }, 339 339 createdAt: { 340 - type: 'string', 341 - format: 'datetime', 340 + type: "string", 341 + format: "datetime", 342 342 }, 343 343 }, 344 344 }, 345 345 }, 346 346 featuredItem: { 347 - type: 'object', 348 - required: ['mbid', 'type'], 347 + type: "object", 348 + required: ["mbid", "type"], 349 349 properties: { 350 350 mbid: { 351 - type: 'string', 352 - description: 'The Musicbrainz ID of the item', 351 + type: "string", 352 + description: "The Musicbrainz ID of the item", 353 353 }, 354 354 type: { 355 - type: 'string', 355 + type: "string", 356 356 description: 357 - 'The type of the item. Must be a valid Musicbrainz type, e.g. album, track, recording, etc.', 357 + "The type of the item. Must be a valid Musicbrainz type, e.g. album, track, recording, etc.", 358 358 }, 359 359 }, 360 360 }, ··· 362 362 }, 363 363 FmTealAlphaActorSearchActors: { 364 364 lexicon: 1, 365 - id: 'fm.teal.alpha.actor.searchActors', 365 + id: "fm.teal.alpha.actor.searchActors", 366 366 description: 367 - 'This lexicon is in a not officially released state. It is subject to change. | Searches for actors based on profile contents.', 367 + "This lexicon is in a not officially released state. It is subject to change. | Searches for actors based on profile contents.", 368 368 defs: { 369 369 main: { 370 - type: 'query', 370 + type: "query", 371 371 parameters: { 372 - type: 'params', 373 - required: ['q'], 372 + type: "params", 373 + required: ["q"], 374 374 properties: { 375 375 q: { 376 - type: 'string', 377 - description: 'The search query', 376 + type: "string", 377 + description: "The search query", 378 378 maxGraphemes: 128, 379 379 maxLength: 640, 380 380 }, 381 381 limit: { 382 - type: 'integer', 383 - description: 'The maximum number of actors to return', 382 + type: "integer", 383 + description: "The maximum number of actors to return", 384 384 minimum: 1, 385 385 maximum: 25, 386 386 }, 387 387 cursor: { 388 - type: 'string', 389 - description: 'Cursor for pagination', 388 + type: "string", 389 + description: "Cursor for pagination", 390 390 }, 391 391 }, 392 392 }, 393 393 output: { 394 - encoding: 'application/json', 394 + encoding: "application/json", 395 395 schema: { 396 - type: 'object', 397 - required: ['actors'], 396 + type: "object", 397 + required: ["actors"], 398 398 properties: { 399 399 actors: { 400 - type: 'array', 400 + type: "array", 401 401 items: { 402 - type: 'ref', 403 - ref: 'lex:fm.teal.alpha.actor.defs#miniProfileView', 402 + type: "ref", 403 + ref: "lex:fm.teal.alpha.actor.defs#miniProfileView", 404 404 }, 405 405 }, 406 406 cursor: { 407 - type: 'string', 408 - description: 'Cursor for pagination', 407 + type: "string", 408 + description: "Cursor for pagination", 409 409 }, 410 410 }, 411 411 }, ··· 415 415 }, 416 416 FmTealAlphaActorStatus: { 417 417 lexicon: 1, 418 - id: 'fm.teal.alpha.actor.status', 418 + id: "fm.teal.alpha.actor.status", 419 419 defs: { 420 420 main: { 421 - type: 'record', 421 + type: "record", 422 422 description: 423 - 'This lexicon is in a not officially released state. It is subject to change. | A declaration of the status of the actor. Only one can be shown at a time. If there are multiple, the latest record should be picked and earlier records should be deleted or tombstoned.', 424 - key: 'literal:self', 423 + "This lexicon is in a not officially released state. It is subject to change. | A declaration of the status of the actor. Only one can be shown at a time. If there are multiple, the latest record should be picked and earlier records should be deleted or tombstoned.", 424 + key: "literal:self", 425 425 record: { 426 - type: 'object', 427 - required: ['time', 'item'], 426 + type: "object", 427 + required: ["time", "item"], 428 428 properties: { 429 429 time: { 430 - type: 'string', 431 - format: 'datetime', 432 - description: 'The unix timestamp of when the item was recorded', 430 + type: "string", 431 + format: "datetime", 432 + description: "The unix timestamp of when the item was recorded", 433 433 }, 434 434 expiry: { 435 435 type: 'string', ··· 438 438 'The unix timestamp of the expiry time of the item. If unavailable, default to 10 minutes past the start time.', 439 439 }, 440 440 item: { 441 - type: 'ref', 442 - ref: 'lex:fm.teal.alpha.feed.defs#playView', 441 + type: "ref", 442 + ref: "lex:fm.teal.alpha.feed.defs#playView", 443 443 }, 444 444 }, 445 445 }, ··· 448 448 }, 449 449 FmTealAlphaFeedDefs: { 450 450 lexicon: 1, 451 - id: 'fm.teal.alpha.feed.defs', 451 + id: "fm.teal.alpha.feed.defs", 452 452 description: 453 - 'This lexicon is in a not officially released state. It is subject to change. | Misc. items related to feeds.', 453 + "This lexicon is in a not officially released state. It is subject to change. | Misc. items related to feeds.", 454 454 defs: { 455 455 playView: { 456 456 type: 'object', 457 457 required: ['trackName', 'artists'], 458 458 properties: { 459 459 trackName: { 460 - type: 'string', 460 + type: "string", 461 461 minLength: 1, 462 462 maxLength: 256, 463 463 maxGraphemes: 2560, 464 - description: 'The name of the track', 464 + description: "The name of the track", 465 465 }, 466 466 trackMbId: { 467 - type: 'string', 468 - description: 'The Musicbrainz ID of the track', 467 + type: "string", 468 + description: "The Musicbrainz ID of the track", 469 469 }, 470 470 recordingMbId: { 471 - type: 'string', 472 - description: 'The Musicbrainz recording ID of the track', 471 + type: "string", 472 + description: "The Musicbrainz recording ID of the track", 473 473 }, 474 474 duration: { 475 - type: 'integer', 476 - description: 'The length of the track in seconds', 475 + type: "integer", 476 + description: "The length of the track in seconds", 477 477 }, 478 478 artists: { 479 479 type: 'array', ··· 484 484 description: 'Array of artists in order of original appearance.', 485 485 }, 486 486 releaseName: { 487 - type: 'string', 487 + type: "string", 488 488 maxLength: 256, 489 489 maxGraphemes: 2560, 490 - description: 'The name of the release/album', 490 + description: "The name of the release/album", 491 491 }, 492 492 releaseMbId: { 493 - type: 'string', 494 - description: 'The Musicbrainz release ID', 493 + type: "string", 494 + description: "The Musicbrainz release ID", 495 495 }, 496 496 isrc: { 497 - type: 'string', 498 - description: 'The ISRC code associated with the recording', 497 + type: "string", 498 + description: "The ISRC code associated with the recording", 499 499 }, 500 500 originUrl: { 501 - type: 'string', 502 - description: 'The URL associated with this track', 501 + type: "string", 502 + description: "The URL associated with this track", 503 503 }, 504 504 musicServiceBaseDomain: { 505 - type: 'string', 505 + type: "string", 506 506 description: 507 507 "The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com. Defaults to 'local' if not provided.", 508 508 }, 509 509 submissionClientAgent: { 510 - type: 'string', 510 + type: "string", 511 511 maxLength: 256, 512 512 maxGraphemes: 2560, 513 513 description: 514 514 "A user-agent style string specifying the user agent. e.g. tealtracker/0.0.1b (Linux; Android 13; SM-A715F). Defaults to 'manual/unknown' if not provided.", 515 515 }, 516 516 playedTime: { 517 - type: 'string', 518 - format: 'datetime', 519 - description: 'The unix timestamp of when the track was played', 517 + type: "string", 518 + format: "datetime", 519 + description: "The unix timestamp of when the track was played", 520 520 }, 521 521 }, 522 522 }, ··· 541 541 }, 542 542 FmTealAlphaFeedGetActorFeed: { 543 543 lexicon: 1, 544 - id: 'fm.teal.alpha.feed.getActorFeed', 544 + id: "fm.teal.alpha.feed.getActorFeed", 545 545 description: 546 546 "This lexicon is in a not officially released state. It is subject to change. | Retrieves multiple plays from the index or via an author's DID.", 547 547 defs: { 548 548 main: { 549 - type: 'query', 549 + type: "query", 550 550 parameters: { 551 - type: 'params', 552 - required: ['authorDID'], 551 + type: "params", 552 + required: ["authorDID"], 553 553 properties: { 554 554 authorDID: { 555 - type: 'string', 556 - format: 'at-identifier', 555 + type: "string", 556 + format: "at-identifier", 557 557 description: "The author's DID for the play", 558 558 }, 559 559 cursor: { 560 - type: 'string', 561 - description: 'The cursor to start the query from', 560 + type: "string", 561 + description: "The cursor to start the query from", 562 562 }, 563 563 limit: { 564 - type: 'integer', 564 + type: "integer", 565 565 description: 566 - 'The upper limit of tracks to get per request. Default is 20, max is 50.', 566 + "The upper limit of tracks to get per request. Default is 20, max is 50.", 567 567 }, 568 568 }, 569 569 }, 570 570 output: { 571 - encoding: 'application/json', 571 + encoding: "application/json", 572 572 schema: { 573 - type: 'object', 574 - required: ['plays'], 573 + type: "object", 574 + required: ["plays"], 575 575 properties: { 576 576 plays: { 577 - type: 'array', 577 + type: "array", 578 578 items: { 579 - type: 'ref', 580 - ref: 'lex:fm.teal.alpha.feed.defs#playView', 579 + type: "ref", 580 + ref: "lex:fm.teal.alpha.feed.defs#playView", 581 581 }, 582 582 }, 583 583 }, ··· 588 588 }, 589 589 FmTealAlphaFeedGetPlay: { 590 590 lexicon: 1, 591 - id: 'fm.teal.alpha.feed.getPlay', 591 + id: "fm.teal.alpha.feed.getPlay", 592 592 description: 593 - 'This lexicon is in a not officially released state. It is subject to change. | Retrieves a play given an author DID and record key.', 593 + "This lexicon is in a not officially released state. It is subject to change. | Retrieves a play given an author DID and record key.", 594 594 defs: { 595 595 main: { 596 - type: 'query', 596 + type: "query", 597 597 parameters: { 598 - type: 'params', 599 - required: ['authorDID', 'rkey'], 598 + type: "params", 599 + required: ["authorDID", "rkey"], 600 600 properties: { 601 601 authorDID: { 602 - type: 'string', 603 - format: 'at-identifier', 602 + type: "string", 603 + format: "at-identifier", 604 604 description: "The author's DID for the play", 605 605 }, 606 606 rkey: { 607 - type: 'string', 608 - description: 'The record key of the play', 607 + type: "string", 608 + description: "The record key of the play", 609 609 }, 610 610 }, 611 611 }, 612 612 output: { 613 - encoding: 'application/json', 613 + encoding: "application/json", 614 614 schema: { 615 - type: 'object', 616 - required: ['play'], 615 + type: "object", 616 + required: ["play"], 617 617 properties: { 618 618 play: { 619 - type: 'ref', 620 - ref: 'lex:fm.teal.alpha.feed.defs#playView', 619 + type: "ref", 620 + ref: "lex:fm.teal.alpha.feed.defs#playView", 621 621 }, 622 622 }, 623 623 }, ··· 627 627 }, 628 628 FmTealAlphaFeedPlay: { 629 629 lexicon: 1, 630 - id: 'fm.teal.alpha.feed.play', 630 + id: "fm.teal.alpha.feed.play", 631 631 description: 632 632 "This lexicon is in a not officially released state. It is subject to change. | A declaration of a teal.fm play. Plays are submitted as a result of a user listening to a track. Plays should be marked as tracked when a user has listened to the entire track if it's under 2 minutes long, or half of the track's duration up to 4 minutes, whichever is longest.", 633 633 defs: { 634 634 main: { 635 - type: 'record', 636 - key: 'tid', 635 + type: "record", 636 + key: "tid", 637 637 record: { 638 638 type: 'object', 639 639 required: ['trackName'], 640 640 properties: { 641 641 trackName: { 642 - type: 'string', 642 + type: "string", 643 643 minLength: 1, 644 644 maxLength: 256, 645 645 maxGraphemes: 2560, 646 - description: 'The name of the track', 646 + description: "The name of the track", 647 647 }, 648 648 trackMbId: { 649 - type: 'string', 650 - description: 'The Musicbrainz ID of the track', 649 + type: "string", 650 + description: "The Musicbrainz ID of the track", 651 651 }, 652 652 recordingMbId: { 653 - type: 'string', 654 - description: 'The Musicbrainz recording ID of the track', 653 + type: "string", 654 + description: "The Musicbrainz recording ID of the track", 655 655 }, 656 656 duration: { 657 - type: 'integer', 658 - description: 'The length of the track in seconds', 657 + type: "integer", 658 + description: "The length of the track in seconds", 659 659 }, 660 660 artistNames: { 661 - type: 'array', 661 + type: "array", 662 662 items: { 663 - type: 'string', 663 + type: "string", 664 664 minLength: 1, 665 665 maxLength: 256, 666 666 maxGraphemes: 2560, ··· 669 669 "Array of artist names in order of original appearance. Prefer using 'artists'.", 670 670 }, 671 671 artistMbIds: { 672 - type: 'array', 672 + type: "array", 673 673 items: { 674 - type: 'string', 674 + type: "string", 675 675 }, 676 676 description: 677 677 "Array of Musicbrainz artist IDs. Prefer using 'artists'.", ··· 685 685 description: 'Array of artists in order of original appearance.', 686 686 }, 687 687 releaseName: { 688 - type: 'string', 688 + type: "string", 689 689 maxLength: 256, 690 690 maxGraphemes: 2560, 691 - description: 'The name of the release/album', 691 + description: "The name of the release/album", 692 692 }, 693 693 releaseMbId: { 694 - type: 'string', 695 - description: 'The Musicbrainz release ID', 694 + type: "string", 695 + description: "The Musicbrainz release ID", 696 696 }, 697 697 isrc: { 698 - type: 'string', 699 - description: 'The ISRC code associated with the recording', 698 + type: "string", 699 + description: "The ISRC code associated with the recording", 700 700 }, 701 701 originUrl: { 702 - type: 'string', 703 - description: 'The URL associated with this track', 702 + type: "string", 703 + description: "The URL associated with this track", 704 704 }, 705 705 musicServiceBaseDomain: { 706 - type: 'string', 706 + type: "string", 707 707 description: 708 708 "The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com. Defaults to 'local' if unavailable or not provided.", 709 709 }, 710 710 submissionClientAgent: { 711 - type: 'string', 711 + type: "string", 712 712 maxLength: 256, 713 713 maxGraphemes: 2560, 714 714 description: 715 715 "A metadata string specifying the user agent where the format is `<app-identifier>/<version> (<kernel/OS-base>; <platform/OS-version>; <device-model>)`. If string is provided, only `app-identifier` and `version` are required. `app-identifier` is recommended to be in reverse dns format. Defaults to 'manual/unknown' if unavailable or not provided.", 716 716 }, 717 717 playedTime: { 718 - type: 'string', 719 - format: 'datetime', 720 - description: 'The unix timestamp of when the track was played', 718 + type: "string", 719 + format: "datetime", 720 + description: "The unix timestamp of when the track was played", 721 721 }, 722 722 }, 723 723 }, ··· 726 726 }, 727 727 XyzStatusphereStatus: { 728 728 lexicon: 1, 729 - id: 'xyz.statusphere.status', 729 + id: "xyz.statusphere.status", 730 730 defs: { 731 731 main: { 732 - type: 'record', 733 - key: 'tid', 732 + type: "record", 733 + key: "tid", 734 734 record: { 735 - type: 'object', 736 - required: ['status', 'createdAt'], 735 + type: "object", 736 + required: ["status", "createdAt"], 737 737 properties: { 738 738 status: { 739 - type: 'string', 739 + type: "string", 740 740 minLength: 1, 741 741 maxGraphemes: 1, 742 742 maxLength: 32, 743 743 }, 744 744 createdAt: { 745 - type: 'string', 746 - format: 'datetime', 745 + type: "string", 746 + format: "datetime", 747 747 }, 748 748 }, 749 749 }, 750 750 }, 751 751 }, 752 752 }, 753 - } as const satisfies Record<string, LexiconDoc> 753 + } as const satisfies Record<string, LexiconDoc>; 754 754 755 - export const schemas = Object.values(schemaDict) 756 - export const lexicons: Lexicons = new Lexicons(schemas) 755 + export const schemas = Object.values(schemaDict); 756 + export const lexicons: Lexicons = new Lexicons(schemas); 757 757 export const ids = { 758 - AppBskyActorProfile: 'app.bsky.actor.profile', 759 - AppBskyRichtextFacet: 'app.bsky.richtext.facet', 760 - FmTealAlphaActorDefs: 'fm.teal.alpha.actor.defs', 761 - FmTealAlphaActorGetProfile: 'fm.teal.alpha.actor.getProfile', 762 - FmTealAlphaActorGetProfiles: 'fm.teal.alpha.actor.getProfiles', 763 - FmTealAlphaActorProfile: 'fm.teal.alpha.actor.profile', 764 - FmTealAlphaActorSearchActors: 'fm.teal.alpha.actor.searchActors', 765 - FmTealAlphaActorStatus: 'fm.teal.alpha.actor.status', 766 - FmTealAlphaFeedDefs: 'fm.teal.alpha.feed.defs', 767 - FmTealAlphaFeedGetActorFeed: 'fm.teal.alpha.feed.getActorFeed', 768 - FmTealAlphaFeedGetPlay: 'fm.teal.alpha.feed.getPlay', 769 - FmTealAlphaFeedPlay: 'fm.teal.alpha.feed.play', 770 - XyzStatusphereStatus: 'xyz.statusphere.status', 771 - } 758 + AppBskyActorProfile: "app.bsky.actor.profile", 759 + AppBskyRichtextFacet: "app.bsky.richtext.facet", 760 + FmTealAlphaActorDefs: "fm.teal.alpha.actor.defs", 761 + FmTealAlphaActorGetProfile: "fm.teal.alpha.actor.getProfile", 762 + FmTealAlphaActorGetProfiles: "fm.teal.alpha.actor.getProfiles", 763 + FmTealAlphaActorProfile: "fm.teal.alpha.actor.profile", 764 + FmTealAlphaActorSearchActors: "fm.teal.alpha.actor.searchActors", 765 + FmTealAlphaActorStatus: "fm.teal.alpha.actor.status", 766 + FmTealAlphaFeedDefs: "fm.teal.alpha.feed.defs", 767 + FmTealAlphaFeedGetActorFeed: "fm.teal.alpha.feed.getActorFeed", 768 + FmTealAlphaFeedGetPlay: "fm.teal.alpha.feed.getPlay", 769 + FmTealAlphaFeedPlay: "fm.teal.alpha.feed.play", 770 + XyzStatusphereStatus: "xyz.statusphere.status", 771 + };
+20 -19
packages/lexicons/src/types/app/bsky/actor/profile.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 5 - import { lexicons } from '../../../../lexicons' 6 - import { isObj, hasProp } from '../../../../util' 7 - import { CID } from 'multiformats/cid' 8 - import * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs' 9 - import * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { CID } from "multiformats/cid"; 6 + 7 + import { lexicons } from "../../../../lexicons"; 8 + import { hasProp, isObj } from "../../../../util"; 9 + import * as ComAtprotoLabelDefs from "../../../com/atproto/label/defs"; 10 + import * as ComAtprotoRepoStrongRef from "../../../com/atproto/repo/strongRef"; 10 11 11 12 export interface Record { 12 - displayName?: string 13 + displayName?: string; 13 14 /** Free-form profile description text. */ 14 - description?: string 15 + description?: string; 15 16 /** Small image to be displayed next to posts from account. AKA, 'profile picture' */ 16 - avatar?: BlobRef 17 + avatar?: BlobRef; 17 18 /** Larger horizontal image to display behind profile view. */ 18 - banner?: BlobRef 19 + banner?: BlobRef; 19 20 labels?: 20 21 | ComAtprotoLabelDefs.SelfLabels 21 - | { $type: string; [k: string]: unknown } 22 - joinedViaStarterPack?: ComAtprotoRepoStrongRef.Main 23 - createdAt?: string 24 - [k: string]: unknown 22 + | { $type: string; [k: string]: unknown }; 23 + joinedViaStarterPack?: ComAtprotoRepoStrongRef.Main; 24 + createdAt?: string; 25 + [k: string]: unknown; 25 26 } 26 27 27 28 export function isRecord(v: unknown): v is Record { 28 29 return ( 29 30 isObj(v) && 30 - hasProp(v, '$type') && 31 - (v.$type === 'app.bsky.actor.profile#main' || 32 - v.$type === 'app.bsky.actor.profile') 33 - ) 31 + hasProp(v, "$type") && 32 + (v.$type === "app.bsky.actor.profile#main" || 33 + v.$type === "app.bsky.actor.profile") 34 + ); 34 35 } 35 36 36 37 export function validateRecord(v: unknown): ValidationResult { 37 - return lexicons.validate('app.bsky.actor.profile#main', v) 38 + return lexicons.validate("app.bsky.actor.profile#main", v); 38 39 }
+37 -36
packages/lexicons/src/types/app/bsky/richtext/facet.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 5 - import { lexicons } from '../../../../lexicons' 6 - import { isObj, hasProp } from '../../../../util' 7 - import { CID } from 'multiformats/cid' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { CID } from "multiformats/cid"; 6 + 7 + import { lexicons } from "../../../../lexicons"; 8 + import { hasProp, isObj } from "../../../../util"; 8 9 9 10 /** Annotation of a sub-string within rich text. */ 10 11 export interface Main { 11 - index: ByteSlice 12 - features: (Mention | Link | Tag | { $type: string; [k: string]: unknown })[] 13 - [k: string]: unknown 12 + index: ByteSlice; 13 + features: (Mention | Link | Tag | { $type: string; [k: string]: unknown })[]; 14 + [k: string]: unknown; 14 15 } 15 16 16 17 export function isMain(v: unknown): v is Main { 17 18 return ( 18 19 isObj(v) && 19 - hasProp(v, '$type') && 20 - (v.$type === 'app.bsky.richtext.facet#main' || 21 - v.$type === 'app.bsky.richtext.facet') 22 - ) 20 + hasProp(v, "$type") && 21 + (v.$type === "app.bsky.richtext.facet#main" || 22 + v.$type === "app.bsky.richtext.facet") 23 + ); 23 24 } 24 25 25 26 export function validateMain(v: unknown): ValidationResult { 26 - return lexicons.validate('app.bsky.richtext.facet#main', v) 27 + return lexicons.validate("app.bsky.richtext.facet#main", v); 27 28 } 28 29 29 30 /** Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID. */ 30 31 export interface Mention { 31 - did: string 32 - [k: string]: unknown 32 + did: string; 33 + [k: string]: unknown; 33 34 } 34 35 35 36 export function isMention(v: unknown): v is Mention { 36 37 return ( 37 38 isObj(v) && 38 - hasProp(v, '$type') && 39 - v.$type === 'app.bsky.richtext.facet#mention' 40 - ) 39 + hasProp(v, "$type") && 40 + v.$type === "app.bsky.richtext.facet#mention" 41 + ); 41 42 } 42 43 43 44 export function validateMention(v: unknown): ValidationResult { 44 - return lexicons.validate('app.bsky.richtext.facet#mention', v) 45 + return lexicons.validate("app.bsky.richtext.facet#mention", v); 45 46 } 46 47 47 48 /** Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL. */ 48 49 export interface Link { 49 - uri: string 50 - [k: string]: unknown 50 + uri: string; 51 + [k: string]: unknown; 51 52 } 52 53 53 54 export function isLink(v: unknown): v is Link { 54 55 return ( 55 56 isObj(v) && 56 - hasProp(v, '$type') && 57 - v.$type === 'app.bsky.richtext.facet#link' 58 - ) 57 + hasProp(v, "$type") && 58 + v.$type === "app.bsky.richtext.facet#link" 59 + ); 59 60 } 60 61 61 62 export function validateLink(v: unknown): ValidationResult { 62 - return lexicons.validate('app.bsky.richtext.facet#link', v) 63 + return lexicons.validate("app.bsky.richtext.facet#link", v); 63 64 } 64 65 65 66 /** Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags'). */ 66 67 export interface Tag { 67 - tag: string 68 - [k: string]: unknown 68 + tag: string; 69 + [k: string]: unknown; 69 70 } 70 71 71 72 export function isTag(v: unknown): v is Tag { 72 73 return ( 73 - isObj(v) && hasProp(v, '$type') && v.$type === 'app.bsky.richtext.facet#tag' 74 - ) 74 + isObj(v) && hasProp(v, "$type") && v.$type === "app.bsky.richtext.facet#tag" 75 + ); 75 76 } 76 77 77 78 export function validateTag(v: unknown): ValidationResult { 78 - return lexicons.validate('app.bsky.richtext.facet#tag', v) 79 + return lexicons.validate("app.bsky.richtext.facet#tag", v); 79 80 } 80 81 81 82 /** Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets. */ 82 83 export interface ByteSlice { 83 - byteStart: number 84 - byteEnd: number 85 - [k: string]: unknown 84 + byteStart: number; 85 + byteEnd: number; 86 + [k: string]: unknown; 86 87 } 87 88 88 89 export function isByteSlice(v: unknown): v is ByteSlice { 89 90 return ( 90 91 isObj(v) && 91 - hasProp(v, '$type') && 92 - v.$type === 'app.bsky.richtext.facet#byteSlice' 93 - ) 92 + hasProp(v, "$type") && 93 + v.$type === "app.bsky.richtext.facet#byteSlice" 94 + ); 94 95 } 95 96 96 97 export function validateByteSlice(v: unknown): ValidationResult { 97 - return lexicons.validate('app.bsky.richtext.facet#byteSlice', v) 98 + return lexicons.validate("app.bsky.richtext.facet#byteSlice", v); 98 99 }
+29 -28
packages/lexicons/src/types/fm/teal/alpha/actor/defs.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 5 - import { lexicons } from '../../../../../lexicons' 6 - import { isObj, hasProp } from '../../../../../util' 7 - import { CID } from 'multiformats/cid' 8 - import * as AppBskyRichtextFacet from '../../../../app/bsky/richtext/facet' 9 - import * as FmTealAlphaActorProfile from './profile' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { CID } from "multiformats/cid"; 6 + 7 + import { lexicons } from "../../../../../lexicons"; 8 + import { hasProp, isObj } from "../../../../../util"; 9 + import * as AppBskyRichtextFacet from "../../../../app/bsky/richtext/facet"; 10 + import * as FmTealAlphaActorProfile from "./profile"; 10 11 11 12 export interface ProfileView { 12 13 /** The decentralized identifier of the actor */ 13 - did?: string 14 - displayName?: string 14 + did?: string; 15 + displayName?: string; 15 16 /** Free-form profile description text. */ 16 - description?: string 17 + description?: string; 17 18 /** Annotations of text in the profile description (mentions, URLs, hashtags, etc). May be changed to another (backwards compatible) lexicon. */ 18 - descriptionFacets?: AppBskyRichtextFacet.Main[] 19 - featuredItem?: FmTealAlphaActorProfile.FeaturedItem 19 + descriptionFacets?: AppBskyRichtextFacet.Main[]; 20 + featuredItem?: FmTealAlphaActorProfile.FeaturedItem; 20 21 /** IPLD of the avatar */ 21 - avatar?: string 22 + avatar?: string; 22 23 /** IPLD of the banner image */ 23 - banner?: string 24 - createdAt?: string 25 - [k: string]: unknown 24 + banner?: string; 25 + createdAt?: string; 26 + [k: string]: unknown; 26 27 } 27 28 28 29 export function isProfileView(v: unknown): v is ProfileView { 29 30 return ( 30 31 isObj(v) && 31 - hasProp(v, '$type') && 32 - v.$type === 'fm.teal.alpha.actor.defs#profileView' 33 - ) 32 + hasProp(v, "$type") && 33 + v.$type === "fm.teal.alpha.actor.defs#profileView" 34 + ); 34 35 } 35 36 36 37 export function validateProfileView(v: unknown): ValidationResult { 37 - return lexicons.validate('fm.teal.alpha.actor.defs#profileView', v) 38 + return lexicons.validate("fm.teal.alpha.actor.defs#profileView", v); 38 39 } 39 40 40 41 export interface MiniProfileView { 41 42 /** The decentralized identifier of the actor */ 42 - did?: string 43 - displayName?: string 44 - handle?: string 43 + did?: string; 44 + displayName?: string; 45 + handle?: string; 45 46 /** IPLD of the avatar */ 46 - avatar?: string 47 - [k: string]: unknown 47 + avatar?: string; 48 + [k: string]: unknown; 48 49 } 49 50 50 51 export function isMiniProfileView(v: unknown): v is MiniProfileView { 51 52 return ( 52 53 isObj(v) && 53 - hasProp(v, '$type') && 54 - v.$type === 'fm.teal.alpha.actor.defs#miniProfileView' 55 - ) 54 + hasProp(v, "$type") && 55 + v.$type === "fm.teal.alpha.actor.defs#miniProfileView" 56 + ); 56 57 } 57 58 58 59 export function validateMiniProfileView(v: unknown): ValidationResult { 59 - return lexicons.validate('fm.teal.alpha.actor.defs#miniProfileView', v) 60 + return lexicons.validate("fm.teal.alpha.actor.defs#miniProfileView", v); 60 61 }
+27 -26
packages/lexicons/src/types/fm/teal/alpha/actor/getProfile.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import express from 'express' 5 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 6 - import { lexicons } from '../../../../../lexicons' 7 - import { isObj, hasProp } from '../../../../../util' 8 - import { CID } from 'multiformats/cid' 9 - import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' 10 - import * as FmTealAlphaActorDefs from './defs' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; 6 + import express from "express"; 7 + import { CID } from "multiformats/cid"; 8 + 9 + import { lexicons } from "../../../../../lexicons"; 10 + import { hasProp, isObj } from "../../../../../util"; 11 + import * as FmTealAlphaActorDefs from "./defs"; 11 12 12 13 export interface QueryParams { 13 14 /** The author's DID */ 14 - actor: string 15 + actor: string; 15 16 } 16 17 17 - export type InputSchema = undefined 18 + export type InputSchema = undefined; 18 19 19 20 export interface OutputSchema { 20 - actor: FmTealAlphaActorDefs.ProfileView 21 - [k: string]: unknown 21 + actor: FmTealAlphaActorDefs.ProfileView; 22 + [k: string]: unknown; 22 23 } 23 24 24 - export type HandlerInput = undefined 25 + export type HandlerInput = undefined; 25 26 26 27 export interface HandlerSuccess { 27 - encoding: 'application/json' 28 - body: OutputSchema 29 - headers?: { [key: string]: string } 28 + encoding: "application/json"; 29 + body: OutputSchema; 30 + headers?: { [key: string]: string }; 30 31 } 31 32 32 33 export interface HandlerError { 33 - status: number 34 - message?: string 34 + status: number; 35 + message?: string; 35 36 } 36 37 37 - export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough 38 + export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; 38 39 export type HandlerReqCtx<HA extends HandlerAuth = never> = { 39 - auth: HA 40 - params: QueryParams 41 - input: HandlerInput 42 - req: express.Request 43 - res: express.Response 44 - resetRouteRateLimits: () => Promise<void> 45 - } 40 + auth: HA; 41 + params: QueryParams; 42 + input: HandlerInput; 43 + req: express.Request; 44 + res: express.Response; 45 + resetRouteRateLimits: () => Promise<void>; 46 + }; 46 47 export type Handler<HA extends HandlerAuth = never> = ( 47 48 ctx: HandlerReqCtx<HA>, 48 - ) => Promise<HandlerOutput> | HandlerOutput 49 + ) => Promise<HandlerOutput> | HandlerOutput;
+27 -26
packages/lexicons/src/types/fm/teal/alpha/actor/getProfiles.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import express from 'express' 5 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 6 - import { lexicons } from '../../../../../lexicons' 7 - import { isObj, hasProp } from '../../../../../util' 8 - import { CID } from 'multiformats/cid' 9 - import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' 10 - import * as FmTealAlphaActorDefs from './defs' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; 6 + import express from "express"; 7 + import { CID } from "multiformats/cid"; 8 + 9 + import { lexicons } from "../../../../../lexicons"; 10 + import { hasProp, isObj } from "../../../../../util"; 11 + import * as FmTealAlphaActorDefs from "./defs"; 11 12 12 13 export interface QueryParams { 13 14 /** Array of actor DIDs */ 14 - actors: string[] 15 + actors: string[]; 15 16 } 16 17 17 - export type InputSchema = undefined 18 + export type InputSchema = undefined; 18 19 19 20 export interface OutputSchema { 20 - actors: FmTealAlphaActorDefs.MiniProfileView[] 21 - [k: string]: unknown 21 + actors: FmTealAlphaActorDefs.MiniProfileView[]; 22 + [k: string]: unknown; 22 23 } 23 24 24 - export type HandlerInput = undefined 25 + export type HandlerInput = undefined; 25 26 26 27 export interface HandlerSuccess { 27 - encoding: 'application/json' 28 - body: OutputSchema 29 - headers?: { [key: string]: string } 28 + encoding: "application/json"; 29 + body: OutputSchema; 30 + headers?: { [key: string]: string }; 30 31 } 31 32 32 33 export interface HandlerError { 33 - status: number 34 - message?: string 34 + status: number; 35 + message?: string; 35 36 } 36 37 37 - export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough 38 + export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; 38 39 export type HandlerReqCtx<HA extends HandlerAuth = never> = { 39 - auth: HA 40 - params: QueryParams 41 - input: HandlerInput 42 - req: express.Request 43 - res: express.Response 44 - resetRouteRateLimits: () => Promise<void> 45 - } 40 + auth: HA; 41 + params: QueryParams; 42 + input: HandlerInput; 43 + req: express.Request; 44 + res: express.Response; 45 + resetRouteRateLimits: () => Promise<void>; 46 + }; 46 47 export type Handler<HA extends HandlerAuth = never> = ( 47 48 ctx: HandlerReqCtx<HA>, 48 - ) => Promise<HandlerOutput> | HandlerOutput 49 + ) => Promise<HandlerOutput> | HandlerOutput;
+26 -25
packages/lexicons/src/types/fm/teal/alpha/actor/profile.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 5 - import { lexicons } from '../../../../../lexicons' 6 - import { isObj, hasProp } from '../../../../../util' 7 - import { CID } from 'multiformats/cid' 8 - import * as AppBskyRichtextFacet from '../../../../app/bsky/richtext/facet' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { CID } from "multiformats/cid"; 6 + 7 + import { lexicons } from "../../../../../lexicons"; 8 + import { hasProp, isObj } from "../../../../../util"; 9 + import * as AppBskyRichtextFacet from "../../../../app/bsky/richtext/facet"; 9 10 10 11 export interface Record { 11 - displayName?: string 12 + displayName?: string; 12 13 /** Free-form profile description text. */ 13 - description?: string 14 + description?: string; 14 15 /** Annotations of text in the profile description (mentions, URLs, hashtags, etc). */ 15 - descriptionFacets?: AppBskyRichtextFacet.Main[] 16 - featuredItem?: FeaturedItem 16 + descriptionFacets?: AppBskyRichtextFacet.Main[]; 17 + featuredItem?: FeaturedItem; 17 18 /** Small image to be displayed next to posts from account. AKA, 'profile picture' */ 18 - avatar?: BlobRef 19 + avatar?: BlobRef; 19 20 /** Larger horizontal image to display behind profile view. */ 20 - banner?: BlobRef 21 - createdAt?: string 22 - [k: string]: unknown 21 + banner?: BlobRef; 22 + createdAt?: string; 23 + [k: string]: unknown; 23 24 } 24 25 25 26 export function isRecord(v: unknown): v is Record { 26 27 return ( 27 28 isObj(v) && 28 - hasProp(v, '$type') && 29 - (v.$type === 'fm.teal.alpha.actor.profile#main' || 30 - v.$type === 'fm.teal.alpha.actor.profile') 31 - ) 29 + hasProp(v, "$type") && 30 + (v.$type === "fm.teal.alpha.actor.profile#main" || 31 + v.$type === "fm.teal.alpha.actor.profile") 32 + ); 32 33 } 33 34 34 35 export function validateRecord(v: unknown): ValidationResult { 35 - return lexicons.validate('fm.teal.alpha.actor.profile#main', v) 36 + return lexicons.validate("fm.teal.alpha.actor.profile#main", v); 36 37 } 37 38 38 39 export interface FeaturedItem { 39 40 /** The Musicbrainz ID of the item */ 40 - mbid: string 41 + mbid: string; 41 42 /** The type of the item. Must be a valid Musicbrainz type, e.g. album, track, recording, etc. */ 42 - type: string 43 - [k: string]: unknown 43 + type: string; 44 + [k: string]: unknown; 44 45 } 45 46 46 47 export function isFeaturedItem(v: unknown): v is FeaturedItem { 47 48 return ( 48 49 isObj(v) && 49 - hasProp(v, '$type') && 50 - v.$type === 'fm.teal.alpha.actor.profile#featuredItem' 51 - ) 50 + hasProp(v, "$type") && 51 + v.$type === "fm.teal.alpha.actor.profile#featuredItem" 52 + ); 52 53 } 53 54 54 55 export function validateFeaturedItem(v: unknown): ValidationResult { 55 - return lexicons.validate('fm.teal.alpha.actor.profile#featuredItem', v) 56 + return lexicons.validate("fm.teal.alpha.actor.profile#featuredItem", v); 56 57 }
+30 -29
packages/lexicons/src/types/fm/teal/alpha/actor/searchActors.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import express from 'express' 5 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 6 - import { lexicons } from '../../../../../lexicons' 7 - import { isObj, hasProp } from '../../../../../util' 8 - import { CID } from 'multiformats/cid' 9 - import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' 10 - import * as FmTealAlphaActorDefs from './defs' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; 6 + import express from "express"; 7 + import { CID } from "multiformats/cid"; 8 + 9 + import { lexicons } from "../../../../../lexicons"; 10 + import { hasProp, isObj } from "../../../../../util"; 11 + import * as FmTealAlphaActorDefs from "./defs"; 11 12 12 13 export interface QueryParams { 13 14 /** The search query */ 14 - q: string 15 + q: string; 15 16 /** The maximum number of actors to return */ 16 - limit?: number 17 + limit?: number; 17 18 /** Cursor for pagination */ 18 - cursor?: string 19 + cursor?: string; 19 20 } 20 21 21 - export type InputSchema = undefined 22 + export type InputSchema = undefined; 22 23 23 24 export interface OutputSchema { 24 - actors: FmTealAlphaActorDefs.MiniProfileView[] 25 + actors: FmTealAlphaActorDefs.MiniProfileView[]; 25 26 /** Cursor for pagination */ 26 - cursor?: string 27 - [k: string]: unknown 27 + cursor?: string; 28 + [k: string]: unknown; 28 29 } 29 30 30 - export type HandlerInput = undefined 31 + export type HandlerInput = undefined; 31 32 32 33 export interface HandlerSuccess { 33 - encoding: 'application/json' 34 - body: OutputSchema 35 - headers?: { [key: string]: string } 34 + encoding: "application/json"; 35 + body: OutputSchema; 36 + headers?: { [key: string]: string }; 36 37 } 37 38 38 39 export interface HandlerError { 39 - status: number 40 - message?: string 40 + status: number; 41 + message?: string; 41 42 } 42 43 43 - export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough 44 + export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; 44 45 export type HandlerReqCtx<HA extends HandlerAuth = never> = { 45 - auth: HA 46 - params: QueryParams 47 - input: HandlerInput 48 - req: express.Request 49 - res: express.Response 50 - resetRouteRateLimits: () => Promise<void> 51 - } 46 + auth: HA; 47 + params: QueryParams; 48 + input: HandlerInput; 49 + req: express.Request; 50 + res: express.Response; 51 + resetRouteRateLimits: () => Promise<void>; 52 + }; 52 53 export type Handler<HA extends HandlerAuth = never> = ( 53 54 ctx: HandlerReqCtx<HA>, 54 - ) => Promise<HandlerOutput> | HandlerOutput 55 + ) => Promise<HandlerOutput> | HandlerOutput;
+11 -10
packages/lexicons/src/types/fm/teal/alpha/actor/status.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 5 - import { lexicons } from '../../../../../lexicons' 6 - import { isObj, hasProp } from '../../../../../util' 7 - import { CID } from 'multiformats/cid' 8 - import * as FmTealAlphaFeedDefs from '../feed/defs' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { CID } from "multiformats/cid"; 6 + 7 + import { lexicons } from "../../../../../lexicons"; 8 + import { hasProp, isObj } from "../../../../../util"; 9 + import * as FmTealAlphaFeedDefs from "../feed/defs"; 9 10 10 11 export interface Record { 11 12 /** The unix timestamp of when the item was recorded */ ··· 19 20 export function isRecord(v: unknown): v is Record { 20 21 return ( 21 22 isObj(v) && 22 - hasProp(v, '$type') && 23 - (v.$type === 'fm.teal.alpha.actor.status#main' || 24 - v.$type === 'fm.teal.alpha.actor.status') 25 - ) 23 + hasProp(v, "$type") && 24 + (v.$type === "fm.teal.alpha.actor.status#main" || 25 + v.$type === "fm.teal.alpha.actor.status") 26 + ); 26 27 } 27 28 28 29 export function validateRecord(v: unknown): ValidationResult { 29 - return lexicons.validate('fm.teal.alpha.actor.status#main', v) 30 + return lexicons.validate("fm.teal.alpha.actor.status#main", v); 30 31 }
+20 -19
packages/lexicons/src/types/fm/teal/alpha/feed/defs.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 5 - import { lexicons } from '../../../../../lexicons' 6 - import { isObj, hasProp } from '../../../../../util' 7 - import { CID } from 'multiformats/cid' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { CID } from "multiformats/cid"; 6 + 7 + import { lexicons } from "../../../../../lexicons"; 8 + import { hasProp, isObj } from "../../../../../util"; 8 9 9 10 export interface PlayView { 10 11 /** The name of the track */ 11 - trackName: string 12 + trackName: string; 12 13 /** The Musicbrainz ID of the track */ 13 - trackMbId?: string 14 + trackMbId?: string; 14 15 /** The Musicbrainz recording ID of the track */ 15 - recordingMbId?: string 16 + recordingMbId?: string; 16 17 /** The length of the track in seconds */ 17 18 duration?: number 18 19 /** Array of artists in order of original appearance. */ 19 20 artists: Artist[] 20 21 /** The name of the release/album */ 21 - releaseName?: string 22 + releaseName?: string; 22 23 /** The Musicbrainz release ID */ 23 - releaseMbId?: string 24 + releaseMbId?: string; 24 25 /** The ISRC code associated with the recording */ 25 - isrc?: string 26 + isrc?: string; 26 27 /** The URL associated with this track */ 27 - originUrl?: string 28 + originUrl?: string; 28 29 /** The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com. Defaults to 'local' if not provided. */ 29 - musicServiceBaseDomain?: string 30 + musicServiceBaseDomain?: string; 30 31 /** A user-agent style string specifying the user agent. e.g. tealtracker/0.0.1b (Linux; Android 13; SM-A715F). Defaults to 'manual/unknown' if not provided. */ 31 - submissionClientAgent?: string 32 + submissionClientAgent?: string; 32 33 /** The unix timestamp of when the track was played */ 33 - playedTime?: string 34 - [k: string]: unknown 34 + playedTime?: string; 35 + [k: string]: unknown; 35 36 } 36 37 37 38 export function isPlayView(v: unknown): v is PlayView { 38 39 return ( 39 40 isObj(v) && 40 - hasProp(v, '$type') && 41 - v.$type === 'fm.teal.alpha.feed.defs#playView' 42 - ) 41 + hasProp(v, "$type") && 42 + v.$type === "fm.teal.alpha.feed.defs#playView" 43 + ); 43 44 } 44 45 45 46 export function validatePlayView(v: unknown): ValidationResult { 46 - return lexicons.validate('fm.teal.alpha.feed.defs#playView', v) 47 + return lexicons.validate("fm.teal.alpha.feed.defs#playView", v); 47 48 } 48 49 49 50 export interface Artist {
+29 -28
packages/lexicons/src/types/fm/teal/alpha/feed/getActorFeed.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import express from 'express' 5 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 6 - import { lexicons } from '../../../../../lexicons' 7 - import { isObj, hasProp } from '../../../../../util' 8 - import { CID } from 'multiformats/cid' 9 - import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' 10 - import * as FmTealAlphaFeedDefs from './defs' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; 6 + import express from "express"; 7 + import { CID } from "multiformats/cid"; 8 + 9 + import { lexicons } from "../../../../../lexicons"; 10 + import { hasProp, isObj } from "../../../../../util"; 11 + import * as FmTealAlphaFeedDefs from "./defs"; 11 12 12 13 export interface QueryParams { 13 14 /** The author's DID for the play */ 14 - authorDID: string 15 + authorDID: string; 15 16 /** The cursor to start the query from */ 16 - cursor?: string 17 + cursor?: string; 17 18 /** The upper limit of tracks to get per request. Default is 20, max is 50. */ 18 - limit?: number 19 + limit?: number; 19 20 } 20 21 21 - export type InputSchema = undefined 22 + export type InputSchema = undefined; 22 23 23 24 export interface OutputSchema { 24 - plays: FmTealAlphaFeedDefs.PlayView[] 25 - [k: string]: unknown 25 + plays: FmTealAlphaFeedDefs.PlayView[]; 26 + [k: string]: unknown; 26 27 } 27 28 28 - export type HandlerInput = undefined 29 + export type HandlerInput = undefined; 29 30 30 31 export interface HandlerSuccess { 31 - encoding: 'application/json' 32 - body: OutputSchema 33 - headers?: { [key: string]: string } 32 + encoding: "application/json"; 33 + body: OutputSchema; 34 + headers?: { [key: string]: string }; 34 35 } 35 36 36 37 export interface HandlerError { 37 - status: number 38 - message?: string 38 + status: number; 39 + message?: string; 39 40 } 40 41 41 - export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough 42 + export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; 42 43 export type HandlerReqCtx<HA extends HandlerAuth = never> = { 43 - auth: HA 44 - params: QueryParams 45 - input: HandlerInput 46 - req: express.Request 47 - res: express.Response 48 - resetRouteRateLimits: () => Promise<void> 49 - } 44 + auth: HA; 45 + params: QueryParams; 46 + input: HandlerInput; 47 + req: express.Request; 48 + res: express.Response; 49 + resetRouteRateLimits: () => Promise<void>; 50 + }; 50 51 export type Handler<HA extends HandlerAuth = never> = ( 51 52 ctx: HandlerReqCtx<HA>, 52 - ) => Promise<HandlerOutput> | HandlerOutput 53 + ) => Promise<HandlerOutput> | HandlerOutput;
+28 -27
packages/lexicons/src/types/fm/teal/alpha/feed/getPlay.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import express from 'express' 5 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 6 - import { lexicons } from '../../../../../lexicons' 7 - import { isObj, hasProp } from '../../../../../util' 8 - import { CID } from 'multiformats/cid' 9 - import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' 10 - import * as FmTealAlphaFeedDefs from './defs' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; 6 + import express from "express"; 7 + import { CID } from "multiformats/cid"; 8 + 9 + import { lexicons } from "../../../../../lexicons"; 10 + import { hasProp, isObj } from "../../../../../util"; 11 + import * as FmTealAlphaFeedDefs from "./defs"; 11 12 12 13 export interface QueryParams { 13 14 /** The author's DID for the play */ 14 - authorDID: string 15 + authorDID: string; 15 16 /** The record key of the play */ 16 - rkey: string 17 + rkey: string; 17 18 } 18 19 19 - export type InputSchema = undefined 20 + export type InputSchema = undefined; 20 21 21 22 export interface OutputSchema { 22 - play: FmTealAlphaFeedDefs.PlayView 23 - [k: string]: unknown 23 + play: FmTealAlphaFeedDefs.PlayView; 24 + [k: string]: unknown; 24 25 } 25 26 26 - export type HandlerInput = undefined 27 + export type HandlerInput = undefined; 27 28 28 29 export interface HandlerSuccess { 29 - encoding: 'application/json' 30 - body: OutputSchema 31 - headers?: { [key: string]: string } 30 + encoding: "application/json"; 31 + body: OutputSchema; 32 + headers?: { [key: string]: string }; 32 33 } 33 34 34 35 export interface HandlerError { 35 - status: number 36 - message?: string 36 + status: number; 37 + message?: string; 37 38 } 38 39 39 - export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough 40 + export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; 40 41 export type HandlerReqCtx<HA extends HandlerAuth = never> = { 41 - auth: HA 42 - params: QueryParams 43 - input: HandlerInput 44 - req: express.Request 45 - res: express.Response 46 - resetRouteRateLimits: () => Promise<void> 47 - } 42 + auth: HA; 43 + params: QueryParams; 44 + input: HandlerInput; 45 + req: express.Request; 46 + res: express.Response; 47 + resetRouteRateLimits: () => Promise<void>; 48 + }; 48 49 export type Handler<HA extends HandlerAuth = never> = ( 49 50 ctx: HandlerReqCtx<HA>, 50 - ) => Promise<HandlerOutput> | HandlerOutput 51 + ) => Promise<HandlerOutput> | HandlerOutput;
+16 -16
packages/lexicons/src/types/fm/teal/alpha/feed/play.ts
··· 9 9 10 10 export interface Record { 11 11 /** The name of the track */ 12 - trackName: string 12 + trackName: string; 13 13 /** The Musicbrainz ID of the track */ 14 - trackMbId?: string 14 + trackMbId?: string; 15 15 /** The Musicbrainz recording ID of the track */ 16 - recordingMbId?: string 16 + recordingMbId?: string; 17 17 /** The length of the track in seconds */ 18 18 duration?: number 19 19 /** Array of artist names in order of original appearance. Prefer using 'artists'. */ ··· 23 23 /** Array of artists in order of original appearance. */ 24 24 artists?: FmTealAlphaFeedDefs.Artist[] 25 25 /** The name of the release/album */ 26 - releaseName?: string 26 + releaseName?: string; 27 27 /** The Musicbrainz release ID */ 28 - releaseMbId?: string 28 + releaseMbId?: string; 29 29 /** The ISRC code associated with the recording */ 30 - isrc?: string 30 + isrc?: string; 31 31 /** The URL associated with this track */ 32 - originUrl?: string 32 + originUrl?: string; 33 33 /** The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com. Defaults to 'local' if unavailable or not provided. */ 34 - musicServiceBaseDomain?: string 34 + musicServiceBaseDomain?: string; 35 35 /** A metadata string specifying the user agent where the format is `<app-identifier>/<version> (<kernel/OS-base>; <platform/OS-version>; <device-model>)`. If string is provided, only `app-identifier` and `version` are required. `app-identifier` is recommended to be in reverse dns format. Defaults to 'manual/unknown' if unavailable or not provided. */ 36 - submissionClientAgent?: string 36 + submissionClientAgent?: string; 37 37 /** The unix timestamp of when the track was played */ 38 - playedTime?: string 39 - [k: string]: unknown 38 + playedTime?: string; 39 + [k: string]: unknown; 40 40 } 41 41 42 42 export function isRecord(v: unknown): v is Record { 43 43 return ( 44 44 isObj(v) && 45 - hasProp(v, '$type') && 46 - (v.$type === 'fm.teal.alpha.feed.play#main' || 47 - v.$type === 'fm.teal.alpha.feed.play') 48 - ) 45 + hasProp(v, "$type") && 46 + (v.$type === "fm.teal.alpha.feed.play#main" || 47 + v.$type === "fm.teal.alpha.feed.play") 48 + ); 49 49 } 50 50 51 51 export function validateRecord(v: unknown): ValidationResult { 52 - return lexicons.validate('fm.teal.alpha.feed.play#main', v) 52 + return lexicons.validate("fm.teal.alpha.feed.play#main", v); 53 53 }
+13 -12
packages/lexicons/src/types/xyz/statusphere/status.ts
··· 1 1 /** 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 - import { ValidationResult, BlobRef } from '@atproto/lexicon' 5 - import { lexicons } from '../../../lexicons' 6 - import { isObj, hasProp } from '../../../util' 7 - import { CID } from 'multiformats/cid' 4 + import { BlobRef, ValidationResult } from "@atproto/lexicon"; 5 + import { CID } from "multiformats/cid"; 6 + 7 + import { lexicons } from "../../../lexicons"; 8 + import { hasProp, isObj } from "../../../util"; 8 9 9 10 export interface Record { 10 - status: string 11 - createdAt: string 12 - [k: string]: unknown 11 + status: string; 12 + createdAt: string; 13 + [k: string]: unknown; 13 14 } 14 15 15 16 export function isRecord(v: unknown): v is Record { 16 17 return ( 17 18 isObj(v) && 18 - hasProp(v, '$type') && 19 - (v.$type === 'xyz.statusphere.status#main' || 20 - v.$type === 'xyz.statusphere.status') 21 - ) 19 + hasProp(v, "$type") && 20 + (v.$type === "xyz.statusphere.status#main" || 21 + v.$type === "xyz.statusphere.status") 22 + ); 22 23 } 23 24 24 25 export function validateRecord(v: unknown): ValidationResult { 25 - return lexicons.validate('xyz.statusphere.status#main', v) 26 + return lexicons.validate("xyz.statusphere.status#main", v); 26 27 }
+2 -2
packages/lexicons/src/util.ts
··· 2 2 * GENERATED CODE - DO NOT MODIFY 3 3 */ 4 4 export function isObj(v: unknown): v is Record<string, unknown> { 5 - return typeof v === 'object' && v !== null 5 + return typeof v === "object" && v !== null; 6 6 } 7 7 8 8 export function hasProp<K extends PropertyKey>( 9 9 data: object, 10 10 prop: K, 11 11 ): data is Record<K, unknown> { 12 - return prop in data 12 + return prop in data; 13 13 }
+1489 -1703
pnpm-lock.yaml
··· 10 10 dependencies: 11 11 '@atproto/oauth-client': 12 12 specifier: ^0.3.8 13 - version: 0.3.8 13 + version: 0.3.21 14 14 '@ianvs/prettier-plugin-sort-imports': 15 15 specifier: ^4.4.1 16 - version: 4.4.1(prettier@3.4.2) 16 + version: 4.4.2(prettier@3.5.3) 17 + prettier: 18 + specifier: ^3.5.3 19 + version: 3.5.3 17 20 prettier-plugin-tailwindcss: 18 21 specifier: ^0.6.11 19 - version: 0.6.11(@ianvs/prettier-plugin-sort-imports@4.4.1(prettier@3.4.2))(prettier@3.4.2) 22 + version: 0.6.12(@ianvs/prettier-plugin-sort-imports@4.4.2(prettier@3.5.3))(prettier@3.5.3) 20 23 devDependencies: 21 24 '@types/node': 22 25 specifier: ^20.17.10 23 - version: 20.17.14 26 + version: 20.17.10 24 27 biome: 25 28 specifier: ^0.3.3 26 29 version: 0.3.3 ··· 35 38 dependencies: 36 39 '@aquareum/atproto-oauth-client-react-native': 37 40 specifier: ^0.0.1 38 - version: 0.0.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 41 + version: 0.0.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 39 42 '@atproto/api': 40 43 specifier: ^0.15.6 41 - version: 0.15.6 44 + version: 0.15.14 42 45 '@atproto/lex-cli': 43 46 specifier: ^0.8.1 44 - version: 0.8.1 47 + version: 0.8.2 45 48 '@atproto/oauth-client': 46 49 specifier: ^0.3.16 47 - version: 0.3.16 50 + version: 0.3.21 48 51 '@babel/plugin-transform-export-namespace-from': 49 52 specifier: ^7.27.1 50 53 version: 7.27.1(@babel/core@7.26.0) 51 54 '@expo/vector-icons': 52 55 specifier: ^14.1.0 53 - version: 14.1.0(expo-font@13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 56 + version: 14.1.0(expo-font@13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 54 57 '@gorhom/bottom-sheet': 55 58 specifier: ^5.1.3 56 - version: 5.1.4(@types/react@19.0.14)(react-native-gesture-handler@2.24.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-reanimated@3.17.5(@babel/core@7.26.0)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 59 + version: 5.1.6(@types/react@19.0.14)(react-native-gesture-handler@2.24.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-reanimated@3.17.5(@babel/core@7.26.0)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 57 60 '@react-native-async-storage/async-storage': 58 61 specifier: 2.1.2 59 62 version: 2.1.2(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) ··· 62 65 version: 2.11.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 63 66 '@react-navigation/native': 64 67 specifier: ^7.1.8 65 - version: 7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 68 + version: 7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 66 69 '@rn-primitives/avatar': 67 70 specifier: ^1.1.0 68 71 version: 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 69 72 '@rn-primitives/hover-card': 70 73 specifier: ^1.1.0 71 - version: 1.1.0(@rn-primitives/portal@1.2.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 74 + version: 1.1.0(@rn-primitives/portal@1.3.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 72 75 '@rn-primitives/portal': 73 76 specifier: ^1.2.0 74 - version: 1.2.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 77 + version: 1.3.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 75 78 '@rn-primitives/progress': 76 79 specifier: ^1.1.0 77 80 version: 1.1.0(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) ··· 80 83 version: 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 81 84 '@rn-primitives/tooltip': 82 85 specifier: ^1.1.0 83 - version: 1.1.0(@rn-primitives/portal@1.2.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 86 + version: 1.1.0(@rn-primitives/portal@1.3.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 84 87 '@rn-primitives/types': 85 88 specifier: ^1.1.0 86 89 version: 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) ··· 98 101 version: 19.0.0-beta-37ed2a7-20241206(eslint@8.57.1) 99 102 expo: 100 103 specifier: ~53.0.9 101 - version: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 104 + version: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 102 105 expo-constants: 103 106 specifier: ^17.1.6 104 - version: 17.1.6(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 107 + version: 17.1.6(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 105 108 expo-font: 106 109 specifier: ~13.3.1 107 - version: 13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 110 + version: 13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 108 111 expo-image-picker: 109 112 specifier: ^16.1.4 110 - version: 16.1.4(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) 113 + version: 16.1.4(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) 111 114 expo-linking: 112 115 specifier: ~7.1.4 113 - version: 7.1.4(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 116 + version: 7.1.5(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 114 117 expo-router: 115 118 specifier: ~5.0.6 116 - version: 5.0.6(t72pujrpo4n6qjiotumnev34mm) 119 + version: 5.0.7(txbbyapused3uamjbdiravx25i) 117 120 expo-splash-screen: 118 121 specifier: ~0.30.8 119 - version: 0.30.8(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) 122 + version: 0.30.9(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) 120 123 expo-sqlite: 121 124 specifier: ^15.2.9 122 - version: 15.2.9(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 125 + version: 15.2.12(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 123 126 expo-status-bar: 124 127 specifier: ~2.2.3 125 128 version: 2.2.3(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 126 129 expo-system-ui: 127 130 specifier: ~5.0.7 128 - version: 5.0.7(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 131 + version: 5.0.8(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 129 132 expo-web-browser: 130 133 specifier: ~14.1.6 131 - version: 14.1.6(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 134 + version: 14.1.6(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 132 135 lucide-react-native: 133 136 specifier: ^0.507.0 134 137 version: 0.507.0(react-native-svg@15.11.2(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) ··· 167 170 version: 0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 168 171 tailwind-merge: 169 172 specifier: ^2.5.5 170 - version: 2.5.5 173 + version: 2.6.0 171 174 zustand: 172 175 specifier: ^5.0.4 173 - version: 5.0.4(@types/react@19.0.14)(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 176 + version: 5.0.5(@types/react@19.0.14)(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 174 177 devDependencies: 175 178 '@babel/core': 176 179 specifier: ^7.26.0 ··· 183 186 version: 5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 184 187 '@expo/prebuild-config': 185 188 specifier: ^9.0.5 186 - version: 9.0.5 189 + version: 9.0.6 187 190 '@pmmmwh/react-refresh-webpack-plugin': 188 191 specifier: ^0.5.15 189 192 version: 0.5.15(react-refresh@0.16.0)(type-fest@0.21.3)(webpack@5.97.1) ··· 231 234 dependencies: 232 235 '@atproto/api': 233 236 specifier: ^0.13.15 234 - version: 0.13.20 237 + version: 0.13.19 235 238 '@atproto/common': 236 239 specifier: ^0.4.4 237 - version: 0.4.6 240 + version: 0.4.4 238 241 '@atproto/identity': 239 242 specifier: ^0.4.3 240 - version: 0.4.5 243 + version: 0.4.3 241 244 '@atproto/lexicon': 242 245 specifier: ^0.4.2 243 - version: 0.4.4 246 + version: 0.4.3 244 247 '@atproto/oauth-client-node': 245 248 specifier: ^0.2.1 246 - version: 0.2.8 249 + version: 0.2.3 247 250 '@atproto/sync': 248 251 specifier: ^0.1.5 249 - version: 0.1.11 252 + version: 0.1.6 250 253 '@atproto/syntax': 251 254 specifier: ^0.3.0 252 255 version: 0.3.1 253 256 '@atproto/xrpc-server': 254 257 specifier: ^0.7.4 255 - version: 0.7.8 258 + version: 0.7.4 256 259 '@braintree/sanitize-url': 257 260 specifier: ^7.1.0 258 - version: 7.1.1 261 + version: 7.1.0 259 262 '@hono/node-server': 260 263 specifier: ^1.13.7 261 - version: 1.13.7(hono@4.6.17) 264 + version: 1.13.7(hono@4.6.13) 262 265 '@libsql/client': 263 266 specifier: ^0.14.0 264 267 version: 0.14.0 ··· 273 276 version: 16.4.7 274 277 drizzle-orm: 275 278 specifier: ^0.38.3 276 - version: 0.38.4(@libsql/client@0.14.0)(@types/react@19.0.14)(expo-sqlite@15.2.9(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(postgres@3.4.5)(react@19.0.0) 279 + version: 0.38.3(@libsql/client@0.14.0)(@types/react@19.0.14)(expo-sqlite@15.2.12(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(postgres@3.4.7)(react@19.0.0) 277 280 envalid: 278 281 specifier: ^8.0.0 279 282 version: 8.0.0 280 283 hono: 281 284 specifier: ^4.6.9 282 - version: 4.6.17 285 + version: 4.6.13 283 286 jose: 284 287 specifier: ^5.9.6 285 288 version: 5.9.6 286 289 pino: 287 290 specifier: ^9.5.0 288 - version: 9.6.0 291 + version: 9.5.0 289 292 turbo: 290 293 specifier: ^2.2.3 291 294 version: 2.3.3 ··· 295 298 devDependencies: 296 299 '@atproto/lex-cli': 297 300 specifier: ^0.5.4 298 - version: 0.5.6 301 + version: 0.5.4 299 302 '@teal/tsconfig': 300 303 specifier: workspace:* 301 304 version: link:../../packages/tsconfig 302 305 '@types/node': 303 306 specifier: ^20.17.6 304 - version: 20.17.14 307 + version: 20.17.9 305 308 drizzle-kit: 306 309 specifier: ^0.30.1 307 - version: 0.30.2 310 + version: 0.30.1 308 311 pino-pretty: 309 312 specifier: ^13.0.0 310 313 version: 13.0.0 ··· 313 316 version: 6.0.1 314 317 tsup: 315 318 specifier: ^8.3.5 316 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.6.1) 319 + version: 8.3.5(jiti@1.21.7)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.6.1) 317 320 tsx: 318 321 specifier: ^4.19.2 319 322 version: 4.19.2 320 323 typescript: 321 324 specifier: ^5.6.3 322 - version: 5.7.3 325 + version: 5.7.2 323 326 324 327 packages/db: 325 328 dependencies: ··· 331 334 version: link:../tsconfig 332 335 drizzle-kit: 333 336 specifier: ^0.30.1 334 - version: 0.30.2 337 + version: 0.30.1 335 338 drizzle-orm: 336 339 specifier: ^0.38.3 337 - version: 0.38.4(@libsql/client@0.14.0)(@types/react@19.0.14)(expo-sqlite@15.2.9(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(postgres@3.4.5)(react@19.0.0) 340 + version: 0.38.3(@libsql/client@0.14.0)(@types/react@19.0.14)(expo-sqlite@15.2.12(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(postgres@3.4.7)(react@19.0.0) 338 341 postgres: 339 342 specifier: ^3.4.5 340 - version: 3.4.5 343 + version: 3.4.7 341 344 devDependencies: 342 345 '@types/node': 343 346 specifier: ^20.17.6 344 - version: 20.17.14 347 + version: 20.17.9 345 348 346 349 packages/lexicons: 347 350 dependencies: 348 351 '@atproto/lex-cli': 349 352 specifier: ^0.5.4 350 - version: 0.5.6 353 + version: 0.5.4 351 354 '@atproto/lexicon': 352 355 specifier: ^0.4.2 353 - version: 0.4.4 356 + version: 0.4.3 354 357 '@atproto/xrpc-server': 355 358 specifier: ^0.7.4 356 - version: 0.7.8 359 + version: 0.7.4 357 360 '@teal/tsconfig': 358 361 specifier: workspace:* 359 362 version: link:../tsconfig ··· 383 386 '@aquareum/atproto-oauth-client-react-native@0.0.1': 384 387 resolution: {integrity: sha512-IoIcUuX2rKs/AS2u+72m9UWc0mldPTR4GgBHn4LIWtHLWjGTGdECwkw6iwshCM39KA15UhKGbByNQRG415hyfQ==} 385 388 386 - '@atproto-labs/did-resolver@0.1.12': 387 - resolution: {integrity: sha512-criWN7o21C5TFsauB+bGTlkqqerOU6gT2TbxdQVgZUWqNcfazUmUjT4gJAY02i+O4d3QmZa27fv9CcaRKWkSug==} 389 + '@atproto-labs/did-resolver@0.1.13': 390 + resolution: {integrity: sha512-DG3YNaCKc6PAIv1Gsz3E1Kufw2t14OBxe4LdKK7KKLCNoex51hm+A5yMevShe3BSll+QosqWYIEgkPSc5xBoGQ==} 388 391 389 392 '@atproto-labs/did-resolver@0.1.5': 390 393 resolution: {integrity: sha512-uoCb+P0N4du5NiZt6ohVEbSDdijXBJlQwSlWLHX0rUDtEVV+g3aEGe7jUW94lWpqQmRlQ5xcyd9owleMibNxZw==} 391 394 392 - '@atproto-labs/did-resolver@0.1.8': 393 - resolution: {integrity: sha512-wcbBTu0YsAUCzvKHTuk90ax4+gwj8wlPFY+rR96O7/rtSVjx4xz06Fdri0amAzSoupUeZ7swcZVKDqHD8KB8HA==} 394 - 395 - '@atproto-labs/did-resolver@0.1.9': 396 - resolution: {integrity: sha512-kGRQvbebfz+LV0pYl2nEz345Ca83NyIftye0qqjH+CyoJuwZbGUuZe7rbQafucm8UXYNsvPwuQXVst3mqyzVfg==} 395 + '@atproto-labs/did-resolver@0.1.6': 396 + resolution: {integrity: sha512-qddGpcjKj9SUMlZW1d+/dY/03CDVcmOAlAozXEXsU2H5OT1vFAdMmOp0VbwK0y99RH3DvAQtyQKiRzoPFqp8rA==} 397 397 398 398 '@atproto-labs/fetch-node@0.1.3': 399 399 resolution: {integrity: sha512-KX3ogPJt6dXNppWImQ9omfhrc8t73WrJaxHMphRAqQL8jXxKW5NBCTjSuwroBkJ1pj1aValBrc5NpdYu+H/9Qg==} 400 400 401 - '@atproto-labs/fetch-node@0.1.6': 402 - resolution: {integrity: sha512-MtisrDQZuBiR3yUyhVqaNrukGTZfZHANG23E1w5t4biz1ONWWSFc1CkqUGOHPJJ7JpjaNbHRf1kfKsMZotQZsQ==} 401 + '@atproto-labs/fetch-node@0.1.4': 402 + resolution: {integrity: sha512-hwYx0XpgIl2zydRy13DtWvywruuHk1EX+yCjqjgUIezUm8fi35ZN4QvR6INEm0MpN2MD/kQsImPbd8ZftzZ3zw==} 403 403 404 404 '@atproto-labs/fetch@0.1.1': 405 405 resolution: {integrity: sha512-X1zO1MDoJzEurbWXMAe1H8EZ995Xam/aXdxhGVrXmOMyPDuvBa1oxwh/kQNZRCKcMQUbiwkk+Jfq6ZkTuvGbww==} 406 406 407 - '@atproto-labs/fetch@0.2.0': 408 - resolution: {integrity: sha512-RD8grUzZdQaC+1GwObz6rZ7MKraS77Z72uZNvcqUzQEBc2oF7fTW6BtkI0csJMFkW+qWKlR3YQlZxsZQ4x6H3g==} 409 - 410 - '@atproto-labs/fetch@0.2.2': 411 - resolution: {integrity: sha512-QyafkedbFeVaN20DYUpnY2hcArYxjdThPXbYMqOSoZhcvkrUqaw4xDND4wZB5TBD9cq2yqe9V6mcw9P4XQKQuQ==} 407 + '@atproto-labs/fetch@0.1.2': 408 + resolution: {integrity: sha512-7mQQIRtVenqtdBQKCqoLjyAhPS2aA56EGEjyz5zB3sramM3qkrvzyusr55GAzGDS0tvB6cy9cDEtSLmfK7LUnA==} 412 409 413 - '@atproto-labs/handle-resolver-node@0.1.11': 414 - resolution: {integrity: sha512-Lfm3LgKr1dkHgnd8UX6JvyywflUJpRXQtZwgDXNnj+3nAb8amfDy+mfx0Cu8ym2T2uzEuGRnfmXzLEp7EKbADw==} 410 + '@atproto-labs/fetch@0.2.3': 411 + resolution: {integrity: sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw==} 415 412 416 413 '@atproto-labs/handle-resolver-node@0.1.7': 417 414 resolution: {integrity: sha512-3pXUB8/twMPXUz+zMjSVTA5acxnizC7PF+EsjLKwirwVzLRrTcFQkyHXGTrdUfIQq+S1eLq7b6H7ZKqMOX9VQQ==} 418 415 416 + '@atproto-labs/handle-resolver-node@0.1.8': 417 + resolution: {integrity: sha512-AlH7qRtmhZFRCcv1HK9OYiZpTFGcX39zjzzANq42zVLlfqoJr3ugnv7mAXGHE8woVguKtbypHnrVCDceoBAs2w==} 418 + 419 419 '@atproto-labs/handle-resolver@0.1.4': 420 420 resolution: {integrity: sha512-tnGUD2mQ6c8xHs3eeVJgwYqM3FHoTZZbOcOGKqO1A5cuIG+gElwEhpWwpwX5LI7FF4J8eS9BOHLl3NFS7Q8QXg==} 421 421 422 - '@atproto-labs/handle-resolver@0.1.5': 423 - resolution: {integrity: sha512-3Uv5DUswmiUWn0oO3XML7T6RiM8aq+A4lACBRRasegsr6fytxATJE38UiwDmDRWdXxhftnPlmTWfJ2oZ/pqDWQ==} 424 - 425 - '@atproto-labs/handle-resolver@0.1.6': 426 - resolution: {integrity: sha512-pLoerhISFvOSVWxQfSibWZFxzp0HDgpDKbQ2G0faIII/66Cg9avnaiQrW99QXUSijHw9/hv7msP4YGeEzmCH8g==} 427 - 428 422 '@atproto-labs/handle-resolver@0.1.8': 429 423 resolution: {integrity: sha512-Y0ckccoCGDo/3g4thPkgp9QcORmc+qqEaCBCYCZYtfLIQp4775u22wd+4fyEyJP4DqoReKacninkICgRGfs3dQ==} 430 424 431 - '@atproto-labs/identity-resolver@0.1.10': 432 - resolution: {integrity: sha512-V8cwLikQJrrIubZcbS3phiw3FZ4JleZ43EOyGq2pVBRsQgynSIB/tzTTw8UNuKPeqR/iK1CBjevnQJ4ENOr5AQ==} 433 - 434 - '@atproto-labs/identity-resolver@0.1.11': 435 - resolution: {integrity: sha512-8q7u9D8sJL6HHsrMIYKL6GktyR0PMaPhHsYeoyK42XxgzIty1tMSXWeci0IwtWzIZsfvonlls0lZtE1G7GJD8g==} 436 - 437 - '@atproto-labs/identity-resolver@0.1.16': 438 - resolution: {integrity: sha512-pFrtKT49cYBhCDd2U1t/CcUBiMmQzaNQxh8oSkDUlGs/K3P8rJFTAGAMm8UjokfGEKwF4hX9oo7O8Kn+GkyExw==} 425 + '@atproto-labs/identity-resolver@0.1.17': 426 + resolution: {integrity: sha512-EaH9Lm8M85IKRx+oWZ4tppYRVH8u+MYpEz1kjzYeM3ttZ2xcqKVmYHiOIgd5YPCVV2EIfXKnlM4soHQ+rZ1c6A==} 439 427 440 428 '@atproto-labs/identity-resolver@0.1.6': 441 429 resolution: {integrity: sha512-kq1yhpImGG1IUE8QEKj2IjSfNrkG2VailZRuiFLYdcszDEBDzr9HN3ElV42ebxhofuSFgKOCrYWJIUiLuXo6Uw==} 442 430 431 + '@atproto-labs/identity-resolver@0.1.7': 432 + resolution: {integrity: sha512-aRmY0cp+aFDgxAD62jjCPUDJMqryuXmt0hK9ls8LHeSzszr58BFDwybLaW6Izz2KISQlzu75Ia0c6uRymdmcYA==} 433 + 443 434 '@atproto-labs/pipe@0.1.0': 444 435 resolution: {integrity: sha512-ghOqHFyJlQVFPESzlVHjKroP0tPzbmG5Jms0dNI9yLDEfL8xp4OFPWLX4f6T8mRq69wWs4nIDM3sSsFbFqLa1w==} 436 + 437 + '@atproto-labs/pipe@0.1.1': 438 + resolution: {integrity: sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg==} 445 439 446 440 '@atproto-labs/simple-store-memory@0.1.1': 447 441 resolution: {integrity: sha512-PCRqhnZ8NBNBvLku53O56T0lsVOtclfIrQU/rwLCc4+p45/SBPrRYNBi6YFq5rxZbK6Njos9MCmILV/KLQxrWA==} ··· 455 449 '@atproto-labs/simple-store@0.2.0': 456 450 resolution: {integrity: sha512-0bRbAlI8Ayh03wRwncAMEAyUKtZ+AuTS1jgPrfym1WVOAOiottI/ZmgccqLl6w5MbxVcClNQF7WYGKvGwGoIhA==} 457 451 458 - '@atproto/api@0.13.20': 459 - resolution: {integrity: sha512-z/+CvG6BEttRHf856tKSe1AeUQNfrobRJldaHAthGmFk7O3wLZQyfcI9DUmBJQ9+4wAt0dZwvKWVGLZOV9eLHA==} 452 + '@atproto/api@0.13.19': 453 + resolution: {integrity: sha512-rLWQBZaOIk3ds1Fx9CwrdyX3X2GbdSEvVJ9mdSPNX40joiEaE1ljGMOcziFipbvZacXynozE4E0Sb1CgOhzfmA==} 460 454 461 - '@atproto/api@0.15.6': 462 - resolution: {integrity: sha512-hKwrBf60LcI4BqArWyrhWJWIpjwAWUJpW3PVvNzUB1q2W/ByC0JAuwq/F8tZpCEiiVBzHjHVRx4QNA2TA1cG3g==} 455 + '@atproto/api@0.15.14': 456 + resolution: {integrity: sha512-FHEMAdscG+r2OFcZUIzPyTDpwzRAyinRsIIaTcuqe0MgZWF4CEGNAKPos0IbecBzMxTOzUHE18dQDKhoXMdgvg==} 463 457 464 458 '@atproto/common-web@0.3.1': 465 459 resolution: {integrity: sha512-N7wiTnus5vAr+lT//0y8m/FaHHLJ9LpGuEwkwDAeV3LCiPif4m/FS8x/QOYrx1PdZQwKso95RAPzCGWQBH5j6Q==} 466 460 467 - '@atproto/common-web@0.3.2': 468 - resolution: {integrity: sha512-Vx0JtL1/CssJbFAb0UOdvTrkbUautsDfHNOXNTcX2vyPIxH9xOameSqLLunM1hZnOQbJwyjmQCt6TV+bhnanDg==} 469 - 470 461 '@atproto/common-web@0.4.2': 471 462 resolution: {integrity: sha512-vrXwGNoFGogodjQvJDxAeP3QbGtawgZute2ed1XdRO0wMixLk3qewtikZm06H259QDJVu6voKC5mubml+WgQUw==} 472 463 473 - '@atproto/common@0.4.6': 474 - resolution: {integrity: sha512-X33ZubLPrHLNur2Ln4tRP5TY0G0u/t9DyAeA5dgtTNGIXE3iJIlfiUSR0PW5s1iAvBbrrJK4BwaA2Pqsdl+RNw==} 464 + '@atproto/common@0.4.4': 465 + resolution: {integrity: sha512-58tMbn6A1Zu296s/l3uIj8z9d7IRHpZvLOfsFRikaQaYrzhJpL2aPY4uFQ8GJcxnsxeUnxBCrQz9we5jVVJI5Q==} 475 466 476 - '@atproto/crypto@0.4.3': 477 - resolution: {integrity: sha512-YSSUAvkx+ldpXw97NXZWfLx/prgh5YJ2K0BCw51JCJmXSRp6KhhwvOm4J+K/s5hwpssyuDCVTXknyS4PHwaK5g==} 467 + '@atproto/common@0.4.5': 468 + resolution: {integrity: sha512-LFAGqHcxCI5+b31Xgk+VQQtZU258iGPpHJzNeHVcdh6teIKZi4C2l6YV+m+3CEz+yYcfP7jjUmgqesx7l9Arsg==} 469 + 470 + '@atproto/crypto@0.4.2': 471 + resolution: {integrity: sha512-aeOfPQYCDbhn2hV06oBF2KXrWjf/BK4yL8lfANJKSmKl3tKWCkiW/moi643rUXXxSE72KtWtQeqvNFYnnFJ0ig==} 478 472 479 473 '@atproto/did@0.1.3': 480 474 resolution: {integrity: sha512-ULD8Gw/KRRwLFZ2Z2L4DjmdOMrg8IYYlcjdSc+GQ2/QJSVnD2zaJJVTLd3vls121wGt/583rNaiZTT2DpBze4w==} 481 475 482 - '@atproto/did@0.1.4': 483 - resolution: {integrity: sha512-dXi0uSmOla4s2JFM6RVnn8N7DtqJaI4F8Mx5/YI+WbQXzbdMzsFKcP2hFZVoIGqvKsDdLdcTWfawxlh/g8DW+A==} 484 - 485 476 '@atproto/did@0.1.5': 486 477 resolution: {integrity: sha512-8+1D08QdGE5TF0bB0vV8HLVrVZJeLNITpRTUVEoABNMRaUS7CoYSVb0+JNQDeJIVmqMjOL8dOjvCUDkp3gEaGQ==} 487 478 488 - '@atproto/identity@0.4.5': 489 - resolution: {integrity: sha512-IyW6wk+qfX+z/LmBdjatJgjSJWDTJLSCT/6yQUD/L0mkOjRdxiG7DoYIChaF3xHOPKiIuOGu/fuzhBMxVVcCcw==} 479 + '@atproto/identity@0.4.3': 480 + resolution: {integrity: sha512-DLXMWh57dHvIeBl+IvC+q20z0IdDZT1awOn84vDyxacL9DfhbiTy/zCUPFEzHyvfrilNG1tDA4zQzURubdFqNg==} 490 481 491 482 '@atproto/jwk-jose@0.1.2': 492 483 resolution: {integrity: sha512-lDwc/6lLn2aZ/JpyyggyjLFsJPMntrVzryyGUx5aNpuTS8SIuc4Ky0REhxqfLopQXJJZCuRRjagHG3uP05/moQ==} 493 - 494 - '@atproto/jwk-jose@0.1.3': 495 - resolution: {integrity: sha512-kPlX9n+WrSx1nzPODxeXncDZ5MqWOaneo+8zNCufIgHdzkDgrGmw8GraUmXZMxmsUthnx52B7vVMUapM2hHetw==} 496 484 497 485 '@atproto/jwk-webcrypto@0.1.2': 498 486 resolution: {integrity: sha512-vTBUbUZXh0GI+6KJiPGukmI4BQEHFAij8fJJ4WnReF/hefAs3ISZtrWZHGBebz+q2EcExYlnhhlmxvDzV7veGw==} 499 487 500 - '@atproto/jwk-webcrypto@0.1.3': 501 - resolution: {integrity: sha512-32gngFZSa0lK/31ttlY+BNrNh6BkCLA3voa7KHdN0r1YMfqFzTPX+RMAOQeBTK7FY9Z0SC65l0+6tSId24TgoQ==} 502 - 503 488 '@atproto/jwk@0.1.1': 504 489 resolution: {integrity: sha512-6h/bj1APUk7QcV9t/oA6+9DB5NZx9SZru9x+/pV5oHFI9Xz4ZuM5+dq1PfsJV54pZyqdnZ6W6M717cxoC7q7og==} 505 490 506 - '@atproto/jwk@0.1.2': 507 - resolution: {integrity: sha512-VTQOPaXevW42PQNUD6xJSa6BSjJKKz2DmJqaBP1TkCnLQSr1iU04yyvBSPijQpvWaZWnPnn06NQiorsv7INX6Q==} 508 - 509 - '@atproto/jwk@0.1.5': 510 - resolution: {integrity: sha512-OzZFLhX41TOcMeanP3aZlL5bLeaUIZT15MI4aU5cwflNq/rwpGOpz3uwDjZc8ytgUjuTQ8LabSz5jMmwoTSWFg==} 491 + '@atproto/jwk@0.2.0': 492 + resolution: {integrity: sha512-foOxExbw04XCaoLaGdv9BQj0Ac7snZsk6IpQjOsjYatf+i62Pi9bUkZ0MAoA75HPk8ZmKoDnbA60uBMmiOPPHQ==} 511 493 512 - '@atproto/lex-cli@0.5.6': 513 - resolution: {integrity: sha512-3XMZLoZ4PST84qj+MBC2yyg9CjR10suFt0dkWAUTnaJw5wffaBhm9reUqDAEmf+Gjxq1CAuCZ+ge7FNFd8S1/A==} 494 + '@atproto/lex-cli@0.5.4': 495 + resolution: {integrity: sha512-mNEPeQLXl3iCXPO/FSo0BTfP00lx+9xEQpf9LEpDuKA6WCWjIB7WHzU2VLk26NSftzH3sf6zf+A2yZ+WWRbYpw==} 514 496 hasBin: true 515 497 516 - '@atproto/lex-cli@0.8.1': 517 - resolution: {integrity: sha512-0Ns6kX46gum2jU8bpvWCSVqoYhjmJrOGR/NLfLHgPbJtBlyxMGQAxqpy1x6zOi6SkkRGWYhHvRfr5J8lTHbxjA==} 498 + '@atproto/lex-cli@0.8.2': 499 + resolution: {integrity: sha512-yNQFYBV3tBBLnVrRUtUBlx/WIF4ypMFsvOsCLjA7pHL1SyW9JbczSEAoiNtoDmPc4UXCjMtXggz0ovBG8lynNA==} 518 500 engines: {node: '>=18.7.0'} 519 501 hasBin: true 520 502 521 503 '@atproto/lexicon@0.4.11': 522 504 resolution: {integrity: sha512-btefdnvNz2Ao2I+qbmj0F06HC8IlrM/IBz6qOBS50r0S6uDf5tOO+Mv2tSVdimFkdzyDdLtBI1sV36ONxz2cOw==} 523 505 506 + '@atproto/lexicon@0.4.3': 507 + resolution: {integrity: sha512-lFVZXe1S1pJP0dcxvJuHP3r/a+EAIBwwU7jUK+r8iLhIja+ml6NmYv8KeFHmIJATh03spEQ9s02duDmFVdCoXg==} 508 + 524 509 '@atproto/lexicon@0.4.4': 525 510 resolution: {integrity: sha512-QFEmr3rpj/RoAmfX9ALU/asBG/rsVtQZnw+9nOB1/AuIwoxXd+ZyndR6lVUc2+DL4GEjl6W2yvBru5xbQIZWyA==} 526 511 527 - '@atproto/lexicon@0.4.5': 528 - resolution: {integrity: sha512-fljWqMGKn+XWtTprBcS3F1hGBREnQYh6qYHv2sjENucc7REms1gtmZXSerB9N6pVeHVNOnXiILdukeAcic5OEw==} 529 - 530 512 '@atproto/oauth-client-browser@0.3.2': 531 513 resolution: {integrity: sha512-Nt9tPxeJTwsX8i6du0dSMonymHHpOVnt67bfA49LpwAS39nNd9zY6yjOrqj0suRwFhoGpvO2e+I35lqe30L+Ig==} 532 514 533 - '@atproto/oauth-client-node@0.2.8': 534 - resolution: {integrity: sha512-EHxdfNpRvwnlxHFCYjl5+ckmPKwYe/jSMN2RksudrSg/XivRzJisgBMOsQ2FnuXIiC9eh4HZ+MrxnoEpT20tDA==} 535 - 536 - '@atproto/oauth-client@0.3.16': 537 - resolution: {integrity: sha512-AEtGLOXRJzBcBa8LyUXwFf/M7cZc+CcOBjLsiqmVQriSwccfyTkALgiyM0UcRHJqlwtLPuf9RYtgKPc8rW5F/w==} 515 + '@atproto/oauth-client-node@0.2.3': 516 + resolution: {integrity: sha512-crHxZaP9T/i7O9fOhALcFtW1EP/tVblDnWoaIiZ3vL/hvVLwSUad/wvG2WPcVURzLSbigDInhn7rZZSzLxJacg==} 538 517 539 518 '@atproto/oauth-client@0.3.2': 540 519 resolution: {integrity: sha512-/HUlv5dnR1am4BQlVYSuevGf4mKJ5RMkElnum8lbwRDewKyzqHwdtJWeNcfcPFtDhUKg0U2pWfRv8ZZd6kk9dQ==} 541 520 542 - '@atproto/oauth-client@0.3.7': 543 - resolution: {integrity: sha512-CXikk9FwkL8sEATHZlAEM3qsIjIT8wkh9EShXceEgS3f4BSAbSpnGvYjiV2wdrykSVmbMWH1wynl6T/aeHQJEg==} 521 + '@atproto/oauth-client@0.3.21': 522 + resolution: {integrity: sha512-a+YM3aaOAY8/otlAnYmXC0XO+KLOo2cZGHwVvudTSnzwpps8sxhuELdPFl3JN16fS45TUnkYUIaqBgb9MLpx8w==} 544 523 545 - '@atproto/oauth-client@0.3.8': 546 - resolution: {integrity: sha512-nItyflIb9GiOHVVZbnnBBPGZJ+21k2p7hMZc4HdmizhmxJtj/Ocwguyz8AA/AcEpHnsM4o29yWZaZry+QPhzvw==} 524 + '@atproto/oauth-client@0.3.3': 525 + resolution: {integrity: sha512-qC6ekTdbUrXxDwuUC9jInWw7TuJYkl/EuReoLcvZ7dv9KbCUEuoYT0TNROLGp24cxRH65q/PVlp10Ov7lkxteg==} 547 526 548 527 '@atproto/oauth-types@0.2.1': 549 528 resolution: {integrity: sha512-hDisUXzcq5KU1HMuCYZ8Kcz7BePl7V11bFjjgZvND3mdSphiyBpJ8MCNn3QzAa6cXpFo0w9PDcYMAlCCRZHdVw==} 550 529 551 - '@atproto/oauth-types@0.2.2': 552 - resolution: {integrity: sha512-UMTfJwKD/mIZEXxVT02XWYMtRJAu4iytxhlScH48Q/40nOa6oV4wUFij0gnV4NAQkjHMaYh39ChRMjjKHeypJA==} 530 + '@atproto/oauth-types@0.2.8': 531 + resolution: {integrity: sha512-xcYI2JmhrWwscePDoaKeDawVCCZkcvBqrBFMpMk4gf/OujH0pNSKBD/aWsayc6WvujVbTqwrG2hwPLfRqzJbwg==} 553 532 554 - '@atproto/oauth-types@0.2.7': 555 - resolution: {integrity: sha512-2SlDveiSI0oowC+sfuNd/npV8jw/FhokSS26qyUyldTg1g9ZlhxXUfMP4IZOPeZcVn9EszzQRHs1H9ZJqVQIew==} 533 + '@atproto/repo@0.5.5': 534 + resolution: {integrity: sha512-Zu1tw42KBVyFzIh1XYSIvm8V+V9oEKWJR7NnHBgeSMwCc9QwM32jO7uqgvEjZYEXgdYKanGhv/YHLyxtZa5Ckg==} 556 535 557 - '@atproto/repo@0.6.2': 558 - resolution: {integrity: sha512-0YEWJ38Sj8SwhD8GGQ7Q6GDeZppsRae4JfNLQmtPgAddt5A4iNIK5HLdpGGlT+dC0/ElsEbQpY7mXLuP92Wbtw==} 559 - 560 - '@atproto/sync@0.1.11': 561 - resolution: {integrity: sha512-+Wa+7AxEdL8R7iLohyBMzMQ5tHwHkgrPt0Tu6W9HLZ/fBh2yt09vlD10SU6NifX0eC8kpA3letnxUD3nu5bDBQ==} 536 + '@atproto/sync@0.1.6': 537 + resolution: {integrity: sha512-9lqe6E6fIns28TJyQufLCVefMxmK3bvEfQBhmXJBGZMHuKlH8+F5P9DfnHv6vs6ygfmHIUIjYDWqJu/rpt8pzw==} 562 538 563 539 '@atproto/syntax@0.3.1': 564 540 resolution: {integrity: sha512-fzW0Mg1QUOVCWUD3RgEsDt6d1OZ6DdFmbKcDdbzUfh0t4rhtRAC05KbZYmxuMPWDAiJ4BbbQ5dkAc/mNypMXkw==} ··· 566 542 '@atproto/syntax@0.4.0': 567 543 resolution: {integrity: sha512-b9y5ceHS8YKOfP3mdKmwAx5yVj9294UN7FG2XzP6V5aKUdFazEYRnR9m5n5ZQFKa3GNvz7de9guZCJ/sUTcOAA==} 568 544 569 - '@atproto/xrpc-server@0.7.8': 570 - resolution: {integrity: sha512-0QlNPYcxI37AJLL9OffQrkFI5F5SkVKf3VvNkQFVNaOe1eqdu4lty8VVVrweA57EnnOO8W4xVlc9xgVa33Gbyg==} 545 + '@atproto/xrpc-server@0.7.4': 546 + resolution: {integrity: sha512-MrAwxfJBQm/kCol3D8qc+vpQzBMzLqvtUbauSSfVVJ10PlGtxg4LlXqcjkAuhrjyrqp3dQH9LHuhDpgVQK+G3w==} 571 547 572 548 '@atproto/xrpc@0.6.4': 573 549 resolution: {integrity: sha512-9ZAJ8nsXTqC4XFyS0E1Wlg7bAvonhXQNQ3Ocs1L1LIwFLXvsw/4fNpIHXxvXvqTCVeyHLbImOnE9UiO1c/qIYA==} 574 550 575 551 '@atproto/xrpc@0.6.5': 576 552 resolution: {integrity: sha512-t6u8iPEVbWge5RhzKZDahSzNDYIAxUtop6Q/X/apAZY1rgreVU0/1sSvvRoRFH19d3UIKjYdLuwFqMi9w8nY3Q==} 577 - 578 - '@atproto/xrpc@0.6.6': 579 - resolution: {integrity: sha512-umXEYVMo9/pyIBoKmIAIi64RXDW9tSXY+wqztlQ6I2GZtjLfNZqmAWU+wADk3SxUe54mvjxxGyA4TtyGtDMfhA==} 580 - 581 - '@atproto/xrpc@0.6.7': 582 - resolution: {integrity: sha512-pbzZIONIskyGKxxG3s2wB7rQ2W1xu3ycfeYhKwk/E/ippeJFVxcof64iSC7f22+7JSKUJcxBeZ1piBB82vLj7g==} 583 553 584 554 '@atproto/xrpc@0.7.0': 585 555 resolution: {integrity: sha512-SfhP9dGx2qclaScFDb58Jnrmim5nk4geZXCqg6sB0I/KZhZEkr9iIx1hLCp+sxkIfEsmEJjeWO4B0rjUIJW5cw==} ··· 1088 1058 resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} 1089 1059 engines: {node: '>=6.9.0'} 1090 1060 1091 - '@braintree/sanitize-url@7.1.1': 1092 - resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} 1061 + '@braintree/sanitize-url@7.1.0': 1062 + resolution: {integrity: sha512-o+UlMLt49RvtCASlOMW0AkHnabN9wR9rwCCherxO0yG4Npy34GkvrAqdXQvrhNs+jh+gkK8gB8Lf05qL/O7KWg==} 1093 1063 1094 1064 '@cbor-extract/cbor-extract-darwin-arm64@2.2.0': 1095 1065 resolution: {integrity: sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==} ··· 1155 1125 cpu: [ppc64] 1156 1126 os: [aix] 1157 1127 1158 - '@esbuild/aix-ppc64@0.24.2': 1159 - resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} 1128 + '@esbuild/aix-ppc64@0.24.0': 1129 + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} 1160 1130 engines: {node: '>=18'} 1161 1131 cpu: [ppc64] 1162 1132 os: [aix] ··· 1179 1149 cpu: [arm64] 1180 1150 os: [android] 1181 1151 1182 - '@esbuild/android-arm64@0.24.2': 1183 - resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} 1152 + '@esbuild/android-arm64@0.24.0': 1153 + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} 1184 1154 engines: {node: '>=18'} 1185 1155 cpu: [arm64] 1186 1156 os: [android] ··· 1203 1173 cpu: [arm] 1204 1174 os: [android] 1205 1175 1206 - '@esbuild/android-arm@0.24.2': 1207 - resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} 1176 + '@esbuild/android-arm@0.24.0': 1177 + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} 1208 1178 engines: {node: '>=18'} 1209 1179 cpu: [arm] 1210 1180 os: [android] ··· 1227 1197 cpu: [x64] 1228 1198 os: [android] 1229 1199 1230 - '@esbuild/android-x64@0.24.2': 1231 - resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} 1200 + '@esbuild/android-x64@0.24.0': 1201 + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} 1232 1202 engines: {node: '>=18'} 1233 1203 cpu: [x64] 1234 1204 os: [android] ··· 1251 1221 cpu: [arm64] 1252 1222 os: [darwin] 1253 1223 1254 - '@esbuild/darwin-arm64@0.24.2': 1255 - resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} 1224 + '@esbuild/darwin-arm64@0.24.0': 1225 + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} 1256 1226 engines: {node: '>=18'} 1257 1227 cpu: [arm64] 1258 1228 os: [darwin] ··· 1275 1245 cpu: [x64] 1276 1246 os: [darwin] 1277 1247 1278 - '@esbuild/darwin-x64@0.24.2': 1279 - resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} 1248 + '@esbuild/darwin-x64@0.24.0': 1249 + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} 1280 1250 engines: {node: '>=18'} 1281 1251 cpu: [x64] 1282 1252 os: [darwin] ··· 1299 1269 cpu: [arm64] 1300 1270 os: [freebsd] 1301 1271 1302 - '@esbuild/freebsd-arm64@0.24.2': 1303 - resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} 1272 + '@esbuild/freebsd-arm64@0.24.0': 1273 + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} 1304 1274 engines: {node: '>=18'} 1305 1275 cpu: [arm64] 1306 1276 os: [freebsd] ··· 1323 1293 cpu: [x64] 1324 1294 os: [freebsd] 1325 1295 1326 - '@esbuild/freebsd-x64@0.24.2': 1327 - resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} 1296 + '@esbuild/freebsd-x64@0.24.0': 1297 + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} 1328 1298 engines: {node: '>=18'} 1329 1299 cpu: [x64] 1330 1300 os: [freebsd] ··· 1347 1317 cpu: [arm64] 1348 1318 os: [linux] 1349 1319 1350 - '@esbuild/linux-arm64@0.24.2': 1351 - resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} 1320 + '@esbuild/linux-arm64@0.24.0': 1321 + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} 1352 1322 engines: {node: '>=18'} 1353 1323 cpu: [arm64] 1354 1324 os: [linux] ··· 1371 1341 cpu: [arm] 1372 1342 os: [linux] 1373 1343 1374 - '@esbuild/linux-arm@0.24.2': 1375 - resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} 1344 + '@esbuild/linux-arm@0.24.0': 1345 + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} 1376 1346 engines: {node: '>=18'} 1377 1347 cpu: [arm] 1378 1348 os: [linux] ··· 1395 1365 cpu: [ia32] 1396 1366 os: [linux] 1397 1367 1398 - '@esbuild/linux-ia32@0.24.2': 1399 - resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} 1368 + '@esbuild/linux-ia32@0.24.0': 1369 + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} 1400 1370 engines: {node: '>=18'} 1401 1371 cpu: [ia32] 1402 1372 os: [linux] ··· 1419 1389 cpu: [loong64] 1420 1390 os: [linux] 1421 1391 1422 - '@esbuild/linux-loong64@0.24.2': 1423 - resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} 1392 + '@esbuild/linux-loong64@0.24.0': 1393 + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} 1424 1394 engines: {node: '>=18'} 1425 1395 cpu: [loong64] 1426 1396 os: [linux] ··· 1443 1413 cpu: [mips64el] 1444 1414 os: [linux] 1445 1415 1446 - '@esbuild/linux-mips64el@0.24.2': 1447 - resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} 1416 + '@esbuild/linux-mips64el@0.24.0': 1417 + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} 1448 1418 engines: {node: '>=18'} 1449 1419 cpu: [mips64el] 1450 1420 os: [linux] ··· 1467 1437 cpu: [ppc64] 1468 1438 os: [linux] 1469 1439 1470 - '@esbuild/linux-ppc64@0.24.2': 1471 - resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} 1440 + '@esbuild/linux-ppc64@0.24.0': 1441 + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} 1472 1442 engines: {node: '>=18'} 1473 1443 cpu: [ppc64] 1474 1444 os: [linux] ··· 1491 1461 cpu: [riscv64] 1492 1462 os: [linux] 1493 1463 1494 - '@esbuild/linux-riscv64@0.24.2': 1495 - resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} 1464 + '@esbuild/linux-riscv64@0.24.0': 1465 + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} 1496 1466 engines: {node: '>=18'} 1497 1467 cpu: [riscv64] 1498 1468 os: [linux] ··· 1515 1485 cpu: [s390x] 1516 1486 os: [linux] 1517 1487 1518 - '@esbuild/linux-s390x@0.24.2': 1519 - resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} 1488 + '@esbuild/linux-s390x@0.24.0': 1489 + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} 1520 1490 engines: {node: '>=18'} 1521 1491 cpu: [s390x] 1522 1492 os: [linux] ··· 1539 1509 cpu: [x64] 1540 1510 os: [linux] 1541 1511 1542 - '@esbuild/linux-x64@0.24.2': 1543 - resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} 1512 + '@esbuild/linux-x64@0.24.0': 1513 + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} 1544 1514 engines: {node: '>=18'} 1545 1515 cpu: [x64] 1546 1516 os: [linux] 1547 1517 1548 - '@esbuild/netbsd-arm64@0.24.2': 1549 - resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} 1550 - engines: {node: '>=18'} 1551 - cpu: [arm64] 1552 - os: [netbsd] 1553 - 1554 1518 '@esbuild/netbsd-x64@0.18.20': 1555 1519 resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} 1556 1520 engines: {node: '>=12'} ··· 1569 1533 cpu: [x64] 1570 1534 os: [netbsd] 1571 1535 1572 - '@esbuild/netbsd-x64@0.24.2': 1573 - resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} 1536 + '@esbuild/netbsd-x64@0.24.0': 1537 + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} 1574 1538 engines: {node: '>=18'} 1575 1539 cpu: [x64] 1576 1540 os: [netbsd] ··· 1581 1545 cpu: [arm64] 1582 1546 os: [openbsd] 1583 1547 1584 - '@esbuild/openbsd-arm64@0.24.2': 1585 - resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} 1548 + '@esbuild/openbsd-arm64@0.24.0': 1549 + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} 1586 1550 engines: {node: '>=18'} 1587 1551 cpu: [arm64] 1588 1552 os: [openbsd] ··· 1605 1569 cpu: [x64] 1606 1570 os: [openbsd] 1607 1571 1608 - '@esbuild/openbsd-x64@0.24.2': 1609 - resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} 1572 + '@esbuild/openbsd-x64@0.24.0': 1573 + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} 1610 1574 engines: {node: '>=18'} 1611 1575 cpu: [x64] 1612 1576 os: [openbsd] ··· 1629 1593 cpu: [x64] 1630 1594 os: [sunos] 1631 1595 1632 - '@esbuild/sunos-x64@0.24.2': 1633 - resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} 1596 + '@esbuild/sunos-x64@0.24.0': 1597 + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} 1634 1598 engines: {node: '>=18'} 1635 1599 cpu: [x64] 1636 1600 os: [sunos] ··· 1653 1617 cpu: [arm64] 1654 1618 os: [win32] 1655 1619 1656 - '@esbuild/win32-arm64@0.24.2': 1657 - resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} 1620 + '@esbuild/win32-arm64@0.24.0': 1621 + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} 1658 1622 engines: {node: '>=18'} 1659 1623 cpu: [arm64] 1660 1624 os: [win32] ··· 1677 1641 cpu: [ia32] 1678 1642 os: [win32] 1679 1643 1680 - '@esbuild/win32-ia32@0.24.2': 1681 - resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} 1644 + '@esbuild/win32-ia32@0.24.0': 1645 + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} 1682 1646 engines: {node: '>=18'} 1683 1647 cpu: [ia32] 1684 1648 os: [win32] ··· 1701 1665 cpu: [x64] 1702 1666 os: [win32] 1703 1667 1704 - '@esbuild/win32-x64@0.24.2': 1705 - resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} 1668 + '@esbuild/win32-x64@0.24.0': 1669 + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} 1706 1670 engines: {node: '>=18'} 1707 1671 cpu: [x64] 1708 1672 os: [win32] ··· 1713 1677 peerDependencies: 1714 1678 eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 1715 1679 1680 + '@eslint-community/eslint-utils@4.7.0': 1681 + resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} 1682 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1683 + peerDependencies: 1684 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 1685 + 1716 1686 '@eslint-community/regexpp@4.12.1': 1717 1687 resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 1718 1688 engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} ··· 1725 1695 resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} 1726 1696 engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1727 1697 1728 - '@expo/cli@0.24.13': 1729 - resolution: {integrity: sha512-2LSdbvYs+WmUljnplQXMCUyNzyX4H+F4l8uExfA1hud25Bl5kyaGrx1jjtgNxMTXmfmMjvgBdK798R50imEhkA==} 1698 + '@expo/cli@0.24.14': 1699 + resolution: {integrity: sha512-o+QYyfIBhSRTgaywKTLJhm2Fg5PrSeUVCXS+uQySamgoMjLNhHa8QwE64mW/FmJr5hZLiqUEQxb60FK4JcyqXg==} 1730 1700 hasBin: true 1731 1701 1732 1702 '@expo/code-signing-certificates@0.0.5': ··· 1735 1705 '@expo/config-plugins@10.0.2': 1736 1706 resolution: {integrity: sha512-TzUn3pPdpwCS0yYaSlZOClgDmCX8N4I2lfgitX5oStqmvpPtB+vqtdyqsVM02fQ2tlJIAqwBW+NHaHqqy8Jv7g==} 1737 1707 1738 - '@expo/config-types@53.0.3': 1739 - resolution: {integrity: sha512-V1e6CiM4TXtGxG/W2Msjp/QOx/vikLo5IUGMvEMjgAglBfGYx3PXfqsUb5aZDt6kqA3bDDwFuZoS5vNm/SYwSg==} 1740 - 1741 1708 '@expo/config-types@53.0.4': 1742 1709 resolution: {integrity: sha512-0s+9vFx83WIToEr0Iwy4CcmiUXa5BgwBmEjylBB2eojX5XAMm9mJvw9KpjAb8m7zq2G0Q6bRbeufkzgbipuNQg==} 1743 1710 1744 1711 '@expo/config@11.0.10': 1745 1712 resolution: {integrity: sha512-8S8Krr/c5lnl0eF03tA2UGY9rGBhZcbWKz2UWw5dpL/+zstwUmog8oyuuC8aRcn7GiTQLlbBkxcMeT8sOGlhbA==} 1746 1713 1747 - '@expo/config@11.0.8': 1748 - resolution: {integrity: sha512-udLrpW4SvXUwF+ntJ0RzEjRbFoSS7Tr/rMrvhfISHWGbcZ09+c+QkI0O8y1sEBWQDpI/IlC9REPqGm5b7HweDw==} 1749 - 1750 1714 '@expo/devcert@1.1.4': 1751 1715 resolution: {integrity: sha512-fqBODr8c72+gBSX5Ty3SIzaY4bXainlpab78+vEYEKL3fXmsOswMLf0+KE36mUEAa36BYabX7K3EiXOXX5OPMw==} 1752 1716 1753 1717 '@expo/env@1.0.5': 1754 1718 resolution: {integrity: sha512-dtEZ4CAMaVrFu2+tezhU3FoGWtbzQl50xV+rNJE5lYVRjUflWiZkVHlHkWUlPAwDPifLy4TuissVfScGGPWR5g==} 1755 1719 1756 - '@expo/fingerprint@0.12.4': 1757 - resolution: {integrity: sha512-HOJVvjiQYVHIouCOfFf4JRrQvBDIV/12GVG2iwbw1iGwmpQVkPgEXa9lN0f2yuS4J3QXHs73wr9jvuCjMmJlfw==} 1720 + '@expo/fingerprint@0.13.0': 1721 + resolution: {integrity: sha512-3IwpH0p3uO8jrJSLOUNDzJVh7VEBod0emnCBq0hD72sy6ICmzauM6Xf4he+2Tip7fzImCJRd63GaehV+CCtpvA==} 1758 1722 hasBin: true 1759 1723 1760 1724 '@expo/image-utils@0.7.4': ··· 1780 1744 1781 1745 '@expo/plist@0.3.4': 1782 1746 resolution: {integrity: sha512-MhBLaUJNe9FQDDU2xhSNS4SAolr6K2wuyi4+A79vYuXLkAoICsbTwcGEQJN5jPY6D9izO/jsXh5k0h+mIWQMdw==} 1783 - 1784 - '@expo/prebuild-config@9.0.5': 1785 - resolution: {integrity: sha512-oiSVU5ePu9lsOvn5p4xplqjzPlcZHzKYwzuonTa9GCH1GxcOEIBsvMVQiHBXHtqvgV2dztjm34kdXV//+9jtCA==} 1786 1747 1787 1748 '@expo/prebuild-config@9.0.6': 1788 1749 resolution: {integrity: sha512-HDTdlMkTQZ95rd6EpvuLM+xkZV03yGLc38FqI37qKFLJtUN1WnYVaWsuXKoljd1OrVEVsHe6CfqKwaPZ52D56Q==} ··· 1826 1787 '@floating-ui/utils@0.2.8': 1827 1788 resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} 1828 1789 1829 - '@gorhom/bottom-sheet@5.1.4': 1830 - resolution: {integrity: sha512-A49fbCLL3wxDhGvEsMzHDpBF+BqVCbXHEhLJo9plPSAxNjjPJFzJ65axj95R38+iqML0gmXyawpZ45PD4EEMAw==} 1790 + '@gorhom/bottom-sheet@5.1.6': 1791 + resolution: {integrity: sha512-0b5tQj4fTaZAjST1PnkCp0p7d8iRqMezibTcqc8Kkn3N23Vn6upORNTD1fH0bLfwRt6e0WnZ7DjAmq315lrcKQ==} 1831 1792 peerDependencies: 1832 1793 '@types/react': '*' 1833 1794 '@types/react-native': '*' ··· 1866 1827 resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} 1867 1828 deprecated: Use @eslint/object-schema instead 1868 1829 1869 - '@ianvs/prettier-plugin-sort-imports@4.4.1': 1870 - resolution: {integrity: sha512-F0/Hrcfpy8WuxlQyAWJTEren/uxKhYonOGY4OyWmwRdeTvkh9mMSCxowZLjNkhwi/2ipqCgtXwwOk7tW0mWXkA==} 1830 + '@ianvs/prettier-plugin-sort-imports@4.4.2': 1831 + resolution: {integrity: sha512-KkVFy3TLh0OFzimbZglMmORi+vL/i2OFhEs5M07R9w0IwWAGpsNNyE4CY/2u0YoMF5bawKC2+8/fUH60nnNtjw==} 1871 1832 peerDependencies: 1872 1833 '@vue/compiler-sfc': 2.7.x || 3.x 1873 - prettier: 2 || 3 1834 + prettier: 2 || 3 || ^4.0.0-0 1874 1835 peerDependenciesMeta: 1875 1836 '@vue/compiler-sfc': 1876 1837 optional: true ··· 1925 1886 resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} 1926 1887 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1927 1888 1928 - '@jridgewell/gen-mapping@0.3.8': 1929 - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 1889 + '@jridgewell/gen-mapping@0.3.5': 1890 + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 1930 1891 engines: {node: '>=6.0.0'} 1931 1892 1932 1893 '@jridgewell/resolve-uri@3.1.2': ··· 2003 1964 '@neon-rs/load@0.0.4': 2004 1965 resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} 2005 1966 2006 - '@noble/curves@1.8.1': 2007 - resolution: {integrity: sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==} 1967 + '@noble/curves@1.7.0': 1968 + resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} 2008 1969 engines: {node: ^14.21.3 || >=16} 2009 1970 2010 - '@noble/hashes@1.7.1': 2011 - resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==} 1971 + '@noble/hashes@1.6.0': 1972 + resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} 1973 + engines: {node: ^14.21.3 || >=16} 1974 + 1975 + '@noble/hashes@1.6.1': 1976 + resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} 2012 1977 engines: {node: ^14.21.3 || >=16} 2013 1978 2014 1979 '@nodelib/fs.scandir@2.1.5': ··· 2103 2068 '@types/react': 2104 2069 optional: true 2105 2070 2106 - '@radix-ui/react-dismissable-layer@1.1.2': 2107 - resolution: {integrity: sha512-kEHnlhv7wUggvhuJPkyw4qspXLJOdYoAP4dO2c8ngGuXTq1w/HZp1YeVB+NQ2KbH1iEG+pvOCGYSqh9HZOz6hg==} 2071 + '@radix-ui/react-dismissable-layer@1.1.3': 2072 + resolution: {integrity: sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==} 2108 2073 peerDependencies: 2109 2074 '@types/react': '*' 2110 2075 '@types/react-dom': '*' ··· 2138 2103 '@types/react-dom': 2139 2104 optional: true 2140 2105 2141 - '@radix-ui/react-hover-card@1.1.3': 2142 - resolution: {integrity: sha512-D+o67Fd7fjkW10ycdsse1sYuGV9dNQKOhoVii7ksSfUYqQiTPxz9bP/Vu1g6huJ1651/2j8q7JGGWSIBIuGO1Q==} 2106 + '@radix-ui/react-hover-card@1.1.4': 2107 + resolution: {integrity: sha512-QSUUnRA3PQ2UhvoCv3eYvMnCAgGQW+sTu86QPuNb+ZMi+ZENd6UWpiXbcWDQ4AEaKF9KKpCHBeaJz9Rw6lRlaQ==} 2143 2108 peerDependencies: 2144 2109 '@types/react': '*' 2145 2110 '@types/react-dom': '*' ··· 2160 2125 '@types/react': 2161 2126 optional: true 2162 2127 2163 - '@radix-ui/react-popover@1.1.3': 2164 - resolution: {integrity: sha512-MBDKFwRe6fi0LT8m/Jl4V8J3WbS/UfXJtsgg8Ym5w5AyPG3XfHH4zhBp1P8HmZK83T8J7UzVm6/JpDE3WMl1Dw==} 2128 + '@radix-ui/react-popover@1.1.4': 2129 + resolution: {integrity: sha512-aUACAkXx8LaFymDma+HQVji7WhvEhpFJ7+qPz17Nf4lLZqtreGOFRiNQWQmhzp7kEWg9cOyyQJpdIMUMPc/CPw==} 2165 2130 peerDependencies: 2166 2131 '@types/react': '*' 2167 2132 '@types/react-dom': '*' ··· 2256 2221 '@types/react': 2257 2222 optional: true 2258 2223 2259 - '@radix-ui/react-tooltip@1.1.5': 2260 - resolution: {integrity: sha512-IucoQPcK5nwUuztaxBQvudvYwH58wtRcJlv1qvaMSyIbL9dEBfFN0vRf/D8xDbu6HmAJLlNGty4z8Na+vIqe9Q==} 2224 + '@radix-ui/react-tooltip@1.1.6': 2225 + resolution: {integrity: sha512-TLB5D8QLExS1uDn7+wH/bjEmRurNMTzNrtq7IjaS4kjion9NtzsTGkvR5+i7yc9q01Pi2KMM2cN3f8UG4IvvXA==} 2261 2226 peerDependencies: 2262 2227 '@types/react': '*' 2263 2228 '@types/react-dom': '*' ··· 2354 2319 resolution: {integrity: sha512-5h2Z7/+/HL/0h88s0JHOdRCW4CXMCJoROxqzHqxdrjGL6EBD1DdaB4ZqkCOEVSW4Vjhir5Qb97C8i/MPWEYPtg==} 2355 2320 engines: {node: '>=18'} 2356 2321 2357 - '@react-native/babel-plugin-codegen@0.79.2': 2358 - resolution: {integrity: sha512-d+NB7Uosn2ZWd4O4+7ZkB6q1a+0z2opD/4+Bzhk/Tv6fc5FrSftK2Noqxvo3/bhbdGFVPxf0yvLE8et4W17x/Q==} 2322 + '@react-native/babel-plugin-codegen@0.79.3': 2323 + resolution: {integrity: sha512-Zb8F4bSEKKZfms5n1MQ0o5mudDcpAINkKiFuFTU0PErYGjY3kZ+JeIP+gS6KCXsckxCfMEKQwqKicP/4DWgsZQ==} 2359 2324 engines: {node: '>=18'} 2360 2325 2361 - '@react-native/babel-preset@0.79.2': 2362 - resolution: {integrity: sha512-/HNu869oUq4FUXizpiNWrIhucsYZqu0/0spudJEzk9SEKar0EjVDP7zkg/sKK+KccNypDQGW7nFXT8onzvQ3og==} 2326 + '@react-native/babel-preset@0.79.3': 2327 + resolution: {integrity: sha512-VHGNP02bDD2Ul1my0pLVwe/0dsEBHxR343ySpgnkCNEEm9C1ANQIL2wvnJrHZPcqfAkWfFQ8Ln3t+6fdm4A/Dg==} 2363 2328 engines: {node: '>=18'} 2364 2329 peerDependencies: 2365 2330 '@babel/core': '*' 2366 2331 2367 2332 '@react-native/codegen@0.79.2': 2368 2333 resolution: {integrity: sha512-8JTlGLuLi1p8Jx2N/enwwEd7/2CfrqJpv90Cp77QLRX3VHF2hdyavRIxAmXMwN95k+Me7CUuPtqn2X3IBXOWYg==} 2334 + engines: {node: '>=18'} 2335 + peerDependencies: 2336 + '@babel/core': '*' 2337 + 2338 + '@react-native/codegen@0.79.3': 2339 + resolution: {integrity: sha512-CZejXqKch/a5/s/MO5T8mkAgvzCXgsTkQtpCF15kWR9HN8T+16k0CsN7TXAxXycltoxiE3XRglOrZNEa/TiZUQ==} 2369 2340 engines: {node: '>=18'} 2370 2341 peerDependencies: 2371 2342 '@babel/core': '*' ··· 2383 2354 resolution: {integrity: sha512-cGmC7X6kju76DopSBNc+PRAEetbd7TWF9J9o84hOp/xL3ahxR2kuxJy0oJX8Eg8oehhGGEXTuMKHzNa3rDBeSg==} 2384 2355 engines: {node: '>=18'} 2385 2356 2357 + '@react-native/debugger-frontend@0.79.3': 2358 + resolution: {integrity: sha512-ImNDuEeKH6lEsLXms3ZsgIrNF94jymfuhPcVY5L0trzaYNo9ZFE9Ni2/18E1IbfXxdeIHrCSBJlWD6CTm7wu5A==} 2359 + engines: {node: '>=18'} 2360 + 2386 2361 '@react-native/dev-middleware@0.79.2': 2387 2362 resolution: {integrity: sha512-9q4CpkklsAs1L0Bw8XYCoqqyBSrfRALGEw4/r0EkR38Y/6fVfNfdsjSns0pTLO6h0VpxswK34L/hm4uK3MoLHw==} 2388 2363 engines: {node: '>=18'} 2389 2364 2365 + '@react-native/dev-middleware@0.79.3': 2366 + resolution: {integrity: sha512-x88+RGOyG71+idQefnQg7wLhzjn/Scs+re1O5vqCkTVzRAc/f7SdHMlbmECUxJPd08FqMcOJr7/X3nsJBrNuuw==} 2367 + engines: {node: '>=18'} 2368 + 2390 2369 '@react-native/gradle-plugin@0.79.2': 2391 2370 resolution: {integrity: sha512-6MJFemrwR0bOT0QM+2BxX9k3/pvZQNmJ3Js5pF/6owsA0cUDiCO57otiEU8Fz+UywWEzn1FoQfOfQ8vt2GYmoA==} 2392 2371 engines: {node: '>=18'} ··· 2401 2380 '@react-native/normalize-colors@0.79.2': 2402 2381 resolution: {integrity: sha512-+b+GNrupWrWw1okHnEENz63j7NSMqhKeFMOyzYLBwKcprG8fqJQhDIGXfizKdxeIa5NnGSAevKL1Ev1zJ56X8w==} 2403 2382 2383 + '@react-native/normalize-colors@0.79.3': 2384 + resolution: {integrity: sha512-T75NIQPRFCj6DFMxtcVMJTZR+3vHXaUMSd15t+CkJpc5LnyX91GVaPxpRSAdjFh7m3Yppl5MpdjV/fntImheYQ==} 2385 + 2404 2386 '@react-native/typescript-config@0.76.5': 2405 2387 resolution: {integrity: sha512-dRbY4XQTUUxR5Oq+S+2/5JQVU6WL0qvNnAz51jiXllC+hp5L4bljSxlzaj5CJ9vzGNFzm56m5Y9Q6MltoIU4Cw==} 2406 2388 ··· 2415 2397 '@types/react': 2416 2398 optional: true 2417 2399 2418 - '@react-navigation/bottom-tabs@7.3.11': 2419 - resolution: {integrity: sha512-/dV2MGMNIUG/puy871JFr3sKPCG/zDTpwOQZxGajegmRkx8s1PC/A6HNmqpr0qqHdfAE9Sf95BXBFl7SE8HqXA==} 2400 + '@react-navigation/bottom-tabs@7.3.14': 2401 + resolution: {integrity: sha512-s2qinJggS2HYZdCOey9A+fN+bNpWeEKwiL/FjAVOTcv+uofxPWN6CtEZUZGPEjfRjis/srURBmCmpNZSI6sQ9Q==} 2420 2402 peerDependencies: 2421 - '@react-navigation/native': ^7.1.7 2403 + '@react-navigation/native': ^7.1.10 2422 2404 react: '>= 18.2.0' 2423 - react-native: 0.79.2 2424 - react-native-safe-area-context: 5.4.0 2425 - react-native-screens: ~4.10.0 2405 + react-native: '*' 2406 + react-native-safe-area-context: '>= 4.0.0' 2407 + react-native-screens: '>= 4.0.0' 2426 2408 2427 - '@react-navigation/core@7.9.1': 2428 - resolution: {integrity: sha512-HfbsYyfD5EzTicZVv1Zpw3loYguhHSs9Ztq9K3WccyfuV4Y/+XRrMgIv7B5n6ySfQGyviPcdCEl3d1A109FhUQ==} 2409 + '@react-navigation/core@7.10.0': 2410 + resolution: {integrity: sha512-qZBA5gGm+9liT4+EHk+kl9apwvqh7HqhLF1XeX6SQRmC/n2QI0u1B8OevKc+EPUDEM9Od15IuwT/GRbSs7/Umw==} 2429 2411 peerDependencies: 2430 2412 react: '>= 18.2.0' 2431 2413 2432 - '@react-navigation/elements@2.4.0': 2433 - resolution: {integrity: sha512-3gTASi9fK+Nj17pu1w58nCLELMYqOZrziO8gmTKhlFFcq7ppF5pMu+IiVOOfSVnxO74UIYMZSIhlu+fK3EG/YA==} 2414 + '@react-navigation/elements@2.4.3': 2415 + resolution: {integrity: sha512-psoNmnZ0DQIt9nxxPITVLtYW04PGCAfnmd/Pcd3yhiBs93aj+HYKH+SDZDpUnXMf3BN7Wvo4+jPI+/Xjqb+m9w==} 2434 2416 peerDependencies: 2435 2417 '@react-native-masked-view/masked-view': '>= 0.2.0' 2436 - '@react-navigation/native': ^7.1.7 2418 + '@react-navigation/native': ^7.1.10 2437 2419 react: '>= 18.2.0' 2438 - react-native: 0.79.2 2439 - react-native-safe-area-context: 5.4.0 2420 + react-native: '*' 2421 + react-native-safe-area-context: '>= 4.0.0' 2440 2422 peerDependenciesMeta: 2441 2423 '@react-native-masked-view/masked-view': 2442 2424 optional: true 2443 2425 2444 - '@react-navigation/native-stack@7.3.11': 2445 - resolution: {integrity: sha512-BthAQ8E7xsObd3apO3rbf8x2gLinYfu2arko7eXkNCKs7I9sbEMry8KXS8rZZN3rgUXhAGWw6nFUBOiBqzu91g==} 2426 + '@react-navigation/native-stack@7.3.14': 2427 + resolution: {integrity: sha512-45Sf7ReqSCIySXS5nrKtLGmNlFXm5x+u32YQMwKDONCqVGOBCfo4ryKqeQq1EMJ7Py6IDyOwHMhA+jhNOxnfPw==} 2446 2428 peerDependencies: 2447 - '@react-navigation/native': ^7.1.7 2429 + '@react-navigation/native': ^7.1.10 2448 2430 react: '>= 18.2.0' 2449 - react-native: 0.79.2 2450 - react-native-safe-area-context: 5.4.0 2451 - react-native-screens: ~4.10.0 2431 + react-native: '*' 2432 + react-native-safe-area-context: '>= 4.0.0' 2433 + react-native-screens: '>= 4.0.0' 2452 2434 2453 - '@react-navigation/native@7.1.8': 2454 - resolution: {integrity: sha512-ryKd/qNigi1pUp6mBb2pq75ese7AZ/Cl3xEmTG6PcUGMfMqAMMrmmVbgiys0h8zCGY2tSBSqnDHbGW1/ZtOoKg==} 2435 + '@react-navigation/native@7.1.10': 2436 + resolution: {integrity: sha512-Ug4IML0DkAxZTMF/E7lyyLXSclkGAYElY2cxZWITwfBjtlVeda0NjsdnTWY5EGjnd7bwvhTIUC+CO6qSlrDn5A==} 2455 2437 peerDependencies: 2456 2438 react: '>= 18.2.0' 2457 2439 react-native: '*' 2458 2440 2459 - '@react-navigation/routers@7.3.7': 2460 - resolution: {integrity: sha512-5ffgrefOs2zWqcCVX+OKn+RDx0puopQtxqetegFrTfWQ6pGXdY/5v4kBpPwaOFrNEeE/LPbHt9IJaJuvyhB7RA==} 2441 + '@react-navigation/routers@7.4.0': 2442 + resolution: {integrity: sha512-th5THnuWKJlmr7GGHiicy979di11ycDWub9iIXbEDvQwmwmsRzppmVbfs2nD8bC/MgyMgqWu/gxfys+HqN+kcw==} 2461 2443 2462 2444 '@rn-primitives/avatar@1.1.0': 2463 2445 resolution: {integrity: sha512-GqhsQHeY7OP9oe3MZkl1Z0IbhIiuQX4+FxafoRK/Aes2m5386nMGK0NBaZBJy06WnFQBN52C8yq+LYv27sA86A==} ··· 2509 2491 react-native-web: 2510 2492 optional: true 2511 2493 2512 - '@rn-primitives/portal@1.2.0': 2513 - resolution: {integrity: sha512-vLnidkk1EBuRwzUJ48NDzpNk+25VLm8jEao+2QVLqxtCQXlPik+RXb2GmxSb3/brF2zK5pzOp3RYbCp7g+WJkA==} 2494 + '@rn-primitives/portal@1.3.0': 2495 + resolution: {integrity: sha512-a2DSce7TcSfcs0cCngLadAJOvx/+mdH9NRu+GxkX8NPRsGGhJvDEOqouMgDqLwx7z9mjXoUaZcwaVcemUSW9/A==} 2514 2496 peerDependencies: 2515 2497 react: '*' 2516 2498 react-native: '*' ··· 2570 2552 react-native-web: 2571 2553 optional: true 2572 2554 2573 - '@rollup/rollup-android-arm-eabi@4.31.0': 2574 - resolution: {integrity: sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==} 2555 + '@rollup/rollup-android-arm-eabi@4.28.1': 2556 + resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==} 2575 2557 cpu: [arm] 2576 2558 os: [android] 2577 2559 2578 - '@rollup/rollup-android-arm64@4.31.0': 2579 - resolution: {integrity: sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==} 2560 + '@rollup/rollup-android-arm64@4.28.1': 2561 + resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==} 2580 2562 cpu: [arm64] 2581 2563 os: [android] 2582 2564 2583 - '@rollup/rollup-darwin-arm64@4.31.0': 2584 - resolution: {integrity: sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==} 2565 + '@rollup/rollup-darwin-arm64@4.28.1': 2566 + resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==} 2585 2567 cpu: [arm64] 2586 2568 os: [darwin] 2587 2569 2588 - '@rollup/rollup-darwin-x64@4.31.0': 2589 - resolution: {integrity: sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==} 2570 + '@rollup/rollup-darwin-x64@4.28.1': 2571 + resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==} 2590 2572 cpu: [x64] 2591 2573 os: [darwin] 2592 2574 2593 - '@rollup/rollup-freebsd-arm64@4.31.0': 2594 - resolution: {integrity: sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==} 2575 + '@rollup/rollup-freebsd-arm64@4.28.1': 2576 + resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==} 2595 2577 cpu: [arm64] 2596 2578 os: [freebsd] 2597 2579 2598 - '@rollup/rollup-freebsd-x64@4.31.0': 2599 - resolution: {integrity: sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==} 2580 + '@rollup/rollup-freebsd-x64@4.28.1': 2581 + resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==} 2600 2582 cpu: [x64] 2601 2583 os: [freebsd] 2602 2584 2603 - '@rollup/rollup-linux-arm-gnueabihf@4.31.0': 2604 - resolution: {integrity: sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==} 2585 + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': 2586 + resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==} 2605 2587 cpu: [arm] 2606 2588 os: [linux] 2607 2589 2608 - '@rollup/rollup-linux-arm-musleabihf@4.31.0': 2609 - resolution: {integrity: sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==} 2590 + '@rollup/rollup-linux-arm-musleabihf@4.28.1': 2591 + resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==} 2610 2592 cpu: [arm] 2611 2593 os: [linux] 2612 2594 2613 - '@rollup/rollup-linux-arm64-gnu@4.31.0': 2614 - resolution: {integrity: sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==} 2595 + '@rollup/rollup-linux-arm64-gnu@4.28.1': 2596 + resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==} 2615 2597 cpu: [arm64] 2616 2598 os: [linux] 2617 2599 2618 - '@rollup/rollup-linux-arm64-musl@4.31.0': 2619 - resolution: {integrity: sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==} 2600 + '@rollup/rollup-linux-arm64-musl@4.28.1': 2601 + resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==} 2620 2602 cpu: [arm64] 2621 2603 os: [linux] 2622 2604 2623 - '@rollup/rollup-linux-loongarch64-gnu@4.31.0': 2624 - resolution: {integrity: sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==} 2605 + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': 2606 + resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==} 2625 2607 cpu: [loong64] 2626 2608 os: [linux] 2627 2609 2628 - '@rollup/rollup-linux-powerpc64le-gnu@4.31.0': 2629 - resolution: {integrity: sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==} 2610 + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': 2611 + resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==} 2630 2612 cpu: [ppc64] 2631 2613 os: [linux] 2632 2614 2633 - '@rollup/rollup-linux-riscv64-gnu@4.31.0': 2634 - resolution: {integrity: sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==} 2615 + '@rollup/rollup-linux-riscv64-gnu@4.28.1': 2616 + resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==} 2635 2617 cpu: [riscv64] 2636 2618 os: [linux] 2637 2619 2638 - '@rollup/rollup-linux-s390x-gnu@4.31.0': 2639 - resolution: {integrity: sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==} 2620 + '@rollup/rollup-linux-s390x-gnu@4.28.1': 2621 + resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==} 2640 2622 cpu: [s390x] 2641 2623 os: [linux] 2642 2624 2643 - '@rollup/rollup-linux-x64-gnu@4.31.0': 2644 - resolution: {integrity: sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==} 2625 + '@rollup/rollup-linux-x64-gnu@4.28.1': 2626 + resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==} 2645 2627 cpu: [x64] 2646 2628 os: [linux] 2647 2629 2648 - '@rollup/rollup-linux-x64-musl@4.31.0': 2649 - resolution: {integrity: sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==} 2630 + '@rollup/rollup-linux-x64-musl@4.28.1': 2631 + resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==} 2650 2632 cpu: [x64] 2651 2633 os: [linux] 2652 2634 2653 - '@rollup/rollup-win32-arm64-msvc@4.31.0': 2654 - resolution: {integrity: sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==} 2635 + '@rollup/rollup-win32-arm64-msvc@4.28.1': 2636 + resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==} 2655 2637 cpu: [arm64] 2656 2638 os: [win32] 2657 2639 2658 - '@rollup/rollup-win32-ia32-msvc@4.31.0': 2659 - resolution: {integrity: sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==} 2640 + '@rollup/rollup-win32-ia32-msvc@4.28.1': 2641 + resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==} 2660 2642 cpu: [ia32] 2661 2643 os: [win32] 2662 2644 2663 - '@rollup/rollup-win32-x64-msvc@4.31.0': 2664 - resolution: {integrity: sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==} 2645 + '@rollup/rollup-win32-x64-msvc@4.28.1': 2646 + resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==} 2665 2647 cpu: [x64] 2666 2648 os: [win32] 2667 2649 ··· 2737 2719 '@types/json5@0.0.29': 2738 2720 resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 2739 2721 2740 - '@types/node@20.17.14': 2741 - resolution: {integrity: sha512-w6qdYetNL5KRBiSClK/KWai+2IMEJuAj+EujKCumalFOwXtvOXaEan9AuwcRID2IcOIAWSIfR495hBtgKlx2zg==} 2722 + '@types/node@20.17.10': 2723 + resolution: {integrity: sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==} 2724 + 2725 + '@types/node@20.17.9': 2726 + resolution: {integrity: sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==} 2742 2727 2743 2728 '@types/node@22.10.2': 2744 2729 resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} ··· 2761 2746 '@types/yargs@17.0.33': 2762 2747 resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} 2763 2748 2764 - '@typescript-eslint/eslint-plugin@8.31.1': 2765 - resolution: {integrity: sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==} 2749 + '@typescript-eslint/eslint-plugin@8.19.0': 2750 + resolution: {integrity: sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==} 2766 2751 engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2767 2752 peerDependencies: 2768 2753 '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 2769 2754 eslint: ^8.57.0 || ^9.0.0 2770 - typescript: '>=4.8.4 <5.9.0' 2755 + typescript: '>=4.8.4 <5.8.0' 2771 2756 2772 - '@typescript-eslint/parser@8.31.1': 2773 - resolution: {integrity: sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==} 2757 + '@typescript-eslint/parser@8.19.0': 2758 + resolution: {integrity: sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==} 2774 2759 engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2775 2760 peerDependencies: 2776 2761 eslint: ^8.57.0 || ^9.0.0 2762 + typescript: '>=4.8.4 <5.8.0' 2763 + 2764 + '@typescript-eslint/project-service@8.33.1': 2765 + resolution: {integrity: sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==} 2766 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2767 + peerDependencies: 2777 2768 typescript: '>=4.8.4 <5.9.0' 2778 2769 2779 - '@typescript-eslint/scope-manager@8.31.1': 2780 - resolution: {integrity: sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==} 2770 + '@typescript-eslint/scope-manager@8.19.0': 2771 + resolution: {integrity: sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==} 2772 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2773 + 2774 + '@typescript-eslint/scope-manager@8.33.1': 2775 + resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==} 2781 2776 engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2782 2777 2783 - '@typescript-eslint/type-utils@8.31.1': 2784 - resolution: {integrity: sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==} 2778 + '@typescript-eslint/tsconfig-utils@8.33.1': 2779 + resolution: {integrity: sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==} 2785 2780 engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2786 2781 peerDependencies: 2787 - eslint: ^8.57.0 || ^9.0.0 2788 2782 typescript: '>=4.8.4 <5.9.0' 2789 2783 2790 - '@typescript-eslint/types@8.31.1': 2791 - resolution: {integrity: sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==} 2784 + '@typescript-eslint/type-utils@8.19.0': 2785 + resolution: {integrity: sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==} 2792 2786 engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2787 + peerDependencies: 2788 + eslint: ^8.57.0 || ^9.0.0 2789 + typescript: '>=4.8.4 <5.8.0' 2793 2790 2794 - '@typescript-eslint/typescript-estree@8.31.1': 2795 - resolution: {integrity: sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==} 2791 + '@typescript-eslint/types@8.19.0': 2792 + resolution: {integrity: sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==} 2793 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2794 + 2795 + '@typescript-eslint/types@8.33.1': 2796 + resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==} 2797 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2798 + 2799 + '@typescript-eslint/typescript-estree@8.19.0': 2800 + resolution: {integrity: sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==} 2801 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2802 + peerDependencies: 2803 + typescript: '>=4.8.4 <5.8.0' 2804 + 2805 + '@typescript-eslint/typescript-estree@8.33.1': 2806 + resolution: {integrity: sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==} 2796 2807 engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2797 2808 peerDependencies: 2798 2809 typescript: '>=4.8.4 <5.9.0' 2799 2810 2800 - '@typescript-eslint/utils@8.31.1': 2801 - resolution: {integrity: sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==} 2811 + '@typescript-eslint/utils@8.19.0': 2812 + resolution: {integrity: sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==} 2813 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2814 + peerDependencies: 2815 + eslint: ^8.57.0 || ^9.0.0 2816 + typescript: '>=4.8.4 <5.8.0' 2817 + 2818 + '@typescript-eslint/utils@8.33.1': 2819 + resolution: {integrity: sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==} 2802 2820 engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2803 2821 peerDependencies: 2804 2822 eslint: ^8.57.0 || ^9.0.0 2805 2823 typescript: '>=4.8.4 <5.9.0' 2806 2824 2807 - '@typescript-eslint/visitor-keys@8.31.1': 2808 - resolution: {integrity: sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==} 2825 + '@typescript-eslint/visitor-keys@8.19.0': 2826 + resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==} 2827 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2828 + 2829 + '@typescript-eslint/visitor-keys@8.33.1': 2830 + resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==} 2809 2831 engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2810 2832 2811 2833 '@ungap/structured-clone@1.2.1': ··· 3011 3033 resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} 3012 3034 engines: {node: '>=10'} 3013 3035 3014 - array-buffer-byte-length@1.0.1: 3015 - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} 3016 - engines: {node: '>= 0.4'} 3017 - 3018 3036 array-buffer-byte-length@1.0.2: 3019 3037 resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} 3020 3038 engines: {node: '>= 0.4'} ··· 3037 3055 resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} 3038 3056 engines: {node: '>= 0.4'} 3039 3057 3040 - array.prototype.flat@1.3.2: 3041 - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} 3042 - engines: {node: '>= 0.4'} 3043 - 3044 - array.prototype.flatmap@1.3.2: 3045 - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} 3058 + array.prototype.flat@1.3.3: 3059 + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} 3046 3060 engines: {node: '>= 0.4'} 3047 3061 3048 3062 array.prototype.flatmap@1.3.3: ··· 3053 3067 resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} 3054 3068 engines: {node: '>= 0.4'} 3055 3069 3056 - arraybuffer.prototype.slice@1.0.3: 3057 - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} 3058 - engines: {node: '>= 0.4'} 3059 - 3060 3070 arraybuffer.prototype.slice@1.0.4: 3061 3071 resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} 3062 3072 engines: {node: '>= 0.4'} ··· 3093 3103 3094 3104 aws4@1.13.2: 3095 3105 resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} 3106 + 3107 + axios@0.27.2: 3108 + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} 3096 3109 3097 3110 babel-jest@29.7.0: 3098 3111 resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} ··· 3143 3156 peerDependencies: 3144 3157 '@babel/core': ^7.0.0 3145 3158 3146 - babel-preset-expo@13.1.11: 3147 - resolution: {integrity: sha512-jigWjvhRVdm9UTPJ1wjLYJ0OJvD5vLZ8YYkEknEl6+9S1JWORO/y3xtHr/hNj5n34nOilZqdXrmNFcqKc8YTsg==} 3159 + babel-preset-expo@13.2.0: 3160 + resolution: {integrity: sha512-oNUeUZPMNRPmx/2jaKJLSQFP/MFI1M91vP+Gp+j8/FPl9p/ps603DNwCaRdcT/Vj3FfREdlIwRio1qDCjY0oAA==} 3148 3161 peerDependencies: 3149 3162 babel-plugin-react-compiler: ^19.0.0-beta-e993439-20250405 3150 3163 peerDependenciesMeta: ··· 3233 3246 buffer@6.0.3: 3234 3247 resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 3235 3248 3236 - bundle-require@5.1.0: 3237 - resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} 3249 + bundle-require@5.0.0: 3250 + resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} 3238 3251 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 3239 3252 peerDependencies: 3240 3253 esbuild: '>=0.18' ··· 3251 3264 resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} 3252 3265 engines: {node: '>= 0.4'} 3253 3266 3254 - call-bind-apply-helpers@1.0.2: 3255 - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 3256 - engines: {node: '>= 0.4'} 3257 - 3258 3267 call-bind@1.0.8: 3259 3268 resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 3260 3269 engines: {node: '>= 0.4'} 3261 3270 3262 - call-bound@1.0.2: 3263 - resolution: {integrity: sha512-0lk0PHFe/uz0vl527fG9CgdE9WdafjDbCXvBbs+LUv000TVt2Jjhqbs4Jwm8gz070w8xXyEAxrPOMullsxXeGg==} 3264 - engines: {node: '>= 0.4'} 3265 - 3266 - call-bound@1.0.4: 3267 - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 3271 + call-bound@1.0.3: 3272 + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} 3268 3273 engines: {node: '>= 0.4'} 3269 3274 3270 3275 caller-callsite@2.0.0: ··· 3295 3300 resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} 3296 3301 engines: {node: '>=10'} 3297 3302 3298 - caniuse-lite@1.0.30001688: 3299 - resolution: {integrity: sha512-Nmqpru91cuABu/DTCXbM2NSRHzM2uVHfPnhJ/1zEAJx/ILBRVmz3pzH4N7DZqbdG0gWClsCC05Oj0mJ/1AWMbA==} 3303 + caniuse-lite@1.0.30001690: 3304 + resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} 3300 3305 3301 3306 caseless@0.12.0: 3302 3307 resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} ··· 3328 3333 resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 3329 3334 engines: {node: '>= 8.10.0'} 3330 3335 3331 - chokidar@4.0.3: 3332 - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 3336 + chokidar@4.0.1: 3337 + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} 3333 3338 engines: {node: '>= 14.16.0'} 3334 3339 3335 3340 chownr@3.0.0: ··· 3466 3471 resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} 3467 3472 engines: {node: '>= 0.10.0'} 3468 3473 3469 - consola@3.4.0: 3470 - resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} 3474 + consola@3.2.3: 3475 + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} 3471 3476 engines: {node: ^14.18.0 || >=16.10.0} 3472 3477 3473 3478 content-disposition@0.5.4: ··· 3511 3516 create-require@1.1.1: 3512 3517 resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} 3513 3518 3514 - cross-fetch@3.1.8: 3515 - resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} 3519 + cross-fetch@3.2.0: 3520 + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} 3516 3521 3517 3522 cross-spawn@7.0.6: 3518 3523 resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} ··· 3555 3560 resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} 3556 3561 engines: {node: '>= 12'} 3557 3562 3558 - data-view-buffer@1.0.1: 3559 - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} 3560 - engines: {node: '>= 0.4'} 3561 - 3562 3563 data-view-buffer@1.0.2: 3563 3564 resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} 3564 - engines: {node: '>= 0.4'} 3565 - 3566 - data-view-byte-length@1.0.1: 3567 - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} 3568 3565 engines: {node: '>= 0.4'} 3569 3566 3570 3567 data-view-byte-length@1.0.2: 3571 3568 resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} 3572 - engines: {node: '>= 0.4'} 3573 - 3574 - data-view-byte-offset@1.0.0: 3575 - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} 3576 3569 engines: {node: '>= 0.4'} 3577 3570 3578 3571 data-view-byte-offset@1.0.1: ··· 3707 3700 resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} 3708 3701 engines: {node: '>=12'} 3709 3702 3710 - drizzle-kit@0.30.2: 3711 - resolution: {integrity: sha512-vhdLrxWA32WNVF77NabpSnX7pQBornx64VDQDmKddRonOB2Xe/yY4glQ7rECoa+ogqcQNo7VblLUbeBK6Zn9Ow==} 3703 + drizzle-kit@0.30.1: 3704 + resolution: {integrity: sha512-HmA/NeewvHywhJ2ENXD3KvOuM/+K2dGLJfxVfIHsGwaqKICJnS+Ke2L6UcSrSrtMJLJaT0Im1Qv4TFXfaZShyw==} 3712 3705 hasBin: true 3713 3706 3714 - drizzle-orm@0.38.4: 3715 - resolution: {integrity: sha512-s7/5BpLKO+WJRHspvpqTydxFob8i1vo2rEx4pY6TGY7QSMuUfWUuzaY0DIpXCkgHOo37BaFC+SJQb99dDUXT3Q==} 3707 + drizzle-orm@0.38.3: 3708 + resolution: {integrity: sha512-w41Y+PquMpSff/QDRGdItG0/aWca+/J3Sda9PPGkTxBtjWQvgU1jxlFBXdjog5tYvTu58uvi3PwR1NuCx0KeZg==} 3716 3709 peerDependencies: 3717 3710 '@aws-sdk/client-rds-data': '>=3' 3718 3711 '@cloudflare/workers-types': '>=4' ··· 3826 3819 ee-first@1.1.1: 3827 3820 resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 3828 3821 3829 - electron-to-chromium@1.5.73: 3830 - resolution: {integrity: sha512-8wGNxG9tAG5KhGd3eeA0o6ixhiNdgr0DcHWm85XPCphwZgD1lIEoi6t3VERayWao7SF7AAZTw6oARGJeVjH8Kg==} 3822 + electron-to-chromium@1.5.76: 3823 + resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==} 3831 3824 3832 3825 emoji-regex@8.0.0: 3833 3826 resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} ··· 3850 3843 end-of-stream@1.4.4: 3851 3844 resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 3852 3845 3853 - enhanced-resolve@5.17.1: 3854 - resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} 3846 + enhanced-resolve@5.18.0: 3847 + resolution: {integrity: sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==} 3855 3848 engines: {node: '>=10.13.0'} 3856 3849 3857 3850 entities@4.5.0: ··· 3875 3868 error-stack-parser@2.1.4: 3876 3869 resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} 3877 3870 3878 - es-abstract@1.23.5: 3879 - resolution: {integrity: sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==} 3880 - engines: {node: '>= 0.4'} 3881 - 3882 - es-abstract@1.23.9: 3883 - resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} 3871 + es-abstract@1.23.8: 3872 + resolution: {integrity: sha512-lfab8IzDn6EpI1ibZakcgS6WsfEBiB+43cuJo+wgylx1xKXf+Sp+YR3vFuQwC/u3sxYwV8Cxe3B0DpVUu/WiJQ==} 3884 3873 engines: {node: '>= 0.4'} 3885 3874 3886 3875 es-define-property@1.0.1: ··· 3895 3884 resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} 3896 3885 engines: {node: '>= 0.4'} 3897 3886 3898 - es-module-lexer@1.5.4: 3899 - resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} 3887 + es-module-lexer@1.6.0: 3888 + resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} 3900 3889 3901 3890 es-object-atoms@1.0.0: 3902 3891 resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} 3903 3892 engines: {node: '>= 0.4'} 3904 3893 3905 - es-object-atoms@1.1.1: 3906 - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 3907 - engines: {node: '>= 0.4'} 3908 - 3909 3894 es-set-tostringtag@2.0.3: 3910 3895 resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} 3911 - engines: {node: '>= 0.4'} 3912 - 3913 - es-set-tostringtag@2.1.0: 3914 - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} 3915 3896 engines: {node: '>= 0.4'} 3916 3897 3917 3898 es-shim-unscopables@1.0.2: ··· 3941 3922 engines: {node: '>=18'} 3942 3923 hasBin: true 3943 3924 3944 - esbuild@0.24.2: 3945 - resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} 3925 + esbuild@0.24.0: 3926 + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} 3946 3927 engines: {node: '>=18'} 3947 3928 hasBin: true 3948 3929 ··· 4035 4016 peerDependencies: 4036 4017 eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 4037 4018 4038 - eslint-plugin-react@7.37.5: 4039 - resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} 4019 + eslint-plugin-react@7.37.3: 4020 + resolution: {integrity: sha512-DomWuTQPFYZwF/7c9W2fkKkStqZmBd3uugfqBYLdkZ3Hii23WzZuOLUskGxB8qkSKqftxEeGL1TB2kMhrce0jA==} 4040 4021 engines: {node: '>=4'} 4041 4022 peerDependencies: 4042 4023 eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 ··· 4159 4140 expo: '*' 4160 4141 react: '*' 4161 4142 4162 - expo-linking@7.1.4: 4163 - resolution: {integrity: sha512-zLAbUzTB3+KGjqqLeIdhhkXayyN0qulHGjRI24X7W/0Mq/4oPbPZklKtCP0k7XOn/k4553m8OgJ7GPC03PlV9g==} 4143 + expo-linking@7.1.5: 4144 + resolution: {integrity: sha512-8g20zOpROW78bF+bLI4a3ZWj4ntLgM0rCewKycPL0jk9WGvBrBtFtwwADJgOiV1EurNp3lcquerXGlWS+SOQyA==} 4164 4145 peerDependencies: 4165 4146 react: '*' 4166 4147 react-native: '*' 4167 4148 4168 - expo-modules-autolinking@2.1.10: 4169 - resolution: {integrity: sha512-k93fzoszrYTKbZ51DSVnewYIGUV6Gi22Su8qySXPFJEfvtDs2NUUNRHBZNKgLHvwc6xPzVC5j7JYbrpXNuY44A==} 4149 + expo-modules-autolinking@2.1.11: 4150 + resolution: {integrity: sha512-KrWQo+cE4gWYNePBBhmHGVzf63gYV19ZLXe9EIH3GHTkViVzIX+Lp618H/7GxfawpN5kbhvilATH1QEKKnUUww==} 4170 4151 hasBin: true 4171 4152 4172 - expo-modules-core@2.3.13: 4173 - resolution: {integrity: sha512-vmKHv7tEo2wUQoYDV6grhsLsQfD3DUnew5Up3yNnOE1gHGQE+zhV1SBYqaPMPB12OvpyD1mlfzGhu6r9PODnng==} 4153 + expo-modules-core@2.4.0: 4154 + resolution: {integrity: sha512-Ko5eHBdvuMykjw9P9C9PF54/wBSsGOxaOjx92I5BwgKvEmUwN3UrXFV4CXzlLVbLfSYUQaLcB220xmPfgvT7Fg==} 4174 4155 4175 - expo-router@5.0.6: 4176 - resolution: {integrity: sha512-/44G3liB7LMMDoUO+lN5TS8XvZrAhLtq7cVGoilO2QkoSBjFQfxFA9VYOVWVlu2R80tN6dM3cgsEuoA275FGQg==} 4156 + expo-router@5.0.7: 4157 + resolution: {integrity: sha512-NlEgRXCKtseDuIHBp87UfkvqsuVrc0MYG+zg33dopaN6wik4RkrWWxUYdNPHub0s/7qMye6zZBY4ZCrXwd/xpA==} 4177 4158 peerDependencies: 4178 4159 '@react-navigation/drawer': ^7.3.9 4179 4160 '@testing-library/jest-native': '*' ··· 4191 4172 react-native-reanimated: 4192 4173 optional: true 4193 4174 4194 - expo-splash-screen@0.30.8: 4195 - resolution: {integrity: sha512-2eh+uA543brfeG5HILXmtNKA7E2/pfywKzNumzy3Ef6OtDjYy6zJUGNSbhnZRbVEjUZo3/QNRs0JRBfY80okZg==} 4175 + expo-splash-screen@0.30.9: 4176 + resolution: {integrity: sha512-curHUaZxUTZ2dWvz32ao3xPv5mJr1LBqn5V8xm/IULAehB9RGCn8iKiROMN1PYebSG+56vPMuJmBm9P+ayvJpA==} 4196 4177 peerDependencies: 4197 4178 expo: '*' 4198 4179 4199 - expo-sqlite@15.2.9: 4200 - resolution: {integrity: sha512-i21AQtzNC1aqXC5Ee/R3OGkkRLALfxWB27vIv3ae7gQfJKdr9jJbmRqd+jymPfXXy7f2EugFDEdLN8C6jWAD1A==} 4180 + expo-sqlite@15.2.12: 4181 + resolution: {integrity: sha512-J2Y7tChIFEcpgiVxxAXWaArOSIaHxct6keNZPs/6aHrSzUWmAlQS5vzGQueB1II65rl47ZtZcQEIl0NpiRhxxQ==} 4201 4182 peerDependencies: 4202 4183 expo: '*' 4203 4184 react: '*' ··· 4209 4190 react: '*' 4210 4191 react-native: '*' 4211 4192 4212 - expo-system-ui@5.0.7: 4213 - resolution: {integrity: sha512-ijSnSFA4VfuQc84N6WyCUNsKKTIyQb6QuC8q2zGvYC/sBXTMrOtZg0zrisQGzCRW+WhritQTiVqHlp3Ix9xDmQ==} 4193 + expo-system-ui@5.0.8: 4194 + resolution: {integrity: sha512-2sI7ALq3W8sKKa3FRW7PmuNznk+48cb1VzFy96vYZLZgTDZViz+fEJNdp1RHgLui/mAl3f8md1LneygSJvZ1EQ==} 4214 4195 peerDependencies: 4215 4196 expo: '*' 4216 4197 react-native: '*' ··· 4225 4206 expo: '*' 4226 4207 react-native: '*' 4227 4208 4228 - expo@53.0.9: 4229 - resolution: {integrity: sha512-UFG68aVOpccg3s++S3pbtI3YCQCnlu/TFvhnQ5vaD3vhOox1Uk/f2O2T95jmwA/EvKvetqGj34lys3DNXvPqgQ==} 4209 + expo@53.0.11: 4210 + resolution: {integrity: sha512-+QtvU+6VPd7/o4vmtwuRE/Li2rAiJtD25I6BOnoQSxphaWWaD0PdRQnIV3VQ0HESuJYRuKJ3DkAHNJ3jI6xwzA==} 4230 4211 hasBin: true 4231 4212 peerDependencies: 4232 4213 '@expo/dom-webview': '*' ··· 4294 4275 fbjs@3.0.5: 4295 4276 resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} 4296 4277 4297 - fdir@6.4.3: 4298 - resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} 4278 + fdir@6.4.2: 4279 + resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} 4299 4280 peerDependencies: 4300 4281 picomatch: ^3 || ^4 4301 4282 peerDependenciesMeta: ··· 4355 4336 flow-enums-runtime@0.0.6: 4356 4337 resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} 4357 4338 4339 + follow-redirects@1.15.9: 4340 + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} 4341 + engines: {node: '>=4.0'} 4342 + peerDependencies: 4343 + debug: '*' 4344 + peerDependenciesMeta: 4345 + debug: 4346 + optional: true 4347 + 4358 4348 fontfaceobserver@2.3.0: 4359 4349 resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==} 4360 4350 4361 4351 for-each@0.3.3: 4362 4352 resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 4363 4353 4364 - for-each@0.3.5: 4365 - resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 4366 - engines: {node: '>= 0.4'} 4367 - 4368 4354 foreground-child@3.3.0: 4369 4355 resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 4370 4356 engines: {node: '>=14'} ··· 4376 4362 resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} 4377 4363 engines: {node: '>= 0.12'} 4378 4364 4365 + form-data@4.0.1: 4366 + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} 4367 + engines: {node: '>= 6'} 4368 + 4379 4369 formdata-polyfill@4.0.10: 4380 4370 resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} 4381 4371 engines: {node: '>=12.20.0'} ··· 4410 4400 function-bind@1.1.2: 4411 4401 resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 4412 4402 4413 - function.prototype.name@1.1.6: 4414 - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} 4415 - engines: {node: '>= 0.4'} 4416 - 4417 4403 function.prototype.name@1.1.8: 4418 4404 resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} 4419 4405 engines: {node: '>= 0.4'} ··· 4432 4418 resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 4433 4419 engines: {node: 6.* || 8.* || >= 10.*} 4434 4420 4435 - get-intrinsic@1.2.6: 4436 - resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} 4421 + get-intrinsic@1.2.5: 4422 + resolution: {integrity: sha512-Y4+pKa7XeRUPWFNvOOYHkRYrfzW07oraURSvjDmRVOJ748OrVmeXtpE4+GCEHncjCjkTxPNRt8kEbxDhsn6VTg==} 4437 4423 engines: {node: '>= 0.4'} 4438 4424 4439 - get-intrinsic@1.3.0: 4440 - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 4425 + get-intrinsic@1.2.6: 4426 + resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} 4441 4427 engines: {node: '>= 0.4'} 4442 4428 4443 4429 get-nonce@1.0.1: ··· 4452 4438 resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==} 4453 4439 engines: {node: '>=4'} 4454 4440 4455 - get-proto@1.0.1: 4456 - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 4457 - engines: {node: '>= 0.4'} 4458 - 4459 - get-symbol-description@1.0.2: 4460 - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} 4461 - engines: {node: '>= 0.4'} 4462 - 4463 4441 get-symbol-description@1.1.0: 4464 4442 resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} 4465 4443 engines: {node: '>= 0.4'} ··· 4469 4447 4470 4448 getenv@1.0.0: 4471 4449 resolution: {integrity: sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==} 4450 + engines: {node: '>=6'} 4451 + 4452 + getenv@2.0.0: 4453 + resolution: {integrity: sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==} 4472 4454 engines: {node: '>=6'} 4473 4455 4474 4456 getpass@0.1.7: ··· 4489 4471 resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 4490 4472 hasBin: true 4491 4473 4492 - glob@11.0.1: 4493 - resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==} 4474 + glob@11.0.0: 4475 + resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} 4494 4476 engines: {node: 20 || >=22} 4495 4477 hasBin: true 4496 4478 ··· 4510 4492 resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 4511 4493 engines: {node: '>=8'} 4512 4494 4513 - globals@16.0.0: 4514 - resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==} 4495 + globals@16.2.0: 4496 + resolution: {integrity: sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==} 4515 4497 engines: {node: '>=18'} 4516 4498 4517 4499 globalthis@1.0.4: ··· 4541 4523 resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} 4542 4524 engines: {node: '>=0.10.0'} 4543 4525 4544 - has-bigints@1.0.2: 4545 - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 4526 + has-bigints@1.1.0: 4527 + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} 4528 + engines: {node: '>= 0.4'} 4546 4529 4547 4530 has-flag@3.0.0: 4548 4531 resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} ··· 4593 4576 hoist-non-react-statics@3.3.2: 4594 4577 resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} 4595 4578 4596 - hono@4.6.17: 4597 - resolution: {integrity: sha512-Kbh4M0so2RzLiIg6iP33DoTU68TdvP2O/kb1Hhhdwa37fazuf402ig8ZRfjkz2dqXwiWl2dAgh0f++TuKAdOtQ==} 4579 + hono@4.6.13: 4580 + resolution: {integrity: sha512-haV0gaMdSjy9URCRN9hxBPlqHa7fMm/T72kAImIxvw4eQLbNz1rgjN4hHElLJSieDiNuiIAXC//cC6YGz2KCbg==} 4598 4581 engines: {node: '>=16.9.0'} 4599 4582 4600 4583 hosted-git-info@7.0.2: ··· 4636 4619 resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 4637 4620 engines: {node: '>= 4'} 4638 4621 4639 - image-size@1.1.1: 4640 - resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} 4622 + image-size@1.2.0: 4623 + resolution: {integrity: sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==} 4641 4624 engines: {node: '>=16.x'} 4642 4625 hasBin: true 4643 4626 ··· 4689 4672 4690 4673 is-arguments@1.2.0: 4691 4674 resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} 4692 - engines: {node: '>= 0.4'} 4693 - 4694 - is-array-buffer@3.0.4: 4695 - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} 4696 4675 engines: {node: '>= 0.4'} 4697 4676 4698 4677 is-array-buffer@3.0.5: ··· 4728 4707 resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 4729 4708 engines: {node: '>= 0.4'} 4730 4709 4731 - is-core-module@2.15.1: 4732 - resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 4710 + is-core-module@2.16.1: 4711 + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 4733 4712 engines: {node: '>= 0.4'} 4734 4713 4735 4714 is-data-view@1.0.2: ··· 4753 4732 resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 4754 4733 engines: {node: '>=0.10.0'} 4755 4734 4756 - is-finalizationregistry@1.1.0: 4757 - resolution: {integrity: sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==} 4735 + is-finalizationregistry@1.1.1: 4736 + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} 4758 4737 engines: {node: '>= 0.4'} 4759 4738 4760 4739 is-fullwidth-code-point@1.0.0: ··· 4777 4756 resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 4778 4757 engines: {node: '>= 0.4'} 4779 4758 4780 - is-negative-zero@2.0.3: 4781 - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} 4782 - engines: {node: '>= 0.4'} 4783 - 4784 - is-number-object@1.1.0: 4785 - resolution: {integrity: sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==} 4786 - engines: {node: '>= 0.4'} 4787 - 4788 4759 is-number-object@1.1.1: 4789 4760 resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} 4790 4761 engines: {node: '>= 0.4'} ··· 4809 4780 resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 4810 4781 engines: {node: '>= 0.4'} 4811 4782 4812 - is-shared-array-buffer@1.0.3: 4813 - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} 4814 - engines: {node: '>= 0.4'} 4815 - 4816 4783 is-shared-array-buffer@1.0.4: 4817 4784 resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} 4818 - engines: {node: '>= 0.4'} 4819 - 4820 - is-string@1.1.0: 4821 - resolution: {integrity: sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==} 4822 4785 engines: {node: '>= 0.4'} 4823 4786 4824 4787 is-string@1.1.1: ··· 4829 4792 resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} 4830 4793 engines: {node: '>= 0.4'} 4831 4794 4832 - is-typed-array@1.1.13: 4833 - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} 4834 - engines: {node: '>= 0.4'} 4835 - 4836 4795 is-typed-array@1.1.15: 4837 4796 resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} 4838 4797 engines: {node: '>= 0.4'} ··· 4848 4807 resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==} 4849 4808 engines: {node: '>= 0.4'} 4850 4809 4851 - is-weakset@2.0.3: 4852 - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} 4810 + is-weakset@2.0.4: 4811 + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} 4853 4812 engines: {node: '>= 0.4'} 4854 4813 4855 4814 is-wsl@2.2.0: ··· 4930 4889 jimp-compact@0.16.1: 4931 4890 resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==} 4932 4891 4933 - jiti@1.21.6: 4934 - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 4892 + jiti@1.21.7: 4893 + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} 4935 4894 hasBin: true 4936 4895 4937 4896 jose@5.9.6: ··· 5028 4987 resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 5029 4988 engines: {node: '>=6'} 5030 4989 5031 - lan-network@0.1.6: 5032 - resolution: {integrity: sha512-0qPYjNoD89v+bfhkIqFBYGBAof1xhxLqjX8bkNN1kQdP81UHpZw5TDXgEjwB+X2iCFGQmzF8TRmvg4vQcykyDA==} 4990 + lan-network@0.1.7: 4991 + resolution: {integrity: sha512-mnIlAEMu4OyEvUNdzco9xpuB9YVcPkQec+QsgycBCtPZvEqWPCDPfbAE4OJMdBBWpZWtpCn1xw9jJYlwjWI5zQ==} 5033 4992 hasBin: true 5034 4993 5035 4994 leven@3.1.0: ··· 5054 5013 cpu: [arm64] 5055 5014 os: [darwin] 5056 5015 5016 + lightningcss-darwin-arm64@1.28.2: 5017 + resolution: {integrity: sha512-/8cPSqZiusHSS+WQz0W4NuaqFjquys1x+NsdN/XOHb+idGHJSoJ7SoQTVl3DZuAgtPZwFZgRfb/vd1oi8uX6+g==} 5018 + engines: {node: '>= 12.0.0'} 5019 + cpu: [arm64] 5020 + os: [darwin] 5021 + 5057 5022 lightningcss-darwin-x64@1.27.0: 5058 5023 resolution: {integrity: sha512-0+mZa54IlcNAoQS9E0+niovhyjjQWEMrwW0p2sSdLRhLDc8LMQ/b67z7+B5q4VmjYCMSfnFi3djAAQFIDuj/Tg==} 5059 5024 engines: {node: '>= 12.0.0'} 5060 5025 cpu: [x64] 5061 5026 os: [darwin] 5062 5027 5028 + lightningcss-darwin-x64@1.28.2: 5029 + resolution: {integrity: sha512-R7sFrXlgKjvoEG8umpVt/yutjxOL0z8KWf0bfPT3cYMOW4470xu5qSHpFdIOpRWwl3FKNMUdbKtMUjYt0h2j4g==} 5030 + engines: {node: '>= 12.0.0'} 5031 + cpu: [x64] 5032 + os: [darwin] 5033 + 5063 5034 lightningcss-freebsd-x64@1.27.0: 5064 5035 resolution: {integrity: sha512-n1sEf85fePoU2aDN2PzYjoI8gbBqnmLGEhKq7q0DKLj0UTVmOTwDC7PtLcy/zFxzASTSBlVQYJUhwIStQMIpRA==} 5065 5036 engines: {node: '>= 12.0.0'} 5066 5037 cpu: [x64] 5067 5038 os: [freebsd] 5068 5039 5040 + lightningcss-freebsd-x64@1.28.2: 5041 + resolution: {integrity: sha512-l2qrCT+x7crAY+lMIxtgvV10R8VurzHAoUZJaVFSlHrN8kRLTvEg9ObojIDIexqWJQvJcVVV3vfzsEynpiuvgA==} 5042 + engines: {node: '>= 12.0.0'} 5043 + cpu: [x64] 5044 + os: [freebsd] 5045 + 5069 5046 lightningcss-linux-arm-gnueabihf@1.27.0: 5070 5047 resolution: {integrity: sha512-MUMRmtdRkOkd5z3h986HOuNBD1c2lq2BSQA1Jg88d9I7bmPGx08bwGcnB75dvr17CwxjxD6XPi3Qh8ArmKFqCA==} 5071 5048 engines: {node: '>= 12.0.0'} 5072 5049 cpu: [arm] 5073 5050 os: [linux] 5074 5051 5052 + lightningcss-linux-arm-gnueabihf@1.28.2: 5053 + resolution: {integrity: sha512-DKMzpICBEKnL53X14rF7hFDu8KKALUJtcKdFUCW5YOlGSiwRSgVoRjM97wUm/E0NMPkzrTi/rxfvt7ruNK8meg==} 5054 + engines: {node: '>= 12.0.0'} 5055 + cpu: [arm] 5056 + os: [linux] 5057 + 5075 5058 lightningcss-linux-arm64-gnu@1.27.0: 5076 5059 resolution: {integrity: sha512-cPsxo1QEWq2sfKkSq2Bq5feQDHdUEwgtA9KaB27J5AX22+l4l0ptgjMZZtYtUnteBofjee+0oW1wQ1guv04a7A==} 5077 5060 engines: {node: '>= 12.0.0'} 5078 5061 cpu: [arm64] 5079 5062 os: [linux] 5080 5063 5064 + lightningcss-linux-arm64-gnu@1.28.2: 5065 + resolution: {integrity: sha512-nhfjYkfymWZSxdtTNMWyhFk2ImUm0X7NAgJWFwnsYPOfmtWQEapzG/DXZTfEfMjSzERNUNJoQjPAbdqgB+sjiw==} 5066 + engines: {node: '>= 12.0.0'} 5067 + cpu: [arm64] 5068 + os: [linux] 5069 + 5081 5070 lightningcss-linux-arm64-musl@1.27.0: 5082 5071 resolution: {integrity: sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==} 5083 5072 engines: {node: '>= 12.0.0'} 5084 5073 cpu: [arm64] 5085 5074 os: [linux] 5086 5075 5076 + lightningcss-linux-arm64-musl@1.28.2: 5077 + resolution: {integrity: sha512-1SPG1ZTNnphWvAv8RVOymlZ8BDtAg69Hbo7n4QxARvkFVCJAt0cgjAw1Fox0WEhf4PwnyoOBaVH0Z5YNgzt4dA==} 5078 + engines: {node: '>= 12.0.0'} 5079 + cpu: [arm64] 5080 + os: [linux] 5081 + 5087 5082 lightningcss-linux-x64-gnu@1.27.0: 5088 5083 resolution: {integrity: sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==} 5089 5084 engines: {node: '>= 12.0.0'} 5090 5085 cpu: [x64] 5091 5086 os: [linux] 5092 5087 5088 + lightningcss-linux-x64-gnu@1.28.2: 5089 + resolution: {integrity: sha512-ZhQy0FcO//INWUdo/iEdbefntTdpPVQ0XJwwtdbBuMQe+uxqZoytm9M+iqR9O5noWFaxK+nbS2iR/I80Q2Ofpg==} 5090 + engines: {node: '>= 12.0.0'} 5091 + cpu: [x64] 5092 + os: [linux] 5093 + 5093 5094 lightningcss-linux-x64-musl@1.27.0: 5094 5095 resolution: {integrity: sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==} 5095 5096 engines: {node: '>= 12.0.0'} 5096 5097 cpu: [x64] 5097 5098 os: [linux] 5098 5099 5100 + lightningcss-linux-x64-musl@1.28.2: 5101 + resolution: {integrity: sha512-alb/j1NMrgQmSFyzTbN1/pvMPM+gdDw7YBuQ5VSgcFDypN3Ah0BzC2dTZbzwzaMdUVDszX6zH5MzjfVN1oGuww==} 5102 + engines: {node: '>= 12.0.0'} 5103 + cpu: [x64] 5104 + os: [linux] 5105 + 5099 5106 lightningcss-win32-arm64-msvc@1.27.0: 5100 5107 resolution: {integrity: sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==} 5101 5108 engines: {node: '>= 12.0.0'} 5102 5109 cpu: [arm64] 5103 5110 os: [win32] 5104 5111 5112 + lightningcss-win32-arm64-msvc@1.28.2: 5113 + resolution: {integrity: sha512-WnwcjcBeAt0jGdjlgbT9ANf30pF0C/QMb1XnLnH272DQU8QXh+kmpi24R55wmWBwaTtNAETZ+m35ohyeMiNt+g==} 5114 + engines: {node: '>= 12.0.0'} 5115 + cpu: [arm64] 5116 + os: [win32] 5117 + 5105 5118 lightningcss-win32-x64-msvc@1.27.0: 5106 5119 resolution: {integrity: sha512-/OJLj94Zm/waZShL8nB5jsNj3CfNATLCTyFxZyouilfTmSoLDX7VlVAmhPHoZWVFp4vdmoiEbPEYC8HID3m6yw==} 5107 5120 engines: {node: '>= 12.0.0'} 5108 5121 cpu: [x64] 5109 5122 os: [win32] 5110 5123 5124 + lightningcss-win32-x64-msvc@1.28.2: 5125 + resolution: {integrity: sha512-3piBifyT3avz22o6mDKywQC/OisH2yDK+caHWkiMsF82i3m5wDBadyCjlCQ5VNgzYkxrWZgiaxHDdd5uxsi0/A==} 5126 + engines: {node: '>= 12.0.0'} 5127 + cpu: [x64] 5128 + os: [win32] 5129 + 5111 5130 lightningcss@1.27.0: 5112 5131 resolution: {integrity: sha512-8f7aNmS1+etYSLHht0fQApPc2kNO8qGRutifN5rVIc6Xo6ABsEbqOr758UwI7ALVbTt4x1fllKt0PYgzD9S3yQ==} 5132 + engines: {node: '>= 12.0.0'} 5133 + 5134 + lightningcss@1.28.2: 5135 + resolution: {integrity: sha512-ePLRrbt3fgjXI5VFZOLbvkLD5ZRuxGKm+wJ3ujCqBtL3NanDHPo/5zicR5uEKAPiIjBYF99BM4K4okvMznjkVA==} 5113 5136 engines: {node: '>= 12.0.0'} 5114 5137 5115 5138 lilconfig@3.1.3: ··· 5195 5218 marky@1.2.5: 5196 5219 resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} 5197 5220 5198 - math-intrinsics@1.0.0: 5199 - resolution: {integrity: sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==} 5200 - engines: {node: '>= 0.4'} 5201 - 5202 5221 math-intrinsics@1.1.0: 5203 5222 resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 5204 5223 engines: {node: '>= 0.4'} ··· 5234 5253 resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} 5235 5254 engines: {node: '>= 0.6'} 5236 5255 5237 - metro-babel-transformer@0.82.2: 5238 - resolution: {integrity: sha512-c2gesA7/B4dovPmmYC2HziNXb4XFG3YkQ9FjEzwRnR6KH2hT7nJn6mkcri1h85r3sMttpnmoBuZ8WDz980Zhlw==} 5256 + metro-babel-transformer@0.82.4: 5257 + resolution: {integrity: sha512-4juJahGRb1gmNbQq48lNinB6WFNfb6m0BQqi/RQibEltNiqTCxew/dBspI2EWA4xVCd3mQWGfw0TML4KurQZnQ==} 5239 5258 engines: {node: '>=18.18'} 5240 5259 5241 - metro-cache-key@0.82.2: 5242 - resolution: {integrity: sha512-lfjC9zzSri+rS7lkoCh04LniFga8JQVUqSuscD9KraIm9zRzwIwvaMx8V6Oogiezs+FAJUOSnVNhHcHc9l8H2Q==} 5260 + metro-cache-key@0.82.4: 5261 + resolution: {integrity: sha512-2JCTqcpF+f2OghOpe/+x+JywfzDkrHdAqinPFWmK2ezNAU/qX0jBFaTETogPibFivxZJil37w9Yp6syX8rFUng==} 5243 5262 engines: {node: '>=18.18'} 5244 5263 5245 - metro-cache@0.82.2: 5246 - resolution: {integrity: sha512-MxY4xvPKuE68NYpKJjH8YvVVugDL2QcuTracHsV5/30ZIaRr0v1QuAX5vt45OCQDQQWeh1rDv3E4JB6AbIvnZQ==} 5264 + metro-cache@0.82.4: 5265 + resolution: {integrity: sha512-vX0ylSMGtORKiZ4G8uP6fgfPdDiCWvLZUGZ5zIblSGylOX6JYhvExl0Zg4UA9pix/SSQu5Pnp9vdODMFsNIxhw==} 5247 5266 engines: {node: '>=18.18'} 5248 5267 5249 - metro-config@0.82.2: 5250 - resolution: {integrity: sha512-0dG3qCFLoE3ddNexAxSLJ7FbGjEbwUjDNOgYeCLoPSkKB01k5itvvr2HFfl2HisOCfLcpjpVzF5NtB/O71lxfA==} 5268 + metro-config@0.82.4: 5269 + resolution: {integrity: sha512-Ki3Wumr3hKHGDS7RrHsygmmRNc/PCJrvkLn0+BWWxmbOmOcMMJDSmSI+WRlT8jd5VPZFxIi4wg+sAt5yBXAK0g==} 5251 5270 engines: {node: '>=18.18'} 5252 5271 5253 - metro-core@0.82.2: 5254 - resolution: {integrity: sha512-d2XMkWbRh6PdPV1OZ8OyUyDWrtEbQ1m5ASpKtemLPbujfoE4RlwFZdl4ljfBNVVZ1s0z7tgsSFwKMyTeXgjtSg==} 5272 + metro-core@0.82.4: 5273 + resolution: {integrity: sha512-Xo4ozbxPg2vfgJGCgXZ8sVhC2M0lhTqD+tsKO2q9aelq/dCjnnSb26xZKcQO80CQOQUL7e3QWB7pLFGPjZm31A==} 5255 5274 engines: {node: '>=18.18'} 5256 5275 5257 - metro-file-map@0.82.2: 5258 - resolution: {integrity: sha512-pax0WA80eRH096YO0kwox+ZD5im3V0Vswr2x1YqdMcZVWlr6uwXgQdo9q+mpcvJ1k77J+hmY5HIg71bqrUptVg==} 5276 + metro-file-map@0.82.4: 5277 + resolution: {integrity: sha512-eO7HD1O3aeNsbEe6NBZvx1lLJUrxgyATjnDmb7bm4eyF6yWOQot9XVtxTDLNifECuvsZ4jzRiTInrbmIHkTdGA==} 5259 5278 engines: {node: '>=18.18'} 5260 5279 5261 - metro-minify-terser@0.82.2: 5262 - resolution: {integrity: sha512-+nveaEdQUvsoi0OSr4Cp+btevZsg2DKsu8kUJsvyLIcRRFPUw9CwzF3V2cA5b55DY5LcIJyAcZf4D9ARKfoilQ==} 5280 + metro-minify-terser@0.82.4: 5281 + resolution: {integrity: sha512-W79Mi6BUwWVaM8Mc5XepcqkG+TSsCyyo//dmTsgYfJcsmReQorRFodil3bbJInETvjzdnS1mCsUo9pllNjT1Hg==} 5263 5282 engines: {node: '>=18.18'} 5264 5283 5265 - metro-resolver@0.82.2: 5266 - resolution: {integrity: sha512-Who2hGzq2aCGSsBaQBU0L3SADiy/kj/gv0coujNWziRY4SKq7ECKzWqtVk1JlEF7IGXDDRDxEgFuLmPV6mZGVQ==} 5284 + metro-resolver@0.82.4: 5285 + resolution: {integrity: sha512-uWoHzOBGQTPT5PjippB8rRT3iI9CTgFA9tRiLMzrseA5o7YAlgvfTdY9vFk2qyk3lW3aQfFKWkmqENryPRpu+Q==} 5267 5286 engines: {node: '>=18.18'} 5268 5287 5269 - metro-runtime@0.82.2: 5270 - resolution: {integrity: sha512-gEcb2AfDs3GRs2SFjtEmG0k61B/cZEVCbh6cSmkjJpyHr+VRjw77MnDpX9AUcJYa4bCT63E7IEySOMM0Z8p87g==} 5288 + metro-runtime@0.82.4: 5289 + resolution: {integrity: sha512-vVyFO7H+eLXRV2E7YAUYA7aMGBECGagqxmFvC2hmErS7oq90BbPVENfAHbUWq1vWH+MRiivoRxdxlN8gBoF/dw==} 5271 5290 engines: {node: '>=18.18'} 5272 5291 5273 - metro-source-map@0.82.2: 5274 - resolution: {integrity: sha512-S26xPdz1/EeAY0HqaPXfny8CeiY0Dvl4sBLQiXGXhoES4gUDAuMhA1tioKrv5F+x68Sod8cp8Js6EGqbMXeqMA==} 5292 + metro-source-map@0.82.4: 5293 + resolution: {integrity: sha512-9jzDQJ0FPas1FuQFtwmBHsez2BfhFNufMowbOMeG3ZaFvzeziE8A0aJwILDS3U+V5039ssCQFiQeqDgENWvquA==} 5275 5294 engines: {node: '>=18.18'} 5276 5295 5277 - metro-symbolicate@0.82.2: 5278 - resolution: {integrity: sha512-iheanMnOMned6gjt6sKSfU5AoNyV6pJyQAWydwuHcjhGpa/kiAM0kKmw23qHejELK89Yw8HDZ3Fd/5l1jxpFVA==} 5296 + metro-symbolicate@0.82.4: 5297 + resolution: {integrity: sha512-LwEwAtdsx7z8rYjxjpLWxuFa2U0J6TS6ljlQM4WAATKa4uzV8unmnRuN2iNBWTmRqgNR77mzmI2vhwD4QSCo+w==} 5279 5298 engines: {node: '>=18.18'} 5280 5299 hasBin: true 5281 5300 5282 - metro-transform-plugins@0.82.2: 5283 - resolution: {integrity: sha512-kEveuEVxghTEXkDiyY0MT5QRqei092KJG46nduo0VghFgI6QFodbAjFit1ULyWsn2VOTGSUDJ3VgHBMy7MaccA==} 5301 + metro-transform-plugins@0.82.4: 5302 + resolution: {integrity: sha512-NoWQRPHupVpnDgYguiEcm7YwDhnqW02iWWQjO2O8NsNP09rEMSq99nPjARWfukN7+KDh6YjLvTIN20mj3dk9kw==} 5284 5303 engines: {node: '>=18.18'} 5285 5304 5286 - metro-transform-worker@0.82.2: 5287 - resolution: {integrity: sha512-MJQNz6cGjqewCRqFmPrsHu6Oe93v2B6zgHkrNxQ6XdPMJz5VHD33m8q+8UsNJOH8wUMoRu5JmYtuUTIVIFxh2A==} 5305 + metro-transform-worker@0.82.4: 5306 + resolution: {integrity: sha512-kPI7Ad/tdAnI9PY4T+2H0cdgGeSWWdiPRKuytI806UcN4VhFL6OmYa19/4abYVYF+Cd2jo57CDuwbaxRfmXDhw==} 5288 5307 engines: {node: '>=18.18'} 5289 5308 5290 - metro@0.82.2: 5291 - resolution: {integrity: sha512-hOBd4O4Cn/tLf3jz7IjSgD/A66MqMzgZuyF1I/pmNwYcY3q3j2vbh7Fa09KIbvUq5Yz7BewU356XboaEtEXPgA==} 5309 + metro@0.82.4: 5310 + resolution: {integrity: sha512-/gFmw3ux9CPG5WUmygY35hpyno28zi/7OUn6+OFfbweA8l0B+PPqXXLr0/T6cf5nclCcH0d22o+02fICaShVxw==} 5292 5311 engines: {node: '>=18.18'} 5293 5312 hasBin: true 5294 5313 ··· 5298 5317 5299 5318 mime-db@1.52.0: 5300 5319 resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 5301 - engines: {node: '>= 0.6'} 5302 - 5303 - mime-db@1.53.0: 5304 - resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} 5305 5320 engines: {node: '>= 0.6'} 5306 5321 5307 5322 mime-types@2.1.35: ··· 5385 5400 engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 5386 5401 hasBin: true 5387 5402 5403 + nanoid@3.3.8: 5404 + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} 5405 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 5406 + hasBin: true 5407 + 5388 5408 nativewind@4.1.23: 5389 5409 resolution: {integrity: sha512-oLX3suGI6ojQqWxdQezOSM5GmJ4KvMnMtmaSMN9Ggb5j7ysFt4nHxb1xs8RDjZR7BWc+bsetNJU8IQdQMHqRpg==} 5390 5410 engines: {node: '>=16'} ··· 5411 5431 node-domexception@1.0.0: 5412 5432 resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 5413 5433 engines: {node: '>=10.5.0'} 5414 - deprecated: Use your platform's native DOMException instead 5415 5434 5416 5435 node-fetch@2.7.0: 5417 5436 resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} ··· 5461 5480 oauth-sign@0.9.0: 5462 5481 resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} 5463 5482 5464 - ob1@0.82.2: 5465 - resolution: {integrity: sha512-sfUaYpjkAdHgu8cXLAyWXO98jW1EUOStTDNslfC9eb3tBLExe67PRqh09J0xdD6AlFKHFGTvXPbuHGvlrZNJNA==} 5483 + ob1@0.82.4: 5484 + resolution: {integrity: sha512-n9S8e4l5TvkrequEAMDidl4yXesruWTNTzVkeaHSGywoTOIwTzZzKw7Z670H3eaXDZui5MJXjWGNzYowVZIxCA==} 5466 5485 engines: {node: '>=18.18'} 5467 5486 5468 5487 object-assign@4.1.1: ··· 5481 5500 resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 5482 5501 engines: {node: '>= 0.4'} 5483 5502 5484 - object.assign@4.1.5: 5485 - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} 5486 - engines: {node: '>= 0.4'} 5487 - 5488 5503 object.assign@4.1.7: 5489 5504 resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} 5490 5505 engines: {node: '>= 0.4'} 5491 5506 5492 - object.entries@1.1.9: 5493 - resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} 5507 + object.entries@1.1.8: 5508 + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} 5494 5509 engines: {node: '>= 0.4'} 5495 5510 5496 5511 object.fromentries@2.0.8: ··· 5499 5514 5500 5515 object.groupby@1.0.3: 5501 5516 resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 5502 - engines: {node: '>= 0.4'} 5503 - 5504 - object.values@1.2.0: 5505 - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} 5506 5517 engines: {node: '>= 0.4'} 5507 5518 5508 5519 object.values@1.2.1: ··· 5697 5708 resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} 5698 5709 hasBin: true 5699 5710 5700 - pino@9.6.0: 5701 - resolution: {integrity: sha512-i85pKRCt4qMjZ1+L7sy2Ag4t1atFcdbEt76+7iRJn1g2BvsnRMGu9p8pivl9fs63M2kF/A0OacFZhTub+m/qMg==} 5711 + pino@9.5.0: 5712 + resolution: {integrity: sha512-xSEmD4pLnV54t0NOUN16yCl7RIB1c5UUOse5HSyEXtBp+FgFQyPeDutc+Q2ZO7/22vImV7VfEjH/1zV2QuqvYw==} 5702 5713 hasBin: true 5703 5714 5704 5715 pirates@4.0.6: ··· 5780 5791 resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} 5781 5792 engines: {node: ^10 || ^12 || >=14} 5782 5793 5783 - postgres@3.4.5: 5784 - resolution: {integrity: sha512-cDWgoah1Gez9rN3H4165peY9qfpEo+SA61oQv65O3cRUE1pOEoJWwddwcqKE8XZYjbblOJlYDlLV4h67HrEVDg==} 5794 + postgres@3.4.7: 5795 + resolution: {integrity: sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw==} 5785 5796 engines: {node: '>=12'} 5786 5797 5787 5798 prelude-ls@1.2.1: 5788 5799 resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 5789 5800 engines: {node: '>= 0.8.0'} 5790 5801 5791 - prettier-plugin-tailwindcss@0.6.11: 5792 - resolution: {integrity: sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==} 5802 + prettier-plugin-tailwindcss@0.6.12: 5803 + resolution: {integrity: sha512-OuTQKoqNwV7RnxTPwXWzOFXy6Jc4z8oeRZYGuMpRyG3WbuR3jjXdQFK8qFBMBx8UHWdHrddARz2fgUenild6aw==} 5793 5804 engines: {node: '>=14.21.3'} 5794 5805 peerDependencies: 5795 5806 '@ianvs/prettier-plugin-sort-imports': '*' ··· 5848 5859 engines: {node: '>=14'} 5849 5860 hasBin: true 5850 5861 5862 + prettier@3.5.3: 5863 + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} 5864 + engines: {node: '>=14'} 5865 + hasBin: true 5866 + 5851 5867 pretty-bytes@5.6.0: 5852 5868 resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} 5853 5869 engines: {node: '>=6'} ··· 5863 5879 process-warning@3.0.0: 5864 5880 resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} 5865 5881 5866 - process-warning@4.0.1: 5867 - resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==} 5882 + process-warning@4.0.0: 5883 + resolution: {integrity: sha512-/MyYDxttz7DfGMMHiysAsFE4qF+pQYAA8ziO/3NcRVrQ5fSk+Mns4QZA/oRPFzvcqNoVJXQNWNAsdwBXLUkQKw==} 5868 5884 5869 5885 process@0.11.10: 5870 5886 resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} ··· 5952 5968 peerDependencies: 5953 5969 react: ^17.0.0 || ^18.0.0 || ^19.0.0 5954 5970 5955 - react-devtools-core@6.1.1: 5956 - resolution: {integrity: sha512-TFo1MEnkqE6hzAbaztnyR5uLTMoz6wnEWwWBsCUzNt+sVXJycuRJdDqvL078M4/h65BI/YO5XWTaxZDWVsW0fw==} 5971 + react-devtools-core@6.1.2: 5972 + resolution: {integrity: sha512-ldFwzufLletzCikNJVYaxlxMLu7swJ3T2VrGfzXlMsVhZhPDKXA38DEROidaYZVgMAmQnIjymrmqto5pyfrwPA==} 5957 5973 5958 5974 react-dom@19.0.0: 5959 5975 resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} ··· 6080 6096 resolution: {integrity: sha512-FPvF2XxTSikpJxcr+bHut2H4gJ17+18Uy20D5/F+SKzFap62R3cM5wH6b8WN3LyGSYeQilLEcJcR1fjBSI2S1A==} 6081 6097 engines: {node: '>=0.10.0'} 6082 6098 6083 - react-remove-scroll-bar@2.3.6: 6084 - resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} 6099 + react-remove-scroll-bar@2.3.8: 6100 + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} 6085 6101 engines: {node: '>=10'} 6086 6102 peerDependencies: 6087 - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 6088 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 6103 + '@types/react': '*' 6104 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 6089 6105 peerDependenciesMeta: 6090 6106 '@types/react': 6091 6107 optional: true 6092 6108 6093 - react-remove-scroll@2.6.0: 6094 - resolution: {integrity: sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==} 6109 + react-remove-scroll@2.6.2: 6110 + resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==} 6095 6111 engines: {node: '>=10'} 6096 6112 peerDependencies: 6097 - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 6098 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 6113 + '@types/react': '*' 6114 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc 6099 6115 peerDependenciesMeta: 6100 6116 '@types/react': 6101 6117 optional: true 6102 6118 6103 - react-style-singleton@2.2.1: 6104 - resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} 6119 + react-style-singleton@2.2.3: 6120 + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} 6105 6121 engines: {node: '>=10'} 6106 6122 peerDependencies: 6107 - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 6108 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 6123 + '@types/react': '*' 6124 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc 6109 6125 peerDependenciesMeta: 6110 6126 '@types/react': 6111 6127 optional: true ··· 6125 6141 resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 6126 6142 engines: {node: '>=8.10.0'} 6127 6143 6128 - readdirp@4.1.1: 6129 - resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==} 6130 - engines: {node: '>= 14.18.0'} 6144 + readdirp@4.0.2: 6145 + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} 6146 + engines: {node: '>= 14.16.0'} 6131 6147 6132 6148 readline2@1.0.1: 6133 6149 resolution: {integrity: sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g==} ··· 6136 6152 resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} 6137 6153 engines: {node: '>= 12.13.0'} 6138 6154 6139 - reflect.getprototypeof@1.0.10: 6140 - resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} 6141 - engines: {node: '>= 0.4'} 6142 - 6143 - reflect.getprototypeof@1.0.8: 6144 - resolution: {integrity: sha512-B5dj6usc5dkk8uFliwjwDHM8To5/QwdKz9JcBZ8Ic4G1f0YmeeJTtE/ZTdgRFPAfxZFiUaPhZ1Jcs4qeagItGQ==} 6155 + reflect.getprototypeof@1.0.9: 6156 + resolution: {integrity: sha512-r0Ay04Snci87djAsI4U+WNRcSw5S4pOH7qFjd/veA5gC7TbqESR3tcj28ia95L/fYUDw11JKP7uqUKUAfVvV5Q==} 6145 6157 engines: {node: '>= 0.4'} 6146 6158 6147 6159 regenerate-unicode-properties@10.2.0: ··· 6229 6241 resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} 6230 6242 engines: {node: '>=10'} 6231 6243 6232 - resolve@1.22.8: 6233 - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 6244 + resolve@1.22.10: 6245 + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 6246 + engines: {node: '>= 0.4'} 6234 6247 hasBin: true 6235 6248 6236 6249 resolve@1.7.1: ··· 6252 6265 resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 6253 6266 engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 6254 6267 6255 - rimraf@2.6.3: 6256 - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} 6268 + rimraf@2.7.1: 6269 + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} 6257 6270 deprecated: Rimraf versions prior to v4 are no longer supported 6258 6271 hasBin: true 6259 6272 ··· 6267 6280 engines: {node: 20 || >=22} 6268 6281 hasBin: true 6269 6282 6270 - rollup@4.31.0: 6271 - resolution: {integrity: sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==} 6283 + rollup@4.28.1: 6284 + resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==} 6272 6285 engines: {node: '>=18.0.0', npm: '>=8.0.0'} 6273 6286 hasBin: true 6274 6287 ··· 6333 6346 resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} 6334 6347 engines: {node: '>= 0.8.0'} 6335 6348 6336 - send@0.19.1: 6337 - resolution: {integrity: sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==} 6338 - engines: {node: '>= 0.8.0'} 6339 - 6340 6349 serialize-error@2.1.0: 6341 6350 resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} 6342 6351 engines: {node: '>=0.10.0'} ··· 6357 6366 6358 6367 set-function-name@2.0.2: 6359 6368 resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 6360 - engines: {node: '>= 0.4'} 6361 - 6362 - set-proto@1.0.0: 6363 - resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} 6364 6369 engines: {node: '>= 0.4'} 6365 6370 6366 6371 setimmediate@1.0.5: ··· 6394 6399 6395 6400 side-channel-weakmap@1.0.2: 6396 6401 resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 6402 + engines: {node: '>= 0.4'} 6403 + 6404 + side-channel@1.0.6: 6405 + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} 6397 6406 engines: {node: '>= 0.4'} 6398 6407 6399 6408 side-channel@1.1.0: ··· 6600 6609 resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 6601 6610 engines: {node: '>= 0.4'} 6602 6611 6603 - tailwind-merge@2.5.5: 6604 - resolution: {integrity: sha512-0LXunzzAZzo0tEPxV3I297ffKZPlKDrjj7NXphC8V5ak9yHC5zRmxnOe2m/Rd/7ivsOMJe3JZ2JVocoDdQTRBA==} 6612 + tailwind-merge@2.6.0: 6613 + resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} 6605 6614 6606 6615 tailwindcss-animate@1.0.7: 6607 6616 resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} ··· 6676 6685 through@2.3.8: 6677 6686 resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 6678 6687 6679 - tinyexec@0.3.2: 6680 - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} 6688 + tinyexec@0.3.1: 6689 + resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} 6681 6690 6682 6691 tinyglobby@0.2.10: 6683 6692 resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} ··· 6716 6725 resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 6717 6726 hasBin: true 6718 6727 6728 + ts-api-utils@1.4.3: 6729 + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} 6730 + engines: {node: '>=16'} 6731 + peerDependencies: 6732 + typescript: '>=4.2.0' 6733 + 6719 6734 ts-api-utils@2.1.0: 6720 6735 resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 6721 6736 engines: {node: '>=18.12'} ··· 6751 6766 tslib@2.6.2: 6752 6767 resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 6753 6768 6754 - tslib@2.8.1: 6755 - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 6756 - 6757 6769 tsup@8.3.5: 6758 6770 resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} 6759 6771 engines: {node: '>=18'} ··· 6842 6854 resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 6843 6855 engines: {node: '>= 0.6'} 6844 6856 6845 - typed-array-buffer@1.0.2: 6846 - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} 6847 - engines: {node: '>= 0.4'} 6848 - 6849 6857 typed-array-buffer@1.0.3: 6850 6858 resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} 6851 6859 engines: {node: '>= 0.4'} 6852 6860 6853 - typed-array-byte-length@1.0.1: 6854 - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} 6855 - engines: {node: '>= 0.4'} 6856 - 6857 6861 typed-array-byte-length@1.0.3: 6858 6862 resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} 6859 6863 engines: {node: '>= 0.4'} 6860 6864 6861 - typed-array-byte-offset@1.0.3: 6862 - resolution: {integrity: sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==} 6863 - engines: {node: '>= 0.4'} 6864 - 6865 6865 typed-array-byte-offset@1.0.4: 6866 6866 resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} 6867 6867 engines: {node: '>= 0.4'} ··· 6870 6870 resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} 6871 6871 engines: {node: '>= 0.4'} 6872 6872 6873 - typescript@5.7.3: 6874 - resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} 6873 + typescript@5.7.2: 6874 + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} 6875 6875 engines: {node: '>=14.17'} 6876 6876 hasBin: true 6877 6877 ··· 6880 6880 engines: {node: '>=14.17'} 6881 6881 hasBin: true 6882 6882 6883 - ua-parser-js@1.0.39: 6884 - resolution: {integrity: sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==} 6883 + ua-parser-js@1.0.40: 6884 + resolution: {integrity: sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==} 6885 6885 hasBin: true 6886 6886 6887 6887 udomdiff@1.1.2: ··· 6892 6892 6893 6893 uint8arrays@3.0.0: 6894 6894 resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} 6895 - 6896 - unbox-primitive@1.0.2: 6897 - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 6898 6895 6899 6896 unbox-primitive@1.1.0: 6900 6897 resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} ··· 6947 6944 uri-js@4.4.1: 6948 6945 resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 6949 6946 6950 - use-callback-ref@1.3.2: 6951 - resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} 6947 + use-callback-ref@1.3.3: 6948 + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} 6952 6949 engines: {node: '>=10'} 6953 6950 peerDependencies: 6954 - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 6955 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 6951 + '@types/react': '*' 6952 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc 6956 6953 peerDependenciesMeta: 6957 6954 '@types/react': 6958 6955 optional: true ··· 6962 6959 peerDependencies: 6963 6960 react: '>=16.8' 6964 6961 6965 - use-sidecar@1.1.2: 6966 - resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} 6962 + use-sidecar@1.1.3: 6963 + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} 6967 6964 engines: {node: '>=10'} 6968 6965 peerDependencies: 6969 - '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 6970 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 6966 + '@types/react': '*' 6967 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc 6971 6968 peerDependenciesMeta: 6972 6969 '@types/react': 6973 6970 optional: true ··· 7075 7072 whatwg-url@7.1.0: 7076 7073 resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 7077 7074 7078 - which-boxed-primitive@1.1.0: 7079 - resolution: {integrity: sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==} 7080 - engines: {node: '>= 0.4'} 7081 - 7082 7075 which-boxed-primitive@1.1.1: 7083 7076 resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} 7084 7077 engines: {node: '>= 0.4'} ··· 7091 7084 resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 7092 7085 engines: {node: '>= 0.4'} 7093 7086 7094 - which-typed-array@1.1.16: 7095 - resolution: {integrity: sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==} 7096 - engines: {node: '>= 0.4'} 7097 - 7098 - which-typed-array@1.1.19: 7099 - resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} 7087 + which-typed-array@1.1.18: 7088 + resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} 7100 7089 engines: {node: '>= 0.4'} 7101 7090 7102 7091 which@2.0.2: ··· 7218 7207 peerDependencies: 7219 7208 zod: ^3.18.0 7220 7209 7221 - zod@3.24.1: 7222 - resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} 7210 + zod@3.23.8: 7211 + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} 7223 7212 7224 - zustand@5.0.4: 7225 - resolution: {integrity: sha512-39VFTN5InDtMd28ZhjLyuTnlytDr9HfwO512Ai4I8ZABCoyAj4F1+sr7sD1jP/+p7k77Iko0Pb5NhgBFDCX0kQ==} 7213 + zustand@5.0.5: 7214 + resolution: {integrity: sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg==} 7226 7215 engines: {node: '>=12.20.0'} 7227 7216 peerDependencies: 7228 7217 '@types/react': '>=18.0.0' ··· 7247 7236 7248 7237 '@ampproject/remapping@2.3.0': 7249 7238 dependencies: 7250 - '@jridgewell/gen-mapping': 0.3.8 7239 + '@jridgewell/gen-mapping': 0.3.5 7251 7240 '@jridgewell/trace-mapping': 0.3.25 7252 7241 7253 - '@aquareum/atproto-oauth-client-react-native@0.0.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 7242 + '@aquareum/atproto-oauth-client-react-native@0.0.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 7254 7243 dependencies: 7255 7244 '@atproto-labs/did-resolver': 0.1.5 7256 7245 '@atproto-labs/handle-resolver-node': 0.1.7 ··· 7265 7254 '@atproto/oauth-types': 0.2.1 7266 7255 abortcontroller-polyfill: 1.7.8 7267 7256 event-target-shim: 6.0.2 7268 - expo-sqlite: 15.2.9(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 7257 + expo-sqlite: 15.2.12(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 7269 7258 jose: 5.9.6 7270 7259 react-native-quick-crypto: 0.7.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 7271 7260 transitivePeerDependencies: ··· 7273 7262 - react 7274 7263 - react-native 7275 7264 7276 - '@atproto-labs/did-resolver@0.1.12': 7265 + '@atproto-labs/did-resolver@0.1.13': 7277 7266 dependencies: 7278 - '@atproto-labs/fetch': 0.2.2 7279 - '@atproto-labs/pipe': 0.1.0 7267 + '@atproto-labs/fetch': 0.2.3 7268 + '@atproto-labs/pipe': 0.1.1 7280 7269 '@atproto-labs/simple-store': 0.2.0 7281 7270 '@atproto-labs/simple-store-memory': 0.1.3 7282 7271 '@atproto/did': 0.1.5 7283 - zod: 3.24.1 7272 + zod: 3.23.8 7284 7273 7285 7274 '@atproto-labs/did-resolver@0.1.5': 7286 7275 dependencies: ··· 7289 7278 '@atproto-labs/simple-store': 0.1.1 7290 7279 '@atproto-labs/simple-store-memory': 0.1.1 7291 7280 '@atproto/did': 0.1.3 7292 - zod: 3.24.1 7281 + zod: 3.23.8 7293 7282 7294 - '@atproto-labs/did-resolver@0.1.8': 7283 + '@atproto-labs/did-resolver@0.1.6': 7295 7284 dependencies: 7296 - '@atproto-labs/fetch': 0.2.0 7285 + '@atproto-labs/fetch': 0.1.2 7297 7286 '@atproto-labs/pipe': 0.1.0 7298 7287 '@atproto-labs/simple-store': 0.1.1 7299 7288 '@atproto-labs/simple-store-memory': 0.1.1 7300 7289 '@atproto/did': 0.1.3 7301 - zod: 3.24.1 7302 - 7303 - '@atproto-labs/did-resolver@0.1.9': 7304 - dependencies: 7305 - '@atproto-labs/fetch': 0.2.0 7306 - '@atproto-labs/pipe': 0.1.0 7307 - '@atproto-labs/simple-store': 0.1.1 7308 - '@atproto-labs/simple-store-memory': 0.1.1 7309 - '@atproto/did': 0.1.4 7310 - zod: 3.24.1 7290 + zod: 3.23.8 7311 7291 7312 7292 '@atproto-labs/fetch-node@0.1.3': 7313 7293 dependencies: ··· 7317 7297 psl: 1.15.0 7318 7298 undici: 6.21.0 7319 7299 7320 - '@atproto-labs/fetch-node@0.1.6': 7300 + '@atproto-labs/fetch-node@0.1.4': 7321 7301 dependencies: 7322 - '@atproto-labs/fetch': 0.2.0 7302 + '@atproto-labs/fetch': 0.1.2 7323 7303 '@atproto-labs/pipe': 0.1.0 7324 7304 ipaddr.js: 2.2.0 7325 7305 psl: 1.15.0 ··· 7329 7309 dependencies: 7330 7310 '@atproto-labs/pipe': 0.1.0 7331 7311 optionalDependencies: 7332 - zod: 3.24.1 7312 + zod: 3.23.8 7333 7313 7334 - '@atproto-labs/fetch@0.2.0': 7314 + '@atproto-labs/fetch@0.1.2': 7335 7315 dependencies: 7336 7316 '@atproto-labs/pipe': 0.1.0 7337 7317 optionalDependencies: 7338 - zod: 3.24.1 7339 - 7340 - '@atproto-labs/fetch@0.2.2': 7341 - dependencies: 7342 - '@atproto-labs/pipe': 0.1.0 7318 + zod: 3.23.8 7343 7319 7344 - '@atproto-labs/handle-resolver-node@0.1.11': 7320 + '@atproto-labs/fetch@0.2.3': 7345 7321 dependencies: 7346 - '@atproto-labs/fetch-node': 0.1.6 7347 - '@atproto-labs/handle-resolver': 0.1.5 7348 - '@atproto/did': 0.1.3 7322 + '@atproto-labs/pipe': 0.1.1 7349 7323 7350 7324 '@atproto-labs/handle-resolver-node@0.1.7': 7351 7325 dependencies: ··· 7353 7327 '@atproto-labs/handle-resolver': 0.1.4 7354 7328 '@atproto/did': 0.1.3 7355 7329 7356 - '@atproto-labs/handle-resolver@0.1.4': 7330 + '@atproto-labs/handle-resolver-node@0.1.8': 7357 7331 dependencies: 7358 - '@atproto-labs/simple-store': 0.1.1 7359 - '@atproto-labs/simple-store-memory': 0.1.1 7332 + '@atproto-labs/fetch-node': 0.1.4 7333 + '@atproto-labs/handle-resolver': 0.1.4 7360 7334 '@atproto/did': 0.1.3 7361 - zod: 3.24.1 7362 7335 7363 - '@atproto-labs/handle-resolver@0.1.5': 7336 + '@atproto-labs/handle-resolver@0.1.4': 7364 7337 dependencies: 7365 7338 '@atproto-labs/simple-store': 0.1.1 7366 7339 '@atproto-labs/simple-store-memory': 0.1.1 7367 7340 '@atproto/did': 0.1.3 7368 - zod: 3.24.1 7369 - 7370 - '@atproto-labs/handle-resolver@0.1.6': 7371 - dependencies: 7372 - '@atproto-labs/simple-store': 0.1.1 7373 - '@atproto-labs/simple-store-memory': 0.1.1 7374 - '@atproto/did': 0.1.4 7375 - zod: 3.24.1 7341 + zod: 3.23.8 7376 7342 7377 7343 '@atproto-labs/handle-resolver@0.1.8': 7378 7344 dependencies: 7379 7345 '@atproto-labs/simple-store': 0.2.0 7380 7346 '@atproto-labs/simple-store-memory': 0.1.3 7381 7347 '@atproto/did': 0.1.5 7382 - zod: 3.24.1 7383 - 7384 - '@atproto-labs/identity-resolver@0.1.10': 7385 - dependencies: 7386 - '@atproto-labs/did-resolver': 0.1.8 7387 - '@atproto-labs/handle-resolver': 0.1.5 7388 - '@atproto/syntax': 0.3.1 7348 + zod: 3.23.8 7389 7349 7390 - '@atproto-labs/identity-resolver@0.1.11': 7350 + '@atproto-labs/identity-resolver@0.1.17': 7391 7351 dependencies: 7392 - '@atproto-labs/did-resolver': 0.1.9 7393 - '@atproto-labs/handle-resolver': 0.1.6 7394 - '@atproto/syntax': 0.3.1 7395 - 7396 - '@atproto-labs/identity-resolver@0.1.16': 7397 - dependencies: 7398 - '@atproto-labs/did-resolver': 0.1.12 7352 + '@atproto-labs/did-resolver': 0.1.13 7399 7353 '@atproto-labs/handle-resolver': 0.1.8 7400 7354 '@atproto/syntax': 0.4.0 7401 7355 ··· 7405 7359 '@atproto-labs/handle-resolver': 0.1.4 7406 7360 '@atproto/syntax': 0.3.1 7407 7361 7362 + '@atproto-labs/identity-resolver@0.1.7': 7363 + dependencies: 7364 + '@atproto-labs/did-resolver': 0.1.6 7365 + '@atproto-labs/handle-resolver': 0.1.4 7366 + '@atproto/syntax': 0.3.1 7367 + 7408 7368 '@atproto-labs/pipe@0.1.0': {} 7369 + 7370 + '@atproto-labs/pipe@0.1.1': {} 7409 7371 7410 7372 '@atproto-labs/simple-store-memory@0.1.1': 7411 7373 dependencies: ··· 7421 7383 7422 7384 '@atproto-labs/simple-store@0.2.0': {} 7423 7385 7424 - '@atproto/api@0.13.20': 7386 + '@atproto/api@0.13.19': 7425 7387 dependencies: 7426 7388 '@atproto/common-web': 0.3.1 7427 - '@atproto/lexicon': 0.4.4 7389 + '@atproto/lexicon': 0.4.3 7428 7390 '@atproto/syntax': 0.3.1 7429 - '@atproto/xrpc': 0.6.5 7391 + '@atproto/xrpc': 0.6.4 7430 7392 await-lock: 2.2.2 7431 7393 multiformats: 9.9.0 7432 7394 tlds: 1.255.0 7433 - zod: 3.24.1 7395 + zod: 3.23.8 7434 7396 7435 - '@atproto/api@0.15.6': 7397 + '@atproto/api@0.15.14': 7436 7398 dependencies: 7437 7399 '@atproto/common-web': 0.4.2 7438 7400 '@atproto/lexicon': 0.4.11 ··· 7441 7403 await-lock: 2.2.2 7442 7404 multiformats: 9.9.0 7443 7405 tlds: 1.255.0 7444 - zod: 3.24.1 7406 + zod: 3.23.8 7445 7407 7446 7408 '@atproto/common-web@0.3.1': 7447 7409 dependencies: 7448 7410 graphemer: 1.4.0 7449 7411 multiformats: 9.9.0 7450 7412 uint8arrays: 3.0.0 7451 - zod: 3.24.1 7413 + zod: 3.23.8 7452 7414 7453 - '@atproto/common-web@0.3.2': 7415 + '@atproto/common-web@0.4.2': 7454 7416 dependencies: 7455 7417 graphemer: 1.4.0 7456 7418 multiformats: 9.9.0 7457 7419 uint8arrays: 3.0.0 7458 - zod: 3.24.1 7420 + zod: 3.23.8 7459 7421 7460 - '@atproto/common-web@0.4.2': 7422 + '@atproto/common@0.4.4': 7461 7423 dependencies: 7462 - graphemer: 1.4.0 7424 + '@atproto/common-web': 0.3.1 7425 + '@ipld/dag-cbor': 7.0.3 7426 + cbor-x: 1.6.0 7427 + iso-datestring-validator: 2.2.2 7463 7428 multiformats: 9.9.0 7464 - uint8arrays: 3.0.0 7465 - zod: 3.24.1 7429 + pino: 8.21.0 7466 7430 7467 - '@atproto/common@0.4.6': 7431 + '@atproto/common@0.4.5': 7468 7432 dependencies: 7469 - '@atproto/common-web': 0.3.2 7433 + '@atproto/common-web': 0.3.1 7470 7434 '@ipld/dag-cbor': 7.0.3 7471 7435 cbor-x: 1.6.0 7472 7436 iso-datestring-validator: 2.2.2 7473 7437 multiformats: 9.9.0 7474 7438 pino: 8.21.0 7475 7439 7476 - '@atproto/crypto@0.4.3': 7440 + '@atproto/crypto@0.4.2': 7477 7441 dependencies: 7478 - '@noble/curves': 1.8.1 7479 - '@noble/hashes': 1.7.1 7442 + '@noble/curves': 1.7.0 7443 + '@noble/hashes': 1.6.1 7480 7444 uint8arrays: 3.0.0 7481 7445 7482 7446 '@atproto/did@0.1.3': 7483 7447 dependencies: 7484 - zod: 3.24.1 7485 - 7486 - '@atproto/did@0.1.4': 7487 - dependencies: 7488 - zod: 3.24.1 7448 + zod: 3.23.8 7489 7449 7490 7450 '@atproto/did@0.1.5': 7491 7451 dependencies: 7492 - zod: 3.24.1 7452 + zod: 3.23.8 7493 7453 7494 - '@atproto/identity@0.4.5': 7454 + '@atproto/identity@0.4.3': 7495 7455 dependencies: 7496 - '@atproto/common-web': 0.3.2 7497 - '@atproto/crypto': 0.4.3 7456 + '@atproto/common-web': 0.3.1 7457 + '@atproto/crypto': 0.4.2 7458 + axios: 0.27.2 7459 + transitivePeerDependencies: 7460 + - debug 7498 7461 7499 7462 '@atproto/jwk-jose@0.1.2': 7500 7463 dependencies: 7501 7464 '@atproto/jwk': 0.1.1 7502 7465 jose: 5.9.6 7503 7466 7504 - '@atproto/jwk-jose@0.1.3': 7505 - dependencies: 7506 - '@atproto/jwk': 0.1.2 7507 - jose: 5.9.6 7508 - 7509 7467 '@atproto/jwk-webcrypto@0.1.2': 7510 7468 dependencies: 7511 7469 '@atproto/jwk': 0.1.1 7512 7470 '@atproto/jwk-jose': 0.1.2 7513 7471 7514 - '@atproto/jwk-webcrypto@0.1.3': 7515 - dependencies: 7516 - '@atproto/jwk': 0.1.2 7517 - '@atproto/jwk-jose': 0.1.3 7518 - zod: 3.24.1 7519 - 7520 7472 '@atproto/jwk@0.1.1': 7521 7473 dependencies: 7522 7474 multiformats: 9.9.0 7523 - zod: 3.24.1 7475 + zod: 3.23.8 7524 7476 7525 - '@atproto/jwk@0.1.2': 7526 - dependencies: 7527 - multiformats: 9.9.0 7528 - zod: 3.24.1 7529 - 7530 - '@atproto/jwk@0.1.5': 7477 + '@atproto/jwk@0.2.0': 7531 7478 dependencies: 7532 7479 multiformats: 9.9.0 7533 - zod: 3.24.1 7480 + zod: 3.23.8 7534 7481 7535 - '@atproto/lex-cli@0.5.6': 7482 + '@atproto/lex-cli@0.5.4': 7536 7483 dependencies: 7537 - '@atproto/lexicon': 0.4.5 7484 + '@atproto/lexicon': 0.4.4 7538 7485 '@atproto/syntax': 0.3.1 7539 7486 chalk: 4.1.2 7540 7487 commander: 9.5.0 7541 7488 prettier: 3.4.2 7542 7489 ts-morph: 16.0.0 7543 7490 yesno: 0.4.0 7544 - zod: 3.24.1 7491 + zod: 3.23.8 7545 7492 7546 - '@atproto/lex-cli@0.8.1': 7493 + '@atproto/lex-cli@0.8.2': 7547 7494 dependencies: 7548 7495 '@atproto/lexicon': 0.4.11 7549 7496 '@atproto/syntax': 0.4.0 7550 7497 chalk: 4.1.2 7551 7498 commander: 9.5.0 7552 - prettier: 3.4.2 7499 + prettier: 3.5.3 7553 7500 ts-morph: 24.0.0 7554 7501 yesno: 0.4.0 7555 - zod: 3.24.1 7502 + zod: 3.23.8 7556 7503 7557 7504 '@atproto/lexicon@0.4.11': 7558 7505 dependencies: ··· 7560 7507 '@atproto/syntax': 0.4.0 7561 7508 iso-datestring-validator: 2.2.2 7562 7509 multiformats: 9.9.0 7563 - zod: 3.24.1 7510 + zod: 3.23.8 7564 7511 7565 - '@atproto/lexicon@0.4.4': 7512 + '@atproto/lexicon@0.4.3': 7566 7513 dependencies: 7567 7514 '@atproto/common-web': 0.3.1 7568 7515 '@atproto/syntax': 0.3.1 7569 7516 iso-datestring-validator: 2.2.2 7570 7517 multiformats: 9.9.0 7571 - zod: 3.24.1 7518 + zod: 3.23.8 7572 7519 7573 - '@atproto/lexicon@0.4.5': 7520 + '@atproto/lexicon@0.4.4': 7574 7521 dependencies: 7575 - '@atproto/common-web': 0.3.2 7522 + '@atproto/common-web': 0.3.1 7576 7523 '@atproto/syntax': 0.3.1 7577 7524 iso-datestring-validator: 2.2.2 7578 7525 multiformats: 9.9.0 7579 - zod: 3.24.1 7526 + zod: 3.23.8 7580 7527 7581 7528 '@atproto/oauth-client-browser@0.3.2': 7582 7529 dependencies: ··· 7589 7536 '@atproto/oauth-client': 0.3.2 7590 7537 '@atproto/oauth-types': 0.2.1 7591 7538 7592 - '@atproto/oauth-client-node@0.2.8': 7539 + '@atproto/oauth-client-node@0.2.3': 7593 7540 dependencies: 7594 - '@atproto-labs/did-resolver': 0.1.8 7595 - '@atproto-labs/handle-resolver-node': 0.1.11 7541 + '@atproto-labs/did-resolver': 0.1.6 7542 + '@atproto-labs/handle-resolver-node': 0.1.8 7596 7543 '@atproto-labs/simple-store': 0.1.1 7597 7544 '@atproto/did': 0.1.3 7598 - '@atproto/jwk': 0.1.2 7599 - '@atproto/jwk-jose': 0.1.3 7600 - '@atproto/jwk-webcrypto': 0.1.3 7601 - '@atproto/oauth-client': 0.3.7 7602 - '@atproto/oauth-types': 0.2.2 7603 - 7604 - '@atproto/oauth-client@0.3.16': 7605 - dependencies: 7606 - '@atproto-labs/did-resolver': 0.1.12 7607 - '@atproto-labs/fetch': 0.2.2 7608 - '@atproto-labs/handle-resolver': 0.1.8 7609 - '@atproto-labs/identity-resolver': 0.1.16 7610 - '@atproto-labs/simple-store': 0.2.0 7611 - '@atproto-labs/simple-store-memory': 0.1.3 7612 - '@atproto/did': 0.1.5 7613 - '@atproto/jwk': 0.1.5 7614 - '@atproto/oauth-types': 0.2.7 7615 - '@atproto/xrpc': 0.7.0 7616 - multiformats: 9.9.0 7617 - zod: 3.24.1 7545 + '@atproto/jwk': 0.1.1 7546 + '@atproto/jwk-jose': 0.1.2 7547 + '@atproto/jwk-webcrypto': 0.1.2 7548 + '@atproto/oauth-client': 0.3.3 7549 + '@atproto/oauth-types': 0.2.1 7618 7550 7619 7551 '@atproto/oauth-client@0.3.2': 7620 7552 dependencies: ··· 7629 7561 '@atproto/oauth-types': 0.2.1 7630 7562 '@atproto/xrpc': 0.6.4 7631 7563 multiformats: 9.9.0 7632 - zod: 3.24.1 7564 + zod: 3.23.8 7633 7565 7634 - '@atproto/oauth-client@0.3.7': 7566 + '@atproto/oauth-client@0.3.21': 7635 7567 dependencies: 7636 - '@atproto-labs/did-resolver': 0.1.8 7637 - '@atproto-labs/fetch': 0.2.0 7638 - '@atproto-labs/handle-resolver': 0.1.5 7639 - '@atproto-labs/identity-resolver': 0.1.10 7640 - '@atproto-labs/simple-store': 0.1.1 7641 - '@atproto-labs/simple-store-memory': 0.1.1 7642 - '@atproto/did': 0.1.3 7643 - '@atproto/jwk': 0.1.2 7644 - '@atproto/oauth-types': 0.2.2 7645 - '@atproto/xrpc': 0.6.6 7568 + '@atproto-labs/did-resolver': 0.1.13 7569 + '@atproto-labs/fetch': 0.2.3 7570 + '@atproto-labs/handle-resolver': 0.1.8 7571 + '@atproto-labs/identity-resolver': 0.1.17 7572 + '@atproto-labs/simple-store': 0.2.0 7573 + '@atproto-labs/simple-store-memory': 0.1.3 7574 + '@atproto/did': 0.1.5 7575 + '@atproto/jwk': 0.2.0 7576 + '@atproto/oauth-types': 0.2.8 7577 + '@atproto/xrpc': 0.7.0 7646 7578 multiformats: 9.9.0 7647 - zod: 3.24.1 7579 + zod: 3.23.8 7648 7580 7649 - '@atproto/oauth-client@0.3.8': 7581 + '@atproto/oauth-client@0.3.3': 7650 7582 dependencies: 7651 - '@atproto-labs/did-resolver': 0.1.9 7652 - '@atproto-labs/fetch': 0.2.0 7653 - '@atproto-labs/handle-resolver': 0.1.6 7654 - '@atproto-labs/identity-resolver': 0.1.11 7583 + '@atproto-labs/did-resolver': 0.1.6 7584 + '@atproto-labs/fetch': 0.1.2 7585 + '@atproto-labs/handle-resolver': 0.1.4 7586 + '@atproto-labs/identity-resolver': 0.1.7 7655 7587 '@atproto-labs/simple-store': 0.1.1 7656 7588 '@atproto-labs/simple-store-memory': 0.1.1 7657 - '@atproto/did': 0.1.4 7658 - '@atproto/jwk': 0.1.2 7659 - '@atproto/oauth-types': 0.2.2 7660 - '@atproto/xrpc': 0.6.7 7589 + '@atproto/did': 0.1.3 7590 + '@atproto/jwk': 0.1.1 7591 + '@atproto/oauth-types': 0.2.1 7592 + '@atproto/xrpc': 0.6.4 7661 7593 multiformats: 9.9.0 7662 - zod: 3.24.1 7594 + zod: 3.23.8 7663 7595 7664 7596 '@atproto/oauth-types@0.2.1': 7665 7597 dependencies: 7666 7598 '@atproto/jwk': 0.1.1 7667 - zod: 3.24.1 7599 + zod: 3.23.8 7668 7600 7669 - '@atproto/oauth-types@0.2.2': 7601 + '@atproto/oauth-types@0.2.8': 7670 7602 dependencies: 7671 - '@atproto/jwk': 0.1.2 7672 - zod: 3.24.1 7603 + '@atproto/jwk': 0.2.0 7604 + zod: 3.23.8 7673 7605 7674 - '@atproto/oauth-types@0.2.7': 7606 + '@atproto/repo@0.5.5': 7675 7607 dependencies: 7676 - '@atproto/jwk': 0.1.5 7677 - zod: 3.24.1 7678 - 7679 - '@atproto/repo@0.6.2': 7680 - dependencies: 7681 - '@atproto/common': 0.4.6 7682 - '@atproto/common-web': 0.3.2 7683 - '@atproto/crypto': 0.4.3 7684 - '@atproto/lexicon': 0.4.5 7608 + '@atproto/common': 0.4.4 7609 + '@atproto/common-web': 0.3.1 7610 + '@atproto/crypto': 0.4.2 7611 + '@atproto/lexicon': 0.4.3 7685 7612 '@ipld/car': 3.2.4 7686 7613 '@ipld/dag-cbor': 7.0.3 7687 7614 multiformats: 9.9.0 7688 7615 uint8arrays: 3.0.0 7689 - zod: 3.24.1 7616 + zod: 3.23.8 7690 7617 7691 - '@atproto/sync@0.1.11': 7618 + '@atproto/sync@0.1.6': 7692 7619 dependencies: 7693 - '@atproto/common': 0.4.6 7694 - '@atproto/identity': 0.4.5 7695 - '@atproto/lexicon': 0.4.5 7696 - '@atproto/repo': 0.6.2 7620 + '@atproto/common': 0.4.4 7621 + '@atproto/identity': 0.4.3 7622 + '@atproto/lexicon': 0.4.3 7623 + '@atproto/repo': 0.5.5 7697 7624 '@atproto/syntax': 0.3.1 7698 - '@atproto/xrpc-server': 0.7.8 7625 + '@atproto/xrpc-server': 0.7.4 7699 7626 multiformats: 9.9.0 7700 7627 p-queue: 6.6.2 7701 - ws: 8.18.0 7702 7628 transitivePeerDependencies: 7703 7629 - bufferutil 7630 + - debug 7704 7631 - supports-color 7705 7632 - utf-8-validate 7706 7633 ··· 7708 7635 7709 7636 '@atproto/syntax@0.4.0': {} 7710 7637 7711 - '@atproto/xrpc-server@0.7.8': 7638 + '@atproto/xrpc-server@0.7.4': 7712 7639 dependencies: 7713 - '@atproto/common': 0.4.6 7714 - '@atproto/crypto': 0.4.3 7715 - '@atproto/lexicon': 0.4.5 7716 - '@atproto/xrpc': 0.6.6 7640 + '@atproto/common': 0.4.5 7641 + '@atproto/crypto': 0.4.2 7642 + '@atproto/lexicon': 0.4.4 7643 + '@atproto/xrpc': 0.6.5 7717 7644 cbor-x: 1.6.0 7718 7645 express: 4.21.2 7719 7646 http-errors: 2.0.0 ··· 7721 7648 rate-limiter-flexible: 2.4.2 7722 7649 uint8arrays: 3.0.0 7723 7650 ws: 8.18.0 7724 - zod: 3.24.1 7651 + zod: 3.23.8 7725 7652 transitivePeerDependencies: 7726 7653 - bufferutil 7727 7654 - supports-color ··· 7729 7656 7730 7657 '@atproto/xrpc@0.6.4': 7731 7658 dependencies: 7732 - '@atproto/lexicon': 0.4.5 7733 - zod: 3.24.1 7659 + '@atproto/lexicon': 0.4.3 7660 + zod: 3.23.8 7734 7661 7735 7662 '@atproto/xrpc@0.6.5': 7736 7663 dependencies: 7737 7664 '@atproto/lexicon': 0.4.4 7738 - zod: 3.24.1 7739 - 7740 - '@atproto/xrpc@0.6.6': 7741 - dependencies: 7742 - '@atproto/lexicon': 0.4.5 7743 - zod: 3.24.1 7744 - 7745 - '@atproto/xrpc@0.6.7': 7746 - dependencies: 7747 - '@atproto/lexicon': 0.4.5 7748 - zod: 3.24.1 7665 + zod: 3.23.8 7749 7666 7750 7667 '@atproto/xrpc@0.7.0': 7751 7668 dependencies: 7752 7669 '@atproto/lexicon': 0.4.11 7753 - zod: 3.24.1 7670 + zod: 3.23.8 7754 7671 7755 7672 '@babel/code-frame@7.10.4': 7756 7673 dependencies: ··· 7788 7705 dependencies: 7789 7706 '@babel/parser': 7.26.3 7790 7707 '@babel/types': 7.26.3 7791 - '@jridgewell/gen-mapping': 0.3.8 7708 + '@jridgewell/gen-mapping': 0.3.5 7792 7709 '@jridgewell/trace-mapping': 0.3.25 7793 7710 jsesc: 3.1.0 7794 7711 ··· 7828 7745 dependencies: 7829 7746 '@babel/core': 7.26.0 7830 7747 '@babel/helper-compilation-targets': 7.25.9 7831 - '@babel/helper-plugin-utils': 7.27.1 7748 + '@babel/helper-plugin-utils': 7.25.9 7832 7749 debug: 4.4.0 7833 7750 lodash.debounce: 4.0.8 7834 - resolve: 1.22.8 7751 + resolve: 1.22.10 7835 7752 transitivePeerDependencies: 7836 7753 - supports-color 7837 7754 ··· 7925 7842 dependencies: 7926 7843 '@babel/core': 7.26.0 7927 7844 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) 7928 - '@babel/helper-plugin-utils': 7.27.1 7845 + '@babel/helper-plugin-utils': 7.25.9 7929 7846 '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0) 7930 7847 transitivePeerDependencies: 7931 7848 - supports-color ··· 7933 7850 '@babel/plugin-proposal-export-default-from@7.25.9(@babel/core@7.26.0)': 7934 7851 dependencies: 7935 7852 '@babel/core': 7.26.0 7936 - '@babel/helper-plugin-utils': 7.27.1 7853 + '@babel/helper-plugin-utils': 7.25.9 7937 7854 7938 7855 '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.26.0)': 7939 7856 dependencies: ··· 7946 7863 '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': 7947 7864 dependencies: 7948 7865 '@babel/core': 7.26.0 7949 - '@babel/helper-plugin-utils': 7.27.1 7866 + '@babel/helper-plugin-utils': 7.25.9 7950 7867 7951 7868 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)': 7952 7869 dependencies: 7953 7870 '@babel/core': 7.26.0 7954 - '@babel/helper-plugin-utils': 7.27.1 7871 + '@babel/helper-plugin-utils': 7.25.9 7955 7872 7956 7873 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': 7957 7874 dependencies: 7958 7875 '@babel/core': 7.26.0 7959 - '@babel/helper-plugin-utils': 7.27.1 7876 + '@babel/helper-plugin-utils': 7.25.9 7960 7877 7961 7878 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0)': 7962 7879 dependencies: 7963 7880 '@babel/core': 7.26.0 7964 - '@babel/helper-plugin-utils': 7.27.1 7881 + '@babel/helper-plugin-utils': 7.25.9 7965 7882 7966 7883 '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.26.0)': 7967 7884 dependencies: 7968 7885 '@babel/core': 7.26.0 7969 - '@babel/helper-plugin-utils': 7.27.1 7886 + '@babel/helper-plugin-utils': 7.25.9 7970 7887 7971 7888 '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.0)': 7972 7889 dependencies: 7973 7890 '@babel/core': 7.26.0 7974 - '@babel/helper-plugin-utils': 7.27.1 7891 + '@babel/helper-plugin-utils': 7.25.9 7975 7892 7976 7893 '@babel/plugin-syntax-export-default-from@7.25.9(@babel/core@7.26.0)': 7977 7894 dependencies: 7978 7895 '@babel/core': 7.26.0 7979 - '@babel/helper-plugin-utils': 7.27.1 7896 + '@babel/helper-plugin-utils': 7.25.9 7980 7897 7981 7898 '@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.0)': 7982 7899 dependencies: 7983 7900 '@babel/core': 7.26.0 7984 - '@babel/helper-plugin-utils': 7.27.1 7901 + '@babel/helper-plugin-utils': 7.25.9 7985 7902 7986 7903 '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': 7987 7904 dependencies: 7988 7905 '@babel/core': 7.26.0 7989 - '@babel/helper-plugin-utils': 7.27.1 7906 + '@babel/helper-plugin-utils': 7.25.9 7990 7907 7991 7908 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': 7992 7909 dependencies: 7993 7910 '@babel/core': 7.26.0 7994 - '@babel/helper-plugin-utils': 7.27.1 7911 + '@babel/helper-plugin-utils': 7.25.9 7995 7912 7996 7913 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)': 7997 7914 dependencies: 7998 7915 '@babel/core': 7.26.0 7999 - '@babel/helper-plugin-utils': 7.27.1 7916 + '@babel/helper-plugin-utils': 7.25.9 8000 7917 8001 7918 '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': 8002 7919 dependencies: ··· 8006 7923 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)': 8007 7924 dependencies: 8008 7925 '@babel/core': 7.26.0 8009 - '@babel/helper-plugin-utils': 7.27.1 7926 + '@babel/helper-plugin-utils': 7.25.9 8010 7927 8011 7928 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': 8012 7929 dependencies: 8013 7930 '@babel/core': 7.26.0 8014 - '@babel/helper-plugin-utils': 7.27.1 7931 + '@babel/helper-plugin-utils': 7.25.9 8015 7932 8016 7933 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': 8017 7934 dependencies: 8018 7935 '@babel/core': 7.26.0 8019 - '@babel/helper-plugin-utils': 7.27.1 7936 + '@babel/helper-plugin-utils': 7.25.9 8020 7937 8021 7938 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': 8022 7939 dependencies: 8023 7940 '@babel/core': 7.26.0 8024 - '@babel/helper-plugin-utils': 7.27.1 7941 + '@babel/helper-plugin-utils': 7.25.9 8025 7942 8026 7943 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': 8027 7944 dependencies: 8028 7945 '@babel/core': 7.26.0 8029 - '@babel/helper-plugin-utils': 7.27.1 7946 + '@babel/helper-plugin-utils': 7.25.9 8030 7947 8031 7948 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': 8032 7949 dependencies: 8033 7950 '@babel/core': 7.26.0 8034 - '@babel/helper-plugin-utils': 7.27.1 7951 + '@babel/helper-plugin-utils': 7.25.9 8035 7952 8036 7953 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': 8037 7954 dependencies: 8038 7955 '@babel/core': 7.26.0 8039 - '@babel/helper-plugin-utils': 7.27.1 7956 + '@babel/helper-plugin-utils': 7.25.9 8040 7957 8041 7958 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)': 8042 7959 dependencies: 8043 7960 '@babel/core': 7.26.0 8044 - '@babel/helper-plugin-utils': 7.27.1 7961 + '@babel/helper-plugin-utils': 7.25.9 8045 7962 8046 7963 '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': 8047 7964 dependencies: ··· 8056 7973 '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': 8057 7974 dependencies: 8058 7975 '@babel/core': 7.26.0 8059 - '@babel/helper-plugin-utils': 7.27.1 7976 + '@babel/helper-plugin-utils': 7.25.9 8060 7977 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) 8061 7978 '@babel/traverse': 7.26.4 8062 7979 transitivePeerDependencies: ··· 8066 7983 dependencies: 8067 7984 '@babel/core': 7.26.0 8068 7985 '@babel/helper-module-imports': 7.25.9 8069 - '@babel/helper-plugin-utils': 7.27.1 7986 + '@babel/helper-plugin-utils': 7.25.9 8070 7987 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) 8071 7988 transitivePeerDependencies: 8072 7989 - supports-color ··· 8074 7991 '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': 8075 7992 dependencies: 8076 7993 '@babel/core': 7.26.0 8077 - '@babel/helper-plugin-utils': 7.27.1 7994 + '@babel/helper-plugin-utils': 7.25.9 8078 7995 8079 7996 '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': 8080 7997 dependencies: ··· 8099 8016 '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': 8100 8017 dependencies: 8101 8018 '@babel/core': 7.26.0 8102 - '@babel/helper-plugin-utils': 7.27.1 8019 + '@babel/helper-plugin-utils': 7.25.9 8103 8020 '@babel/template': 7.25.9 8104 8021 8105 8022 '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': 8106 8023 dependencies: 8107 8024 '@babel/core': 7.26.0 8108 - '@babel/helper-plugin-utils': 7.27.1 8025 + '@babel/helper-plugin-utils': 7.25.9 8109 8026 8110 8027 '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.26.0)': 8111 8028 dependencies: ··· 8115 8032 '@babel/plugin-transform-flow-strip-types@7.25.9(@babel/core@7.26.0)': 8116 8033 dependencies: 8117 8034 '@babel/core': 7.26.0 8118 - '@babel/helper-plugin-utils': 7.27.1 8035 + '@babel/helper-plugin-utils': 7.25.9 8119 8036 '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.0) 8120 8037 8121 8038 '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': 8122 8039 dependencies: 8123 8040 '@babel/core': 7.26.0 8124 - '@babel/helper-plugin-utils': 7.27.1 8041 + '@babel/helper-plugin-utils': 7.25.9 8125 8042 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 8126 8043 transitivePeerDependencies: 8127 8044 - supports-color ··· 8130 8047 dependencies: 8131 8048 '@babel/core': 7.26.0 8132 8049 '@babel/helper-compilation-targets': 7.25.9 8133 - '@babel/helper-plugin-utils': 7.27.1 8050 + '@babel/helper-plugin-utils': 7.25.9 8134 8051 '@babel/traverse': 7.26.4 8135 8052 transitivePeerDependencies: 8136 8053 - supports-color ··· 8138 8055 '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': 8139 8056 dependencies: 8140 8057 '@babel/core': 7.26.0 8141 - '@babel/helper-plugin-utils': 7.27.1 8058 + '@babel/helper-plugin-utils': 7.25.9 8142 8059 8143 8060 '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': 8144 8061 dependencies: 8145 8062 '@babel/core': 7.26.0 8146 - '@babel/helper-plugin-utils': 7.27.1 8063 + '@babel/helper-plugin-utils': 7.25.9 8147 8064 8148 8065 '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0)': 8149 8066 dependencies: ··· 8157 8074 dependencies: 8158 8075 '@babel/core': 7.26.0 8159 8076 '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) 8160 - '@babel/helper-plugin-utils': 7.27.1 8077 + '@babel/helper-plugin-utils': 7.25.9 8161 8078 8162 8079 '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': 8163 8080 dependencies: ··· 8167 8084 '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': 8168 8085 dependencies: 8169 8086 '@babel/core': 7.26.0 8170 - '@babel/helper-plugin-utils': 7.27.1 8087 + '@babel/helper-plugin-utils': 7.25.9 8171 8088 8172 8089 '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': 8173 8090 dependencies: 8174 8091 '@babel/core': 7.26.0 8175 8092 '@babel/helper-compilation-targets': 7.25.9 8176 - '@babel/helper-plugin-utils': 7.27.1 8093 + '@babel/helper-plugin-utils': 7.25.9 8177 8094 '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) 8178 8095 8179 8096 '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': 8180 8097 dependencies: 8181 8098 '@babel/core': 7.26.0 8182 - '@babel/helper-plugin-utils': 7.27.1 8099 + '@babel/helper-plugin-utils': 7.25.9 8183 8100 8184 8101 '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': 8185 8102 dependencies: ··· 8192 8109 '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': 8193 8110 dependencies: 8194 8111 '@babel/core': 7.26.0 8195 - '@babel/helper-plugin-utils': 7.27.1 8112 + '@babel/helper-plugin-utils': 7.25.9 8196 8113 8197 8114 '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': 8198 8115 dependencies: 8199 8116 '@babel/core': 7.26.0 8200 8117 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) 8201 - '@babel/helper-plugin-utils': 7.27.1 8118 + '@babel/helper-plugin-utils': 7.25.9 8202 8119 transitivePeerDependencies: 8203 8120 - supports-color 8204 8121 ··· 8207 8124 '@babel/core': 7.26.0 8208 8125 '@babel/helper-annotate-as-pure': 7.25.9 8209 8126 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) 8210 - '@babel/helper-plugin-utils': 7.27.1 8127 + '@babel/helper-plugin-utils': 7.25.9 8211 8128 transitivePeerDependencies: 8212 8129 - supports-color 8213 8130 8214 8131 '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.0)': 8215 8132 dependencies: 8216 8133 '@babel/core': 7.26.0 8217 - '@babel/helper-plugin-utils': 7.27.1 8134 + '@babel/helper-plugin-utils': 7.25.9 8218 8135 8219 8136 '@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.0)': 8220 8137 dependencies: ··· 8226 8143 '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)': 8227 8144 dependencies: 8228 8145 '@babel/core': 7.26.0 8229 - '@babel/helper-plugin-utils': 7.27.1 8146 + '@babel/helper-plugin-utils': 7.25.9 8230 8147 8231 8148 '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)': 8232 8149 dependencies: 8233 8150 '@babel/core': 7.26.0 8234 - '@babel/helper-plugin-utils': 7.27.1 8151 + '@babel/helper-plugin-utils': 7.25.9 8235 8152 8236 8153 '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.0)': 8237 8154 dependencies: 8238 8155 '@babel/core': 7.26.0 8239 8156 '@babel/helper-annotate-as-pure': 7.25.9 8240 8157 '@babel/helper-module-imports': 7.25.9 8241 - '@babel/helper-plugin-utils': 7.27.1 8158 + '@babel/helper-plugin-utils': 7.25.9 8242 8159 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) 8243 8160 '@babel/types': 7.26.3 8244 8161 transitivePeerDependencies: ··· 8248 8165 dependencies: 8249 8166 '@babel/core': 7.26.0 8250 8167 '@babel/helper-annotate-as-pure': 7.25.9 8251 - '@babel/helper-plugin-utils': 7.27.1 8168 + '@babel/helper-plugin-utils': 7.25.9 8252 8169 8253 8170 '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': 8254 8171 dependencies: 8255 8172 '@babel/core': 7.26.0 8256 - '@babel/helper-plugin-utils': 7.27.1 8173 + '@babel/helper-plugin-utils': 7.25.9 8257 8174 regenerator-transform: 0.15.2 8258 8175 8259 8176 '@babel/plugin-transform-runtime@7.25.9(@babel/core@7.26.0)': 8260 8177 dependencies: 8261 8178 '@babel/core': 7.26.0 8262 8179 '@babel/helper-module-imports': 7.25.9 8263 - '@babel/helper-plugin-utils': 7.27.1 8180 + '@babel/helper-plugin-utils': 7.25.9 8264 8181 babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) 8265 8182 babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) 8266 8183 babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) ··· 8276 8193 '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': 8277 8194 dependencies: 8278 8195 '@babel/core': 7.26.0 8279 - '@babel/helper-plugin-utils': 7.27.1 8196 + '@babel/helper-plugin-utils': 7.25.9 8280 8197 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 8281 8198 transitivePeerDependencies: 8282 8199 - supports-color ··· 8284 8201 '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': 8285 8202 dependencies: 8286 8203 '@babel/core': 7.26.0 8287 - '@babel/helper-plugin-utils': 7.27.1 8204 + '@babel/helper-plugin-utils': 7.25.9 8288 8205 8289 8206 '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': 8290 8207 dependencies: ··· 8311 8228 '@babel/preset-react@7.26.3(@babel/core@7.26.0)': 8312 8229 dependencies: 8313 8230 '@babel/core': 7.26.0 8314 - '@babel/helper-plugin-utils': 7.27.1 8231 + '@babel/helper-plugin-utils': 7.25.9 8315 8232 '@babel/helper-validator-option': 7.25.9 8316 8233 '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.0) 8317 8234 '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) ··· 8358 8275 '@babel/helper-string-parser': 7.25.9 8359 8276 '@babel/helper-validator-identifier': 7.25.9 8360 8277 8361 - '@braintree/sanitize-url@7.1.1': {} 8278 + '@braintree/sanitize-url@7.1.0': {} 8362 8279 8363 8280 '@cbor-extract/cbor-extract-darwin-arm64@2.2.0': 8364 8281 optional: true ··· 8412 8329 '@esbuild/aix-ppc64@0.23.1': 8413 8330 optional: true 8414 8331 8415 - '@esbuild/aix-ppc64@0.24.2': 8332 + '@esbuild/aix-ppc64@0.24.0': 8416 8333 optional: true 8417 8334 8418 8335 '@esbuild/android-arm64@0.18.20': ··· 8424 8341 '@esbuild/android-arm64@0.23.1': 8425 8342 optional: true 8426 8343 8427 - '@esbuild/android-arm64@0.24.2': 8344 + '@esbuild/android-arm64@0.24.0': 8428 8345 optional: true 8429 8346 8430 8347 '@esbuild/android-arm@0.18.20': ··· 8436 8353 '@esbuild/android-arm@0.23.1': 8437 8354 optional: true 8438 8355 8439 - '@esbuild/android-arm@0.24.2': 8356 + '@esbuild/android-arm@0.24.0': 8440 8357 optional: true 8441 8358 8442 8359 '@esbuild/android-x64@0.18.20': ··· 8448 8365 '@esbuild/android-x64@0.23.1': 8449 8366 optional: true 8450 8367 8451 - '@esbuild/android-x64@0.24.2': 8368 + '@esbuild/android-x64@0.24.0': 8452 8369 optional: true 8453 8370 8454 8371 '@esbuild/darwin-arm64@0.18.20': ··· 8460 8377 '@esbuild/darwin-arm64@0.23.1': 8461 8378 optional: true 8462 8379 8463 - '@esbuild/darwin-arm64@0.24.2': 8380 + '@esbuild/darwin-arm64@0.24.0': 8464 8381 optional: true 8465 8382 8466 8383 '@esbuild/darwin-x64@0.18.20': ··· 8472 8389 '@esbuild/darwin-x64@0.23.1': 8473 8390 optional: true 8474 8391 8475 - '@esbuild/darwin-x64@0.24.2': 8392 + '@esbuild/darwin-x64@0.24.0': 8476 8393 optional: true 8477 8394 8478 8395 '@esbuild/freebsd-arm64@0.18.20': ··· 8484 8401 '@esbuild/freebsd-arm64@0.23.1': 8485 8402 optional: true 8486 8403 8487 - '@esbuild/freebsd-arm64@0.24.2': 8404 + '@esbuild/freebsd-arm64@0.24.0': 8488 8405 optional: true 8489 8406 8490 8407 '@esbuild/freebsd-x64@0.18.20': ··· 8496 8413 '@esbuild/freebsd-x64@0.23.1': 8497 8414 optional: true 8498 8415 8499 - '@esbuild/freebsd-x64@0.24.2': 8416 + '@esbuild/freebsd-x64@0.24.0': 8500 8417 optional: true 8501 8418 8502 8419 '@esbuild/linux-arm64@0.18.20': ··· 8508 8425 '@esbuild/linux-arm64@0.23.1': 8509 8426 optional: true 8510 8427 8511 - '@esbuild/linux-arm64@0.24.2': 8428 + '@esbuild/linux-arm64@0.24.0': 8512 8429 optional: true 8513 8430 8514 8431 '@esbuild/linux-arm@0.18.20': ··· 8520 8437 '@esbuild/linux-arm@0.23.1': 8521 8438 optional: true 8522 8439 8523 - '@esbuild/linux-arm@0.24.2': 8440 + '@esbuild/linux-arm@0.24.0': 8524 8441 optional: true 8525 8442 8526 8443 '@esbuild/linux-ia32@0.18.20': ··· 8532 8449 '@esbuild/linux-ia32@0.23.1': 8533 8450 optional: true 8534 8451 8535 - '@esbuild/linux-ia32@0.24.2': 8452 + '@esbuild/linux-ia32@0.24.0': 8536 8453 optional: true 8537 8454 8538 8455 '@esbuild/linux-loong64@0.18.20': ··· 8544 8461 '@esbuild/linux-loong64@0.23.1': 8545 8462 optional: true 8546 8463 8547 - '@esbuild/linux-loong64@0.24.2': 8464 + '@esbuild/linux-loong64@0.24.0': 8548 8465 optional: true 8549 8466 8550 8467 '@esbuild/linux-mips64el@0.18.20': ··· 8556 8473 '@esbuild/linux-mips64el@0.23.1': 8557 8474 optional: true 8558 8475 8559 - '@esbuild/linux-mips64el@0.24.2': 8476 + '@esbuild/linux-mips64el@0.24.0': 8560 8477 optional: true 8561 8478 8562 8479 '@esbuild/linux-ppc64@0.18.20': ··· 8568 8485 '@esbuild/linux-ppc64@0.23.1': 8569 8486 optional: true 8570 8487 8571 - '@esbuild/linux-ppc64@0.24.2': 8488 + '@esbuild/linux-ppc64@0.24.0': 8572 8489 optional: true 8573 8490 8574 8491 '@esbuild/linux-riscv64@0.18.20': ··· 8580 8497 '@esbuild/linux-riscv64@0.23.1': 8581 8498 optional: true 8582 8499 8583 - '@esbuild/linux-riscv64@0.24.2': 8500 + '@esbuild/linux-riscv64@0.24.0': 8584 8501 optional: true 8585 8502 8586 8503 '@esbuild/linux-s390x@0.18.20': ··· 8592 8509 '@esbuild/linux-s390x@0.23.1': 8593 8510 optional: true 8594 8511 8595 - '@esbuild/linux-s390x@0.24.2': 8512 + '@esbuild/linux-s390x@0.24.0': 8596 8513 optional: true 8597 8514 8598 8515 '@esbuild/linux-x64@0.18.20': ··· 8604 8521 '@esbuild/linux-x64@0.23.1': 8605 8522 optional: true 8606 8523 8607 - '@esbuild/linux-x64@0.24.2': 8608 - optional: true 8609 - 8610 - '@esbuild/netbsd-arm64@0.24.2': 8524 + '@esbuild/linux-x64@0.24.0': 8611 8525 optional: true 8612 8526 8613 8527 '@esbuild/netbsd-x64@0.18.20': ··· 8619 8533 '@esbuild/netbsd-x64@0.23.1': 8620 8534 optional: true 8621 8535 8622 - '@esbuild/netbsd-x64@0.24.2': 8536 + '@esbuild/netbsd-x64@0.24.0': 8623 8537 optional: true 8624 8538 8625 8539 '@esbuild/openbsd-arm64@0.23.1': 8626 8540 optional: true 8627 8541 8628 - '@esbuild/openbsd-arm64@0.24.2': 8542 + '@esbuild/openbsd-arm64@0.24.0': 8629 8543 optional: true 8630 8544 8631 8545 '@esbuild/openbsd-x64@0.18.20': ··· 8637 8551 '@esbuild/openbsd-x64@0.23.1': 8638 8552 optional: true 8639 8553 8640 - '@esbuild/openbsd-x64@0.24.2': 8554 + '@esbuild/openbsd-x64@0.24.0': 8641 8555 optional: true 8642 8556 8643 8557 '@esbuild/sunos-x64@0.18.20': ··· 8649 8563 '@esbuild/sunos-x64@0.23.1': 8650 8564 optional: true 8651 8565 8652 - '@esbuild/sunos-x64@0.24.2': 8566 + '@esbuild/sunos-x64@0.24.0': 8653 8567 optional: true 8654 8568 8655 8569 '@esbuild/win32-arm64@0.18.20': ··· 8661 8575 '@esbuild/win32-arm64@0.23.1': 8662 8576 optional: true 8663 8577 8664 - '@esbuild/win32-arm64@0.24.2': 8578 + '@esbuild/win32-arm64@0.24.0': 8665 8579 optional: true 8666 8580 8667 8581 '@esbuild/win32-ia32@0.18.20': ··· 8673 8587 '@esbuild/win32-ia32@0.23.1': 8674 8588 optional: true 8675 8589 8676 - '@esbuild/win32-ia32@0.24.2': 8590 + '@esbuild/win32-ia32@0.24.0': 8677 8591 optional: true 8678 8592 8679 8593 '@esbuild/win32-x64@0.18.20': ··· 8685 8599 '@esbuild/win32-x64@0.23.1': 8686 8600 optional: true 8687 8601 8688 - '@esbuild/win32-x64@0.24.2': 8602 + '@esbuild/win32-x64@0.24.0': 8689 8603 optional: true 8690 8604 8691 8605 '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': ··· 8693 8607 eslint: 8.57.1 8694 8608 eslint-visitor-keys: 3.4.3 8695 8609 8610 + '@eslint-community/eslint-utils@4.7.0(eslint@8.57.1)': 8611 + dependencies: 8612 + eslint: 8.57.1 8613 + eslint-visitor-keys: 3.4.3 8614 + 8696 8615 '@eslint-community/regexpp@4.12.1': {} 8697 8616 8698 8617 '@eslint/eslintrc@2.1.4': ··· 8711 8630 8712 8631 '@eslint/js@8.57.1': {} 8713 8632 8714 - '@expo/cli@0.24.13': 8633 + '@expo/cli@0.24.14': 8715 8634 dependencies: 8716 8635 '@0no-co/graphql.web': 1.0.12 8717 8636 '@babel/runtime': 7.26.0 ··· 8730 8649 '@expo/spawn-async': 1.7.2 8731 8650 '@expo/ws-tunnel': 1.0.6 8732 8651 '@expo/xcpretty': 4.3.2 8733 - '@react-native/dev-middleware': 0.79.2 8652 + '@react-native/dev-middleware': 0.79.3 8734 8653 '@urql/core': 5.1.0 8735 8654 '@urql/exchange-retry': 1.3.0(@urql/core@5.1.0) 8736 8655 accepts: 1.3.8 ··· 8745 8664 debug: 4.4.0 8746 8665 env-editor: 0.4.2 8747 8666 freeport-async: 2.0.0 8748 - getenv: 1.0.0 8667 + getenv: 2.0.0 8749 8668 glob: 10.4.5 8750 - lan-network: 0.1.6 8669 + lan-network: 0.1.7 8751 8670 minimatch: 9.0.5 8752 8671 node-forge: 1.3.1 8753 8672 npm-package-arg: 11.0.3 ··· 8760 8679 qrcode-terminal: 0.11.0 8761 8680 require-from-string: 2.0.2 8762 8681 requireg: 0.2.2 8763 - resolve: 1.22.8 8682 + resolve: 1.22.10 8764 8683 resolve-from: 5.0.0 8765 8684 resolve.exports: 2.0.3 8766 8685 semver: 7.6.3 8767 - send: 0.19.1 8686 + send: 0.19.0 8768 8687 slugify: 1.6.6 8769 8688 source-map-support: 0.5.21 8770 8689 stacktrace-parser: 0.1.10 ··· 8787 8706 8788 8707 '@expo/config-plugins@10.0.2': 8789 8708 dependencies: 8790 - '@expo/config-types': 53.0.3 8709 + '@expo/config-types': 53.0.4 8791 8710 '@expo/json-file': 9.1.4 8792 8711 '@expo/plist': 0.3.4 8793 8712 '@expo/sdk-runtime-versions': 1.0.0 ··· 8804 8723 transitivePeerDependencies: 8805 8724 - supports-color 8806 8725 8807 - '@expo/config-types@53.0.3': {} 8808 - 8809 8726 '@expo/config-types@53.0.4': {} 8810 8727 8811 8728 '@expo/config@11.0.10': ··· 8826 8743 transitivePeerDependencies: 8827 8744 - supports-color 8828 8745 8829 - '@expo/config@11.0.8': 8830 - dependencies: 8831 - '@babel/code-frame': 7.10.4 8832 - '@expo/config-plugins': 10.0.2 8833 - '@expo/config-types': 53.0.3 8834 - '@expo/json-file': 9.1.4 8835 - deepmerge: 4.3.1 8836 - getenv: 1.0.0 8837 - glob: 10.4.5 8838 - require-from-string: 2.0.2 8839 - resolve-from: 5.0.0 8840 - resolve-workspace-root: 2.0.0 8841 - semver: 7.6.3 8842 - slugify: 1.6.6 8843 - sucrase: 3.35.0 8844 - transitivePeerDependencies: 8845 - - supports-color 8846 - 8847 8746 '@expo/devcert@1.1.4': 8848 8747 dependencies: 8849 8748 application-config-path: 0.1.1 ··· 8857 8756 password-prompt: 1.1.3 8858 8757 sudo-prompt: 8.2.5 8859 8758 tmp: 0.0.33 8860 - tslib: 2.8.1 8759 + tslib: 2.6.2 8861 8760 transitivePeerDependencies: 8862 8761 - supports-color 8863 8762 ··· 8871 8770 transitivePeerDependencies: 8872 8771 - supports-color 8873 8772 8874 - '@expo/fingerprint@0.12.4': 8773 + '@expo/fingerprint@0.13.0': 8875 8774 dependencies: 8876 8775 '@expo/spawn-async': 1.7.2 8877 8776 arg: 5.0.2 8878 8777 chalk: 4.1.2 8879 8778 debug: 4.4.0 8880 8779 find-up: 5.0.0 8881 - getenv: 1.0.0 8780 + getenv: 2.0.0 8781 + ignore: 5.3.2 8882 8782 minimatch: 9.0.5 8883 8783 p-limit: 3.1.0 8884 8784 resolve-from: 5.0.0 ··· 8951 8851 base64-js: 1.5.1 8952 8852 xmlbuilder: 15.1.1 8953 8853 8954 - '@expo/prebuild-config@9.0.5': 8955 - dependencies: 8956 - '@expo/config': 11.0.8 8957 - '@expo/config-plugins': 10.0.2 8958 - '@expo/config-types': 53.0.3 8959 - '@expo/image-utils': 0.7.4 8960 - '@expo/json-file': 9.1.4 8961 - '@react-native/normalize-colors': 0.79.2 8962 - debug: 4.4.0 8963 - resolve-from: 5.0.0 8964 - semver: 7.6.3 8965 - xml2js: 0.6.0 8966 - transitivePeerDependencies: 8967 - - supports-color 8968 - 8969 8854 '@expo/prebuild-config@9.0.6': 8970 8855 dependencies: 8971 8856 '@expo/config': 11.0.10 ··· 8996 8881 dependencies: 8997 8882 cross-spawn: 7.0.6 8998 8883 8999 - '@expo/vector-icons@14.1.0(expo-font@13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 8884 + '@expo/vector-icons@14.1.0(expo-font@13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9000 8885 dependencies: 9001 - expo-font: 13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 8886 + expo-font: 13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 9002 8887 react: 19.0.0 9003 8888 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 9004 8889 9005 - '@expo/vector-icons@14.1.0(expo-font@13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 8890 + '@expo/vector-icons@14.1.0(expo-font@13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9006 8891 dependencies: 9007 - expo-font: 13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 8892 + expo-font: 13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 9008 8893 react: 19.0.0 9009 8894 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 9010 8895 optional: true ··· 9035 8920 9036 8921 '@floating-ui/utils@0.2.8': {} 9037 8922 9038 - '@gorhom/bottom-sheet@5.1.4(@types/react@19.0.14)(react-native-gesture-handler@2.24.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-reanimated@3.17.5(@babel/core@7.26.0)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 8923 + '@gorhom/bottom-sheet@5.1.6(@types/react@19.0.14)(react-native-gesture-handler@2.24.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-reanimated@3.17.5(@babel/core@7.26.0)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9039 8924 dependencies: 9040 8925 '@gorhom/portal': 1.0.14(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9041 8926 invariant: 2.2.4 ··· 9048 8933 9049 8934 '@gorhom/portal@1.0.14(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9050 8935 dependencies: 9051 - nanoid: 3.3.11 8936 + nanoid: 3.3.8 9052 8937 react: 19.0.0 9053 8938 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 9054 8939 9055 - '@hono/node-server@1.13.7(hono@4.6.17)': 8940 + '@hono/node-server@1.13.7(hono@4.6.13)': 9056 8941 dependencies: 9057 - hono: 4.6.17 8942 + hono: 4.6.13 9058 8943 9059 8944 '@humanwhocodes/config-array@0.13.0': 9060 8945 dependencies: ··· 9068 8953 9069 8954 '@humanwhocodes/object-schema@2.0.3': {} 9070 8955 9071 - '@ianvs/prettier-plugin-sort-imports@4.4.1(prettier@3.4.2)': 8956 + '@ianvs/prettier-plugin-sort-imports@4.4.2(prettier@3.5.3)': 9072 8957 dependencies: 9073 8958 '@babel/generator': 7.26.3 9074 8959 '@babel/parser': 7.26.3 9075 8960 '@babel/traverse': 7.26.4 9076 8961 '@babel/types': 7.26.3 9077 - prettier: 3.4.2 8962 + prettier: 3.5.3 9078 8963 semver: 7.6.3 9079 8964 transitivePeerDependencies: 9080 8965 - supports-color ··· 9123 9008 dependencies: 9124 9009 '@jest/fake-timers': 29.7.0 9125 9010 '@jest/types': 29.6.3 9126 - '@types/node': 20.17.14 9011 + '@types/node': 20.17.10 9127 9012 jest-mock: 29.7.0 9128 9013 9129 9014 '@jest/fake-timers@29.7.0': 9130 9015 dependencies: 9131 9016 '@jest/types': 29.6.3 9132 9017 '@sinonjs/fake-timers': 10.3.0 9133 - '@types/node': 20.17.14 9018 + '@types/node': 20.17.10 9134 9019 jest-message-util: 29.7.0 9135 9020 jest-mock: 29.7.0 9136 9021 jest-util: 29.7.0 ··· 9164 9049 '@jest/schemas': 29.6.3 9165 9050 '@types/istanbul-lib-coverage': 2.0.6 9166 9051 '@types/istanbul-reports': 3.0.4 9167 - '@types/node': 20.17.14 9052 + '@types/node': 20.17.10 9168 9053 '@types/yargs': 17.0.33 9169 9054 chalk: 4.1.2 9170 9055 9171 - '@jridgewell/gen-mapping@0.3.8': 9056 + '@jridgewell/gen-mapping@0.3.5': 9172 9057 dependencies: 9173 9058 '@jridgewell/set-array': 1.2.1 9174 9059 '@jridgewell/sourcemap-codec': 1.5.0 ··· 9180 9065 9181 9066 '@jridgewell/source-map@0.3.6': 9182 9067 dependencies: 9183 - '@jridgewell/gen-mapping': 0.3.8 9068 + '@jridgewell/gen-mapping': 0.3.5 9184 9069 '@jridgewell/trace-mapping': 0.3.25 9185 9070 9186 9071 '@jridgewell/sourcemap-codec@1.5.0': {} ··· 9253 9138 9254 9139 '@neon-rs/load@0.0.4': {} 9255 9140 9256 - '@noble/curves@1.8.1': 9141 + '@noble/curves@1.7.0': 9257 9142 dependencies: 9258 - '@noble/hashes': 1.7.1 9143 + '@noble/hashes': 1.6.0 9259 9144 9260 - '@noble/hashes@1.7.1': {} 9145 + '@noble/hashes@1.6.0': {} 9146 + 9147 + '@noble/hashes@1.6.1': {} 9261 9148 9262 9149 '@nodelib/fs.scandir@2.1.5': 9263 9150 dependencies: ··· 9322 9209 optionalDependencies: 9323 9210 '@types/react': 19.0.14 9324 9211 9325 - '@radix-ui/react-dismissable-layer@1.1.2(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 9212 + '@radix-ui/react-dismissable-layer@1.1.3(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 9326 9213 dependencies: 9327 9214 '@radix-ui/primitive': 1.1.1 9328 9215 '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.14)(react@19.0.0) ··· 9352 9239 '@types/react': 19.0.14 9353 9240 '@types/react-dom': 18.3.1 9354 9241 9355 - '@radix-ui/react-hover-card@1.1.3(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 9242 + '@radix-ui/react-hover-card@1.1.4(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 9356 9243 dependencies: 9357 9244 '@radix-ui/primitive': 1.1.1 9358 9245 '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.14)(react@19.0.0) 9359 9246 '@radix-ui/react-context': 1.1.1(@types/react@19.0.14)(react@19.0.0) 9360 - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9247 + '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9361 9248 '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9362 9249 '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9363 9250 '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) ··· 9376 9263 optionalDependencies: 9377 9264 '@types/react': 19.0.14 9378 9265 9379 - '@radix-ui/react-popover@1.1.3(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 9266 + '@radix-ui/react-popover@1.1.4(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 9380 9267 dependencies: 9381 9268 '@radix-ui/primitive': 1.1.1 9382 9269 '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.14)(react@19.0.0) 9383 9270 '@radix-ui/react-context': 1.1.1(@types/react@19.0.14)(react@19.0.0) 9384 - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9271 + '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9385 9272 '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.14)(react@19.0.0) 9386 9273 '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9387 9274 '@radix-ui/react-id': 1.1.0(@types/react@19.0.14)(react@19.0.0) ··· 9394 9281 aria-hidden: 1.2.4 9395 9282 react: 19.0.0 9396 9283 react-dom: 19.0.0(react@19.0.0) 9397 - react-remove-scroll: 2.6.0(@types/react@19.0.14)(react@19.0.0) 9284 + react-remove-scroll: 2.6.2(@types/react@19.0.14)(react@19.0.0) 9398 9285 optionalDependencies: 9399 9286 '@types/react': 19.0.14 9400 9287 '@types/react-dom': 18.3.1 ··· 9470 9357 optionalDependencies: 9471 9358 '@types/react': 19.0.14 9472 9359 9473 - '@radix-ui/react-tooltip@1.1.5(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 9360 + '@radix-ui/react-tooltip@1.1.6(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': 9474 9361 dependencies: 9475 9362 '@radix-ui/primitive': 1.1.1 9476 9363 '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.14)(react@19.0.0) 9477 9364 '@radix-ui/react-context': 1.1.1(@types/react@19.0.14)(react@19.0.0) 9478 - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9365 + '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9479 9366 '@radix-ui/react-id': 1.1.0(@types/react@19.0.14)(react@19.0.0) 9480 9367 '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9481 9368 '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) ··· 9553 9440 9554 9441 '@react-native/assets-registry@0.79.2': {} 9555 9442 9556 - '@react-native/babel-plugin-codegen@0.79.2(@babel/core@7.26.0)': 9443 + '@react-native/babel-plugin-codegen@0.79.3(@babel/core@7.26.0)': 9557 9444 dependencies: 9558 9445 '@babel/traverse': 7.26.4 9559 - '@react-native/codegen': 0.79.2(@babel/core@7.26.0) 9446 + '@react-native/codegen': 0.79.3(@babel/core@7.26.0) 9560 9447 transitivePeerDependencies: 9561 9448 - '@babel/core' 9562 9449 - supports-color 9563 9450 9564 - '@react-native/babel-preset@0.79.2(@babel/core@7.26.0)': 9451 + '@react-native/babel-preset@0.79.3(@babel/core@7.26.0)': 9565 9452 dependencies: 9566 9453 '@babel/core': 7.26.0 9567 9454 '@babel/plugin-proposal-export-default-from': 7.25.9(@babel/core@7.26.0) ··· 9604 9491 '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0) 9605 9492 '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) 9606 9493 '@babel/template': 7.25.9 9607 - '@react-native/babel-plugin-codegen': 0.79.2(@babel/core@7.26.0) 9494 + '@react-native/babel-plugin-codegen': 0.79.3(@babel/core@7.26.0) 9608 9495 babel-plugin-syntax-hermes-parser: 0.25.1 9609 9496 babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.26.0) 9610 9497 react-refresh: 0.14.2 ··· 9620 9507 nullthrows: 1.1.1 9621 9508 yargs: 17.7.2 9622 9509 9510 + '@react-native/codegen@0.79.3(@babel/core@7.26.0)': 9511 + dependencies: 9512 + '@babel/core': 7.26.0 9513 + glob: 7.2.3 9514 + hermes-parser: 0.25.1 9515 + invariant: 2.2.4 9516 + nullthrows: 1.1.1 9517 + yargs: 17.7.2 9518 + 9623 9519 '@react-native/community-cli-plugin@0.79.2': 9624 9520 dependencies: 9625 9521 '@react-native/dev-middleware': 0.79.2 9626 9522 chalk: 4.1.2 9627 9523 debug: 2.6.9 9628 9524 invariant: 2.2.4 9629 - metro: 0.82.2 9630 - metro-config: 0.82.2 9631 - metro-core: 0.82.2 9525 + metro: 0.82.4 9526 + metro-config: 0.82.4 9527 + metro-core: 0.82.4 9632 9528 semver: 7.6.3 9633 9529 transitivePeerDependencies: 9634 9530 - bufferutil ··· 9636 9532 - utf-8-validate 9637 9533 9638 9534 '@react-native/debugger-frontend@0.79.2': {} 9535 + 9536 + '@react-native/debugger-frontend@0.79.3': {} 9639 9537 9640 9538 '@react-native/dev-middleware@0.79.2': 9641 9539 dependencies: ··· 9655 9553 - supports-color 9656 9554 - utf-8-validate 9657 9555 9556 + '@react-native/dev-middleware@0.79.3': 9557 + dependencies: 9558 + '@isaacs/ttlcache': 1.4.1 9559 + '@react-native/debugger-frontend': 0.79.3 9560 + chrome-launcher: 0.15.2 9561 + chromium-edge-launcher: 0.2.0 9562 + connect: 3.7.0 9563 + debug: 2.6.9 9564 + invariant: 2.2.4 9565 + nullthrows: 1.1.1 9566 + open: 7.4.2 9567 + serve-static: 1.16.2 9568 + ws: 6.2.3 9569 + transitivePeerDependencies: 9570 + - bufferutil 9571 + - supports-color 9572 + - utf-8-validate 9573 + 9658 9574 '@react-native/gradle-plugin@0.79.2': {} 9659 9575 9660 9576 '@react-native/js-polyfills@0.79.2': {} ··· 9662 9578 '@react-native/normalize-colors@0.74.88': {} 9663 9579 9664 9580 '@react-native/normalize-colors@0.79.2': {} 9581 + 9582 + '@react-native/normalize-colors@0.79.3': {} 9665 9583 9666 9584 '@react-native/typescript-config@0.76.5': {} 9667 9585 ··· 9674 9592 optionalDependencies: 9675 9593 '@types/react': 19.0.14 9676 9594 9677 - '@react-navigation/bottom-tabs@7.3.11(@react-navigation/native@7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.10.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9595 + '@react-navigation/bottom-tabs@7.3.14(@react-navigation/native@7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.10.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9678 9596 dependencies: 9679 - '@react-navigation/elements': 2.4.0(@react-navigation/native@7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9680 - '@react-navigation/native': 7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9597 + '@react-navigation/elements': 2.4.3(@react-navigation/native@7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9598 + '@react-navigation/native': 7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9681 9599 color: 4.2.3 9682 9600 react: 19.0.0 9683 9601 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) ··· 9686 9604 transitivePeerDependencies: 9687 9605 - '@react-native-masked-view/masked-view' 9688 9606 9689 - '@react-navigation/core@7.9.1(react@19.0.0)': 9607 + '@react-navigation/core@7.10.0(react@19.0.0)': 9690 9608 dependencies: 9691 - '@react-navigation/routers': 7.3.7 9609 + '@react-navigation/routers': 7.4.0 9692 9610 escape-string-regexp: 4.0.0 9693 9611 nanoid: 3.3.11 9694 9612 query-string: 7.1.3 ··· 9697 9615 use-latest-callback: 0.2.3(react@19.0.0) 9698 9616 use-sync-external-store: 1.5.0(react@19.0.0) 9699 9617 9700 - '@react-navigation/elements@2.4.0(@react-navigation/native@7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9618 + '@react-navigation/elements@2.4.3(@react-navigation/native@7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9701 9619 dependencies: 9702 - '@react-navigation/native': 7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9620 + '@react-navigation/native': 7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9703 9621 color: 4.2.3 9704 9622 react: 19.0.0 9705 9623 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 9706 9624 react-native-safe-area-context: 5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9707 9625 9708 - '@react-navigation/native-stack@7.3.11(@react-navigation/native@7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.10.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9626 + '@react-navigation/native-stack@7.3.14(@react-navigation/native@7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.10.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9709 9627 dependencies: 9710 - '@react-navigation/elements': 2.4.0(@react-navigation/native@7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9711 - '@react-navigation/native': 7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9628 + '@react-navigation/elements': 2.4.3(@react-navigation/native@7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9629 + '@react-navigation/native': 7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9712 9630 react: 19.0.0 9713 9631 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 9714 9632 react-native-safe-area-context: 5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) ··· 9717 9635 transitivePeerDependencies: 9718 9636 - '@react-native-masked-view/masked-view' 9719 9637 9720 - '@react-navigation/native@7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9638 + '@react-navigation/native@7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9721 9639 dependencies: 9722 - '@react-navigation/core': 7.9.1(react@19.0.0) 9640 + '@react-navigation/core': 7.10.0(react@19.0.0) 9723 9641 escape-string-regexp: 4.0.0 9724 9642 fast-deep-equal: 3.1.3 9725 9643 nanoid: 3.3.11 ··· 9727 9645 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 9728 9646 use-latest-callback: 0.2.3(react@19.0.0) 9729 9647 9730 - '@react-navigation/routers@7.3.7': 9648 + '@react-navigation/routers@7.4.0': 9731 9649 dependencies: 9732 9650 nanoid: 3.3.11 9733 9651 ··· 9749 9667 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 9750 9668 react-native-web: 0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9751 9669 9752 - '@rn-primitives/hover-card@1.1.0(@rn-primitives/portal@1.2.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9670 + '@rn-primitives/hover-card@1.1.0(@rn-primitives/portal@1.3.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9753 9671 dependencies: 9754 - '@radix-ui/react-hover-card': 1.1.3(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9672 + '@radix-ui/react-hover-card': 1.1.4(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9755 9673 '@rn-primitives/hooks': 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9756 - '@rn-primitives/popover': 1.1.0(@rn-primitives/portal@1.2.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9757 - '@rn-primitives/portal': 1.2.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 9674 + '@rn-primitives/popover': 1.1.0(@rn-primitives/portal@1.3.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9675 + '@rn-primitives/portal': 1.3.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 9758 9676 '@rn-primitives/slot': 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9759 9677 '@rn-primitives/types': 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9760 9678 react: 19.0.0 ··· 9766 9684 - '@types/react-dom' 9767 9685 - react-dom 9768 9686 9769 - '@rn-primitives/popover@1.1.0(@rn-primitives/portal@1.2.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9687 + '@rn-primitives/popover@1.1.0(@rn-primitives/portal@1.3.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9770 9688 dependencies: 9771 - '@radix-ui/react-popover': 1.1.3(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9689 + '@radix-ui/react-popover': 1.1.4(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9772 9690 '@rn-primitives/hooks': 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9773 - '@rn-primitives/portal': 1.2.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 9691 + '@rn-primitives/portal': 1.3.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 9774 9692 '@rn-primitives/slot': 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9775 9693 '@rn-primitives/types': 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9776 9694 react: 19.0.0 ··· 9782 9700 - '@types/react-dom' 9783 9701 - react-dom 9784 9702 9785 - '@rn-primitives/portal@1.2.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0))': 9703 + '@rn-primitives/portal@1.3.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0))': 9786 9704 dependencies: 9787 9705 react: 19.0.0 9788 - zustand: 5.0.4(@types/react@19.0.14)(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 9706 + zustand: 5.0.5(@types/react@19.0.14)(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 9789 9707 optionalDependencies: 9790 9708 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 9791 9709 react-native-web: 0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) ··· 9815 9733 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 9816 9734 react-native-web: 0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9817 9735 9818 - '@rn-primitives/tooltip@1.1.0(@rn-primitives/portal@1.2.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9736 + '@rn-primitives/tooltip@1.1.0(@rn-primitives/portal@1.3.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)))(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': 9819 9737 dependencies: 9820 - '@radix-ui/react-tooltip': 1.1.5(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9738 + '@radix-ui/react-tooltip': 1.1.6(@types/react-dom@18.3.1)(@types/react@19.0.14)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9821 9739 '@rn-primitives/hooks': 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9822 - '@rn-primitives/portal': 1.2.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 9740 + '@rn-primitives/portal': 1.3.0(@types/react@19.0.14)(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) 9823 9741 '@rn-primitives/slot': 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9824 9742 '@rn-primitives/types': 1.1.0(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 9825 9743 react: 19.0.0 ··· 9838 9756 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 9839 9757 react-native-web: 0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 9840 9758 9841 - '@rollup/rollup-android-arm-eabi@4.31.0': 9759 + '@rollup/rollup-android-arm-eabi@4.28.1': 9842 9760 optional: true 9843 9761 9844 - '@rollup/rollup-android-arm64@4.31.0': 9762 + '@rollup/rollup-android-arm64@4.28.1': 9845 9763 optional: true 9846 9764 9847 - '@rollup/rollup-darwin-arm64@4.31.0': 9765 + '@rollup/rollup-darwin-arm64@4.28.1': 9848 9766 optional: true 9849 9767 9850 - '@rollup/rollup-darwin-x64@4.31.0': 9768 + '@rollup/rollup-darwin-x64@4.28.1': 9851 9769 optional: true 9852 9770 9853 - '@rollup/rollup-freebsd-arm64@4.31.0': 9771 + '@rollup/rollup-freebsd-arm64@4.28.1': 9854 9772 optional: true 9855 9773 9856 - '@rollup/rollup-freebsd-x64@4.31.0': 9774 + '@rollup/rollup-freebsd-x64@4.28.1': 9857 9775 optional: true 9858 9776 9859 - '@rollup/rollup-linux-arm-gnueabihf@4.31.0': 9777 + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': 9860 9778 optional: true 9861 9779 9862 - '@rollup/rollup-linux-arm-musleabihf@4.31.0': 9780 + '@rollup/rollup-linux-arm-musleabihf@4.28.1': 9863 9781 optional: true 9864 9782 9865 - '@rollup/rollup-linux-arm64-gnu@4.31.0': 9783 + '@rollup/rollup-linux-arm64-gnu@4.28.1': 9866 9784 optional: true 9867 9785 9868 - '@rollup/rollup-linux-arm64-musl@4.31.0': 9786 + '@rollup/rollup-linux-arm64-musl@4.28.1': 9869 9787 optional: true 9870 9788 9871 - '@rollup/rollup-linux-loongarch64-gnu@4.31.0': 9789 + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': 9872 9790 optional: true 9873 9791 9874 - '@rollup/rollup-linux-powerpc64le-gnu@4.31.0': 9792 + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': 9875 9793 optional: true 9876 9794 9877 - '@rollup/rollup-linux-riscv64-gnu@4.31.0': 9795 + '@rollup/rollup-linux-riscv64-gnu@4.28.1': 9878 9796 optional: true 9879 9797 9880 - '@rollup/rollup-linux-s390x-gnu@4.31.0': 9798 + '@rollup/rollup-linux-s390x-gnu@4.28.1': 9881 9799 optional: true 9882 9800 9883 - '@rollup/rollup-linux-x64-gnu@4.31.0': 9801 + '@rollup/rollup-linux-x64-gnu@4.28.1': 9884 9802 optional: true 9885 9803 9886 - '@rollup/rollup-linux-x64-musl@4.31.0': 9804 + '@rollup/rollup-linux-x64-musl@4.28.1': 9887 9805 optional: true 9888 9806 9889 - '@rollup/rollup-win32-arm64-msvc@4.31.0': 9807 + '@rollup/rollup-win32-arm64-msvc@4.28.1': 9890 9808 optional: true 9891 9809 9892 - '@rollup/rollup-win32-ia32-msvc@4.31.0': 9810 + '@rollup/rollup-win32-ia32-msvc@4.28.1': 9893 9811 optional: true 9894 9812 9895 - '@rollup/rollup-win32-x64-msvc@4.31.0': 9813 + '@rollup/rollup-win32-x64-msvc@4.28.1': 9896 9814 optional: true 9897 9815 9898 9816 '@rtsao/scc@1.1.0': {} ··· 9963 9881 9964 9882 '@types/graceful-fs@4.1.9': 9965 9883 dependencies: 9966 - '@types/node': 20.17.14 9884 + '@types/node': 20.17.10 9967 9885 9968 9886 '@types/hammerjs@2.0.46': {} 9969 9887 ··· 9981 9899 9982 9900 '@types/json5@0.0.29': {} 9983 9901 9984 - '@types/node@20.17.14': 9902 + '@types/node@20.17.10': 9903 + dependencies: 9904 + undici-types: 6.19.8 9905 + 9906 + '@types/node@20.17.9': 9985 9907 dependencies: 9986 9908 undici-types: 6.19.8 9987 9909 ··· 10001 9923 10002 9924 '@types/ws@8.5.13': 10003 9925 dependencies: 10004 - '@types/node': 20.17.14 9926 + '@types/node': 20.17.10 10005 9927 10006 9928 '@types/yargs-parser@21.0.3': {} 10007 9929 ··· 10009 9931 dependencies: 10010 9932 '@types/yargs-parser': 21.0.3 10011 9933 10012 - '@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)': 9934 + '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)': 10013 9935 dependencies: 10014 9936 '@eslint-community/regexpp': 4.12.1 10015 - '@typescript-eslint/parser': 8.31.1(eslint@8.57.1)(typescript@5.8.3) 10016 - '@typescript-eslint/scope-manager': 8.31.1 10017 - '@typescript-eslint/type-utils': 8.31.1(eslint@8.57.1)(typescript@5.8.3) 10018 - '@typescript-eslint/utils': 8.31.1(eslint@8.57.1)(typescript@5.8.3) 10019 - '@typescript-eslint/visitor-keys': 8.31.1 9937 + '@typescript-eslint/parser': 8.19.0(eslint@8.57.1)(typescript@5.8.3) 9938 + '@typescript-eslint/scope-manager': 8.19.0 9939 + '@typescript-eslint/type-utils': 8.19.0(eslint@8.57.1)(typescript@5.8.3) 9940 + '@typescript-eslint/utils': 8.19.0(eslint@8.57.1)(typescript@5.8.3) 9941 + '@typescript-eslint/visitor-keys': 8.19.0 10020 9942 eslint: 8.57.1 10021 9943 graphemer: 1.4.0 10022 9944 ignore: 5.3.2 10023 9945 natural-compare: 1.4.0 10024 - ts-api-utils: 2.1.0(typescript@5.8.3) 9946 + ts-api-utils: 1.4.3(typescript@5.8.3) 10025 9947 typescript: 5.8.3 10026 9948 transitivePeerDependencies: 10027 9949 - supports-color 10028 9950 10029 - '@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3)': 9951 + '@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.8.3)': 10030 9952 dependencies: 10031 - '@typescript-eslint/scope-manager': 8.31.1 10032 - '@typescript-eslint/types': 8.31.1 10033 - '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) 10034 - '@typescript-eslint/visitor-keys': 8.31.1 9953 + '@typescript-eslint/scope-manager': 8.19.0 9954 + '@typescript-eslint/types': 8.19.0 9955 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.8.3) 9956 + '@typescript-eslint/visitor-keys': 8.19.0 10035 9957 debug: 4.4.0 10036 9958 eslint: 8.57.1 10037 9959 typescript: 5.8.3 10038 9960 transitivePeerDependencies: 10039 9961 - supports-color 10040 9962 10041 - '@typescript-eslint/scope-manager@8.31.1': 9963 + '@typescript-eslint/project-service@8.33.1(typescript@5.8.3)': 10042 9964 dependencies: 10043 - '@typescript-eslint/types': 8.31.1 10044 - '@typescript-eslint/visitor-keys': 8.31.1 9965 + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) 9966 + '@typescript-eslint/types': 8.33.1 9967 + debug: 4.4.0 9968 + typescript: 5.8.3 9969 + transitivePeerDependencies: 9970 + - supports-color 10045 9971 10046 - '@typescript-eslint/type-utils@8.31.1(eslint@8.57.1)(typescript@5.8.3)': 9972 + '@typescript-eslint/scope-manager@8.19.0': 10047 9973 dependencies: 10048 - '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) 10049 - '@typescript-eslint/utils': 8.31.1(eslint@8.57.1)(typescript@5.8.3) 9974 + '@typescript-eslint/types': 8.19.0 9975 + '@typescript-eslint/visitor-keys': 8.19.0 9976 + 9977 + '@typescript-eslint/scope-manager@8.33.1': 9978 + dependencies: 9979 + '@typescript-eslint/types': 8.33.1 9980 + '@typescript-eslint/visitor-keys': 8.33.1 9981 + 9982 + '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.8.3)': 9983 + dependencies: 9984 + typescript: 5.8.3 9985 + 9986 + '@typescript-eslint/type-utils@8.19.0(eslint@8.57.1)(typescript@5.8.3)': 9987 + dependencies: 9988 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.8.3) 9989 + '@typescript-eslint/utils': 8.19.0(eslint@8.57.1)(typescript@5.8.3) 10050 9990 debug: 4.4.0 10051 9991 eslint: 8.57.1 10052 - ts-api-utils: 2.1.0(typescript@5.8.3) 9992 + ts-api-utils: 1.4.3(typescript@5.8.3) 10053 9993 typescript: 5.8.3 10054 9994 transitivePeerDependencies: 10055 9995 - supports-color 10056 9996 10057 - '@typescript-eslint/types@8.31.1': {} 9997 + '@typescript-eslint/types@8.19.0': {} 9998 + 9999 + '@typescript-eslint/types@8.33.1': {} 10000 + 10001 + '@typescript-eslint/typescript-estree@8.19.0(typescript@5.8.3)': 10002 + dependencies: 10003 + '@typescript-eslint/types': 8.19.0 10004 + '@typescript-eslint/visitor-keys': 8.19.0 10005 + debug: 4.4.0 10006 + fast-glob: 3.3.2 10007 + is-glob: 4.0.3 10008 + minimatch: 9.0.5 10009 + semver: 7.6.3 10010 + ts-api-utils: 1.4.3(typescript@5.8.3) 10011 + typescript: 5.8.3 10012 + transitivePeerDependencies: 10013 + - supports-color 10058 10014 10059 - '@typescript-eslint/typescript-estree@8.31.1(typescript@5.8.3)': 10015 + '@typescript-eslint/typescript-estree@8.33.1(typescript@5.8.3)': 10060 10016 dependencies: 10061 - '@typescript-eslint/types': 8.31.1 10062 - '@typescript-eslint/visitor-keys': 8.31.1 10017 + '@typescript-eslint/project-service': 8.33.1(typescript@5.8.3) 10018 + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) 10019 + '@typescript-eslint/types': 8.33.1 10020 + '@typescript-eslint/visitor-keys': 8.33.1 10063 10021 debug: 4.4.0 10064 10022 fast-glob: 3.3.2 10065 10023 is-glob: 4.0.3 ··· 10070 10028 transitivePeerDependencies: 10071 10029 - supports-color 10072 10030 10073 - '@typescript-eslint/utils@8.31.1(eslint@8.57.1)(typescript@5.8.3)': 10031 + '@typescript-eslint/utils@8.19.0(eslint@8.57.1)(typescript@5.8.3)': 10074 10032 dependencies: 10075 10033 '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) 10076 - '@typescript-eslint/scope-manager': 8.31.1 10077 - '@typescript-eslint/types': 8.31.1 10078 - '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) 10034 + '@typescript-eslint/scope-manager': 8.19.0 10035 + '@typescript-eslint/types': 8.19.0 10036 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.8.3) 10037 + eslint: 8.57.1 10038 + typescript: 5.8.3 10039 + transitivePeerDependencies: 10040 + - supports-color 10041 + 10042 + '@typescript-eslint/utils@8.33.1(eslint@8.57.1)(typescript@5.8.3)': 10043 + dependencies: 10044 + '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) 10045 + '@typescript-eslint/scope-manager': 8.33.1 10046 + '@typescript-eslint/types': 8.33.1 10047 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) 10079 10048 eslint: 8.57.1 10080 10049 typescript: 5.8.3 10081 10050 transitivePeerDependencies: 10082 10051 - supports-color 10083 10052 10084 - '@typescript-eslint/visitor-keys@8.31.1': 10053 + '@typescript-eslint/visitor-keys@8.19.0': 10054 + dependencies: 10055 + '@typescript-eslint/types': 8.19.0 10056 + eslint-visitor-keys: 4.2.0 10057 + 10058 + '@typescript-eslint/visitor-keys@8.33.1': 10085 10059 dependencies: 10086 - '@typescript-eslint/types': 8.31.1 10060 + '@typescript-eslint/types': 8.33.1 10087 10061 eslint-visitor-keys: 4.2.0 10088 10062 10089 10063 '@ungap/structured-clone@1.2.1': {} ··· 10292 10266 10293 10267 aria-hidden@1.2.4: 10294 10268 dependencies: 10295 - tslib: 2.8.1 10296 - 10297 - array-buffer-byte-length@1.0.1: 10298 - dependencies: 10299 - call-bind: 1.0.8 10300 - is-array-buffer: 3.0.4 10269 + tslib: 2.6.2 10301 10270 10302 10271 array-buffer-byte-length@1.0.2: 10303 10272 dependencies: 10304 - call-bound: 1.0.4 10273 + call-bound: 1.0.3 10305 10274 is-array-buffer: 3.0.5 10306 10275 10307 10276 array-flatten@1.1.1: {} ··· 10310 10279 dependencies: 10311 10280 call-bind: 1.0.8 10312 10281 define-properties: 1.2.1 10313 - es-abstract: 1.23.5 10282 + es-abstract: 1.23.8 10314 10283 es-object-atoms: 1.0.0 10315 10284 get-intrinsic: 1.2.6 10316 - is-string: 1.1.0 10285 + is-string: 1.1.1 10317 10286 10318 10287 array-timsort@1.0.3: {} 10319 10288 ··· 10321 10290 dependencies: 10322 10291 call-bind: 1.0.8 10323 10292 define-properties: 1.2.1 10324 - es-abstract: 1.23.5 10293 + es-abstract: 1.23.8 10325 10294 es-errors: 1.3.0 10326 10295 es-object-atoms: 1.0.0 10327 10296 es-shim-unscopables: 1.0.2 ··· 10330 10299 dependencies: 10331 10300 call-bind: 1.0.8 10332 10301 define-properties: 1.2.1 10333 - es-abstract: 1.23.5 10302 + es-abstract: 1.23.8 10334 10303 es-errors: 1.3.0 10335 10304 es-object-atoms: 1.0.0 10336 10305 es-shim-unscopables: 1.0.2 10337 10306 10338 - array.prototype.flat@1.3.2: 10307 + array.prototype.flat@1.3.3: 10339 10308 dependencies: 10340 10309 call-bind: 1.0.8 10341 10310 define-properties: 1.2.1 10342 - es-abstract: 1.23.5 10343 - es-shim-unscopables: 1.0.2 10344 - 10345 - array.prototype.flatmap@1.3.2: 10346 - dependencies: 10347 - call-bind: 1.0.8 10348 - define-properties: 1.2.1 10349 - es-abstract: 1.23.5 10311 + es-abstract: 1.23.8 10350 10312 es-shim-unscopables: 1.0.2 10351 10313 10352 10314 array.prototype.flatmap@1.3.3: 10353 10315 dependencies: 10354 10316 call-bind: 1.0.8 10355 10317 define-properties: 1.2.1 10356 - es-abstract: 1.23.5 10318 + es-abstract: 1.23.8 10357 10319 es-shim-unscopables: 1.0.2 10358 10320 10359 10321 array.prototype.tosorted@1.1.4: 10360 10322 dependencies: 10361 10323 call-bind: 1.0.8 10362 10324 define-properties: 1.2.1 10363 - es-abstract: 1.23.5 10325 + es-abstract: 1.23.8 10364 10326 es-errors: 1.3.0 10365 10327 es-shim-unscopables: 1.0.2 10366 10328 10367 - arraybuffer.prototype.slice@1.0.3: 10368 - dependencies: 10369 - array-buffer-byte-length: 1.0.1 10370 - call-bind: 1.0.8 10371 - define-properties: 1.2.1 10372 - es-abstract: 1.23.5 10373 - es-errors: 1.3.0 10374 - get-intrinsic: 1.2.6 10375 - is-array-buffer: 3.0.4 10376 - is-shared-array-buffer: 1.0.3 10377 - 10378 10329 arraybuffer.prototype.slice@1.0.4: 10379 10330 dependencies: 10380 10331 array-buffer-byte-length: 1.0.2 10381 10332 call-bind: 1.0.8 10382 10333 define-properties: 1.2.1 10383 - es-abstract: 1.23.9 10334 + es-abstract: 1.23.8 10384 10335 es-errors: 1.3.0 10385 - get-intrinsic: 1.3.0 10336 + get-intrinsic: 1.2.6 10386 10337 is-array-buffer: 3.0.5 10387 10338 10388 10339 asap@2.0.6: {} ··· 10409 10360 10410 10361 aws4@1.13.2: {} 10411 10362 10363 + axios@0.27.2: 10364 + dependencies: 10365 + follow-redirects: 1.15.9 10366 + form-data: 4.0.1 10367 + transitivePeerDependencies: 10368 + - debug 10369 + 10412 10370 babel-jest@29.7.0(@babel/core@7.26.0): 10413 10371 dependencies: 10414 10372 '@babel/core': 7.26.0 ··· 10445 10403 glob: 9.3.5 10446 10404 pkg-up: 3.1.0 10447 10405 reselect: 4.1.8 10448 - resolve: 1.22.8 10406 + resolve: 1.22.10 10449 10407 10450 10408 babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): 10451 10409 dependencies: ··· 10506 10464 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) 10507 10465 '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) 10508 10466 10509 - babel-preset-expo@13.1.11(@babel/core@7.26.0)(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206): 10467 + babel-preset-expo@13.2.0(@babel/core@7.26.0)(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206): 10510 10468 dependencies: 10511 10469 '@babel/helper-module-imports': 7.25.9 10512 10470 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0) ··· 10522 10480 '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0) 10523 10481 '@babel/preset-react': 7.26.3(@babel/core@7.26.0) 10524 10482 '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) 10525 - '@react-native/babel-preset': 0.79.2(@babel/core@7.26.0) 10483 + '@react-native/babel-preset': 0.79.3(@babel/core@7.26.0) 10526 10484 babel-plugin-react-native-web: 0.19.13 10527 10485 babel-plugin-syntax-hermes-parser: 0.25.1 10528 10486 babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.26.0) ··· 10619 10577 10620 10578 browserslist@4.24.3: 10621 10579 dependencies: 10622 - caniuse-lite: 1.0.30001688 10623 - electron-to-chromium: 1.5.73 10580 + caniuse-lite: 1.0.30001690 10581 + electron-to-chromium: 1.5.76 10624 10582 node-releases: 2.0.19 10625 10583 update-browserslist-db: 1.1.1(browserslist@4.24.3) 10626 10584 ··· 10640 10598 base64-js: 1.5.1 10641 10599 ieee754: 1.2.1 10642 10600 10643 - bundle-require@5.1.0(esbuild@0.24.2): 10601 + bundle-require@5.0.0(esbuild@0.24.0): 10644 10602 dependencies: 10645 - esbuild: 0.24.2 10603 + esbuild: 0.24.0 10646 10604 load-tsconfig: 0.2.5 10647 10605 10648 10606 bytes@3.1.2: {} ··· 10654 10612 es-errors: 1.3.0 10655 10613 function-bind: 1.1.2 10656 10614 10657 - call-bind-apply-helpers@1.0.2: 10658 - dependencies: 10659 - es-errors: 1.3.0 10660 - function-bind: 1.1.2 10661 - 10662 10615 call-bind@1.0.8: 10663 10616 dependencies: 10664 10617 call-bind-apply-helpers: 1.0.1 ··· 10666 10619 get-intrinsic: 1.2.6 10667 10620 set-function-length: 1.2.2 10668 10621 10669 - call-bound@1.0.2: 10622 + call-bound@1.0.3: 10670 10623 dependencies: 10671 - call-bind: 1.0.8 10624 + call-bind-apply-helpers: 1.0.1 10672 10625 get-intrinsic: 1.2.6 10673 - 10674 - call-bound@1.0.4: 10675 - dependencies: 10676 - call-bind-apply-helpers: 1.0.2 10677 - get-intrinsic: 1.3.0 10678 10626 10679 10627 caller-callsite@2.0.0: 10680 10628 dependencies: ··· 10694 10642 10695 10643 camelcase@6.3.0: {} 10696 10644 10697 - caniuse-lite@1.0.30001688: {} 10645 + caniuse-lite@1.0.30001690: {} 10698 10646 10699 10647 caseless@0.12.0: {} 10700 10648 ··· 10747 10695 optionalDependencies: 10748 10696 fsevents: 2.3.3 10749 10697 10750 - chokidar@4.0.3: 10698 + chokidar@4.0.1: 10751 10699 dependencies: 10752 - readdirp: 4.1.1 10700 + readdirp: 4.0.2 10753 10701 10754 10702 chownr@3.0.0: {} 10755 10703 10756 10704 chrome-launcher@0.15.2: 10757 10705 dependencies: 10758 - '@types/node': 20.17.14 10706 + '@types/node': 20.17.10 10759 10707 escape-string-regexp: 4.0.0 10760 10708 is-wsl: 2.2.0 10761 10709 lighthouse-logger: 1.4.2 ··· 10766 10714 10767 10715 chromium-edge-launcher@0.2.0: 10768 10716 dependencies: 10769 - '@types/node': 20.17.14 10717 + '@types/node': 20.17.10 10770 10718 escape-string-regexp: 4.0.0 10771 10719 is-wsl: 2.2.0 10772 10720 lighthouse-logger: 1.4.2 ··· 10863 10811 10864 10812 compressible@2.0.18: 10865 10813 dependencies: 10866 - mime-db: 1.53.0 10814 + mime-db: 1.52.0 10867 10815 10868 10816 compression@1.7.5: 10869 10817 dependencies: ··· 10888 10836 transitivePeerDependencies: 10889 10837 - supports-color 10890 10838 10891 - consola@3.4.0: {} 10839 + consola@3.2.3: {} 10892 10840 10893 10841 content-disposition@0.5.4: 10894 10842 dependencies: ··· 10923 10871 10924 10872 create-require@1.1.1: {} 10925 10873 10926 - cross-fetch@3.1.8: 10874 + cross-fetch@3.2.0: 10927 10875 dependencies: 10928 10876 node-fetch: 2.7.0 10929 10877 transitivePeerDependencies: ··· 10968 10916 10969 10917 data-uri-to-buffer@4.0.1: {} 10970 10918 10971 - data-view-buffer@1.0.1: 10972 - dependencies: 10973 - call-bind: 1.0.8 10974 - es-errors: 1.3.0 10975 - is-data-view: 1.0.2 10976 - 10977 10919 data-view-buffer@1.0.2: 10978 10920 dependencies: 10979 - call-bound: 1.0.4 10980 - es-errors: 1.3.0 10981 - is-data-view: 1.0.2 10982 - 10983 - data-view-byte-length@1.0.1: 10984 - dependencies: 10985 - call-bind: 1.0.8 10921 + call-bound: 1.0.3 10986 10922 es-errors: 1.3.0 10987 10923 is-data-view: 1.0.2 10988 10924 10989 10925 data-view-byte-length@1.0.2: 10990 10926 dependencies: 10991 - call-bound: 1.0.4 10992 - es-errors: 1.3.0 10993 - is-data-view: 1.0.2 10994 - 10995 - data-view-byte-offset@1.0.0: 10996 - dependencies: 10997 - call-bind: 1.0.8 10927 + call-bound: 1.0.3 10998 10928 es-errors: 1.3.0 10999 10929 is-data-view: 1.0.2 11000 10930 11001 10931 data-view-byte-offset@1.0.1: 11002 10932 dependencies: 11003 - call-bound: 1.0.4 10933 + call-bound: 1.0.3 11004 10934 es-errors: 1.3.0 11005 10935 is-data-view: 1.0.2 11006 10936 ··· 11099 11029 11100 11030 dotenv@16.4.7: {} 11101 11031 11102 - drizzle-kit@0.30.2: 11032 + drizzle-kit@0.30.1: 11103 11033 dependencies: 11104 11034 '@drizzle-team/brocli': 0.10.2 11105 11035 '@esbuild-kit/esm-loader': 2.6.5 ··· 11108 11038 transitivePeerDependencies: 11109 11039 - supports-color 11110 11040 11111 - drizzle-orm@0.38.4(@libsql/client@0.14.0)(@types/react@19.0.14)(expo-sqlite@15.2.9(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(postgres@3.4.5)(react@19.0.0): 11041 + drizzle-orm@0.38.3(@libsql/client@0.14.0)(@types/react@19.0.14)(expo-sqlite@15.2.12(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(postgres@3.4.7)(react@19.0.0): 11112 11042 optionalDependencies: 11113 11043 '@libsql/client': 0.14.0 11114 11044 '@types/react': 19.0.14 11115 - expo-sqlite: 15.2.9(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11116 - postgres: 3.4.5 11045 + expo-sqlite: 15.2.12(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11046 + postgres: 3.4.7 11117 11047 react: 19.0.0 11118 11048 11119 11049 dunder-proto@1.0.0: ··· 11146 11076 11147 11077 ee-first@1.1.1: {} 11148 11078 11149 - electron-to-chromium@1.5.73: {} 11079 + electron-to-chromium@1.5.76: {} 11150 11080 11151 11081 emoji-regex@8.0.0: {} 11152 11082 ··· 11162 11092 dependencies: 11163 11093 once: 1.4.0 11164 11094 11165 - enhanced-resolve@5.17.1: 11095 + enhanced-resolve@5.18.0: 11166 11096 dependencies: 11167 11097 graceful-fs: 4.2.11 11168 11098 tapable: 2.2.1 ··· 11185 11115 dependencies: 11186 11116 stackframe: 1.3.4 11187 11117 11188 - es-abstract@1.23.5: 11189 - dependencies: 11190 - array-buffer-byte-length: 1.0.1 11191 - arraybuffer.prototype.slice: 1.0.3 11192 - available-typed-arrays: 1.0.7 11193 - call-bind: 1.0.8 11194 - data-view-buffer: 1.0.1 11195 - data-view-byte-length: 1.0.1 11196 - data-view-byte-offset: 1.0.0 11197 - es-define-property: 1.0.1 11198 - es-errors: 1.3.0 11199 - es-object-atoms: 1.0.0 11200 - es-set-tostringtag: 2.0.3 11201 - es-to-primitive: 1.3.0 11202 - function.prototype.name: 1.1.6 11203 - get-intrinsic: 1.2.6 11204 - get-symbol-description: 1.0.2 11205 - globalthis: 1.0.4 11206 - gopd: 1.2.0 11207 - has-property-descriptors: 1.0.2 11208 - has-proto: 1.2.0 11209 - has-symbols: 1.1.0 11210 - hasown: 2.0.2 11211 - internal-slot: 1.1.0 11212 - is-array-buffer: 3.0.4 11213 - is-callable: 1.2.7 11214 - is-data-view: 1.0.2 11215 - is-negative-zero: 2.0.3 11216 - is-regex: 1.2.1 11217 - is-shared-array-buffer: 1.0.3 11218 - is-string: 1.1.0 11219 - is-typed-array: 1.1.13 11220 - is-weakref: 1.1.0 11221 - object-inspect: 1.13.3 11222 - object-keys: 1.1.1 11223 - object.assign: 4.1.5 11224 - regexp.prototype.flags: 1.5.3 11225 - safe-array-concat: 1.1.3 11226 - safe-regex-test: 1.1.0 11227 - string.prototype.trim: 1.2.10 11228 - string.prototype.trimend: 1.0.9 11229 - string.prototype.trimstart: 1.0.8 11230 - typed-array-buffer: 1.0.2 11231 - typed-array-byte-length: 1.0.1 11232 - typed-array-byte-offset: 1.0.3 11233 - typed-array-length: 1.0.7 11234 - unbox-primitive: 1.0.2 11235 - which-typed-array: 1.1.16 11236 - 11237 - es-abstract@1.23.9: 11118 + es-abstract@1.23.8: 11238 11119 dependencies: 11239 11120 array-buffer-byte-length: 1.0.2 11240 11121 arraybuffer.prototype.slice: 1.0.4 11241 11122 available-typed-arrays: 1.0.7 11242 11123 call-bind: 1.0.8 11243 - call-bound: 1.0.4 11124 + call-bound: 1.0.3 11244 11125 data-view-buffer: 1.0.2 11245 11126 data-view-byte-length: 1.0.2 11246 11127 data-view-byte-offset: 1.0.1 11247 11128 es-define-property: 1.0.1 11248 11129 es-errors: 1.3.0 11249 11130 es-object-atoms: 1.0.0 11250 - es-set-tostringtag: 2.1.0 11131 + es-set-tostringtag: 2.0.3 11251 11132 es-to-primitive: 1.3.0 11252 11133 function.prototype.name: 1.1.8 11253 - get-intrinsic: 1.3.0 11254 - get-proto: 1.0.1 11134 + get-intrinsic: 1.2.6 11255 11135 get-symbol-description: 1.1.0 11256 11136 globalthis: 1.0.4 11257 11137 gopd: 1.2.0 ··· 11277 11157 safe-array-concat: 1.1.3 11278 11158 safe-push-apply: 1.0.0 11279 11159 safe-regex-test: 1.1.0 11280 - set-proto: 1.0.0 11281 11160 string.prototype.trim: 1.2.10 11282 11161 string.prototype.trimend: 1.0.9 11283 11162 string.prototype.trimstart: 1.0.8 ··· 11286 11165 typed-array-byte-offset: 1.0.4 11287 11166 typed-array-length: 1.0.7 11288 11167 unbox-primitive: 1.1.0 11289 - which-typed-array: 1.1.19 11168 + which-typed-array: 1.1.18 11290 11169 11291 11170 es-define-property@1.0.1: {} 11292 11171 ··· 11295 11174 es-iterator-helpers@1.2.1: 11296 11175 dependencies: 11297 11176 call-bind: 1.0.8 11298 - call-bound: 1.0.4 11177 + call-bound: 1.0.3 11299 11178 define-properties: 1.2.1 11300 - es-abstract: 1.23.9 11179 + es-abstract: 1.23.8 11301 11180 es-errors: 1.3.0 11302 11181 es-set-tostringtag: 2.0.3 11303 11182 function-bind: 1.1.2 ··· 11311 11190 iterator.prototype: 1.1.4 11312 11191 safe-array-concat: 1.1.3 11313 11192 11314 - es-module-lexer@1.5.4: {} 11193 + es-module-lexer@1.6.0: {} 11315 11194 11316 11195 es-object-atoms@1.0.0: 11317 11196 dependencies: 11318 11197 es-errors: 1.3.0 11319 11198 11320 - es-object-atoms@1.1.1: 11321 - dependencies: 11322 - es-errors: 1.3.0 11323 - 11324 11199 es-set-tostringtag@2.0.3: 11325 11200 dependencies: 11326 11201 get-intrinsic: 1.2.6 11327 11202 has-tostringtag: 1.0.2 11328 11203 hasown: 2.0.2 11329 11204 11330 - es-set-tostringtag@2.1.0: 11331 - dependencies: 11332 - es-errors: 1.3.0 11333 - get-intrinsic: 1.3.0 11334 - has-tostringtag: 1.0.2 11335 - hasown: 2.0.2 11336 - 11337 11205 es-shim-unscopables@1.0.2: 11338 11206 dependencies: 11339 11207 hasown: 2.0.2 ··· 11429 11297 '@esbuild/win32-ia32': 0.23.1 11430 11298 '@esbuild/win32-x64': 0.23.1 11431 11299 11432 - esbuild@0.24.2: 11300 + esbuild@0.24.0: 11433 11301 optionalDependencies: 11434 - '@esbuild/aix-ppc64': 0.24.2 11435 - '@esbuild/android-arm': 0.24.2 11436 - '@esbuild/android-arm64': 0.24.2 11437 - '@esbuild/android-x64': 0.24.2 11438 - '@esbuild/darwin-arm64': 0.24.2 11439 - '@esbuild/darwin-x64': 0.24.2 11440 - '@esbuild/freebsd-arm64': 0.24.2 11441 - '@esbuild/freebsd-x64': 0.24.2 11442 - '@esbuild/linux-arm': 0.24.2 11443 - '@esbuild/linux-arm64': 0.24.2 11444 - '@esbuild/linux-ia32': 0.24.2 11445 - '@esbuild/linux-loong64': 0.24.2 11446 - '@esbuild/linux-mips64el': 0.24.2 11447 - '@esbuild/linux-ppc64': 0.24.2 11448 - '@esbuild/linux-riscv64': 0.24.2 11449 - '@esbuild/linux-s390x': 0.24.2 11450 - '@esbuild/linux-x64': 0.24.2 11451 - '@esbuild/netbsd-arm64': 0.24.2 11452 - '@esbuild/netbsd-x64': 0.24.2 11453 - '@esbuild/openbsd-arm64': 0.24.2 11454 - '@esbuild/openbsd-x64': 0.24.2 11455 - '@esbuild/sunos-x64': 0.24.2 11456 - '@esbuild/win32-arm64': 0.24.2 11457 - '@esbuild/win32-ia32': 0.24.2 11458 - '@esbuild/win32-x64': 0.24.2 11302 + '@esbuild/aix-ppc64': 0.24.0 11303 + '@esbuild/android-arm': 0.24.0 11304 + '@esbuild/android-arm64': 0.24.0 11305 + '@esbuild/android-x64': 0.24.0 11306 + '@esbuild/darwin-arm64': 0.24.0 11307 + '@esbuild/darwin-x64': 0.24.0 11308 + '@esbuild/freebsd-arm64': 0.24.0 11309 + '@esbuild/freebsd-x64': 0.24.0 11310 + '@esbuild/linux-arm': 0.24.0 11311 + '@esbuild/linux-arm64': 0.24.0 11312 + '@esbuild/linux-ia32': 0.24.0 11313 + '@esbuild/linux-loong64': 0.24.0 11314 + '@esbuild/linux-mips64el': 0.24.0 11315 + '@esbuild/linux-ppc64': 0.24.0 11316 + '@esbuild/linux-riscv64': 0.24.0 11317 + '@esbuild/linux-s390x': 0.24.0 11318 + '@esbuild/linux-x64': 0.24.0 11319 + '@esbuild/netbsd-x64': 0.24.0 11320 + '@esbuild/openbsd-arm64': 0.24.0 11321 + '@esbuild/openbsd-x64': 0.24.0 11322 + '@esbuild/sunos-x64': 0.24.0 11323 + '@esbuild/win32-arm64': 0.24.0 11324 + '@esbuild/win32-ia32': 0.24.0 11325 + '@esbuild/win32-x64': 0.24.0 11459 11326 11460 11327 escalade@3.2.0: {} 11461 11328 ··· 11469 11336 11470 11337 eslint-config-expo@9.2.0(eslint@8.57.1)(typescript@5.8.3): 11471 11338 dependencies: 11472 - '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) 11473 - '@typescript-eslint/parser': 8.31.1(eslint@8.57.1)(typescript@5.8.3) 11339 + '@typescript-eslint/eslint-plugin': 8.19.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) 11340 + '@typescript-eslint/parser': 8.19.0(eslint@8.57.1)(typescript@5.8.3) 11474 11341 eslint: 8.57.1 11475 11342 eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) 11476 11343 eslint-plugin-expo: 0.1.4(eslint@8.57.1)(typescript@5.8.3) 11477 - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) 11478 - eslint-plugin-react: 7.37.5(eslint@8.57.1) 11344 + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) 11345 + eslint-plugin-react: 7.37.3(eslint@8.57.1) 11479 11346 eslint-plugin-react-hooks: 5.2.0(eslint@8.57.1) 11480 - globals: 16.0.0 11347 + globals: 16.2.0 11481 11348 transitivePeerDependencies: 11482 11349 - eslint-import-resolver-webpack 11483 11350 - eslint-plugin-import-x ··· 11487 11354 eslint-import-resolver-node@0.3.9: 11488 11355 dependencies: 11489 11356 debug: 3.2.7 11490 - is-core-module: 2.15.1 11491 - resolve: 1.22.8 11357 + is-core-module: 2.16.1 11358 + resolve: 1.22.10 11492 11359 transitivePeerDependencies: 11493 11360 - supports-color 11494 11361 ··· 11496 11363 dependencies: 11497 11364 '@nolyfill/is-core-module': 1.0.39 11498 11365 debug: 4.4.0 11499 - enhanced-resolve: 5.17.1 11366 + enhanced-resolve: 5.18.0 11500 11367 eslint: 8.57.1 11501 11368 fast-glob: 3.3.2 11502 11369 get-tsconfig: 4.8.1 ··· 11504 11371 is-glob: 4.0.3 11505 11372 stable-hash: 0.0.4 11506 11373 optionalDependencies: 11507 - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) 11374 + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) 11508 11375 transitivePeerDependencies: 11509 11376 - supports-color 11510 11377 11511 - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1): 11378 + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1): 11512 11379 dependencies: 11513 11380 debug: 3.2.7 11514 11381 optionalDependencies: 11515 - '@typescript-eslint/parser': 8.31.1(eslint@8.57.1)(typescript@5.8.3) 11382 + '@typescript-eslint/parser': 8.19.0(eslint@8.57.1)(typescript@5.8.3) 11516 11383 eslint: 8.57.1 11517 11384 eslint-import-resolver-node: 0.3.9 11518 11385 eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) ··· 11521 11388 11522 11389 eslint-plugin-expo@0.1.4(eslint@8.57.1)(typescript@5.8.3): 11523 11390 dependencies: 11524 - '@typescript-eslint/types': 8.31.1 11525 - '@typescript-eslint/utils': 8.31.1(eslint@8.57.1)(typescript@5.8.3) 11391 + '@typescript-eslint/types': 8.33.1 11392 + '@typescript-eslint/utils': 8.33.1(eslint@8.57.1)(typescript@5.8.3) 11526 11393 eslint: 8.57.1 11527 11394 transitivePeerDependencies: 11528 11395 - supports-color 11529 11396 - typescript 11530 11397 11531 - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1): 11398 + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1): 11532 11399 dependencies: 11533 11400 '@rtsao/scc': 1.1.0 11534 11401 array-includes: 3.1.8 11535 11402 array.prototype.findlastindex: 1.2.5 11536 - array.prototype.flat: 1.3.2 11537 - array.prototype.flatmap: 1.3.2 11403 + array.prototype.flat: 1.3.3 11404 + array.prototype.flatmap: 1.3.3 11538 11405 debug: 3.2.7 11539 11406 doctrine: 2.1.0 11540 11407 eslint: 8.57.1 11541 11408 eslint-import-resolver-node: 0.3.9 11542 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.31.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) 11409 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.19.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) 11543 11410 hasown: 2.0.2 11544 - is-core-module: 2.15.1 11411 + is-core-module: 2.16.1 11545 11412 is-glob: 4.0.3 11546 11413 minimatch: 3.1.2 11547 11414 object.fromentries: 2.0.8 11548 11415 object.groupby: 1.0.3 11549 - object.values: 1.2.0 11416 + object.values: 1.2.1 11550 11417 semver: 6.3.1 11551 11418 string.prototype.trimend: 1.0.9 11552 11419 tsconfig-paths: 3.15.0 11553 11420 optionalDependencies: 11554 - '@typescript-eslint/parser': 8.31.1(eslint@8.57.1)(typescript@5.8.3) 11421 + '@typescript-eslint/parser': 8.19.0(eslint@8.57.1)(typescript@5.8.3) 11555 11422 transitivePeerDependencies: 11556 11423 - eslint-import-resolver-typescript 11557 11424 - eslint-import-resolver-webpack ··· 11564 11431 '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.26.0) 11565 11432 eslint: 8.57.1 11566 11433 hermes-parser: 0.25.1 11567 - zod: 3.24.1 11568 - zod-validation-error: 3.4.0(zod@3.24.1) 11434 + zod: 3.23.8 11435 + zod-validation-error: 3.4.0(zod@3.23.8) 11569 11436 transitivePeerDependencies: 11570 11437 - supports-color 11571 11438 ··· 11573 11440 dependencies: 11574 11441 eslint: 8.57.1 11575 11442 11576 - eslint-plugin-react@7.37.5(eslint@8.57.1): 11443 + eslint-plugin-react@7.37.3(eslint@8.57.1): 11577 11444 dependencies: 11578 11445 array-includes: 3.1.8 11579 11446 array.prototype.findlast: 1.2.5 ··· 11586 11453 hasown: 2.0.2 11587 11454 jsx-ast-utils: 3.3.5 11588 11455 minimatch: 3.1.2 11589 - object.entries: 1.1.9 11456 + object.entries: 1.1.8 11590 11457 object.fromentries: 2.0.8 11591 11458 object.values: 1.2.1 11592 11459 prop-types: 15.8.1 ··· 11688 11555 11689 11556 exit-hook@1.1.1: {} 11690 11557 11691 - expo-asset@11.1.5(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11558 + expo-asset@11.1.5(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11692 11559 dependencies: 11693 11560 '@expo/image-utils': 0.7.4 11694 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11695 - expo-constants: 17.1.6(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11561 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11562 + expo-constants: 17.1.6(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11696 11563 react: 19.0.0 11697 11564 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11698 11565 transitivePeerDependencies: 11699 11566 - supports-color 11700 11567 11701 - expo-asset@11.1.5(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11568 + expo-asset@11.1.5(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11702 11569 dependencies: 11703 11570 '@expo/image-utils': 0.7.4 11704 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11705 - expo-constants: 17.1.6(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11571 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11572 + expo-constants: 17.1.6(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11706 11573 react: 19.0.0 11707 11574 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11708 11575 transitivePeerDependencies: 11709 11576 - supports-color 11710 11577 optional: true 11711 11578 11712 - expo-constants@17.1.6(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11579 + expo-constants@17.1.6(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11713 11580 dependencies: 11714 11581 '@expo/config': 11.0.10 11715 11582 '@expo/env': 1.0.5 11716 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11583 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11717 11584 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11718 11585 transitivePeerDependencies: 11719 11586 - supports-color 11720 11587 11721 - expo-constants@17.1.6(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11588 + expo-constants@17.1.6(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11722 11589 dependencies: 11723 11590 '@expo/config': 11.0.10 11724 11591 '@expo/env': 1.0.5 11725 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11592 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11726 11593 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11727 11594 transitivePeerDependencies: 11728 11595 - supports-color 11729 11596 optional: true 11730 11597 11731 - expo-file-system@18.1.10(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11598 + expo-file-system@18.1.10(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11732 11599 dependencies: 11733 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11600 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11734 11601 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11735 11602 11736 - expo-file-system@18.1.10(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11603 + expo-file-system@18.1.10(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11737 11604 dependencies: 11738 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11605 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11739 11606 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11740 11607 optional: true 11741 11608 11742 - expo-font@13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): 11609 + expo-font@13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): 11743 11610 dependencies: 11744 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11611 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11745 11612 fontfaceobserver: 2.3.0 11746 11613 react: 19.0.0 11747 11614 11748 - expo-font@13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): 11615 + expo-font@13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): 11749 11616 dependencies: 11750 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11617 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11751 11618 fontfaceobserver: 2.3.0 11752 11619 react: 19.0.0 11753 11620 optional: true 11754 11621 11755 - expo-image-loader@5.1.0(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): 11622 + expo-image-loader@5.1.0(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): 11756 11623 dependencies: 11757 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11624 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11758 11625 11759 - expo-image-picker@16.1.4(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): 11626 + expo-image-picker@16.1.4(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): 11760 11627 dependencies: 11761 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11762 - expo-image-loader: 5.1.0(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) 11628 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11629 + expo-image-loader: 5.1.0(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)) 11763 11630 11764 - expo-keep-awake@14.1.4(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): 11631 + expo-keep-awake@14.1.4(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): 11765 11632 dependencies: 11766 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11633 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11767 11634 react: 19.0.0 11768 11635 11769 - expo-keep-awake@14.1.4(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): 11636 + expo-keep-awake@14.1.4(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0): 11770 11637 dependencies: 11771 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11638 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11772 11639 react: 19.0.0 11773 11640 optional: true 11774 11641 11775 - expo-linking@7.1.4(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11642 + expo-linking@7.1.5(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11776 11643 dependencies: 11777 - expo-constants: 17.1.6(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11644 + expo-constants: 17.1.6(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11778 11645 invariant: 2.2.4 11779 11646 react: 19.0.0 11780 11647 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) ··· 11782 11649 - expo 11783 11650 - supports-color 11784 11651 11785 - expo-modules-autolinking@2.1.10: 11652 + expo-modules-autolinking@2.1.11: 11786 11653 dependencies: 11787 11654 '@expo/spawn-async': 1.7.2 11788 11655 chalk: 4.1.2 ··· 11792 11659 require-from-string: 2.0.2 11793 11660 resolve-from: 5.0.0 11794 11661 11795 - expo-modules-core@2.3.13: 11662 + expo-modules-core@2.4.0: 11796 11663 dependencies: 11797 11664 invariant: 2.2.4 11798 11665 11799 - expo-router@5.0.6(t72pujrpo4n6qjiotumnev34mm): 11666 + expo-router@5.0.7(txbbyapused3uamjbdiravx25i): 11800 11667 dependencies: 11801 11668 '@expo/metro-runtime': 5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11802 11669 '@expo/server': 0.6.2 11803 11670 '@radix-ui/react-slot': 1.2.0(@types/react@19.0.14)(react@19.0.0) 11804 - '@react-navigation/bottom-tabs': 7.3.11(@react-navigation/native@7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.10.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11805 - '@react-navigation/native': 7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11806 - '@react-navigation/native-stack': 7.3.11(@react-navigation/native@7.1.8(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.10.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11671 + '@react-navigation/bottom-tabs': 7.3.14(@react-navigation/native@7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.10.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11672 + '@react-navigation/native': 7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11673 + '@react-navigation/native-stack': 7.3.14(@react-navigation/native@7.1.10(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-screens@4.10.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11807 11674 client-only: 0.0.1 11808 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11809 - expo-constants: 17.1.6(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11810 - expo-linking: 7.1.4(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11675 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11676 + expo-constants: 17.1.6(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11677 + expo-linking: 7.1.5(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11811 11678 invariant: 2.2.4 11812 11679 react-fast-compare: 3.2.2 11813 - react-native-is-edge-to-edge: 1.1.7(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11680 + react-native-is-edge-to-edge: 1.1.6(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11814 11681 react-native-safe-area-context: 5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11815 11682 react-native-screens: 4.10.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11816 11683 schema-utils: 4.3.0 ··· 11826 11693 - react-native 11827 11694 - supports-color 11828 11695 11829 - expo-splash-screen@0.30.8(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): 11696 + expo-splash-screen@0.30.9(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)): 11830 11697 dependencies: 11831 - '@expo/prebuild-config': 9.0.5 11832 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11698 + '@expo/prebuild-config': 9.0.6 11699 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11833 11700 transitivePeerDependencies: 11834 11701 - supports-color 11835 11702 11836 - expo-sqlite@15.2.9(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11703 + expo-sqlite@15.2.12(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11837 11704 dependencies: 11838 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11705 + await-lock: 2.2.2 11706 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11839 11707 react: 19.0.0 11840 11708 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11841 11709 11842 - expo-sqlite@15.2.9(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11710 + expo-sqlite@15.2.12(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11843 11711 dependencies: 11844 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11712 + await-lock: 2.2.2 11713 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11845 11714 react: 19.0.0 11846 11715 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11847 11716 optional: true ··· 11853 11722 react-native-edge-to-edge: 1.6.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11854 11723 react-native-is-edge-to-edge: 1.1.6(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11855 11724 11856 - expo-system-ui@5.0.7(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11725 + expo-system-ui@5.0.8(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-web@0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11857 11726 dependencies: 11858 - '@react-native/normalize-colors': 0.79.2 11727 + '@react-native/normalize-colors': 0.79.3 11859 11728 debug: 4.4.0 11860 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11729 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11861 11730 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11862 11731 optionalDependencies: 11863 11732 react-native-web: 0.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 11864 11733 transitivePeerDependencies: 11865 11734 - supports-color 11866 11735 11867 - expo-web-browser@14.1.6(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11736 + expo-web-browser@14.1.6(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)): 11868 11737 dependencies: 11869 - expo: 53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11738 + expo: 53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11870 11739 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11871 11740 11872 - expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11741 + expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11873 11742 dependencies: 11874 11743 '@babel/runtime': 7.26.0 11875 - '@expo/cli': 0.24.13 11744 + '@expo/cli': 0.24.14 11876 11745 '@expo/config': 11.0.10 11877 11746 '@expo/config-plugins': 10.0.2 11878 - '@expo/fingerprint': 0.12.4 11747 + '@expo/fingerprint': 0.13.0 11879 11748 '@expo/metro-config': 0.20.14 11880 - '@expo/vector-icons': 14.1.0(expo-font@13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11881 - babel-preset-expo: 13.1.11(@babel/core@7.26.0)(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206) 11882 - expo-asset: 11.1.5(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11883 - expo-constants: 17.1.6(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11884 - expo-file-system: 18.1.10(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11885 - expo-font: 13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 11886 - expo-keep-awake: 14.1.4(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 11887 - expo-modules-autolinking: 2.1.10 11888 - expo-modules-core: 2.3.13 11749 + '@expo/vector-icons': 14.1.0(expo-font@13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11750 + babel-preset-expo: 13.2.0(@babel/core@7.26.0)(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206) 11751 + expo-asset: 11.1.5(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11752 + expo-constants: 17.1.6(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11753 + expo-file-system: 18.1.10(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11754 + expo-font: 13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 11755 + expo-keep-awake: 14.1.4(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 11756 + expo-modules-autolinking: 2.1.11 11757 + expo-modules-core: 2.4.0 11889 11758 react: 19.0.0 11890 11759 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11891 11760 react-native-edge-to-edge: 1.6.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) ··· 11900 11769 - supports-color 11901 11770 - utf-8-validate 11902 11771 11903 - expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11772 + expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0): 11904 11773 dependencies: 11905 11774 '@babel/runtime': 7.26.0 11906 - '@expo/cli': 0.24.13 11775 + '@expo/cli': 0.24.14 11907 11776 '@expo/config': 11.0.10 11908 11777 '@expo/config-plugins': 10.0.2 11909 - '@expo/fingerprint': 0.12.4 11778 + '@expo/fingerprint': 0.13.0 11910 11779 '@expo/metro-config': 0.20.14 11911 - '@expo/vector-icons': 14.1.0(expo-font@13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11912 - babel-preset-expo: 13.1.11(@babel/core@7.26.0)(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206) 11913 - expo-asset: 11.1.5(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11914 - expo-constants: 17.1.6(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11915 - expo-file-system: 18.1.10(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11916 - expo-font: 13.3.1(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 11917 - expo-keep-awake: 14.1.4(expo@53.0.9(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 11918 - expo-modules-autolinking: 2.1.10 11919 - expo-modules-core: 2.3.13 11780 + '@expo/vector-icons': 14.1.0(expo-font@13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11781 + babel-preset-expo: 13.2.0(@babel/core@7.26.0)(babel-plugin-react-compiler@19.0.0-beta-37ed2a7-20241206) 11782 + expo-asset: 11.1.5(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) 11783 + expo-constants: 17.1.6(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11784 + expo-file-system: 18.1.10(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)) 11785 + expo-font: 13.3.1(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 11786 + expo-keep-awake: 14.1.4(expo@53.0.11(@babel/core@7.26.0)(@expo/metro-runtime@5.0.4(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0) 11787 + expo-modules-autolinking: 2.1.11 11788 + expo-modules-core: 2.4.0 11920 11789 react: 19.0.0 11921 11790 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 11922 11791 react-native-edge-to-edge: 1.6.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) ··· 12008 11877 12009 11878 fbjs@3.0.5: 12010 11879 dependencies: 12011 - cross-fetch: 3.1.8 11880 + cross-fetch: 3.2.0 12012 11881 fbjs-css-vars: 1.0.2 12013 11882 loose-envify: 1.4.0 12014 11883 object-assign: 4.1.1 12015 11884 promise: 7.3.1 12016 11885 setimmediate: 1.0.5 12017 - ua-parser-js: 1.0.39 11886 + ua-parser-js: 1.0.40 12018 11887 transitivePeerDependencies: 12019 11888 - encoding 12020 11889 12021 - fdir@6.4.3(picomatch@4.0.2): 11890 + fdir@6.4.2(picomatch@4.0.2): 12022 11891 optionalDependencies: 12023 11892 picomatch: 4.0.2 12024 11893 ··· 12093 11962 flatted@3.3.2: {} 12094 11963 12095 11964 flow-enums-runtime@0.0.6: {} 11965 + 11966 + follow-redirects@1.15.9: {} 12096 11967 12097 11968 fontfaceobserver@2.3.0: {} 12098 11969 ··· 12100 11971 dependencies: 12101 11972 is-callable: 1.2.7 12102 11973 12103 - for-each@0.3.5: 12104 - dependencies: 12105 - is-callable: 1.2.7 12106 - 12107 11974 foreground-child@3.3.0: 12108 11975 dependencies: 12109 11976 cross-spawn: 7.0.6 ··· 12112 11979 forever-agent@0.6.1: {} 12113 11980 12114 11981 form-data@2.3.3: 11982 + dependencies: 11983 + asynckit: 0.4.0 11984 + combined-stream: 1.0.8 11985 + mime-types: 2.1.35 11986 + 11987 + form-data@4.0.1: 12115 11988 dependencies: 12116 11989 asynckit: 0.4.0 12117 11990 combined-stream: 1.0.8 ··· 12133 12006 jsonfile: 2.4.0 12134 12007 klaw: 1.3.1 12135 12008 path-is-absolute: 1.0.1 12136 - rimraf: 2.6.3 12009 + rimraf: 2.7.1 12137 12010 12138 12011 fs-promise@0.5.0: 12139 12012 dependencies: ··· 12149 12022 12150 12023 function-bind@1.1.2: {} 12151 12024 12152 - function.prototype.name@1.1.6: 12153 - dependencies: 12154 - call-bind: 1.0.8 12155 - define-properties: 1.2.1 12156 - es-abstract: 1.23.5 12157 - functions-have-names: 1.2.3 12158 - 12159 12025 function.prototype.name@1.1.8: 12160 12026 dependencies: 12161 12027 call-bind: 1.0.8 12162 - call-bound: 1.0.4 12028 + call-bound: 1.0.3 12163 12029 define-properties: 1.2.1 12164 12030 functions-have-names: 1.2.3 12165 12031 hasown: 2.0.2 ··· 12173 12039 12174 12040 get-caller-file@2.0.5: {} 12175 12041 12176 - get-intrinsic@1.2.6: 12042 + get-intrinsic@1.2.5: 12177 12043 dependencies: 12178 12044 call-bind-apply-helpers: 1.0.1 12179 12045 dunder-proto: 1.0.0 12180 12046 es-define-property: 1.0.1 12181 12047 es-errors: 1.3.0 12182 - es-object-atoms: 1.0.0 12183 12048 function-bind: 1.1.2 12184 12049 gopd: 1.2.0 12185 12050 has-symbols: 1.1.0 12186 12051 hasown: 2.0.2 12187 - math-intrinsics: 1.0.0 12188 12052 12189 - get-intrinsic@1.3.0: 12053 + get-intrinsic@1.2.6: 12190 12054 dependencies: 12191 - call-bind-apply-helpers: 1.0.2 12055 + call-bind-apply-helpers: 1.0.1 12056 + dunder-proto: 1.0.1 12192 12057 es-define-property: 1.0.1 12193 12058 es-errors: 1.3.0 12194 - es-object-atoms: 1.1.1 12059 + es-object-atoms: 1.0.0 12195 12060 function-bind: 1.1.2 12196 - get-proto: 1.0.1 12197 12061 gopd: 1.2.0 12198 12062 has-symbols: 1.1.0 12199 12063 hasown: 2.0.2 ··· 12205 12069 12206 12070 get-port@3.2.0: {} 12207 12071 12208 - get-proto@1.0.1: 12072 + get-symbol-description@1.1.0: 12209 12073 dependencies: 12210 - dunder-proto: 1.0.1 12211 - es-object-atoms: 1.0.0 12212 - 12213 - get-symbol-description@1.0.2: 12214 - dependencies: 12215 - call-bind: 1.0.8 12074 + call-bound: 1.0.3 12216 12075 es-errors: 1.3.0 12217 12076 get-intrinsic: 1.2.6 12218 12077 12219 - get-symbol-description@1.1.0: 12220 - dependencies: 12221 - call-bound: 1.0.4 12222 - es-errors: 1.3.0 12223 - get-intrinsic: 1.3.0 12224 - 12225 12078 get-tsconfig@4.8.1: 12226 12079 dependencies: 12227 12080 resolve-pkg-maps: 1.0.0 12228 12081 12229 12082 getenv@1.0.0: {} 12083 + 12084 + getenv@2.0.0: {} 12230 12085 12231 12086 getpass@0.1.7: 12232 12087 dependencies: ··· 12251 12106 package-json-from-dist: 1.0.1 12252 12107 path-scurry: 1.11.1 12253 12108 12254 - glob@11.0.1: 12109 + glob@11.0.0: 12255 12110 dependencies: 12256 12111 foreground-child: 3.3.0 12257 12112 jackspeak: 4.0.2 ··· 12282 12137 dependencies: 12283 12138 type-fest: 0.20.2 12284 12139 12285 - globals@16.0.0: {} 12140 + globals@16.2.0: {} 12286 12141 12287 12142 globalthis@1.0.4: 12288 12143 dependencies: ··· 12306 12161 dependencies: 12307 12162 ansi-regex: 2.1.1 12308 12163 12309 - has-bigints@1.0.2: {} 12164 + has-bigints@1.1.0: {} 12310 12165 12311 12166 has-flag@3.0.0: {} 12312 12167 ··· 12320 12175 12321 12176 has-proto@1.2.0: 12322 12177 dependencies: 12323 - dunder-proto: 1.0.0 12178 + dunder-proto: 1.0.1 12324 12179 12325 12180 has-symbols@1.1.0: {} 12326 12181 ··· 12350 12205 dependencies: 12351 12206 react-is: 16.13.1 12352 12207 12353 - hono@4.6.17: {} 12208 + hono@4.6.13: {} 12354 12209 12355 12210 hosted-git-info@7.0.2: 12356 12211 dependencies: ··· 12398 12253 12399 12254 ignore@5.3.2: {} 12400 12255 12401 - image-size@1.1.1: 12256 + image-size@1.2.0: 12402 12257 dependencies: 12403 12258 queue: 6.0.2 12404 12259 ··· 12464 12319 12465 12320 is-arguments@1.2.0: 12466 12321 dependencies: 12467 - call-bound: 1.0.2 12322 + call-bound: 1.0.3 12468 12323 has-tostringtag: 1.0.2 12469 12324 12470 - is-array-buffer@3.0.4: 12325 + is-array-buffer@3.0.5: 12471 12326 dependencies: 12472 12327 call-bind: 1.0.8 12328 + call-bound: 1.0.3 12473 12329 get-intrinsic: 1.2.6 12474 12330 12475 - is-array-buffer@3.0.5: 12476 - dependencies: 12477 - call-bind: 1.0.8 12478 - call-bound: 1.0.4 12479 - get-intrinsic: 1.3.0 12480 - 12481 12331 is-arrayish@0.2.1: {} 12482 12332 12483 12333 is-arrayish@0.3.2: {} ··· 12488 12338 12489 12339 is-bigint@1.1.0: 12490 12340 dependencies: 12491 - has-bigints: 1.0.2 12341 + has-bigints: 1.1.0 12492 12342 12493 12343 is-binary-path@2.1.0: 12494 12344 dependencies: ··· 12496 12346 12497 12347 is-boolean-object@1.2.1: 12498 12348 dependencies: 12499 - call-bound: 1.0.2 12349 + call-bound: 1.0.3 12500 12350 has-tostringtag: 1.0.2 12501 12351 12502 12352 is-bun-module@1.3.0: ··· 12505 12355 12506 12356 is-callable@1.2.7: {} 12507 12357 12508 - is-core-module@2.15.1: 12358 + is-core-module@2.16.1: 12509 12359 dependencies: 12510 12360 hasown: 2.0.2 12511 12361 12512 12362 is-data-view@1.0.2: 12513 12363 dependencies: 12514 - call-bound: 1.0.2 12364 + call-bound: 1.0.3 12515 12365 get-intrinsic: 1.2.6 12516 - is-typed-array: 1.1.13 12366 + is-typed-array: 1.1.15 12517 12367 12518 12368 is-date-object@1.1.0: 12519 12369 dependencies: 12520 - call-bound: 1.0.2 12370 + call-bound: 1.0.3 12521 12371 has-tostringtag: 1.0.2 12522 12372 12523 12373 is-directory@0.3.1: {} ··· 12526 12376 12527 12377 is-extglob@2.1.1: {} 12528 12378 12529 - is-finalizationregistry@1.1.0: 12379 + is-finalizationregistry@1.1.1: 12530 12380 dependencies: 12531 - call-bind: 1.0.8 12381 + call-bound: 1.0.3 12532 12382 12533 12383 is-fullwidth-code-point@1.0.0: 12534 12384 dependencies: ··· 12546 12396 12547 12397 is-map@2.0.3: {} 12548 12398 12549 - is-negative-zero@2.0.3: {} 12550 - 12551 - is-number-object@1.1.0: 12552 - dependencies: 12553 - call-bind: 1.0.8 12554 - has-tostringtag: 1.0.2 12555 - 12556 12399 is-number-object@1.1.1: 12557 12400 dependencies: 12558 - call-bound: 1.0.4 12401 + call-bound: 1.0.3 12559 12402 has-tostringtag: 1.0.2 12560 12403 12561 12404 is-number@7.0.0: {} ··· 12566 12409 12567 12410 is-regex@1.2.1: 12568 12411 dependencies: 12569 - call-bound: 1.0.2 12412 + call-bound: 1.0.3 12570 12413 gopd: 1.2.0 12571 12414 has-tostringtag: 1.0.2 12572 12415 hasown: 2.0.2 12573 12416 12574 12417 is-set@2.0.3: {} 12575 12418 12576 - is-shared-array-buffer@1.0.3: 12577 - dependencies: 12578 - call-bind: 1.0.8 12579 - 12580 12419 is-shared-array-buffer@1.0.4: 12581 12420 dependencies: 12582 - call-bound: 1.0.4 12583 - 12584 - is-string@1.1.0: 12585 - dependencies: 12586 - call-bind: 1.0.8 12587 - has-tostringtag: 1.0.2 12421 + call-bound: 1.0.3 12588 12422 12589 12423 is-string@1.1.1: 12590 12424 dependencies: 12591 - call-bound: 1.0.4 12425 + call-bound: 1.0.3 12592 12426 has-tostringtag: 1.0.2 12593 12427 12594 12428 is-symbol@1.1.1: 12595 12429 dependencies: 12596 - call-bound: 1.0.2 12430 + call-bound: 1.0.3 12597 12431 has-symbols: 1.1.0 12598 12432 safe-regex-test: 1.1.0 12599 - 12600 - is-typed-array@1.1.13: 12601 - dependencies: 12602 - which-typed-array: 1.1.16 12603 12433 12604 12434 is-typed-array@1.1.15: 12605 12435 dependencies: 12606 - which-typed-array: 1.1.19 12436 + which-typed-array: 1.1.18 12607 12437 12608 12438 is-typedarray@1.0.0: {} 12609 12439 ··· 12611 12441 12612 12442 is-weakref@1.1.0: 12613 12443 dependencies: 12614 - call-bound: 1.0.2 12444 + call-bound: 1.0.3 12615 12445 12616 - is-weakset@2.0.3: 12446 + is-weakset@2.0.4: 12617 12447 dependencies: 12618 - call-bind: 1.0.8 12448 + call-bound: 1.0.3 12619 12449 get-intrinsic: 1.2.6 12620 12450 12621 12451 is-wsl@2.2.0: ··· 12648 12478 es-object-atoms: 1.0.0 12649 12479 get-intrinsic: 1.2.6 12650 12480 has-symbols: 1.1.0 12651 - reflect.getprototypeof: 1.0.8 12481 + reflect.getprototypeof: 1.0.9 12652 12482 set-function-name: 2.0.2 12653 12483 12654 12484 jackspeak@3.4.3: ··· 12666 12496 '@jest/environment': 29.7.0 12667 12497 '@jest/fake-timers': 29.7.0 12668 12498 '@jest/types': 29.6.3 12669 - '@types/node': 20.17.14 12499 + '@types/node': 20.17.10 12670 12500 jest-mock: 29.7.0 12671 12501 jest-util: 29.7.0 12672 12502 ··· 12676 12506 dependencies: 12677 12507 '@jest/types': 29.6.3 12678 12508 '@types/graceful-fs': 4.1.9 12679 - '@types/node': 20.17.14 12509 + '@types/node': 20.17.10 12680 12510 anymatch: 3.1.3 12681 12511 fb-watchman: 2.0.2 12682 12512 graceful-fs: 4.2.11 ··· 12703 12533 jest-mock@29.7.0: 12704 12534 dependencies: 12705 12535 '@jest/types': 29.6.3 12706 - '@types/node': 20.17.14 12536 + '@types/node': 20.17.10 12707 12537 jest-util: 29.7.0 12708 12538 12709 12539 jest-regex-util@29.6.3: {} ··· 12711 12541 jest-util@29.7.0: 12712 12542 dependencies: 12713 12543 '@jest/types': 29.6.3 12714 - '@types/node': 20.17.14 12544 + '@types/node': 20.17.10 12715 12545 chalk: 4.1.2 12716 12546 ci-info: 3.9.0 12717 12547 graceful-fs: 4.2.11 ··· 12728 12558 12729 12559 jest-worker@27.5.1: 12730 12560 dependencies: 12731 - '@types/node': 20.17.14 12561 + '@types/node': 20.17.10 12732 12562 merge-stream: 2.0.0 12733 12563 supports-color: 8.1.1 12734 12564 12735 12565 jest-worker@29.7.0: 12736 12566 dependencies: 12737 - '@types/node': 20.17.14 12567 + '@types/node': 20.17.10 12738 12568 jest-util: 29.7.0 12739 12569 merge-stream: 2.0.0 12740 12570 supports-color: 8.1.1 12741 12571 12742 12572 jimp-compact@0.16.1: {} 12743 12573 12744 - jiti@1.21.6: {} 12574 + jiti@1.21.7: {} 12745 12575 12746 12576 jose@5.9.6: {} 12747 12577 ··· 12804 12634 jsx-ast-utils@3.3.5: 12805 12635 dependencies: 12806 12636 array-includes: 3.1.8 12807 - array.prototype.flat: 1.3.2 12808 - object.assign: 4.1.5 12637 + array.prototype.flat: 1.3.3 12638 + object.assign: 4.1.7 12809 12639 object.values: 1.2.1 12810 12640 12811 12641 kaiser@0.0.4: ··· 12822 12652 12823 12653 kleur@3.0.3: {} 12824 12654 12825 - lan-network@0.1.6: {} 12655 + lan-network@0.1.7: {} 12826 12656 12827 12657 leven@3.1.0: {} 12828 12658 ··· 12854 12684 lightningcss-darwin-arm64@1.27.0: 12855 12685 optional: true 12856 12686 12687 + lightningcss-darwin-arm64@1.28.2: 12688 + optional: true 12689 + 12857 12690 lightningcss-darwin-x64@1.27.0: 12858 12691 optional: true 12859 12692 12693 + lightningcss-darwin-x64@1.28.2: 12694 + optional: true 12695 + 12860 12696 lightningcss-freebsd-x64@1.27.0: 12861 12697 optional: true 12862 12698 12699 + lightningcss-freebsd-x64@1.28.2: 12700 + optional: true 12701 + 12863 12702 lightningcss-linux-arm-gnueabihf@1.27.0: 12864 12703 optional: true 12865 12704 12705 + lightningcss-linux-arm-gnueabihf@1.28.2: 12706 + optional: true 12707 + 12866 12708 lightningcss-linux-arm64-gnu@1.27.0: 12867 12709 optional: true 12868 12710 12711 + lightningcss-linux-arm64-gnu@1.28.2: 12712 + optional: true 12713 + 12869 12714 lightningcss-linux-arm64-musl@1.27.0: 12870 12715 optional: true 12871 12716 12717 + lightningcss-linux-arm64-musl@1.28.2: 12718 + optional: true 12719 + 12872 12720 lightningcss-linux-x64-gnu@1.27.0: 12873 12721 optional: true 12874 12722 12723 + lightningcss-linux-x64-gnu@1.28.2: 12724 + optional: true 12725 + 12875 12726 lightningcss-linux-x64-musl@1.27.0: 12876 12727 optional: true 12877 12728 12729 + lightningcss-linux-x64-musl@1.28.2: 12730 + optional: true 12731 + 12878 12732 lightningcss-win32-arm64-msvc@1.27.0: 12879 12733 optional: true 12880 12734 12735 + lightningcss-win32-arm64-msvc@1.28.2: 12736 + optional: true 12737 + 12881 12738 lightningcss-win32-x64-msvc@1.27.0: 12739 + optional: true 12740 + 12741 + lightningcss-win32-x64-msvc@1.28.2: 12882 12742 optional: true 12883 12743 12884 12744 lightningcss@1.27.0: ··· 12896 12756 lightningcss-win32-arm64-msvc: 1.27.0 12897 12757 lightningcss-win32-x64-msvc: 1.27.0 12898 12758 12759 + lightningcss@1.28.2: 12760 + dependencies: 12761 + detect-libc: 1.0.3 12762 + optionalDependencies: 12763 + lightningcss-darwin-arm64: 1.28.2 12764 + lightningcss-darwin-x64: 1.28.2 12765 + lightningcss-freebsd-x64: 1.28.2 12766 + lightningcss-linux-arm-gnueabihf: 1.28.2 12767 + lightningcss-linux-arm64-gnu: 1.28.2 12768 + lightningcss-linux-arm64-musl: 1.28.2 12769 + lightningcss-linux-x64-gnu: 1.28.2 12770 + lightningcss-linux-x64-musl: 1.28.2 12771 + lightningcss-win32-arm64-msvc: 1.28.2 12772 + lightningcss-win32-x64-msvc: 1.28.2 12773 + 12899 12774 lilconfig@3.1.3: {} 12900 12775 12901 12776 lines-and-columns@1.2.4: {} ··· 12965 12840 12966 12841 marky@1.2.5: {} 12967 12842 12968 - math-intrinsics@1.0.0: {} 12969 - 12970 12843 math-intrinsics@1.1.0: {} 12971 12844 12972 12845 mdn-data@2.0.14: {} ··· 12989 12862 12990 12863 methods@1.1.2: {} 12991 12864 12992 - metro-babel-transformer@0.82.2: 12865 + metro-babel-transformer@0.82.4: 12993 12866 dependencies: 12994 12867 '@babel/core': 7.26.0 12995 12868 flow-enums-runtime: 0.0.6 ··· 12998 12871 transitivePeerDependencies: 12999 12872 - supports-color 13000 12873 13001 - metro-cache-key@0.82.2: 12874 + metro-cache-key@0.82.4: 13002 12875 dependencies: 13003 12876 flow-enums-runtime: 0.0.6 13004 12877 13005 - metro-cache@0.82.2: 12878 + metro-cache@0.82.4: 13006 12879 dependencies: 13007 12880 exponential-backoff: 3.1.1 13008 12881 flow-enums-runtime: 0.0.6 13009 12882 https-proxy-agent: 7.0.6 13010 - metro-core: 0.82.2 12883 + metro-core: 0.82.4 13011 12884 transitivePeerDependencies: 13012 12885 - supports-color 13013 12886 13014 - metro-config@0.82.2: 12887 + metro-config@0.82.4: 13015 12888 dependencies: 13016 12889 connect: 3.7.0 13017 12890 cosmiconfig: 5.2.1 13018 12891 flow-enums-runtime: 0.0.6 13019 12892 jest-validate: 29.7.0 13020 - metro: 0.82.2 13021 - metro-cache: 0.82.2 13022 - metro-core: 0.82.2 13023 - metro-runtime: 0.82.2 12893 + metro: 0.82.4 12894 + metro-cache: 0.82.4 12895 + metro-core: 0.82.4 12896 + metro-runtime: 0.82.4 13024 12897 transitivePeerDependencies: 13025 12898 - bufferutil 13026 12899 - supports-color 13027 12900 - utf-8-validate 13028 12901 13029 - metro-core@0.82.2: 12902 + metro-core@0.82.4: 13030 12903 dependencies: 13031 12904 flow-enums-runtime: 0.0.6 13032 12905 lodash.throttle: 4.1.1 13033 - metro-resolver: 0.82.2 12906 + metro-resolver: 0.82.4 13034 12907 13035 - metro-file-map@0.82.2: 12908 + metro-file-map@0.82.4: 13036 12909 dependencies: 13037 12910 debug: 4.4.0 13038 12911 fb-watchman: 2.0.2 ··· 13046 12919 transitivePeerDependencies: 13047 12920 - supports-color 13048 12921 13049 - metro-minify-terser@0.82.2: 12922 + metro-minify-terser@0.82.4: 13050 12923 dependencies: 13051 12924 flow-enums-runtime: 0.0.6 13052 12925 terser: 5.37.0 13053 12926 13054 - metro-resolver@0.82.2: 12927 + metro-resolver@0.82.4: 13055 12928 dependencies: 13056 12929 flow-enums-runtime: 0.0.6 13057 12930 13058 - metro-runtime@0.82.2: 12931 + metro-runtime@0.82.4: 13059 12932 dependencies: 13060 12933 '@babel/runtime': 7.26.0 13061 12934 flow-enums-runtime: 0.0.6 13062 12935 13063 - metro-source-map@0.82.2: 12936 + metro-source-map@0.82.4: 13064 12937 dependencies: 13065 12938 '@babel/traverse': 7.26.4 13066 12939 '@babel/traverse--for-generate-function-map': '@babel/traverse@7.26.4' 13067 12940 '@babel/types': 7.26.3 13068 12941 flow-enums-runtime: 0.0.6 13069 12942 invariant: 2.2.4 13070 - metro-symbolicate: 0.82.2 12943 + metro-symbolicate: 0.82.4 13071 12944 nullthrows: 1.1.1 13072 - ob1: 0.82.2 12945 + ob1: 0.82.4 13073 12946 source-map: 0.5.7 13074 12947 vlq: 1.0.1 13075 12948 transitivePeerDependencies: 13076 12949 - supports-color 13077 12950 13078 - metro-symbolicate@0.82.2: 12951 + metro-symbolicate@0.82.4: 13079 12952 dependencies: 13080 12953 flow-enums-runtime: 0.0.6 13081 12954 invariant: 2.2.4 13082 - metro-source-map: 0.82.2 12955 + metro-source-map: 0.82.4 13083 12956 nullthrows: 1.1.1 13084 12957 source-map: 0.5.7 13085 12958 vlq: 1.0.1 13086 12959 transitivePeerDependencies: 13087 12960 - supports-color 13088 12961 13089 - metro-transform-plugins@0.82.2: 12962 + metro-transform-plugins@0.82.4: 13090 12963 dependencies: 13091 12964 '@babel/core': 7.26.0 13092 12965 '@babel/generator': 7.26.3 ··· 13097 12970 transitivePeerDependencies: 13098 12971 - supports-color 13099 12972 13100 - metro-transform-worker@0.82.2: 12973 + metro-transform-worker@0.82.4: 13101 12974 dependencies: 13102 12975 '@babel/core': 7.26.0 13103 12976 '@babel/generator': 7.26.3 13104 12977 '@babel/parser': 7.26.3 13105 12978 '@babel/types': 7.26.3 13106 12979 flow-enums-runtime: 0.0.6 13107 - metro: 0.82.2 13108 - metro-babel-transformer: 0.82.2 13109 - metro-cache: 0.82.2 13110 - metro-cache-key: 0.82.2 13111 - metro-minify-terser: 0.82.2 13112 - metro-source-map: 0.82.2 13113 - metro-transform-plugins: 0.82.2 12980 + metro: 0.82.4 12981 + metro-babel-transformer: 0.82.4 12982 + metro-cache: 0.82.4 12983 + metro-cache-key: 0.82.4 12984 + metro-minify-terser: 0.82.4 12985 + metro-source-map: 0.82.4 12986 + metro-transform-plugins: 0.82.4 13114 12987 nullthrows: 1.1.1 13115 12988 transitivePeerDependencies: 13116 12989 - bufferutil 13117 12990 - supports-color 13118 12991 - utf-8-validate 13119 12992 13120 - metro@0.82.2: 12993 + metro@0.82.4: 13121 12994 dependencies: 13122 12995 '@babel/code-frame': 7.26.2 13123 12996 '@babel/core': 7.26.0 ··· 13135 13008 flow-enums-runtime: 0.0.6 13136 13009 graceful-fs: 4.2.11 13137 13010 hermes-parser: 0.28.1 13138 - image-size: 1.1.1 13011 + image-size: 1.2.0 13139 13012 invariant: 2.2.4 13140 13013 jest-worker: 29.7.0 13141 13014 jsc-safe-url: 0.2.4 13142 13015 lodash.throttle: 4.1.1 13143 - metro-babel-transformer: 0.82.2 13144 - metro-cache: 0.82.2 13145 - metro-cache-key: 0.82.2 13146 - metro-config: 0.82.2 13147 - metro-core: 0.82.2 13148 - metro-file-map: 0.82.2 13149 - metro-resolver: 0.82.2 13150 - metro-runtime: 0.82.2 13151 - metro-source-map: 0.82.2 13152 - metro-symbolicate: 0.82.2 13153 - metro-transform-plugins: 0.82.2 13154 - metro-transform-worker: 0.82.2 13016 + metro-babel-transformer: 0.82.4 13017 + metro-cache: 0.82.4 13018 + metro-cache-key: 0.82.4 13019 + metro-config: 0.82.4 13020 + metro-core: 0.82.4 13021 + metro-file-map: 0.82.4 13022 + metro-resolver: 0.82.4 13023 + metro-runtime: 0.82.4 13024 + metro-source-map: 0.82.4 13025 + metro-symbolicate: 0.82.4 13026 + metro-transform-plugins: 0.82.4 13027 + metro-transform-worker: 0.82.4 13155 13028 mime-types: 2.1.35 13156 13029 nullthrows: 1.1.1 13157 13030 serialize-error: 2.1.0 ··· 13170 13043 picomatch: 2.3.1 13171 13044 13172 13045 mime-db@1.52.0: {} 13173 - 13174 - mime-db@1.53.0: {} 13175 13046 13176 13047 mime-types@2.1.35: 13177 13048 dependencies: ··· 13234 13105 thenify-all: 1.6.0 13235 13106 13236 13107 nanoid@3.3.11: {} 13108 + 13109 + nanoid@3.3.8: {} 13237 13110 13238 13111 nativewind@4.1.23(react-native-reanimated@3.17.5(@babel/core@7.26.0)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-svg@15.11.2(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.8.3))): 13239 13112 dependencies: ··· 13301 13174 13302 13175 oauth-sign@0.9.0: {} 13303 13176 13304 - ob1@0.82.2: 13177 + ob1@0.82.4: 13305 13178 dependencies: 13306 13179 flow-enums-runtime: 0.0.6 13307 13180 ··· 13313 13186 13314 13187 object-keys@1.1.1: {} 13315 13188 13316 - object.assign@4.1.5: 13317 - dependencies: 13318 - call-bind: 1.0.8 13319 - define-properties: 1.2.1 13320 - has-symbols: 1.1.0 13321 - object-keys: 1.1.1 13322 - 13323 13189 object.assign@4.1.7: 13324 13190 dependencies: 13325 13191 call-bind: 1.0.8 13326 - call-bound: 1.0.4 13192 + call-bound: 1.0.3 13327 13193 define-properties: 1.2.1 13328 13194 es-object-atoms: 1.0.0 13329 13195 has-symbols: 1.1.0 13330 13196 object-keys: 1.1.1 13331 13197 13332 - object.entries@1.1.9: 13198 + object.entries@1.1.8: 13333 13199 dependencies: 13334 13200 call-bind: 1.0.8 13335 - call-bound: 1.0.4 13336 13201 define-properties: 1.2.1 13337 - es-object-atoms: 1.1.1 13202 + es-object-atoms: 1.0.0 13338 13203 13339 13204 object.fromentries@2.0.8: 13340 13205 dependencies: 13341 13206 call-bind: 1.0.8 13342 13207 define-properties: 1.2.1 13343 - es-abstract: 1.23.5 13208 + es-abstract: 1.23.8 13344 13209 es-object-atoms: 1.0.0 13345 13210 13346 13211 object.groupby@1.0.3: 13347 13212 dependencies: 13348 13213 call-bind: 1.0.8 13349 13214 define-properties: 1.2.1 13350 - es-abstract: 1.23.5 13351 - 13352 - object.values@1.2.0: 13353 - dependencies: 13354 - call-bind: 1.0.8 13355 - define-properties: 1.2.1 13356 - es-object-atoms: 1.0.0 13215 + es-abstract: 1.23.8 13357 13216 13358 13217 object.values@1.2.1: 13359 13218 dependencies: 13360 13219 call-bind: 1.0.8 13361 - call-bound: 1.0.4 13220 + call-bound: 1.0.3 13362 13221 define-properties: 1.2.1 13363 13222 es-object-atoms: 1.0.0 13364 13223 ··· 13419 13278 13420 13279 own-keys@1.0.1: 13421 13280 dependencies: 13422 - get-intrinsic: 1.3.0 13281 + get-intrinsic: 1.2.6 13423 13282 object-keys: 1.1.1 13424 13283 safe-push-apply: 1.0.0 13425 13284 ··· 13557 13416 sonic-boom: 3.8.1 13558 13417 thread-stream: 2.7.0 13559 13418 13560 - pino@9.6.0: 13419 + pino@9.5.0: 13561 13420 dependencies: 13562 13421 atomic-sleep: 1.0.0 13563 13422 fast-redact: 3.5.0 13564 13423 on-exit-leak-free: 2.1.2 13565 13424 pino-abstract-transport: 2.0.0 13566 13425 pino-std-serializers: 7.0.0 13567 - process-warning: 4.0.1 13426 + process-warning: 4.0.0 13568 13427 quick-format-unescaped: 4.0.4 13569 13428 real-require: 0.2.0 13570 13429 safe-stable-stringify: 2.5.0 ··· 13592 13451 postcss: 8.4.49 13593 13452 postcss-value-parser: 4.2.0 13594 13453 read-cache: 1.0.0 13595 - resolve: 1.22.8 13454 + resolve: 1.22.10 13596 13455 13597 13456 postcss-js@4.0.1(postcss@8.4.49): 13598 13457 dependencies: ··· 13607 13466 postcss: 8.4.49 13608 13467 ts-node: 10.9.2(@types/node@22.10.2)(typescript@5.8.3) 13609 13468 13610 - postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.1): 13469 + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.1): 13611 13470 dependencies: 13612 13471 lilconfig: 3.1.3 13613 13472 optionalDependencies: 13614 - jiti: 1.21.6 13473 + jiti: 1.21.7 13615 13474 postcss: 8.4.49 13616 13475 tsx: 4.19.2 13617 13476 yaml: 2.6.1 ··· 13630 13489 13631 13490 postcss@8.4.49: 13632 13491 dependencies: 13633 - nanoid: 3.3.11 13492 + nanoid: 3.3.8 13634 13493 picocolors: 1.1.1 13635 13494 source-map-js: 1.2.1 13636 13495 13637 - postgres@3.4.5: {} 13496 + postgres@3.4.7: {} 13638 13497 13639 13498 prelude-ls@1.2.1: {} 13640 13499 13641 - prettier-plugin-tailwindcss@0.6.11(@ianvs/prettier-plugin-sort-imports@4.4.1(prettier@3.4.2))(prettier@3.4.2): 13500 + prettier-plugin-tailwindcss@0.6.12(@ianvs/prettier-plugin-sort-imports@4.4.2(prettier@3.5.3))(prettier@3.5.3): 13642 13501 dependencies: 13643 - prettier: 3.4.2 13502 + prettier: 3.5.3 13644 13503 optionalDependencies: 13645 - '@ianvs/prettier-plugin-sort-imports': 4.4.1(prettier@3.4.2) 13504 + '@ianvs/prettier-plugin-sort-imports': 4.4.2(prettier@3.5.3) 13646 13505 13647 13506 prettier@3.4.2: {} 13648 13507 13508 + prettier@3.5.3: {} 13509 + 13649 13510 pretty-bytes@5.6.0: {} 13650 13511 13651 13512 pretty-format@29.7.0: ··· 13658 13519 13659 13520 process-warning@3.0.0: {} 13660 13521 13661 - process-warning@4.0.1: {} 13522 + process-warning@4.0.0: {} 13662 13523 13663 13524 process@0.11.10: {} 13664 13525 ··· 13705 13566 13706 13567 qs@6.13.0: 13707 13568 dependencies: 13708 - side-channel: 1.1.0 13569 + side-channel: 1.0.6 13709 13570 13710 13571 qs@6.5.3: {} 13711 13572 ··· 13750 13611 dependencies: 13751 13612 react: 19.0.0 13752 13613 13753 - react-devtools-core@6.1.1: 13614 + react-devtools-core@6.1.2: 13754 13615 dependencies: 13755 13616 shell-quote: 1.8.2 13756 13617 ws: 7.5.10 ··· 13781 13642 '@babel/traverse': 7.26.4 13782 13643 '@babel/types': 7.26.3 13783 13644 debug: 4.4.0 13784 - lightningcss: 1.27.0 13645 + lightningcss: 1.28.2 13785 13646 react: 19.0.0 13786 13647 react-native: 0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0) 13787 13648 react-native-reanimated: 3.17.5(@babel/core@7.26.0)(react-native@0.79.2(@babel/core@7.26.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) ··· 13911 13772 invariant: 2.2.4 13912 13773 jest-environment-node: 29.7.0 13913 13774 memoize-one: 5.2.1 13914 - metro-runtime: 0.82.2 13915 - metro-source-map: 0.82.2 13775 + metro-runtime: 0.82.4 13776 + metro-source-map: 0.82.4 13916 13777 nullthrows: 1.1.1 13917 13778 pretty-format: 29.7.0 13918 13779 promise: 8.3.0 13919 13780 react: 19.0.0 13920 - react-devtools-core: 6.1.1 13781 + react-devtools-core: 6.1.2 13921 13782 react-refresh: 0.14.2 13922 13783 regenerator-runtime: 0.13.11 13923 13784 scheduler: 0.25.0 ··· 13939 13800 13940 13801 react-refresh@0.16.0: {} 13941 13802 13942 - react-remove-scroll-bar@2.3.6(@types/react@19.0.14)(react@19.0.0): 13803 + react-remove-scroll-bar@2.3.8(@types/react@19.0.14)(react@19.0.0): 13943 13804 dependencies: 13944 13805 react: 19.0.0 13945 - react-style-singleton: 2.2.1(@types/react@19.0.14)(react@19.0.0) 13946 - tslib: 2.8.1 13806 + react-style-singleton: 2.2.3(@types/react@19.0.14)(react@19.0.0) 13807 + tslib: 2.6.2 13947 13808 optionalDependencies: 13948 13809 '@types/react': 19.0.14 13949 13810 13950 - react-remove-scroll@2.6.0(@types/react@19.0.14)(react@19.0.0): 13811 + react-remove-scroll@2.6.2(@types/react@19.0.14)(react@19.0.0): 13951 13812 dependencies: 13952 13813 react: 19.0.0 13953 - react-remove-scroll-bar: 2.3.6(@types/react@19.0.14)(react@19.0.0) 13954 - react-style-singleton: 2.2.1(@types/react@19.0.14)(react@19.0.0) 13955 - tslib: 2.8.1 13956 - use-callback-ref: 1.3.2(@types/react@19.0.14)(react@19.0.0) 13957 - use-sidecar: 1.1.2(@types/react@19.0.14)(react@19.0.0) 13814 + react-remove-scroll-bar: 2.3.8(@types/react@19.0.14)(react@19.0.0) 13815 + react-style-singleton: 2.2.3(@types/react@19.0.14)(react@19.0.0) 13816 + tslib: 2.6.2 13817 + use-callback-ref: 1.3.3(@types/react@19.0.14)(react@19.0.0) 13818 + use-sidecar: 1.1.3(@types/react@19.0.14)(react@19.0.0) 13958 13819 optionalDependencies: 13959 13820 '@types/react': 19.0.14 13960 13821 13961 - react-style-singleton@2.2.1(@types/react@19.0.14)(react@19.0.0): 13822 + react-style-singleton@2.2.3(@types/react@19.0.14)(react@19.0.0): 13962 13823 dependencies: 13963 13824 get-nonce: 1.0.1 13964 - invariant: 2.2.4 13965 13825 react: 19.0.0 13966 - tslib: 2.8.1 13826 + tslib: 2.6.2 13967 13827 optionalDependencies: 13968 13828 '@types/react': 19.0.14 13969 13829 ··· 13985 13845 dependencies: 13986 13846 picomatch: 2.3.1 13987 13847 13988 - readdirp@4.1.1: {} 13848 + readdirp@4.0.2: {} 13989 13849 13990 13850 readline2@1.0.1: 13991 13851 dependencies: ··· 13995 13855 13996 13856 real-require@0.2.0: {} 13997 13857 13998 - reflect.getprototypeof@1.0.10: 13999 - dependencies: 14000 - call-bind: 1.0.8 14001 - define-properties: 1.2.1 14002 - es-abstract: 1.23.9 14003 - es-errors: 1.3.0 14004 - es-object-atoms: 1.0.0 14005 - get-intrinsic: 1.3.0 14006 - get-proto: 1.0.1 14007 - which-builtin-type: 1.2.1 14008 - 14009 - reflect.getprototypeof@1.0.8: 13858 + reflect.getprototypeof@1.0.9: 14010 13859 dependencies: 14011 13860 call-bind: 1.0.8 14012 13861 define-properties: 1.2.1 14013 - dunder-proto: 1.0.0 14014 - es-abstract: 1.23.9 13862 + dunder-proto: 1.0.1 13863 + es-abstract: 1.23.8 14015 13864 es-errors: 1.3.0 14016 13865 get-intrinsic: 1.2.6 14017 13866 gopd: 1.2.0 ··· 14110 13959 14111 13960 resolve.exports@2.0.3: {} 14112 13961 14113 - resolve@1.22.8: 13962 + resolve@1.22.10: 14114 13963 dependencies: 14115 - is-core-module: 2.15.1 13964 + is-core-module: 2.16.1 14116 13965 path-parse: 1.0.7 14117 13966 supports-preserve-symlinks-flag: 1.0.0 14118 13967 ··· 14122 13971 14123 13972 resolve@2.0.0-next.5: 14124 13973 dependencies: 14125 - is-core-module: 2.15.1 13974 + is-core-module: 2.16.1 14126 13975 path-parse: 1.0.7 14127 13976 supports-preserve-symlinks-flag: 1.0.0 14128 13977 ··· 14138 13987 14139 13988 reusify@1.0.4: {} 14140 13989 14141 - rimraf@2.6.3: 13990 + rimraf@2.7.1: 14142 13991 dependencies: 14143 13992 glob: 7.2.3 14144 13993 ··· 14148 13997 14149 13998 rimraf@6.0.1: 14150 13999 dependencies: 14151 - glob: 11.0.1 14000 + glob: 11.0.0 14152 14001 package-json-from-dist: 1.0.1 14153 14002 14154 - rollup@4.31.0: 14003 + rollup@4.28.1: 14155 14004 dependencies: 14156 14005 '@types/estree': 1.0.6 14157 14006 optionalDependencies: 14158 - '@rollup/rollup-android-arm-eabi': 4.31.0 14159 - '@rollup/rollup-android-arm64': 4.31.0 14160 - '@rollup/rollup-darwin-arm64': 4.31.0 14161 - '@rollup/rollup-darwin-x64': 4.31.0 14162 - '@rollup/rollup-freebsd-arm64': 4.31.0 14163 - '@rollup/rollup-freebsd-x64': 4.31.0 14164 - '@rollup/rollup-linux-arm-gnueabihf': 4.31.0 14165 - '@rollup/rollup-linux-arm-musleabihf': 4.31.0 14166 - '@rollup/rollup-linux-arm64-gnu': 4.31.0 14167 - '@rollup/rollup-linux-arm64-musl': 4.31.0 14168 - '@rollup/rollup-linux-loongarch64-gnu': 4.31.0 14169 - '@rollup/rollup-linux-powerpc64le-gnu': 4.31.0 14170 - '@rollup/rollup-linux-riscv64-gnu': 4.31.0 14171 - '@rollup/rollup-linux-s390x-gnu': 4.31.0 14172 - '@rollup/rollup-linux-x64-gnu': 4.31.0 14173 - '@rollup/rollup-linux-x64-musl': 4.31.0 14174 - '@rollup/rollup-win32-arm64-msvc': 4.31.0 14175 - '@rollup/rollup-win32-ia32-msvc': 4.31.0 14176 - '@rollup/rollup-win32-x64-msvc': 4.31.0 14007 + '@rollup/rollup-android-arm-eabi': 4.28.1 14008 + '@rollup/rollup-android-arm64': 4.28.1 14009 + '@rollup/rollup-darwin-arm64': 4.28.1 14010 + '@rollup/rollup-darwin-x64': 4.28.1 14011 + '@rollup/rollup-freebsd-arm64': 4.28.1 14012 + '@rollup/rollup-freebsd-x64': 4.28.1 14013 + '@rollup/rollup-linux-arm-gnueabihf': 4.28.1 14014 + '@rollup/rollup-linux-arm-musleabihf': 4.28.1 14015 + '@rollup/rollup-linux-arm64-gnu': 4.28.1 14016 + '@rollup/rollup-linux-arm64-musl': 4.28.1 14017 + '@rollup/rollup-linux-loongarch64-gnu': 4.28.1 14018 + '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1 14019 + '@rollup/rollup-linux-riscv64-gnu': 4.28.1 14020 + '@rollup/rollup-linux-s390x-gnu': 4.28.1 14021 + '@rollup/rollup-linux-x64-gnu': 4.28.1 14022 + '@rollup/rollup-linux-x64-musl': 4.28.1 14023 + '@rollup/rollup-win32-arm64-msvc': 4.28.1 14024 + '@rollup/rollup-win32-ia32-msvc': 4.28.1 14025 + '@rollup/rollup-win32-x64-msvc': 4.28.1 14177 14026 fsevents: 2.3.3 14178 14027 14179 14028 run-async@0.1.0: ··· 14189 14038 safe-array-concat@1.1.3: 14190 14039 dependencies: 14191 14040 call-bind: 1.0.8 14192 - call-bound: 1.0.4 14041 + call-bound: 1.0.3 14193 14042 get-intrinsic: 1.2.6 14194 14043 has-symbols: 1.1.0 14195 14044 isarray: 2.0.5 ··· 14203 14052 14204 14053 safe-regex-test@1.1.0: 14205 14054 dependencies: 14206 - call-bound: 1.0.2 14055 + call-bound: 1.0.3 14207 14056 es-errors: 1.3.0 14208 14057 is-regex: 1.2.1 14209 14058 ··· 14252 14101 transitivePeerDependencies: 14253 14102 - supports-color 14254 14103 14255 - send@0.19.1: 14256 - dependencies: 14257 - debug: 2.6.9 14258 - depd: 2.0.0 14259 - destroy: 1.2.0 14260 - encodeurl: 2.0.0 14261 - escape-html: 1.0.3 14262 - etag: 1.8.1 14263 - fresh: 0.5.2 14264 - http-errors: 2.0.0 14265 - mime: 1.6.0 14266 - ms: 2.1.3 14267 - on-finished: 2.4.1 14268 - range-parser: 1.2.1 14269 - statuses: 2.0.1 14270 - transitivePeerDependencies: 14271 - - supports-color 14272 - 14273 14104 serialize-error@2.1.0: {} 14274 14105 14275 14106 serialize-javascript@6.0.2: ··· 14302 14133 es-errors: 1.3.0 14303 14134 functions-have-names: 1.2.3 14304 14135 has-property-descriptors: 1.0.2 14305 - 14306 - set-proto@1.0.0: 14307 - dependencies: 14308 - dunder-proto: 1.0.1 14309 - es-errors: 1.3.0 14310 - es-object-atoms: 1.0.0 14311 14136 14312 14137 setimmediate@1.0.5: {} 14313 14138 ··· 14330 14155 14331 14156 side-channel-map@1.0.1: 14332 14157 dependencies: 14333 - call-bound: 1.0.2 14158 + call-bound: 1.0.3 14334 14159 es-errors: 1.3.0 14335 14160 get-intrinsic: 1.2.6 14336 14161 object-inspect: 1.13.3 14337 14162 14338 14163 side-channel-weakmap@1.0.2: 14339 14164 dependencies: 14340 - call-bound: 1.0.2 14165 + call-bound: 1.0.3 14341 14166 es-errors: 1.3.0 14342 14167 get-intrinsic: 1.2.6 14343 14168 object-inspect: 1.13.3 14344 14169 side-channel-map: 1.0.1 14170 + 14171 + side-channel@1.0.6: 14172 + dependencies: 14173 + call-bind: 1.0.8 14174 + es-errors: 1.3.0 14175 + get-intrinsic: 1.2.5 14176 + object-inspect: 1.13.3 14345 14177 14346 14178 side-channel@1.1.0: 14347 14179 dependencies: ··· 14455 14287 string.prototype.matchall@4.0.12: 14456 14288 dependencies: 14457 14289 call-bind: 1.0.8 14458 - call-bound: 1.0.4 14290 + call-bound: 1.0.3 14459 14291 define-properties: 1.2.1 14460 - es-abstract: 1.23.9 14292 + es-abstract: 1.23.8 14461 14293 es-errors: 1.3.0 14462 14294 es-object-atoms: 1.0.0 14463 14295 get-intrinsic: 1.2.6 ··· 14471 14303 string.prototype.repeat@1.0.0: 14472 14304 dependencies: 14473 14305 define-properties: 1.2.1 14474 - es-abstract: 1.23.5 14306 + es-abstract: 1.23.8 14475 14307 14476 14308 string.prototype.trim@1.2.10: 14477 14309 dependencies: 14478 14310 call-bind: 1.0.8 14479 - call-bound: 1.0.2 14311 + call-bound: 1.0.3 14480 14312 define-data-property: 1.1.4 14481 14313 define-properties: 1.2.1 14482 - es-abstract: 1.23.5 14314 + es-abstract: 1.23.8 14483 14315 es-object-atoms: 1.0.0 14484 14316 has-property-descriptors: 1.0.2 14485 14317 14486 14318 string.prototype.trimend@1.0.9: 14487 14319 dependencies: 14488 14320 call-bind: 1.0.8 14489 - call-bound: 1.0.2 14321 + call-bound: 1.0.3 14490 14322 define-properties: 1.2.1 14491 14323 es-object-atoms: 1.0.0 14492 14324 ··· 14528 14360 14529 14361 sucrase@3.35.0: 14530 14362 dependencies: 14531 - '@jridgewell/gen-mapping': 0.3.8 14363 + '@jridgewell/gen-mapping': 0.3.5 14532 14364 commander: 4.1.1 14533 14365 glob: 10.4.5 14534 14366 lines-and-columns: 1.2.4 ··· 14559 14391 14560 14392 supports-preserve-symlinks-flag@1.0.0: {} 14561 14393 14562 - tailwind-merge@2.5.5: {} 14394 + tailwind-merge@2.6.0: {} 14563 14395 14564 14396 tailwindcss-animate@1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.8.3))): 14565 14397 dependencies: ··· 14575 14407 fast-glob: 3.3.2 14576 14408 glob-parent: 6.0.2 14577 14409 is-glob: 4.0.3 14578 - jiti: 1.21.6 14410 + jiti: 1.21.7 14579 14411 lilconfig: 3.1.3 14580 14412 micromatch: 4.0.8 14581 14413 normalize-path: 3.0.0 ··· 14587 14419 postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.8.3)) 14588 14420 postcss-nested: 6.2.0(postcss@8.4.49) 14589 14421 postcss-selector-parser: 6.1.2 14590 - resolve: 1.22.8 14422 + resolve: 1.22.10 14591 14423 sucrase: 3.35.0 14592 14424 transitivePeerDependencies: 14593 14425 - ts-node ··· 14654 14486 14655 14487 through@2.3.8: {} 14656 14488 14657 - tinyexec@0.3.2: {} 14489 + tinyexec@0.3.1: {} 14658 14490 14659 14491 tinyglobby@0.2.10: 14660 14492 dependencies: 14661 - fdir: 6.4.3(picomatch@4.0.2) 14493 + fdir: 6.4.2(picomatch@4.0.2) 14662 14494 picomatch: 4.0.2 14663 14495 14664 14496 tlds@1.255.0: {} ··· 14687 14519 punycode: 2.3.1 14688 14520 14689 14521 tree-kill@1.2.2: {} 14522 + 14523 + ts-api-utils@1.4.3(typescript@5.8.3): 14524 + dependencies: 14525 + typescript: 5.8.3 14690 14526 14691 14527 ts-api-utils@2.1.0(typescript@5.8.3): 14692 14528 dependencies: ··· 14731 14567 14732 14568 tslib@2.6.2: {} 14733 14569 14734 - tslib@2.8.1: {} 14735 - 14736 - tsup@8.3.5(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.6.1): 14570 + tsup@8.3.5(jiti@1.21.7)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.6.1): 14737 14571 dependencies: 14738 - bundle-require: 5.1.0(esbuild@0.24.2) 14572 + bundle-require: 5.0.0(esbuild@0.24.0) 14739 14573 cac: 6.7.14 14740 - chokidar: 4.0.3 14741 - consola: 3.4.0 14574 + chokidar: 4.0.1 14575 + consola: 3.2.3 14742 14576 debug: 4.4.0 14743 - esbuild: 0.24.2 14577 + esbuild: 0.24.0 14744 14578 joycon: 3.1.1 14745 14579 picocolors: 1.1.1 14746 - postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.1) 14580 + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.1) 14747 14581 resolve-from: 5.0.0 14748 - rollup: 4.31.0 14582 + rollup: 4.28.1 14749 14583 source-map: 0.8.0-beta.0 14750 14584 sucrase: 3.35.0 14751 - tinyexec: 0.3.2 14585 + tinyexec: 0.3.1 14752 14586 tinyglobby: 0.2.10 14753 14587 tree-kill: 1.2.2 14754 14588 optionalDependencies: 14755 14589 postcss: 8.4.49 14756 - typescript: 5.7.3 14590 + typescript: 5.7.2 14757 14591 transitivePeerDependencies: 14758 14592 - jiti 14759 14593 - supports-color ··· 14817 14651 media-typer: 0.3.0 14818 14652 mime-types: 2.1.35 14819 14653 14820 - typed-array-buffer@1.0.2: 14821 - dependencies: 14822 - call-bind: 1.0.8 14823 - es-errors: 1.3.0 14824 - is-typed-array: 1.1.13 14825 - 14826 14654 typed-array-buffer@1.0.3: 14827 14655 dependencies: 14828 - call-bound: 1.0.4 14656 + call-bound: 1.0.3 14829 14657 es-errors: 1.3.0 14830 14658 is-typed-array: 1.1.15 14831 14659 14832 - typed-array-byte-length@1.0.1: 14833 - dependencies: 14834 - call-bind: 1.0.8 14835 - for-each: 0.3.3 14836 - gopd: 1.2.0 14837 - has-proto: 1.2.0 14838 - is-typed-array: 1.1.13 14839 - 14840 14660 typed-array-byte-length@1.0.3: 14841 14661 dependencies: 14842 14662 call-bind: 1.0.8 ··· 14845 14665 has-proto: 1.2.0 14846 14666 is-typed-array: 1.1.15 14847 14667 14848 - typed-array-byte-offset@1.0.3: 14849 - dependencies: 14850 - available-typed-arrays: 1.0.7 14851 - call-bind: 1.0.8 14852 - for-each: 0.3.3 14853 - gopd: 1.2.0 14854 - has-proto: 1.2.0 14855 - is-typed-array: 1.1.13 14856 - reflect.getprototypeof: 1.0.8 14857 - 14858 14668 typed-array-byte-offset@1.0.4: 14859 14669 dependencies: 14860 14670 available-typed-arrays: 1.0.7 ··· 14863 14673 gopd: 1.2.0 14864 14674 has-proto: 1.2.0 14865 14675 is-typed-array: 1.1.15 14866 - reflect.getprototypeof: 1.0.10 14676 + reflect.getprototypeof: 1.0.9 14867 14677 14868 14678 typed-array-length@1.0.7: 14869 14679 dependencies: 14870 14680 call-bind: 1.0.8 14871 14681 for-each: 0.3.3 14872 14682 gopd: 1.2.0 14873 - is-typed-array: 1.1.13 14683 + is-typed-array: 1.1.15 14874 14684 possible-typed-array-names: 1.0.0 14875 - reflect.getprototypeof: 1.0.8 14685 + reflect.getprototypeof: 1.0.9 14876 14686 14877 - typescript@5.7.3: {} 14687 + typescript@5.7.2: {} 14878 14688 14879 14689 typescript@5.8.3: {} 14880 14690 14881 - ua-parser-js@1.0.39: {} 14691 + ua-parser-js@1.0.40: {} 14882 14692 14883 14693 udomdiff@1.1.2: {} 14884 14694 ··· 14898 14708 uint8arrays@3.0.0: 14899 14709 dependencies: 14900 14710 multiformats: 9.9.0 14901 - 14902 - unbox-primitive@1.0.2: 14903 - dependencies: 14904 - call-bind: 1.0.8 14905 - has-bigints: 1.0.2 14906 - has-symbols: 1.1.0 14907 - which-boxed-primitive: 1.1.0 14908 14711 14909 14712 unbox-primitive@1.1.0: 14910 14713 dependencies: 14911 - call-bound: 1.0.4 14912 - has-bigints: 1.0.2 14714 + call-bound: 1.0.3 14715 + has-bigints: 1.1.0 14913 14716 has-symbols: 1.1.0 14914 14717 which-boxed-primitive: 1.1.1 14915 14718 ··· 14948 14751 dependencies: 14949 14752 punycode: 2.3.1 14950 14753 14951 - use-callback-ref@1.3.2(@types/react@19.0.14)(react@19.0.0): 14754 + use-callback-ref@1.3.3(@types/react@19.0.14)(react@19.0.0): 14952 14755 dependencies: 14953 14756 react: 19.0.0 14954 - tslib: 2.8.1 14757 + tslib: 2.6.2 14955 14758 optionalDependencies: 14956 14759 '@types/react': 19.0.14 14957 14760 ··· 14959 14762 dependencies: 14960 14763 react: 19.0.0 14961 14764 14962 - use-sidecar@1.1.2(@types/react@19.0.14)(react@19.0.0): 14765 + use-sidecar@1.1.3(@types/react@19.0.14)(react@19.0.0): 14963 14766 dependencies: 14964 14767 detect-node-es: 1.1.0 14965 14768 react: 19.0.0 14966 - tslib: 2.8.1 14769 + tslib: 2.6.2 14967 14770 optionalDependencies: 14968 14771 '@types/react': 19.0.14 14969 14772 ··· 14982 14785 inherits: 2.0.4 14983 14786 is-arguments: 1.2.0 14984 14787 is-generator-function: 1.0.10 14985 - is-typed-array: 1.1.13 14986 - which-typed-array: 1.1.16 14788 + is-typed-array: 1.1.15 14789 + which-typed-array: 1.1.18 14987 14790 14988 14791 utils-merge@1.0.1: {} 14989 14792 ··· 15042 14845 acorn: 8.14.0 15043 14846 browserslist: 4.24.3 15044 14847 chrome-trace-event: 1.0.4 15045 - enhanced-resolve: 5.17.1 15046 - es-module-lexer: 1.5.4 14848 + enhanced-resolve: 5.18.0 14849 + es-module-lexer: 1.6.0 15047 14850 eslint-scope: 5.1.1 15048 14851 events: 3.3.0 15049 14852 glob-to-regexp: 0.4.1 ··· 15081 14884 tr46: 1.0.1 15082 14885 webidl-conversions: 4.0.2 15083 14886 15084 - which-boxed-primitive@1.1.0: 15085 - dependencies: 15086 - is-bigint: 1.1.0 15087 - is-boolean-object: 1.2.1 15088 - is-number-object: 1.1.0 15089 - is-string: 1.1.0 15090 - is-symbol: 1.1.1 15091 - 15092 14887 which-boxed-primitive@1.1.1: 15093 14888 dependencies: 15094 14889 is-bigint: 1.1.0 ··· 15099 14894 15100 14895 which-builtin-type@1.2.1: 15101 14896 dependencies: 15102 - call-bound: 1.0.4 15103 - function.prototype.name: 1.1.6 14897 + call-bound: 1.0.3 14898 + function.prototype.name: 1.1.8 15104 14899 has-tostringtag: 1.0.2 15105 14900 is-async-function: 2.0.0 15106 14901 is-date-object: 1.1.0 15107 - is-finalizationregistry: 1.1.0 14902 + is-finalizationregistry: 1.1.1 15108 14903 is-generator-function: 1.0.10 15109 14904 is-regex: 1.2.1 15110 14905 is-weakref: 1.1.0 15111 14906 isarray: 2.0.5 15112 - which-boxed-primitive: 1.1.0 14907 + which-boxed-primitive: 1.1.1 15113 14908 which-collection: 1.0.2 15114 - which-typed-array: 1.1.16 14909 + which-typed-array: 1.1.18 15115 14910 15116 14911 which-collection@1.0.2: 15117 14912 dependencies: 15118 14913 is-map: 2.0.3 15119 14914 is-set: 2.0.3 15120 14915 is-weakmap: 2.0.2 15121 - is-weakset: 2.0.3 14916 + is-weakset: 2.0.4 15122 14917 15123 - which-typed-array@1.1.16: 14918 + which-typed-array@1.1.18: 15124 14919 dependencies: 15125 14920 available-typed-arrays: 1.0.7 15126 14921 call-bind: 1.0.8 14922 + call-bound: 1.0.3 15127 14923 for-each: 0.3.3 15128 - gopd: 1.2.0 15129 - has-tostringtag: 1.0.2 15130 - 15131 - which-typed-array@1.1.19: 15132 - dependencies: 15133 - available-typed-arrays: 1.0.7 15134 - call-bind: 1.0.8 15135 - call-bound: 1.0.4 15136 - for-each: 0.3.5 15137 - get-proto: 1.0.1 15138 14924 gopd: 1.2.0 15139 14925 has-tostringtag: 1.0.2 15140 14926 ··· 15213 14999 15214 15000 yocto-queue@0.1.0: {} 15215 15001 15216 - zod-validation-error@3.4.0(zod@3.24.1): 15002 + zod-validation-error@3.4.0(zod@3.23.8): 15217 15003 dependencies: 15218 - zod: 3.24.1 15004 + zod: 3.23.8 15219 15005 15220 - zod@3.24.1: {} 15006 + zod@3.23.8: {} 15221 15007 15222 - zustand@5.0.4(@types/react@19.0.14)(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)): 15008 + zustand@5.0.5(@types/react@19.0.14)(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)): 15223 15009 optionalDependencies: 15224 15010 '@types/react': 19.0.14 15225 15011 react: 19.0.0
+2 -2
pnpm-workspace.yaml
··· 1 1 packages: 2 - - 'apps/*' 3 - - 'packages/*' 2 + - "apps/*" 3 + - "packages/*"