From badc00c43be066b105a63c7001cdc31203df5ba6 Mon Sep 17 00:00:00 2001 From: Kenneth Date: Thu, 5 Mar 2026 02:01:30 +0000 Subject: [PATCH 1/4] feat(backend): add LLM-powered feed enhancement (#58) * feat(backend): add LLM-powered feed enhancement Add enhancement harness that fills feed item slots and generates synthetic items via OpenRouter. - LLM client with 30s timeout, reusable SDK instance - Prompt builder with mini calendar and week overview - arktype schema validation + JSON Schema for structured output - Pure merge function with clock injection - Defensive fallback in feed endpoint on enhancement failure - Skips LLM call when no unfilled slots or no API key Co-authored-by: Ona * refactor: move feed enhancement into UserSession Move enhancement logic from HTTP handler into UserSession so the transport layer has no knowledge of enhancement. UserSession.feed() handles refresh, enhancement, and caching in one place. - UserSession subscribes to engine updates and re-enhances eagerly - Enhancement cache tracks source identity to prevent stale results - UserSessionManager accepts config object with optional enhancer - HTTP handler simplified to just call session.feed() Co-authored-by: Ona * test: add schema sync tests for arktype/JSON Schema drift Validates reference payloads against both the arktype schema (parseEnhancementResult) and the OpenRouter JSON Schema structure. Catches field additions/removals or type changes in either schema. Co-authored-by: Ona * refactor: rename arktype schemas to match types Co-authored-by: Ona --------- Co-authored-by: Ona --- apps/aris-backend/.env.example | 5 + apps/aris-backend/package.json | 3 + .../src/enhancement/enhance-feed.ts | 51 ++++ .../src/enhancement/llm-client.ts | 71 ++++++ .../src/enhancement/merge.test.ts | 150 ++++++++++++ apps/aris-backend/src/enhancement/merge.ts | 41 ++++ .../src/enhancement/prompt-builder.test.ts | 167 ++++++++++++++ .../src/enhancement/prompt-builder.ts | 218 ++++++++++++++++++ .../src/enhancement/prompts/system.txt | 21 ++ .../src/enhancement/schema.test.ts | 176 ++++++++++++++ apps/aris-backend/src/enhancement/schema.ts | 89 +++++++ apps/aris-backend/src/feed/http.test.ts | 12 +- apps/aris-backend/src/feed/http.ts | 8 +- apps/aris-backend/src/server.ts | 45 +++- .../src/session/user-session-manager.test.ts | 30 +-- .../src/session/user-session-manager.ts | 14 +- .../src/session/user-session.test.ts | 144 +++++++++++- apps/aris-backend/src/session/user-session.ts | 84 ++++++- bun.lock | 5 + packages/aris-core/src/context.ts | 5 +- 20 files changed, 1296 insertions(+), 43 deletions(-) create mode 100644 apps/aris-backend/src/enhancement/enhance-feed.ts create mode 100644 apps/aris-backend/src/enhancement/llm-client.ts create mode 100644 apps/aris-backend/src/enhancement/merge.test.ts create mode 100644 apps/aris-backend/src/enhancement/merge.ts create mode 100644 apps/aris-backend/src/enhancement/prompt-builder.test.ts create mode 100644 apps/aris-backend/src/enhancement/prompt-builder.ts create mode 100644 apps/aris-backend/src/enhancement/prompts/system.txt create mode 100644 apps/aris-backend/src/enhancement/schema.test.ts create mode 100644 apps/aris-backend/src/enhancement/schema.ts diff --git a/apps/aris-backend/.env.example b/apps/aris-backend/.env.example index 85da9f8..416efc1 100644 --- a/apps/aris-backend/.env.example +++ b/apps/aris-backend/.env.example @@ -7,6 +7,11 @@ BETTER_AUTH_SECRET= # Base URL of the backend BETTER_AUTH_URL=http://localhost:3000 +# OpenRouter (LLM feed enhancement) +OPENROUTER_API_KEY= +# Optional: override the default model (default: openai/gpt-4.1-mini) +# OPENROUTER_MODEL=openai/gpt-4.1-mini + # Apple WeatherKit credentials WEATHERKIT_PRIVATE_KEY= WEATHERKIT_KEY_ID= diff --git a/apps/aris-backend/package.json b/apps/aris-backend/package.json index 129ef05..2d829dc 100644 --- a/apps/aris-backend/package.json +++ b/apps/aris-backend/package.json @@ -10,9 +10,12 @@ }, "dependencies": { "@aris/core": "workspace:*", + "@aris/source-caldav": "workspace:*", + "@aris/source-google-calendar": "workspace:*", "@aris/source-location": "workspace:*", "@aris/source-tfl": "workspace:*", "@aris/source-weatherkit": "workspace:*", + "@openrouter/sdk": "^0.9.11", "arktype": "^2.1.29", "better-auth": "^1", "hono": "^4", diff --git a/apps/aris-backend/src/enhancement/enhance-feed.ts b/apps/aris-backend/src/enhancement/enhance-feed.ts new file mode 100644 index 0000000..ae34da3 --- /dev/null +++ b/apps/aris-backend/src/enhancement/enhance-feed.ts @@ -0,0 +1,51 @@ +import type { FeedItem } from "@aris/core" + +import type { LlmClient } from "./llm-client.ts" + +import { mergeEnhancement } from "./merge.ts" +import { buildPrompt, hasUnfilledSlots } from "./prompt-builder.ts" + +/** Takes feed items, returns enhanced feed items. */ +export type FeedEnhancer = (items: FeedItem[]) => Promise + +export interface FeedEnhancerConfig { + client: LlmClient + /** Defaults to Date.now — override for testing */ + clock?: () => Date +} + +/** + * Creates a FeedEnhancer that uses the provided LlmClient. + * + * Skips the LLM call when no items have unfilled slots. + * Returns items unchanged on LLM failure. + */ +export function createFeedEnhancer(config: FeedEnhancerConfig): FeedEnhancer { + const { client } = config + const clock = config.clock ?? (() => new Date()) + + return async function enhanceFeed(items) { + if (!hasUnfilledSlots(items)) { + return items + } + + const currentTime = clock() + const { systemPrompt, userMessage } = buildPrompt(items, currentTime) + + let result + try { + result = await client.enhance({ systemPrompt, userMessage }) + } catch (err) { + console.error("[enhancement] LLM call failed:", err) + result = null + } + + if (!result) { + return items + } + + return mergeEnhancement(items, result, currentTime) + } +} + + diff --git a/apps/aris-backend/src/enhancement/llm-client.ts b/apps/aris-backend/src/enhancement/llm-client.ts new file mode 100644 index 0000000..1629ebd --- /dev/null +++ b/apps/aris-backend/src/enhancement/llm-client.ts @@ -0,0 +1,71 @@ +import { OpenRouter } from "@openrouter/sdk" + +import type { EnhancementResult } from "./schema.ts" + +import { enhancementResultJsonSchema, parseEnhancementResult } from "./schema.ts" + +const DEFAULT_MODEL = "openai/gpt-4.1-mini" +const DEFAULT_TIMEOUT_MS = 30_000 + +export interface LlmClientConfig { + apiKey: string + model?: string + timeoutMs?: number +} + +export interface LlmClientRequest { + systemPrompt: string + userMessage: string +} + +export interface LlmClient { + enhance(request: LlmClientRequest): Promise +} + +/** + * Creates a reusable LLM client backed by OpenRouter. + * The OpenRouter SDK instance is created once and reused across calls. + */ +export function createLlmClient(config: LlmClientConfig): LlmClient { + const client = new OpenRouter({ + apiKey: config.apiKey, + timeoutMs: config.timeoutMs ?? DEFAULT_TIMEOUT_MS, + }) + const model = config.model ?? DEFAULT_MODEL + + return { + async enhance(request) { + const response = await client.chat.send({ + chatGenerationParams: { + model, + messages: [ + { role: "system" as const, content: request.systemPrompt }, + { role: "user" as const, content: request.userMessage }, + ], + responseFormat: { + type: "json_schema" as const, + jsonSchema: { + name: "enhancement_result", + strict: true, + schema: enhancementResultJsonSchema, + }, + }, + stream: false, + }, + }) + + const content = response.choices?.[0]?.message?.content + if (typeof content !== "string") { + console.warn("[enhancement] LLM returned no content in response") + return null + } + + const result = parseEnhancementResult(content) + if (!result) { + console.warn("[enhancement] Failed to parse LLM response:", content) + } + + return result + }, + } +} diff --git a/apps/aris-backend/src/enhancement/merge.test.ts b/apps/aris-backend/src/enhancement/merge.test.ts new file mode 100644 index 0000000..6ba86a3 --- /dev/null +++ b/apps/aris-backend/src/enhancement/merge.test.ts @@ -0,0 +1,150 @@ +import type { FeedItem } from "@aris/core" + +import { describe, expect, test } from "bun:test" + +import type { EnhancementResult } from "./schema.ts" + +import { mergeEnhancement } from "./merge.ts" + +function makeItem(overrides: Partial = {}): FeedItem { + return { + id: "item-1", + type: "test", + timestamp: new Date("2025-01-01T00:00:00Z"), + data: { value: 42 }, + ...overrides, + } +} + +const now = new Date("2025-06-01T12:00:00Z") + +describe("mergeEnhancement", () => { + test("fills matching slots", () => { + const item = makeItem({ + slots: { + insight: { description: "Weather insight", content: null }, + }, + }) + const result: EnhancementResult = { + slotFills: { + "item-1": { insight: "Rain after 3pm" }, + }, + syntheticItems: [], + } + + const merged = mergeEnhancement([item], result, now) + + expect(merged).toHaveLength(1) + expect(merged[0]!.slots!.insight!.content).toBe("Rain after 3pm") + // Description preserved + expect(merged[0]!.slots!.insight!.description).toBe("Weather insight") + }) + + test("does not mutate original items", () => { + const item = makeItem({ + slots: { + insight: { description: "test", content: null }, + }, + }) + const result: EnhancementResult = { + slotFills: { "item-1": { insight: "filled" } }, + syntheticItems: [], + } + + mergeEnhancement([item], result, now) + + expect(item.slots!.insight!.content).toBeNull() + }) + + test("ignores fills for non-existent items", () => { + const item = makeItem() + const result: EnhancementResult = { + slotFills: { "non-existent": { insight: "text" } }, + syntheticItems: [], + } + + const merged = mergeEnhancement([item], result, now) + + expect(merged).toHaveLength(1) + expect(merged[0]!.id).toBe("item-1") + }) + + test("ignores fills for non-existent slots", () => { + const item = makeItem({ + slots: { + insight: { description: "test", content: null }, + }, + }) + const result: EnhancementResult = { + slotFills: { "item-1": { "non-existent-slot": "text" } }, + syntheticItems: [], + } + + const merged = mergeEnhancement([item], result, now) + + expect(merged[0]!.slots!.insight!.content).toBeNull() + }) + + test("skips null fills", () => { + const item = makeItem({ + slots: { + insight: { description: "test", content: null }, + }, + }) + const result: EnhancementResult = { + slotFills: { "item-1": { insight: null } }, + syntheticItems: [], + } + + const merged = mergeEnhancement([item], result, now) + + expect(merged[0]!.slots!.insight!.content).toBeNull() + }) + + test("passes through items without slots unchanged", () => { + const item = makeItem() + const result: EnhancementResult = { + slotFills: {}, + syntheticItems: [], + } + + const merged = mergeEnhancement([item], result, now) + + expect(merged[0]).toBe(item) + }) + + test("appends synthetic items with backfilled fields", () => { + const item = makeItem() + const result: EnhancementResult = { + slotFills: {}, + syntheticItems: [ + { + id: "briefing-morning", + type: "briefing", + text: "Light afternoon ahead.", + }, + ], + } + + const merged = mergeEnhancement([item], result, now) + + expect(merged).toHaveLength(2) + expect(merged[1]!.id).toBe("briefing-morning") + expect(merged[1]!.type).toBe("briefing") + expect(merged[1]!.timestamp).toEqual(now) + expect(merged[1]!.data).toEqual({ text: "Light afternoon ahead." }) + }) + + test("handles empty enhancement result", () => { + const item = makeItem() + const result: EnhancementResult = { + slotFills: {}, + syntheticItems: [], + } + + const merged = mergeEnhancement([item], result, now) + + expect(merged).toHaveLength(1) + expect(merged[0]).toBe(item) + }) +}) diff --git a/apps/aris-backend/src/enhancement/merge.ts b/apps/aris-backend/src/enhancement/merge.ts new file mode 100644 index 0000000..3a51c10 --- /dev/null +++ b/apps/aris-backend/src/enhancement/merge.ts @@ -0,0 +1,41 @@ +import type { FeedItem } from "@aris/core" + +import type { EnhancementResult } from "./schema.ts" + +/** + * Merges an EnhancementResult into feed items. + * + * - Writes slot content from slotFills into matching items + * - Appends synthetic items to the list + * - Returns a new array (no mutation) + * - Ignores fills for items/slots that don't exist + */ +export function mergeEnhancement(items: FeedItem[], result: EnhancementResult, currentTime: Date): FeedItem[] { + const merged = items.map((item) => { + const fills = result.slotFills[item.id] + if (!fills || !item.slots) return item + + const mergedSlots = { ...item.slots } + let changed = false + + for (const [slotName, content] of Object.entries(fills)) { + if (slotName in mergedSlots && content !== null) { + mergedSlots[slotName] = { ...mergedSlots[slotName]!, content } + changed = true + } + } + + return changed ? { ...item, slots: mergedSlots } : item + }) + + for (const synthetic of result.syntheticItems) { + merged.push({ + id: synthetic.id, + type: synthetic.type, + timestamp: currentTime, + data: { text: synthetic.text }, + }) + } + + return merged +} diff --git a/apps/aris-backend/src/enhancement/prompt-builder.test.ts b/apps/aris-backend/src/enhancement/prompt-builder.test.ts new file mode 100644 index 0000000..3a78422 --- /dev/null +++ b/apps/aris-backend/src/enhancement/prompt-builder.test.ts @@ -0,0 +1,167 @@ +import type { FeedItem } from "@aris/core" + +import { describe, expect, test } from "bun:test" + +import { buildPrompt, hasUnfilledSlots } from "./prompt-builder.ts" + +function makeItem(overrides: Partial = {}): FeedItem { + return { + id: "item-1", + type: "test", + timestamp: new Date("2025-01-01T00:00:00Z"), + data: { value: 42 }, + ...overrides, + } +} + +function parseUserMessage(userMessage: string): Record { + return JSON.parse(userMessage) +} + +describe("hasUnfilledSlots", () => { + test("returns false for items without slots", () => { + expect(hasUnfilledSlots([makeItem()])).toBe(false) + }) + + test("returns false for items with all slots filled", () => { + const item = makeItem({ + slots: { + insight: { description: "test", content: "filled" }, + }, + }) + expect(hasUnfilledSlots([item])).toBe(false) + }) + + test("returns true when at least one slot is unfilled", () => { + const item = makeItem({ + slots: { + insight: { description: "test", content: null }, + }, + }) + expect(hasUnfilledSlots([item])).toBe(true) + }) + + test("returns false for empty array", () => { + expect(hasUnfilledSlots([])).toBe(false) + }) +}) + +describe("buildPrompt", () => { + test("puts items with unfilled slots in items", () => { + const item = makeItem({ + slots: { + insight: { description: "Weather insight", content: null }, + filled: { description: "Already done", content: "done" }, + }, + }) + + const { userMessage } = buildPrompt([item], new Date("2025-06-01T12:00:00Z")) + const parsed = parseUserMessage(userMessage) + + expect(parsed.items).toHaveLength(1) + expect((parsed.items as Array>)[0]!.id).toBe("item-1") + expect((parsed.items as Array>)[0]!.slots).toEqual({ insight: "Weather insight" }) + expect((parsed.items as Array>)[0]!.type).toBeUndefined() + expect(parsed.context).toHaveLength(0) + }) + + test("puts slotless items in context", () => { + const withSlots = makeItem({ + id: "with-slots", + slots: { insight: { description: "test", content: null } }, + }) + const withoutSlots = makeItem({ id: "no-slots" }) + + const { userMessage } = buildPrompt([withSlots, withoutSlots], new Date("2025-06-01T12:00:00Z")) + const parsed = parseUserMessage(userMessage) + + expect(parsed.items).toHaveLength(1) + expect((parsed.items as Array>)[0]!.id).toBe("with-slots") + expect(parsed.context).toHaveLength(1) + expect((parsed.context as Array>)[0]!.id).toBe("no-slots") + }) + + test("includes time in ISO format", () => { + const { userMessage } = buildPrompt([], new Date("2025-06-01T12:00:00Z")) + const parsed = parseUserMessage(userMessage) + + expect(parsed.time).toBe("2025-06-01T12:00:00.000Z") + }) + + test("system prompt is non-empty", () => { + const { systemPrompt } = buildPrompt([], new Date()) + expect(systemPrompt.length).toBeGreaterThan(0) + }) + + test("includes schedule in system prompt", () => { + const calEvent = makeItem({ + id: "cal-1", + type: "caldav-event", + data: { + title: "Team standup", + startDate: "2025-06-01T10:00:00Z", + endDate: "2025-06-01T10:30:00Z", + isAllDay: false, + location: null, + }, + slots: { + insight: { description: "test", content: null }, + }, + }) + + const { systemPrompt } = buildPrompt([calEvent], new Date("2025-06-01T12:00:00Z")) + + expect(systemPrompt).toContain("Schedule:\n") + expect(systemPrompt).toContain("Team standup") + expect(systemPrompt).toContain("10:00") + }) + + test("includes location in schedule", () => { + const calEvent = makeItem({ + id: "cal-1", + type: "caldav-event", + data: { + title: "Therapy", + startDate: "2025-06-02T18:00:00Z", + endDate: "2025-06-02T19:00:00Z", + isAllDay: false, + location: "92 Tooley Street, London", + }, + }) + + const { systemPrompt } = buildPrompt([calEvent], new Date("2025-06-01T12:00:00Z")) + + expect(systemPrompt).toContain("Therapy @ 92 Tooley Street, London") + }) + + test("includes week calendar but omits schedule when no calendar items", () => { + const weatherItem = makeItem({ + type: "weather-current", + data: { temperature: 14 }, + }) + + const { systemPrompt } = buildPrompt([weatherItem], new Date("2025-06-01T12:00:00Z")) + + expect(systemPrompt).toContain("Week:") + expect(systemPrompt).not.toContain("Schedule:") + }) + + test("user message is pure JSON", () => { + const calEvent = makeItem({ + id: "cal-1", + type: "caldav-event", + data: { + title: "Budget Review", + startTime: "2025-06-01T14:00:00Z", + endTime: "2025-06-01T15:00:00Z", + isAllDay: false, + location: "https://meet.google.com/abc", + }, + }) + + const { userMessage } = buildPrompt([calEvent], new Date("2025-06-01T12:00:00Z")) + + expect(userMessage.startsWith("{")).toBe(true) + expect(() => JSON.parse(userMessage)).not.toThrow() + }) +}) diff --git a/apps/aris-backend/src/enhancement/prompt-builder.ts b/apps/aris-backend/src/enhancement/prompt-builder.ts new file mode 100644 index 0000000..1a7b3ae --- /dev/null +++ b/apps/aris-backend/src/enhancement/prompt-builder.ts @@ -0,0 +1,218 @@ +import type { FeedItem } from "@aris/core" + +import { CalDavFeedItemType } from "@aris/source-caldav" +import { CalendarFeedItemType } from "@aris/source-google-calendar" + +import systemPromptBase from "./prompts/system.txt" + +const CALENDAR_ITEM_TYPES = new Set([ + CalDavFeedItemType.Event, + CalendarFeedItemType.Event, + CalendarFeedItemType.AllDay, +]) + +/** + * Builds the system prompt and user message for the enhancement harness. + * + * Includes a pre-computed mini calendar so the LLM doesn't have to + * parse timestamps to understand the user's schedule. + */ +export function buildPrompt( + items: FeedItem[], + currentTime: Date, +): { systemPrompt: string; userMessage: string } { + const schedule = buildSchedule(items, currentTime) + + const enhanceItems: Array<{ + id: string + data: Record + slots: Record + }> = [] + const contextItems: Array<{ + id: string + type: string + data: Record + }> = [] + + for (const item of items) { + const hasUnfilledSlots = + item.slots && + Object.values(item.slots).some((slot) => slot.content === null) + + if (hasUnfilledSlots) { + enhanceItems.push({ + id: item.id, + data: item.data, + slots: Object.fromEntries( + Object.entries(item.slots!) + .filter(([, slot]) => slot.content === null) + .map(([name, slot]) => [name, slot.description]), + ), + }) + } else { + contextItems.push({ + id: item.id, + type: item.type, + data: item.data, + }) + } + } + + const userMessage = JSON.stringify({ + time: currentTime.toISOString(), + items: enhanceItems, + context: contextItems, + }) + + const weekCalendar = buildWeekCalendar(currentTime) + let systemPrompt = systemPromptBase + systemPrompt += `\n\nWeek:\n${weekCalendar}` + if (schedule) { + systemPrompt += `\n\nSchedule:\n${schedule}` + } + + return { systemPrompt, userMessage } +} + +/** + * Returns true if any item has at least one unfilled slot. + */ +export function hasUnfilledSlots(items: FeedItem[]): boolean { + return items.some( + (item) => + item.slots && + Object.values(item.slots).some((slot) => slot.content === null), + ) +} + +// -- Helpers -- + +interface CalendarEntry { + date: Date + title: string + location: string | null + isAllDay: boolean + startTime: Date + endTime: Date +} + +function toValidDate(value: unknown): Date | null { + if (value instanceof Date) return Number.isNaN(value.getTime()) ? null : value + if (typeof value === "string" || typeof value === "number") { + const date = new Date(value) + return Number.isNaN(date.getTime()) ? null : date + } + return null +} + +function extractCalendarEntry(item: FeedItem): CalendarEntry | null { + if (!CALENDAR_ITEM_TYPES.has(item.type)) return null + + const d = item.data + const title = d.title + if (typeof title !== "string" || !title) return null + + // CalDAV uses startDate/endDate, Google Calendar uses startTime/endTime + const startTime = toValidDate(d.startDate ?? d.startTime) + if (!startTime) return null + + const endTime = toValidDate(d.endDate ?? d.endTime) ?? startTime + + return { + date: startTime, + title, + location: typeof d.location === "string" ? d.location : null, + isAllDay: typeof d.isAllDay === "boolean" ? d.isAllDay : false, + startTime, + endTime, + } +} + +const DAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] as const +const MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] as const + +function pad2(n: number): string { + return n.toString().padStart(2, "0") +} + +function formatTime(date: Date): string { + return `${pad2(date.getUTCHours())}:${pad2(date.getUTCMinutes())}` +} + +function formatDayShort(date: Date): string { + return `${DAYS[date.getUTCDay()]}, ${date.getUTCDate()} ${MONTHS[date.getUTCMonth()]}` +} + +function formatDayLabel(date: Date, currentTime: Date): string { + const currentDay = Date.UTC(currentTime.getUTCFullYear(), currentTime.getUTCMonth(), currentTime.getUTCDate()) + const targetDay = Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()) + const diffDays = Math.round((targetDay - currentDay) / (1000 * 60 * 60 * 24)) + + const dayName = formatDayShort(date) + + if (diffDays === 0) return `Today: ${dayName}` + if (diffDays === 1) return `Tomorrow: ${dayName}` + return dayName +} + +/** + * Builds a week overview mapping day names to dates, + * so the LLM can easily match ISO timestamps to days. + */ +function buildWeekCalendar(currentTime: Date): string { + const lines: string[] = [] + for (let i = 0; i < 7; i++) { + const date = new Date(currentTime) + date.setUTCDate(date.getUTCDate() + i) + const label = i === 0 ? "Today" : i === 1 ? "Tomorrow" : "" + const dayStr = formatDayShort(date) + const iso = date.toISOString().slice(0, 10) + const prefix = label ? `${label}: ` : "" + lines.push(`${prefix}${dayStr} = ${iso}`) + } + return lines.join("\n") +} + +/** + * Builds a compact text calendar from all calendar-type items. + * Groups events by day relative to currentTime. + */ +function buildSchedule(items: FeedItem[], currentTime: Date): string { + const entries: CalendarEntry[] = [] + for (const item of items) { + const entry = extractCalendarEntry(item) + if (entry) entries.push(entry) + } + + if (entries.length === 0) return "" + + entries.sort((a, b) => a.startTime.getTime() - b.startTime.getTime()) + + const byDay = new Map() + for (const entry of entries) { + const key = entry.date.toISOString().slice(0, 10) + const group = byDay.get(key) + if (group) { + group.push(entry) + } else { + byDay.set(key, [entry]) + } + } + + const lines: string[] = [] + for (const [, dayEntries] of byDay) { + lines.push(formatDayLabel(dayEntries[0]!.startTime, currentTime)) + for (const entry of dayEntries) { + if (entry.isAllDay) { + const loc = entry.location ? ` @ ${entry.location}` : "" + lines.push(` all day ${entry.title}${loc}`) + } else { + const timeRange = `${formatTime(entry.startTime)}–${formatTime(entry.endTime)}` + const loc = entry.location ? ` @ ${entry.location}` : "" + lines.push(` ${timeRange} ${entry.title}${loc}`) + } + } + } + + return lines.join("\n") +} diff --git a/apps/aris-backend/src/enhancement/prompts/system.txt b/apps/aris-backend/src/enhancement/prompts/system.txt new file mode 100644 index 0000000..80eb816 --- /dev/null +++ b/apps/aris-backend/src/enhancement/prompts/system.txt @@ -0,0 +1,21 @@ +You are ARIS, a personal assistant. You enhance a user's feed by filling slots and optionally generating synthetic items. + +The user message is a JSON object with: +- "items": feed items with data and named slots to fill. Each slot has a description of what to write. +- "context": other feed items (no slots) for cross-source reasoning. +- "time": current ISO timestamp. + +Your output has two fields: +- "slotFills": map of item ID → slot name → short text (or null if you can't fill it or cannot provide answer). Each item ID appears ONCE with ALL its slots in a single object. +- "syntheticItems": array of { id, type, text } for new items (briefings, nudges, insights). Only when genuinely useful and when not redundant. + +Rules: +- DO NOT USE EMDASH OR DASH OR ATTEMPT TO USE SYMBOLS TO CIRCUMVENT THIS RULE. +- One sentence per slot. Two max if absolutely necessary. Be direct. +- Say "I" not "we." +- Hedge when inferring. Don't state guesses as facts. +- Use the week and schedule below to understand when events happen. Match weather data to the correct date. +- Look for connections across items. +- Don't pad — return null for slots you can't meaningfully fill, and skip synthetic items if there's nothing useful to add. +- Never fabricate information not present in the feed. If you don't have data to support a fill, return null. +- Read each slot's description carefully — it defines when to return null. \ No newline at end of file diff --git a/apps/aris-backend/src/enhancement/schema.test.ts b/apps/aris-backend/src/enhancement/schema.test.ts new file mode 100644 index 0000000..56f1cf8 --- /dev/null +++ b/apps/aris-backend/src/enhancement/schema.test.ts @@ -0,0 +1,176 @@ +import { describe, expect, test } from "bun:test" + +import { + emptyEnhancementResult, + enhancementResultJsonSchema, + parseEnhancementResult, +} from "./schema.ts" + +describe("parseEnhancementResult", () => { + test("parses valid result", () => { + const input = JSON.stringify({ + slotFills: { + "weather-1": { + insight: "Rain after 3pm", + "cross-source": null, + }, + }, + syntheticItems: [ + { + id: "briefing-morning", + type: "briefing", + text: "Light afternoon ahead.", + }, + ], + }) + + const result = parseEnhancementResult(input) + + expect(result).not.toBeNull() + expect(result!.slotFills["weather-1"]!.insight).toBe("Rain after 3pm") + expect(result!.slotFills["weather-1"]!["cross-source"]).toBeNull() + expect(result!.syntheticItems).toHaveLength(1) + expect(result!.syntheticItems[0]!.id).toBe("briefing-morning") + expect(result!.syntheticItems[0]!.text).toBe("Light afternoon ahead.") + }) + + test("parses empty result", () => { + const input = JSON.stringify({ + slotFills: {}, + syntheticItems: [], + }) + + const result = parseEnhancementResult(input) + + expect(result).not.toBeNull() + expect(Object.keys(result!.slotFills)).toHaveLength(0) + expect(result!.syntheticItems).toHaveLength(0) + }) + + test("returns null for invalid JSON", () => { + expect(parseEnhancementResult("not json")).toBeNull() + }) + + test("returns null for non-object", () => { + expect(parseEnhancementResult('"hello"')).toBeNull() + expect(parseEnhancementResult("42")).toBeNull() + expect(parseEnhancementResult("null")).toBeNull() + }) + + test("returns null when slotFills is missing", () => { + const input = JSON.stringify({ syntheticItems: [] }) + expect(parseEnhancementResult(input)).toBeNull() + }) + + test("returns null when syntheticItems is missing", () => { + const input = JSON.stringify({ slotFills: {} }) + expect(parseEnhancementResult(input)).toBeNull() + }) + + test("returns null when slotFills has non-string values", () => { + const input = JSON.stringify({ + slotFills: { "item-1": { slot: 42 } }, + syntheticItems: [], + }) + expect(parseEnhancementResult(input)).toBeNull() + }) + + test("returns null when syntheticItem is missing required fields", () => { + const input = JSON.stringify({ + slotFills: {}, + syntheticItems: [{ id: "x" }], + }) + expect(parseEnhancementResult(input)).toBeNull() + }) +}) + +describe("emptyEnhancementResult", () => { + test("returns empty slotFills and syntheticItems", () => { + const result = emptyEnhancementResult() + expect(result.slotFills).toEqual({}) + expect(result.syntheticItems).toEqual([]) + }) +}) + +describe("schema sync", () => { + const referencePayloads = [ + { + name: "full payload with null slot fill", + payload: { + slotFills: { + "weather-1": { insight: "Rain after 3pm", crossSource: null }, + "cal-2": { summary: "Busy morning" }, + }, + syntheticItems: [ + { id: "briefing-morning", type: "briefing", text: "Light day ahead." }, + { id: "nudge-umbrella", type: "nudge", text: "Bring an umbrella." }, + ], + }, + }, + { + name: "empty collections", + payload: { slotFills: {}, syntheticItems: [] }, + }, + { + name: "slot fills only", + payload: { + slotFills: { "item-1": { slot: "filled" } }, + syntheticItems: [], + }, + }, + { + name: "synthetic items only", + payload: { + slotFills: {}, + syntheticItems: [{ id: "insight-1", type: "insight", text: "Something." }], + }, + }, + ] + + for (const { name, payload } of referencePayloads) { + test(`arktype and JSON Schema agree on: ${name}`, () => { + // arktype accepts it + const parsed = parseEnhancementResult(JSON.stringify(payload)) + expect(parsed).not.toBeNull() + + // JSON Schema structure matches + const jsonSchema = enhancementResultJsonSchema + expect(Object.keys(jsonSchema.properties).sort()).toEqual( + Object.keys(payload).sort(), + ) + expect([...jsonSchema.required].sort()).toEqual(Object.keys(payload).sort()) + + // syntheticItems item schema has the right required fields + const itemSchema = jsonSchema.properties.syntheticItems.items + expect([...itemSchema.required].sort()).toEqual(["id", "text", "type"]) + + // Verify each synthetic item has exactly the fields the JSON Schema expects + for (const item of payload.syntheticItems) { + expect(Object.keys(item).sort()).toEqual([...itemSchema.required].sort()) + } + }) + } + + test("JSON Schema rejects what arktype rejects: missing required field", () => { + // Missing syntheticItems + expect(parseEnhancementResult(JSON.stringify({ slotFills: {} }))).toBeNull() + + // JSON Schema also requires it + expect(enhancementResultJsonSchema.required).toContain("syntheticItems") + }) + + test("JSON Schema rejects what arktype rejects: wrong slot fill value type", () => { + const bad = { slotFills: { "item-1": { slot: 42 } }, syntheticItems: [] } + + // arktype rejects it + expect(parseEnhancementResult(JSON.stringify(bad))).toBeNull() + + // JSON Schema only allows string or null for slot values + const slotValueTypes = + enhancementResultJsonSchema.properties.slotFills.additionalProperties + .additionalProperties.type + expect(slotValueTypes).toContain("string") + expect(slotValueTypes).toContain("null") + expect(slotValueTypes).not.toContain("number") + }) +}) diff --git a/apps/aris-backend/src/enhancement/schema.ts b/apps/aris-backend/src/enhancement/schema.ts new file mode 100644 index 0000000..e2c8d7f --- /dev/null +++ b/apps/aris-backend/src/enhancement/schema.ts @@ -0,0 +1,89 @@ +import { type } from "arktype" + +const SyntheticItem = type({ + id: "string", + type: "string", + text: "string", +}) + +const EnhancementResult = type({ + slotFills: "Record>", + syntheticItems: SyntheticItem.array(), +}) + +export type SyntheticItem = typeof SyntheticItem.infer +export type EnhancementResult = typeof EnhancementResult.infer + +/** + * JSON Schema passed to OpenRouter's structured output. + * OpenRouter doesn't support arktype, so this is maintained separately. + * + * ⚠️ Must stay in sync with EnhancementResult above. + * If you add/remove fields, update both schemas. + */ +export const enhancementResultJsonSchema = { + type: "object", + properties: { + slotFills: { + type: "object", + description: + "Map of feed item ID to an object of slot name to filled text content. Use null for slots that cannot be meaningfully filled.", + additionalProperties: { + type: "object", + additionalProperties: { + type: ["string", "null"], + }, + }, + }, + syntheticItems: { + type: "array", + description: + "New feed items to inject (briefings, nudges, cross-source insights). Keep these short and actionable.", + items: { + type: "object", + properties: { + id: { + type: "string", + description: "Unique ID, e.g. 'briefing-morning'", + }, + type: { + type: "string", + description: "One of: 'briefing', 'nudge', 'insight'", + }, + text: { + type: "string", + description: "Display text, 1-3 sentences", + }, + }, + required: ["id", "type", "text"], + additionalProperties: false, + }, + }, + }, + required: ["slotFills", "syntheticItems"], + additionalProperties: false, +} as const + +/** + * Parses a JSON string into an EnhancementResult. + * Returns null if the input is malformed. + */ +export function parseEnhancementResult(json: string): EnhancementResult | null { + let parsed: unknown + try { + parsed = JSON.parse(json) + } catch { + return null + } + + const result = EnhancementResult(parsed) + if (result instanceof type.errors) { + return null + } + + return result +} + +export function emptyEnhancementResult(): EnhancementResult { + return { slotFills: {}, syntheticItems: [] } +} diff --git a/apps/aris-backend/src/feed/http.test.ts b/apps/aris-backend/src/feed/http.test.ts index a87c522..a7a5343 100644 --- a/apps/aris-backend/src/feed/http.test.ts +++ b/apps/aris-backend/src/feed/http.test.ts @@ -47,7 +47,7 @@ function buildTestApp(sessionManager: UserSessionManager, userId?: string) { describe("GET /api/feed", () => { test("returns 401 without auth", async () => { - const manager = new UserSessionManager([]) + const manager = new UserSessionManager({ providers: [] }) const app = buildTestApp(manager) const res = await app.request("/api/feed") @@ -65,7 +65,9 @@ describe("GET /api/feed", () => { data: { value: 42 }, }, ] - const manager = new UserSessionManager([() => createStubSource("test", items)]) + const manager = new UserSessionManager({ + providers: [() => createStubSource("test", items)], + }) const app = buildTestApp(manager, "user-1") // Prime the cache @@ -95,7 +97,9 @@ describe("GET /api/feed", () => { data: { fresh: true }, }, ] - const manager = new UserSessionManager([() => createStubSource("test", items)]) + const manager = new UserSessionManager({ + providers: [() => createStubSource("test", items)], + }) const app = buildTestApp(manager, "user-1") // No prior refresh — lastFeed() returns null, handler should call refresh() @@ -125,7 +129,7 @@ describe("GET /api/feed", () => { throw new Error("connection timeout") }, } - const manager = new UserSessionManager([() => failingSource]) + const manager = new UserSessionManager({ providers: [() => failingSource] }) const app = buildTestApp(manager, "user-1") const res = await app.request("/api/feed") diff --git a/apps/aris-backend/src/feed/http.ts b/apps/aris-backend/src/feed/http.ts index e269663..185926e 100644 --- a/apps/aris-backend/src/feed/http.ts +++ b/apps/aris-backend/src/feed/http.ts @@ -5,7 +5,11 @@ import { createMiddleware } from "hono/factory" import type { AuthSessionMiddleware } from "../auth/session-middleware.ts" import type { UserSessionManager } from "../session/index.ts" -type Env = { Variables: { sessionManager: UserSessionManager } } +type Env = { + Variables: { + sessionManager: UserSessionManager + } +} interface FeedHttpHandlersDeps { sessionManager: UserSessionManager @@ -29,7 +33,7 @@ async function handleGetFeed(c: Context) { const sessionManager = c.get("sessionManager") const session = sessionManager.getOrCreate(user.id) - const feed = session.engine.lastFeed() ?? (await session.engine.refresh()) + const feed = await session.feed() return c.json({ items: feed.items, diff --git a/apps/aris-backend/src/server.ts b/apps/aris-backend/src/server.ts index a350cce..dbfc163 100644 --- a/apps/aris-backend/src/server.ts +++ b/apps/aris-backend/src/server.ts @@ -3,30 +3,51 @@ import { Hono } from "hono" import { registerAuthHandlers } from "./auth/http.ts" import { requireSession } from "./auth/session-middleware.ts" +import { createFeedEnhancer } from "./enhancement/enhance-feed.ts" +import { createLlmClient } from "./enhancement/llm-client.ts" import { registerFeedHttpHandlers } from "./feed/http.ts" import { registerLocationHttpHandlers } from "./location/http.ts" import { UserSessionManager } from "./session/index.ts" import { WeatherSourceProvider } from "./weather/provider.ts" function main() { - const sessionManager = new UserSessionManager([ - () => new LocationSource(), - new WeatherSourceProvider({ - credentials: { - privateKey: process.env.WEATHERKIT_PRIVATE_KEY!, - keyId: process.env.WEATHERKIT_KEY_ID!, - teamId: process.env.WEATHERKIT_TEAM_ID!, - serviceId: process.env.WEATHERKIT_SERVICE_ID!, - }, - }), - ]) + const openrouterApiKey = process.env.OPENROUTER_API_KEY + const feedEnhancer = openrouterApiKey + ? createFeedEnhancer({ + client: createLlmClient({ + apiKey: openrouterApiKey, + model: process.env.OPENROUTER_MODEL || undefined, + }), + }) + : null + if (!feedEnhancer) { + console.warn("[enhancement] OPENROUTER_API_KEY not set — feed enhancement disabled") + } + + const sessionManager = new UserSessionManager({ + providers: [ + () => new LocationSource(), + new WeatherSourceProvider({ + credentials: { + privateKey: process.env.WEATHERKIT_PRIVATE_KEY!, + keyId: process.env.WEATHERKIT_KEY_ID!, + teamId: process.env.WEATHERKIT_TEAM_ID!, + serviceId: process.env.WEATHERKIT_SERVICE_ID!, + }, + }), + ], + feedEnhancer, + }) const app = new Hono() app.get("/health", (c) => c.json({ status: "ok" })) registerAuthHandlers(app) - registerFeedHttpHandlers(app, { sessionManager, authSessionMiddleware: requireSession }) + registerFeedHttpHandlers(app, { + sessionManager, + authSessionMiddleware: requireSession, + }) registerLocationHttpHandlers(app, { sessionManager }) return app diff --git a/apps/aris-backend/src/session/user-session-manager.test.ts b/apps/aris-backend/src/session/user-session-manager.test.ts index 19a7ddb..3a751bf 100644 --- a/apps/aris-backend/src/session/user-session-manager.test.ts +++ b/apps/aris-backend/src/session/user-session-manager.test.ts @@ -12,7 +12,7 @@ const mockWeatherClient: WeatherKitClient = { describe("UserSessionManager", () => { test("getOrCreate creates session on first call", () => { - const manager = new UserSessionManager([() => new LocationSource()]) + const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) const session = manager.getOrCreate("user-1") @@ -21,7 +21,7 @@ describe("UserSessionManager", () => { }) test("getOrCreate returns same session for same user", () => { - const manager = new UserSessionManager([() => new LocationSource()]) + const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) const session1 = manager.getOrCreate("user-1") const session2 = manager.getOrCreate("user-1") @@ -30,7 +30,7 @@ describe("UserSessionManager", () => { }) test("getOrCreate returns different sessions for different users", () => { - const manager = new UserSessionManager([() => new LocationSource()]) + const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) const session1 = manager.getOrCreate("user-1") const session2 = manager.getOrCreate("user-2") @@ -39,7 +39,7 @@ describe("UserSessionManager", () => { }) test("each user gets independent source instances", () => { - const manager = new UserSessionManager([() => new LocationSource()]) + const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) const session1 = manager.getOrCreate("user-1") const session2 = manager.getOrCreate("user-2") @@ -51,7 +51,7 @@ describe("UserSessionManager", () => { }) test("remove destroys session and allows re-creation", () => { - const manager = new UserSessionManager([() => new LocationSource()]) + const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) const session1 = manager.getOrCreate("user-1") manager.remove("user-1") @@ -61,13 +61,13 @@ describe("UserSessionManager", () => { }) test("remove is no-op for unknown user", () => { - const manager = new UserSessionManager([() => new LocationSource()]) + const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) expect(() => manager.remove("unknown")).not.toThrow() }) test("accepts function providers", async () => { - const manager = new UserSessionManager([() => new LocationSource()]) + const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) const session = manager.getOrCreate("user-1") const result = await session.engine.refresh() @@ -77,7 +77,9 @@ describe("UserSessionManager", () => { test("accepts object providers", () => { const provider = new WeatherSourceProvider({ client: mockWeatherClient }) - const manager = new UserSessionManager([() => new LocationSource(), provider]) + const manager = new UserSessionManager({ + providers: [() => new LocationSource(), provider], + }) const session = manager.getOrCreate("user-1") @@ -86,7 +88,9 @@ describe("UserSessionManager", () => { test("accepts mixed providers", () => { const provider = new WeatherSourceProvider({ client: mockWeatherClient }) - const manager = new UserSessionManager([() => new LocationSource(), provider]) + const manager = new UserSessionManager({ + providers: [() => new LocationSource(), provider], + }) const session = manager.getOrCreate("user-1") @@ -95,7 +99,7 @@ describe("UserSessionManager", () => { }) test("refresh returns feed result through session", async () => { - const manager = new UserSessionManager([() => new LocationSource()]) + const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) const session = manager.getOrCreate("user-1") const result = await session.engine.refresh() @@ -107,7 +111,7 @@ describe("UserSessionManager", () => { }) test("location update via executeAction works", async () => { - const manager = new UserSessionManager([() => new LocationSource()]) + const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) const session = manager.getOrCreate("user-1") await session.engine.executeAction("aris.location", "update-location", { @@ -122,7 +126,7 @@ describe("UserSessionManager", () => { }) test("subscribe receives updates after location push", async () => { - const manager = new UserSessionManager([() => new LocationSource()]) + const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) const callback = mock() const session = manager.getOrCreate("user-1") @@ -142,7 +146,7 @@ describe("UserSessionManager", () => { }) test("remove stops reactive updates", async () => { - const manager = new UserSessionManager([() => new LocationSource()]) + const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) const callback = mock() const session = manager.getOrCreate("user-1") diff --git a/apps/aris-backend/src/session/user-session-manager.ts b/apps/aris-backend/src/session/user-session-manager.ts index 7c9251e..58dac4d 100644 --- a/apps/aris-backend/src/session/user-session-manager.ts +++ b/apps/aris-backend/src/session/user-session-manager.ts @@ -1,13 +1,21 @@ +import type { FeedEnhancer } from "../enhancement/enhance-feed.ts" import type { FeedSourceProviderInput } from "./feed-source-provider.ts" import { UserSession } from "./user-session.ts" +export interface UserSessionManagerConfig { + providers: FeedSourceProviderInput[] + feedEnhancer?: FeedEnhancer | null +} + export class UserSessionManager { private sessions = new Map() private readonly providers: FeedSourceProviderInput[] + private readonly feedEnhancer: FeedEnhancer | null - constructor(providers: FeedSourceProviderInput[]) { - this.providers = providers + constructor(config: UserSessionManagerConfig) { + this.providers = config.providers + this.feedEnhancer = config.feedEnhancer ?? null } getOrCreate(userId: string): UserSession { @@ -16,7 +24,7 @@ export class UserSessionManager { const sources = this.providers.map((p) => typeof p === "function" ? p(userId) : p.feedSourceForUser(userId), ) - session = new UserSession(sources) + session = new UserSession(sources, this.feedEnhancer) this.sessions.set(userId, session) } return session diff --git a/apps/aris-backend/src/session/user-session.test.ts b/apps/aris-backend/src/session/user-session.test.ts index 794221d..241ddb4 100644 --- a/apps/aris-backend/src/session/user-session.test.ts +++ b/apps/aris-backend/src/session/user-session.test.ts @@ -1,11 +1,11 @@ -import type { ActionDefinition, ContextEntry, FeedSource } from "@aris/core" +import type { ActionDefinition, ContextEntry, FeedItem, FeedSource } from "@aris/core" import { LocationSource } from "@aris/source-location" import { describe, expect, test } from "bun:test" import { UserSession } from "./user-session.ts" -function createStubSource(id: string): FeedSource { +function createStubSource(id: string, items: FeedItem[] = []): FeedSource { return { id, async listActions(): Promise> { @@ -18,7 +18,7 @@ function createStubSource(id: string): FeedSource { return null }, async fetchItems() { - return [] + return items }, } } @@ -70,3 +70,141 @@ describe("UserSession", () => { expect(location.lastLocation!.lat).toBe(51.5) }) }) + +describe("UserSession.feed", () => { + test("returns feed items without enhancer", async () => { + const items: FeedItem[] = [ + { + id: "item-1", + type: "test", + timestamp: new Date("2025-01-01T00:00:00.000Z"), + data: { value: 42 }, + }, + ] + const session = new UserSession([createStubSource("test", items)]) + + const result = await session.feed() + + expect(result.items).toHaveLength(1) + expect(result.items[0]!.id).toBe("item-1") + }) + + test("returns enhanced items when enhancer is provided", async () => { + const items: FeedItem[] = [ + { + id: "item-1", + type: "test", + timestamp: new Date("2025-01-01T00:00:00.000Z"), + data: { value: 42 }, + }, + ] + const enhancer = async (feedItems: FeedItem[]) => + feedItems.map((item) => ({ ...item, data: { ...item.data, enhanced: true } })) + + const session = new UserSession([createStubSource("test", items)], enhancer) + + const result = await session.feed() + + expect(result.items).toHaveLength(1) + expect(result.items[0]!.data.enhanced).toBe(true) + }) + + test("caches enhanced items on subsequent calls", async () => { + const items: FeedItem[] = [ + { + id: "item-1", + type: "test", + timestamp: new Date("2025-01-01T00:00:00.000Z"), + data: { value: 42 }, + }, + ] + let enhancerCallCount = 0 + const enhancer = async (feedItems: FeedItem[]) => { + enhancerCallCount++ + return feedItems.map((item) => ({ ...item, data: { ...item.data, enhanced: true } })) + } + + const session = new UserSession([createStubSource("test", items)], enhancer) + + const result1 = await session.feed() + expect(result1.items[0]!.data.enhanced).toBe(true) + expect(enhancerCallCount).toBe(1) + + const result2 = await session.feed() + expect(result2.items[0]!.data.enhanced).toBe(true) + expect(enhancerCallCount).toBe(1) + }) + + test("re-enhances after engine refresh with new data", async () => { + let currentItems: FeedItem[] = [ + { + id: "item-1", + type: "test", + timestamp: new Date("2025-01-01T00:00:00.000Z"), + data: { version: 1 }, + }, + ] + const source = createStubSource("test", currentItems) + // Make fetchItems dynamic so refresh returns new data + source.fetchItems = async () => currentItems + + const enhancedVersions: number[] = [] + const enhancer = async (feedItems: FeedItem[]) => { + const version = feedItems[0]!.data.version as number + enhancedVersions.push(version) + return feedItems.map((item) => ({ + ...item, + data: { ...item.data, enhanced: true }, + })) + } + + const session = new UserSession([source], enhancer) + + // First feed triggers refresh + enhancement + const result1 = await session.feed() + expect(result1.items[0]!.data.version).toBe(1) + expect(result1.items[0]!.data.enhanced).toBe(true) + + // Update source data and trigger engine refresh + currentItems = [ + { + id: "item-1", + type: "test", + timestamp: new Date("2025-01-02T00:00:00.000Z"), + data: { version: 2 }, + }, + ] + await session.engine.refresh() + + // Wait for subscriber-triggered background enhancement + await new Promise((resolve) => setTimeout(resolve, 10)) + + // feed() should now serve re-enhanced items with version 2 + const result2 = await session.feed() + expect(result2.items[0]!.data.version).toBe(2) + expect(result2.items[0]!.data.enhanced).toBe(true) + expect(enhancedVersions).toEqual([1, 2]) + }) + + test("falls back to unenhanced items when enhancer throws", async () => { + const items: FeedItem[] = [ + { + id: "item-1", + type: "test", + timestamp: new Date("2025-01-01T00:00:00.000Z"), + data: { value: 42 }, + }, + ] + const enhancer = async () => { + throw new Error("enhancement exploded") + } + + const session = new UserSession([createStubSource("test", items)], enhancer) + + const result = await session.feed() + + expect(result.items).toHaveLength(1) + expect(result.items[0]!.id).toBe("item-1") + expect(result.items[0]!.data.value).toBe(42) + }) +}) diff --git a/apps/aris-backend/src/session/user-session.ts b/apps/aris-backend/src/session/user-session.ts index 7e42a63..237506f 100644 --- a/apps/aris-backend/src/session/user-session.ts +++ b/apps/aris-backend/src/session/user-session.ts @@ -1,24 +1,104 @@ -import { FeedEngine, type FeedSource } from "@aris/core" +import { FeedEngine, type FeedItem, type FeedResult, type FeedSource } from "@aris/core" + +import type { FeedEnhancer } from "../enhancement/enhance-feed.ts" export class UserSession { readonly engine: FeedEngine private sources = new Map() + private readonly enhancer: FeedEnhancer | null + private enhancedItems: FeedItem[] | null = null + /** The FeedResult that enhancedItems was derived from. */ + private enhancedSource: FeedResult | null = null + private enhancingPromise: Promise | null = null + private unsubscribe: (() => void) | null = null - constructor(sources: FeedSource[]) { + constructor(sources: FeedSource[], enhancer?: FeedEnhancer | null) { this.engine = new FeedEngine() + this.enhancer = enhancer ?? null for (const source of sources) { this.sources.set(source.id, source) this.engine.register(source) } + + if (this.enhancer) { + this.unsubscribe = this.engine.subscribe((result) => { + this.invalidateEnhancement() + this.runEnhancement(result) + }) + } + this.engine.start() } + /** + * Returns the current feed, refreshing if the engine cache expired. + * Enhancement runs eagerly on engine updates; this method awaits + * any in-flight enhancement or triggers one if needed. + */ + async feed(): Promise { + const cached = this.engine.lastFeed() + const result = cached ?? (await this.engine.refresh()) + + if (!this.enhancer) { + return result + } + + // Wait for any in-flight background enhancement to finish + if (this.enhancingPromise) { + await this.enhancingPromise + } + + // Serve cached enhancement only if it matches the current engine result + if (this.enhancedItems && this.enhancedSource === result) { + return { ...result, items: this.enhancedItems } + } + + // Stale or missing — re-enhance + await this.runEnhancement(result) + + if (this.enhancedItems) { + return { ...result, items: this.enhancedItems } + } + + return result + } + getSource(sourceId: string): T | undefined { return this.sources.get(sourceId) as T | undefined } destroy(): void { + this.unsubscribe?.() + this.unsubscribe = null this.engine.stop() this.sources.clear() + this.invalidateEnhancement() + this.enhancingPromise = null + } + + private invalidateEnhancement(): void { + this.enhancedItems = null + this.enhancedSource = null + } + + private runEnhancement(result: FeedResult): Promise { + const promise = this.enhance(result) + this.enhancingPromise = promise + promise.finally(() => { + if (this.enhancingPromise === promise) { + this.enhancingPromise = null + } + }) + return promise + } + + private async enhance(result: FeedResult): Promise { + try { + this.enhancedItems = await this.enhancer!(result.items) + this.enhancedSource = result + } catch (err) { + console.error("[enhancement] Unexpected error:", err) + this.invalidateEnhancement() + } } } diff --git a/bun.lock b/bun.lock index 02c33a5..9054a04 100644 --- a/bun.lock +++ b/bun.lock @@ -18,9 +18,12 @@ "version": "0.0.0", "dependencies": { "@aris/core": "workspace:*", + "@aris/source-caldav": "workspace:*", + "@aris/source-google-calendar": "workspace:*", "@aris/source-location": "workspace:*", "@aris/source-tfl": "workspace:*", "@aris/source-weatherkit": "workspace:*", + "@openrouter/sdk": "^0.9.11", "arktype": "^2.1.29", "better-auth": "^1", "hono": "^4", @@ -543,6 +546,8 @@ "@oclif/screen": ["@oclif/screen@3.0.8", "", {}, "sha512-yx6KAqlt3TAHBduS2fMQtJDL2ufIHnDRArrJEOoTTuizxqmjLT+psGYOHpmMl3gvQpFJ11Hs76guUUktzAF9Bg=="], + "@openrouter/sdk": ["@openrouter/sdk@0.9.11", "", { "dependencies": { "zod": "^3.25.0 || ^4.0.0" } }, "sha512-BgFu6NcIJO4a9aVjr04y3kZ8pyM71j15I+bzfVAGEvxnj+KQNIkBYQGgwrG3D+aT1QpDKLki8btcQmpaxUas6A=="], + "@oxfmt/darwin-arm64": ["@oxfmt/darwin-arm64@0.24.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-aYXuGf/yq8nsyEcHindGhiz9I+GEqLkVq8CfPbd+6VE259CpPEH+CaGHEO1j6vIOmNr8KHRq+IAjeRO2uJpb8A=="], "@oxfmt/darwin-x64": ["@oxfmt/darwin-x64@0.24.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-vs3b8Bs53hbiNvcNeBilzE/+IhDTWKjSBB3v/ztr664nZk65j0xr+5IHMBNz3CFppmX7o/aBta2PxY+t+4KoPg=="], diff --git a/packages/aris-core/src/context.ts b/packages/aris-core/src/context.ts index 5d1ba22..958a362 100644 --- a/packages/aris-core/src/context.ts +++ b/packages/aris-core/src/context.ts @@ -61,10 +61,7 @@ function partsEqual(a: unknown, b: unknown): boolean { const bKeys = Object.keys(b) if (aKeys.length !== bKeys.length) return false return aKeys.every((key) => - partsEqual( - (a as Record)[key], - (b as Record)[key], - ), + partsEqual((a as Record)[key], (b as Record)[key]), ) } return false From 0a08706cf999f7dae5764d09e39c7ebdadae60cf Mon Sep 17 00:00:00 2001 From: Kenneth Date: Sun, 8 Mar 2026 02:54:56 +0000 Subject: [PATCH 2/4] feat: init waitlist website (#60) * feat: init waitlist website Co-authored-by: Ona * feat[waitlist]: tweak copy Co-authored-by: Ona * fix[waitlist]: reminify lottie json Co-authored-by: Ona * feat[waitlist]: seo and preview stuff * chore[waitlist]: clean up * build[waitlist]: add fly.io config * feat(waitlist): add time-of-day greeting and duplicate email message Co-authored-by: Ona * feat(waitlist): handle duplicate emails and send confirmation Co-authored-by: Ona * chore: remove stray console.log Co-authored-by: Ona * feat(waitlist): add privacy policy page Co-authored-by: Ona * feat(waitlist): add footer with bottom progressive blur Co-authored-by: Ona * feat(waitlist): add trouble message and improve error handling Co-authored-by: Ona * fix(waitlist): fix timeOfDay logic, typo, and add audienceId Co-authored-by: Ona * feat(waitlist): add .ico fallback favicon and style error page Co-authored-by: Ona * chore(waitlist): add robots.txt, sitemap, clean dockerignore Co-authored-by: Ona * feat(waitlist): add footer to privacy policy page Co-authored-by: Ona * fix(waitlist): use segments instead of audienceId Co-authored-by: Ona * fix[waitlist]: remove segmentId from dup check Co-authored-by: Ona * fix(waitlist): reset logo animation on mouse leave Co-authored-by: Ona --------- Co-authored-by: Ona --- apps/waitlist-website/.dockerignore | 5 + apps/waitlist-website/.gitignore | 7 + apps/waitlist-website/Dockerfile | 22 + apps/waitlist-website/README.md | 87 ++ apps/waitlist-website/app/app.css | 51 + apps/waitlist-website/app/chat/chat-box.tsx | 117 +++ apps/waitlist-website/app/chat/message.ts | 66 ++ .../app/chat/use-fake-streaming.ts | 23 + .../app/components/animated-logo.tsx | 168 +++ .../app/components/progressive-blur.tsx | 35 + .../app/hooks/use-color-scheme.ts | 27 + .../app/lottie/clicked-dark.json | 1 + .../app/lottie/clicked-light.json | 1 + .../app/lottie/loading-dark.json | 1 + .../app/lottie/loading-light.json | 1 + .../app/lottie/start-loading-dark.json | 1 + .../app/lottie/start-loading-light.json | 1 + apps/waitlist-website/app/root.tsx | 88 ++ apps/waitlist-website/app/routes.ts | 6 + apps/waitlist-website/app/routes/home.tsx | 393 +++++++ .../app/routes/privacy-policy.tsx | 246 +++++ apps/waitlist-website/fly.toml | 22 + apps/waitlist-website/package.json | 37 + apps/waitlist-website/public/favicon-dark.svg | 1 + .../waitlist-website/public/favicon-light.svg | 1 + apps/waitlist-website/public/favicon.ico | Bin 0 -> 15086 bytes apps/waitlist-website/public/robots.txt | 4 + apps/waitlist-website/public/sitemap.xml | 9 + .../public/social-media-preview.png | Bin 0 -> 69432 bytes apps/waitlist-website/react-router.config.ts | 7 + apps/waitlist-website/tsconfig.json | 22 + apps/waitlist-website/vite.config.ts | 11 + bun.lock | 969 +++++++++++++++++- 33 files changed, 2403 insertions(+), 27 deletions(-) create mode 100644 apps/waitlist-website/.dockerignore create mode 100644 apps/waitlist-website/.gitignore create mode 100644 apps/waitlist-website/Dockerfile create mode 100644 apps/waitlist-website/README.md create mode 100644 apps/waitlist-website/app/app.css create mode 100644 apps/waitlist-website/app/chat/chat-box.tsx create mode 100644 apps/waitlist-website/app/chat/message.ts create mode 100644 apps/waitlist-website/app/chat/use-fake-streaming.ts create mode 100644 apps/waitlist-website/app/components/animated-logo.tsx create mode 100644 apps/waitlist-website/app/components/progressive-blur.tsx create mode 100644 apps/waitlist-website/app/hooks/use-color-scheme.ts create mode 100644 apps/waitlist-website/app/lottie/clicked-dark.json create mode 100644 apps/waitlist-website/app/lottie/clicked-light.json create mode 100644 apps/waitlist-website/app/lottie/loading-dark.json create mode 100644 apps/waitlist-website/app/lottie/loading-light.json create mode 100644 apps/waitlist-website/app/lottie/start-loading-dark.json create mode 100644 apps/waitlist-website/app/lottie/start-loading-light.json create mode 100644 apps/waitlist-website/app/root.tsx create mode 100644 apps/waitlist-website/app/routes.ts create mode 100644 apps/waitlist-website/app/routes/home.tsx create mode 100644 apps/waitlist-website/app/routes/privacy-policy.tsx create mode 100644 apps/waitlist-website/fly.toml create mode 100644 apps/waitlist-website/package.json create mode 100644 apps/waitlist-website/public/favicon-dark.svg create mode 100644 apps/waitlist-website/public/favicon-light.svg create mode 100644 apps/waitlist-website/public/favicon.ico create mode 100644 apps/waitlist-website/public/robots.txt create mode 100644 apps/waitlist-website/public/sitemap.xml create mode 100644 apps/waitlist-website/public/social-media-preview.png create mode 100644 apps/waitlist-website/react-router.config.ts create mode 100644 apps/waitlist-website/tsconfig.json create mode 100644 apps/waitlist-website/vite.config.ts diff --git a/apps/waitlist-website/.dockerignore b/apps/waitlist-website/.dockerignore new file mode 100644 index 0000000..60ff7ae --- /dev/null +++ b/apps/waitlist-website/.dockerignore @@ -0,0 +1,5 @@ +.react-router +build +node_modules +.env +README.md \ No newline at end of file diff --git a/apps/waitlist-website/.gitignore b/apps/waitlist-website/.gitignore new file mode 100644 index 0000000..039ee62 --- /dev/null +++ b/apps/waitlist-website/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +.env +/node_modules/ + +# React Router +/.react-router/ +/build/ diff --git a/apps/waitlist-website/Dockerfile b/apps/waitlist-website/Dockerfile new file mode 100644 index 0000000..6b10d00 --- /dev/null +++ b/apps/waitlist-website/Dockerfile @@ -0,0 +1,22 @@ +FROM oven/bun:1 AS development-dependencies-env +COPY . /app +WORKDIR /app +RUN bun install + +FROM oven/bun:1 AS production-dependencies-env +COPY ./package.json /app/ +WORKDIR /app +RUN bun install --production + +FROM oven/bun:1 AS build-env +COPY . /app/ +COPY --from=development-dependencies-env /app/node_modules /app/node_modules +WORKDIR /app +RUN bun run build + +FROM node:20-alpine +COPY ./package.json /app/ +COPY --from=production-dependencies-env /app/node_modules /app/node_modules +COPY --from=build-env /app/build /app/build +WORKDIR /app +CMD ["npm", "run", "start"] \ No newline at end of file diff --git a/apps/waitlist-website/README.md b/apps/waitlist-website/README.md new file mode 100644 index 0000000..5c4780a --- /dev/null +++ b/apps/waitlist-website/README.md @@ -0,0 +1,87 @@ +# Welcome to React Router! + +A modern, production-ready template for building full-stack React applications using React Router. + +[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/remix-run/react-router-templates/tree/main/default) + +## Features + +- 🚀 Server-side rendering +- ⚡️ Hot Module Replacement (HMR) +- 📦 Asset bundling and optimization +- 🔄 Data loading and mutations +- 🔒 TypeScript by default +- 🎉 TailwindCSS for styling +- 📖 [React Router docs](https://reactrouter.com/) + +## Getting Started + +### Installation + +Install the dependencies: + +```bash +npm install +``` + +### Development + +Start the development server with HMR: + +```bash +npm run dev +``` + +Your application will be available at `http://localhost:5173`. + +## Building for Production + +Create a production build: + +```bash +npm run build +``` + +## Deployment + +### Docker Deployment + +To build and run using Docker: + +```bash +docker build -t my-app . + +# Run the container +docker run -p 3000:3000 my-app +``` + +The containerized application can be deployed to any platform that supports Docker, including: + +- AWS ECS +- Google Cloud Run +- Azure Container Apps +- Digital Ocean App Platform +- Fly.io +- Railway + +### DIY Deployment + +If you're familiar with deploying Node applications, the built-in app server is production-ready. + +Make sure to deploy the output of `npm run build` + +``` +├── package.json +├── package-lock.json (or pnpm-lock.yaml, or bun.lockb) +├── build/ +│ ├── client/ # Static assets +│ └── server/ # Server-side code +``` + +## Styling + +This template comes with [Tailwind CSS](https://tailwindcss.com/) already configured for a simple default starting experience. You can use whatever CSS framework you prefer. + +--- + +Built with ❤️ using React Router. diff --git a/apps/waitlist-website/app/app.css b/apps/waitlist-website/app/app.css new file mode 100644 index 0000000..f1293d3 --- /dev/null +++ b/apps/waitlist-website/app/app.css @@ -0,0 +1,51 @@ +@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap"); +@import "tailwindcss"; + +@source "../node_modules/streamdown/dist/*.js"; + +@theme { + --font-sans: + "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", + "Segoe UI Symbol", "Noto Color Emoji"; + --font-serif: "Source Serif 4", ui-serif, serif; +} + +:root, +html, +body { + @apply w-full h-full; +} + +@keyframes popover-in { + from { + opacity: 0; + transform: scale(0.95) translateY(4px); + } + to { + opacity: 1; + transform: scale(1) translateY(0); + } +} + +@keyframes popover-out { + from { + opacity: 1; + transform: scale(1) translateY(0); + } + to { + opacity: 0; + transform: scale(0.95) translateY(4px); + } +} + +html, +body { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + @apply bg-stone-50 dark:bg-stone-900 text-stone-900 dark:text-stone-200 selection:bg-teal-600 dark:selection:bg-teal-500 selection:text-stone-50 dark:selection:text-stone-900; + + @media (prefers-color-scheme: dark) { + color-scheme: dark; + } +} diff --git a/apps/waitlist-website/app/chat/chat-box.tsx b/apps/waitlist-website/app/chat/chat-box.tsx new file mode 100644 index 0000000..51d17c5 --- /dev/null +++ b/apps/waitlist-website/app/chat/chat-box.tsx @@ -0,0 +1,117 @@ +import clsx from "clsx" +import { ArrowUpIcon, FileIcon, ImageIcon, PlusIcon, XIcon } from "lucide-react" +import { motion, useAnimate } from "motion/react" +import { useEffect, useRef, useState } from "react" +import { Button, Menu, MenuItem, MenuTrigger, Popover } from "react-aria-components" + +export function ChatBox({ + className, + validate, + onSubmit, +}: { + className?: string + validate?: (value: string) => boolean + onSubmit: (email: string) => void + disabled?: boolean +}) { + const [scope, animate] = useAnimate() + const [shouldShowInvalid, setShouldShowInvalid] = useState(false) + const clearInvalidStateTimeout = useRef | null>(null) + + useEffect( + () => () => { + if (clearInvalidStateTimeout.current) { + clearTimeout(clearInvalidStateTimeout.current) + } + }, + [], + ) + + function showInvalidState() { + animate(scope.current, { x: [0, -6, 6, -4, 4, -2, 2, 0] }, { duration: 0.4, ease: "easeOut" }) + if (clearInvalidStateTimeout.current) { + clearTimeout(clearInvalidStateTimeout.current) + } + setShouldShowInvalid(true) + clearInvalidStateTimeout.current = setTimeout(() => { + setShouldShowInvalid(false) + }, 500) + } + + const onFormSubmit = (e: React.FormEvent) => { + e.preventDefault() + const formData = new FormData(e.currentTarget) + const email = formData.get("liame") + if (typeof email === "string") { + const trimmed = email.trim() + if (trimmed.length === 0) { + showInvalidState() + } else if (validate && !validate(trimmed)) { + showInvalidState() + } else { + onSubmit(trimmed) + e.currentTarget.reset() + } + } + } + + return ( + + +
+ + + + + + + +
+
+ ) +} + +function AttachmentMenu() { + return ( + + {}} + > + + Photos + + {}} + > + + Files + + + ) +} diff --git a/apps/waitlist-website/app/chat/message.ts b/apps/waitlist-website/app/chat/message.ts new file mode 100644 index 0000000..2327c8b --- /dev/null +++ b/apps/waitlist-website/app/chat/message.ts @@ -0,0 +1,66 @@ +export interface UserMessage { + role: "user" + message: string + bubbleLayoutId?: string +} + +export interface SystemMessage { + role: "system" + message: string +} + +export type Message = UserMessage | SystemMessage + +function timeOfDay() { + const hours = new Date().getHours() + if (hours >= 5 && hours < 12) { + return "morning" + } else if (hours >= 12 && hours < 18) { + return "afternoon" + } else if (hours >= 18 && hours < 22) { + return "evening" + } + return "night" +} + +export const INITIAL_MESSAGES: Message[] = [ + { + role: "user", + message: "Who are you?", + }, + { + role: "system", + message: `Hey! I'm **Aelis** — your personal assistant that brings you the right thing, at the right time, in the right place. + +- Jubilee line down? I've already found you an alternative route. +- Dinner reservation at 8? I'll have the restaurant, directions, and the menu ready before you head out. + +I learn your routines, anticipate what's next, and surface what matters before you even think to look for it. + +I'm not ready yet — [@kennethnym](https://x.com/kennethnym) is still building me. **Drop your email below** and I'll let you know when I'm available.`, + }, +] + +export function waitListJoinedMessage(email: string): SystemMessage { + return { + role: "system", + message: `Thanks for joining the waitlist! I've sent you a confirmation email. +I'll send an email to **${email}** when I'm ready. + +Have a good ${timeOfDay()}!`, + } +} + +export function duplicateEmailMessage(): SystemMessage { + return { + role: "system", + message: `I appreciate your excitement! You are already on the waitlist. When I am ready, I will reach out again. Have a good ${timeOfDay()} :)`, + } +} + +export function troubleMessage(): SystemMessage { + return { + role: "system", + message: `I apologize, but I am having trouble adding you to the waitlist. Could you refresh the page and try again please in a moment?`, + } +} diff --git a/apps/waitlist-website/app/chat/use-fake-streaming.ts b/apps/waitlist-website/app/chat/use-fake-streaming.ts new file mode 100644 index 0000000..267b14a --- /dev/null +++ b/apps/waitlist-website/app/chat/use-fake-streaming.ts @@ -0,0 +1,23 @@ +import { useEffect, useMemo, useState } from "react" + +export function useFakeStreaming(fullContent: string) { + const [currentContent, setCurrentContent] = useState("") + const [isStreaming, setIsStreaming] = useState(true) + + useEffect(() => { + const words = fullContent.split(" ") + + let i = 0 + const id = setInterval(() => { + if (i > words.length) { + setIsStreaming(false) + clearInterval(id) + } else { + setCurrentContent(words.slice(0, i).join(" ") + " ") + i++ + } + }, 20) + }, [fullContent]) + + return useMemo(() => ({ currentContent, isStreaming }), [currentContent, isStreaming]) +} diff --git a/apps/waitlist-website/app/components/animated-logo.tsx b/apps/waitlist-website/app/components/animated-logo.tsx new file mode 100644 index 0000000..bfda69e --- /dev/null +++ b/apps/waitlist-website/app/components/animated-logo.tsx @@ -0,0 +1,168 @@ +import Lottie, { type LottieRef } from "lottie-react" +import { useEffect, useRef, useState } from "react" + +import { useColorScheme } from "~/hooks/use-color-scheme" +import clickedAnimationDark from "~/lottie/clicked-dark.json" +import clickedAnimationLight from "~/lottie/clicked-light.json" +import loadingAnimationDark from "~/lottie/loading-dark.json" +import loadingAnimationLight from "~/lottie/loading-light.json" +import startLoadingAnimationDark from "~/lottie/start-loading-dark.json" +import startLoadingAnimationLight from "~/lottie/start-loading-light.json" + +export const AnimatedLogoState = { + Idle: "idle", + Loading: "loading", +} as const +export type AnimatedLogoState = (typeof AnimatedLogoState)[keyof typeof AnimatedLogoState] + +interface AnimatedLogoProps { + state: AnimatedLogoState + className?: string +} + +interface Animation { + loop: boolean + reverse: boolean + sticky: boolean + data: unknown +} + +export function AnimatedLogo({ state, className }: AnimatedLogoProps) { + const colorScheme = useColorScheme() + const [animationQueue, setAnimationQueue] = useState([]) + const lottieRef: LottieRef = useRef(null) + + let currentAnimation: Animation + let isIdle = false + if (animationQueue.length === 0) { + isIdle = true + currentAnimation = { + loop: false, + reverse: false, + sticky: false, + data: colorScheme === "dark" ? startLoadingAnimationDark : startLoadingAnimationLight, + } + } else { + isIdle = false + currentAnimation = animationQueue[0] + } + + useEffect(() => { + if (state === AnimatedLogoState.Loading) { + setAnimationQueue((queue) => [ + ...queue, + { + loop: false, + reverse: false, + sticky: false, + data: colorScheme === "dark" ? startLoadingAnimationDark : startLoadingAnimationLight, + }, + { + loop: true, + reverse: false, + sticky: false, + data: colorScheme === "dark" ? loadingAnimationDark : loadingAnimationLight, + }, + ]) + } else if (state === AnimatedLogoState.Idle) { + setAnimationQueue((queue) => { + const last = queue.at(-1) + if (!last) { + return [] + } + if ( + last.loop && + (last.data === loadingAnimationDark || last.data === loadingAnimationLight) + ) { + return [ + ...queue, + { + loop: false, + sticky: false, + reverse: false, + data: colorScheme === "dark" ? loadingAnimationDark : loadingAnimationLight, + }, + { + loop: false, + sticky: false, + reverse: true, + data: colorScheme === "dark" ? startLoadingAnimationDark : startLoadingAnimationLight, + }, + ] + } + return [] + }) + } + }, [state]) + + useEffect(() => { + if (!lottieRef.current) { + return + } + if (currentAnimation.reverse) { + const frames = lottieRef.current.getDuration(true) + if (frames) { + lottieRef.current.setDirection(-1) + lottieRef.current.goToAndPlay(frames - 1, true) + } + } else if (!isIdle) { + lottieRef.current.setDirection(1) + lottieRef.current.play() + } + }, [currentAnimation]) + + function onComplete() { + if (animationQueue.length > 0 && !animationQueue[0].sticky) { + setAnimationQueue((queue) => queue.slice(1)) + } + } + + function onLoopComplete() { + const current = animationQueue[0] + const next = animationQueue[1] + if (current && next && current.data === next.data && current.loop && !next.loop) { + setAnimationQueue((queue) => queue.slice(2)) + } + } + + function onMouseDown() { + if (state === AnimatedLogoState.Idle) { + setAnimationQueue([ + { + loop: false, + sticky: true, + reverse: false, + data: colorScheme === "dark" ? clickedAnimationDark : clickedAnimationLight, + }, + ]) + } + } + + function onMouseUp() { + if (state === AnimatedLogoState.Idle) { + setAnimationQueue((queue) => [ + { + loop: false, + sticky: false, + reverse: true, + data: colorScheme === "dark" ? clickedAnimationDark : clickedAnimationLight, + }, + ]) + } + } + + return ( + + ) +} diff --git a/apps/waitlist-website/app/components/progressive-blur.tsx b/apps/waitlist-website/app/components/progressive-blur.tsx new file mode 100644 index 0000000..64db1ee --- /dev/null +++ b/apps/waitlist-website/app/components/progressive-blur.tsx @@ -0,0 +1,35 @@ +export function ProgressiveBlur({ + className, + direction = "down", +}: { + className?: string + direction?: "down" | "up" +}) { + if (direction === "up") { + return ( +
+
+
+
+
+
+
+
+
+
+ ) + } + + return ( +
+
+
+
+
+
+
+
+
+
+ ) +} diff --git a/apps/waitlist-website/app/hooks/use-color-scheme.ts b/apps/waitlist-website/app/hooks/use-color-scheme.ts new file mode 100644 index 0000000..2fd5a78 --- /dev/null +++ b/apps/waitlist-website/app/hooks/use-color-scheme.ts @@ -0,0 +1,27 @@ +import { useEffect, useState } from "react" + +export const ColorScheme = { + Light: "light", + Dark: "dark", +} as const +export type ColorScheme = (typeof ColorScheme)[keyof typeof ColorScheme] + +export function useColorScheme(): ColorScheme { + const [scheme, setScheme] = useState(() => { + if (typeof window === "undefined") return ColorScheme.Light + return window.matchMedia("(prefers-color-scheme: dark)").matches + ? ColorScheme.Dark + : ColorScheme.Light + }) + + useEffect(() => { + const mql = window.matchMedia("(prefers-color-scheme: dark)") + const handler = (e: MediaQueryListEvent) => { + setScheme(e.matches ? ColorScheme.Dark : ColorScheme.Light) + } + mql.addEventListener("change", handler) + return () => mql.removeEventListener("change", handler) + }, []) + + return scheme +} diff --git a/apps/waitlist-website/app/lottie/clicked-dark.json b/apps/waitlist-website/app/lottie/clicked-dark.json new file mode 100644 index 0000000..0f9b140 --- /dev/null +++ b/apps/waitlist-website/app/lottie/clicked-dark.json @@ -0,0 +1 @@ +{"fr":60,"h":400,"ip":0,"layers":[{"ind":3,"ty":4,"parent":2,"ks":{},"ip":0,"op":7,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,53]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,122]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[160,53]},"s":{"a":0,"k":[320,106]}},{"ty":"st","c":{"a":0,"k":[0.906,0.898,0.894]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":2,"ty":3,"parent":1,"ks":{"a":{"a":0,"k":[160,53]},"p":{"a":0,"k":[200.5,200]},"r":{"a":1,"k":[{"t":0,"s":[-30],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":6,"s":[-10],"h":1}]}},"ip":0,"op":7,"st":0},{"ind":5,"ty":4,"parent":4,"ks":{},"ip":0,"op":7,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,53]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,122]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[160,53]},"s":{"a":0,"k":[320,106]}},{"ty":"st","c":{"a":0,"k":[0.906,0.898,0.894]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":4,"ty":3,"parent":1,"ks":{"a":{"a":0,"k":[160,53]},"p":{"a":0,"k":[200.594,200.176]},"r":{"a":1,"k":[{"t":0,"s":[30],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":6,"s":[10],"h":1}]}},"ip":0,"op":7,"st":0},{"ind":1,"ty":3,"parent":0,"ks":{},"ip":0,"op":7,"st":0},{"ind":0,"ty":3,"ks":{},"ip":0,"op":7,"st":0}],"meta":{"g":"https://jitter.video"},"op":6,"v":"5.7.4","w":400} \ No newline at end of file diff --git a/apps/waitlist-website/app/lottie/clicked-light.json b/apps/waitlist-website/app/lottie/clicked-light.json new file mode 100644 index 0000000..08b378d --- /dev/null +++ b/apps/waitlist-website/app/lottie/clicked-light.json @@ -0,0 +1 @@ +{"fr":60,"h":400,"ip":0,"layers":[{"ind":3,"ty":4,"parent":2,"ks":{},"ip":0,"op":7,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,53]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,122]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[160,53]},"s":{"a":0,"k":[320,106]}},{"ty":"st","c":{"a":0,"k":[0.11,0.098,0.09]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":2,"ty":3,"parent":1,"ks":{"a":{"a":0,"k":[160,53]},"p":{"a":0,"k":[200.5,200]},"r":{"a":1,"k":[{"t":0,"s":[-30],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":6,"s":[-10],"h":1}]}},"ip":0,"op":7,"st":0},{"ind":5,"ty":4,"parent":4,"ks":{},"ip":0,"op":7,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,53]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,122]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[160,53]},"s":{"a":0,"k":[320,106]}},{"ty":"st","c":{"a":0,"k":[0.11,0.098,0.09]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":4,"ty":3,"parent":1,"ks":{"a":{"a":0,"k":[160,53]},"p":{"a":0,"k":[200.594,200.176]},"r":{"a":1,"k":[{"t":0,"s":[30],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":6,"s":[10],"h":1}]}},"ip":0,"op":7,"st":0},{"ind":1,"ty":3,"parent":0,"ks":{},"ip":0,"op":7,"st":0},{"ind":0,"ty":3,"ks":{},"ip":0,"op":7,"st":0}],"meta":{"g":"https://jitter.video"},"op":6,"v":"5.7.4","w":400} \ No newline at end of file diff --git a/apps/waitlist-website/app/lottie/loading-dark.json b/apps/waitlist-website/app/lottie/loading-dark.json new file mode 100644 index 0000000..d4ceb95 --- /dev/null +++ b/apps/waitlist-website/app/lottie/loading-dark.json @@ -0,0 +1 @@ +{"fr":60,"h":400,"ip":0,"layers":[{"ind":3,"ty":4,"parent":2,"ks":{},"ip":0,"op":61,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,26.75]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,174.5]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":1,"k":[{"t":0,"s":[160,0.5],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":8.4,"s":[160,0.5],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[160,53],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":37.8,"s":[160,53],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[160,0.5],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[320,1],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":8.4,"s":[320,1],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[320,106],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":37.8,"s":[320,106],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[320,1],"h":1}]}},{"ty":"st","c":{"a":0,"k":[0.906,0.898,0.894]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":2,"ty":3,"parent":1,"ks":{"a":{"a":1,"k":[{"t":0,"s":[160,0.5],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":8.4,"s":[160,0.5],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[160,53],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":37.8,"s":[160,53],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[160,0.5],"h":1}]},"p":{"a":0,"k":[200,200.014]},"r":{"a":1,"k":[{"t":0,"s":[-90],"h":1},{"t":8.4,"s":[-90],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":30,"s":[0],"h":1},{"t":37.8,"s":[0],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":60,"s":[90],"h":1}]}},"ip":0,"op":61,"st":0},{"ind":5,"ty":4,"parent":4,"ks":{},"ip":0,"op":61,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,26.75]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,174.5]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":1,"k":[{"t":0,"s":[160,0.5],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[160,53],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[160,0.5],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[320,1],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[320,106],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[320,1],"h":1}]}},{"ty":"st","c":{"a":0,"k":[0.906,0.898,0.894]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":4,"ty":3,"parent":1,"ks":{"a":{"a":1,"k":[{"t":0,"s":[160,0.5],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[160,53],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[160,0.5],"h":1}]},"p":{"a":0,"k":[200.094,200.19]},"r":{"a":1,"k":[{"t":0,"s":[-90],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":30,"s":[0],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":60,"s":[90],"h":1}]}},"ip":0,"op":61,"st":0},{"ind":1,"ty":3,"parent":0,"ks":{},"ip":0,"op":61,"st":0},{"ind":0,"ty":3,"ks":{},"ip":0,"op":61,"st":0}],"meta":{"g":"https://jitter.video"},"op":60,"v":"5.7.4","w":400} \ No newline at end of file diff --git a/apps/waitlist-website/app/lottie/loading-light.json b/apps/waitlist-website/app/lottie/loading-light.json new file mode 100644 index 0000000..af8f591 --- /dev/null +++ b/apps/waitlist-website/app/lottie/loading-light.json @@ -0,0 +1 @@ +{"fr":60,"h":400,"ip":0,"layers":[{"ind":3,"ty":4,"parent":2,"ks":{},"ip":0,"op":61,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,26.75]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,174.5]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":1,"k":[{"t":0,"s":[160,0.5],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":8.4,"s":[160,0.5],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[160,53],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":37.8,"s":[160,53],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[160,0.5],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[320,1],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":8.4,"s":[320,1],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[320,106],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":37.8,"s":[320,106],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[320,1],"h":1}]}},{"ty":"st","c":{"a":0,"k":[0.11,0.098,0.09]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":2,"ty":3,"parent":1,"ks":{"a":{"a":1,"k":[{"t":0,"s":[160,0.5],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":8.4,"s":[160,0.5],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[160,53],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":37.8,"s":[160,53],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[160,0.5],"h":1}]},"p":{"a":0,"k":[200,200.014]},"r":{"a":1,"k":[{"t":0,"s":[-90],"h":1},{"t":8.4,"s":[-90],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":30,"s":[0],"h":1},{"t":37.8,"s":[0],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":60,"s":[90],"h":1}]}},"ip":0,"op":61,"st":0},{"ind":5,"ty":4,"parent":4,"ks":{},"ip":0,"op":61,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,26.75]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,174.5]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":1,"k":[{"t":0,"s":[160,0.5],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[160,53],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[160,0.5],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[320,1],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[320,106],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[320,1],"h":1}]}},{"ty":"st","c":{"a":0,"k":[0.11,0.098,0.09]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":4,"ty":3,"parent":1,"ks":{"a":{"a":1,"k":[{"t":0,"s":[160,0.5],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":30,"s":[160,53],"i":{"x":[1,0],"y":[1,1]},"o":{"x":[0,0.5],"y":[0,0]}},{"t":60,"s":[160,0.5],"h":1}]},"p":{"a":0,"k":[200.094,200.19]},"r":{"a":1,"k":[{"t":0,"s":[-90],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":30,"s":[0],"i":{"x":0,"y":1},"o":{"x":0.5,"y":0}},{"t":60,"s":[90],"h":1}]}},"ip":0,"op":61,"st":0},{"ind":1,"ty":3,"parent":0,"ks":{},"ip":0,"op":61,"st":0},{"ind":0,"ty":3,"ks":{},"ip":0,"op":61,"st":0}],"meta":{"g":"https://jitter.video"},"op":60,"v":"5.7.4","w":400} \ No newline at end of file diff --git a/apps/waitlist-website/app/lottie/start-loading-dark.json b/apps/waitlist-website/app/lottie/start-loading-dark.json new file mode 100644 index 0000000..4d36473 --- /dev/null +++ b/apps/waitlist-website/app/lottie/start-loading-dark.json @@ -0,0 +1 @@ +{"fr":60,"h":400,"ip":0,"layers":[{"ind":3,"ty":4,"parent":2,"ks":{},"ip":0,"op":31,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,26.75]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,174.5]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":1,"k":[{"t":0,"s":[160,53],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":5.28,"s":[160,53],"i":{"x":[1,0.001],"y":[1,0.998]},"o":{"x":[0,0.349],"y":[0,0]}},{"t":30,"s":[160,0.5],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[320,106],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":5.28,"s":[320,106],"i":{"x":[1,0.001],"y":[1,0.998]},"o":{"x":[0,0.349],"y":[0,0]}},{"t":30,"s":[320,1],"h":1}]}},{"ty":"st","c":{"a":0,"k":[0.906,0.898,0.894]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":2,"ty":3,"parent":1,"ks":{"a":{"a":1,"k":[{"t":0,"s":[160,53],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":5.28,"s":[160,53],"i":{"x":[1,0.001],"y":[1,0.998]},"o":{"x":[0,0.349],"y":[0,0]}},{"t":30,"s":[160,0.5],"h":1}]},"p":{"a":0,"k":[200.5,200]},"r":{"a":1,"k":[{"t":0,"s":[-30],"h":1},{"t":5.28,"s":[-30],"i":{"x":0.001,"y":0.998},"o":{"x":0.349,"y":0}},{"t":30,"s":[-90],"h":1}]}},"ip":0,"op":31,"st":0},{"ind":5,"ty":4,"parent":4,"ks":{},"ip":0,"op":31,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,26.75]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,174.5]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":1,"k":[{"t":0,"s":[160,53],"i":{"x":[1,0],"y":[1,0.999]},"o":{"x":[0,0.348],"y":[0,0]}},{"t":30,"s":[160,0.5],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[320,106],"i":{"x":[1,0],"y":[1,0.999]},"o":{"x":[0,0.348],"y":[0,0]}},{"t":30,"s":[320,1],"h":1}]}},{"ty":"st","c":{"a":0,"k":[0.906,0.898,0.894]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":4,"ty":3,"parent":1,"ks":{"a":{"a":1,"k":[{"t":0,"s":[160,53],"i":{"x":[1,0],"y":[1,0.999]},"o":{"x":[0,0.348],"y":[0,0]}},{"t":30,"s":[160,0.5],"h":1}]},"p":{"a":0,"k":[200.594,200.176]},"r":{"a":1,"k":[{"t":0,"s":[30],"i":{"x":0,"y":0.999},"o":{"x":0.348,"y":0}},{"t":30,"s":[90],"h":1}]}},"ip":0,"op":31,"st":0},{"ind":1,"ty":3,"parent":0,"ks":{},"ip":0,"op":31,"st":0},{"ind":0,"ty":3,"ks":{},"ip":0,"op":31,"st":0}],"meta":{"g":"https://jitter.video"},"op":30,"v":"5.7.4","w":400} \ No newline at end of file diff --git a/apps/waitlist-website/app/lottie/start-loading-light.json b/apps/waitlist-website/app/lottie/start-loading-light.json new file mode 100644 index 0000000..bc3a086 --- /dev/null +++ b/apps/waitlist-website/app/lottie/start-loading-light.json @@ -0,0 +1 @@ +{"fr":60,"h":400,"ip":0,"layers":[{"ind":3,"ty":4,"parent":2,"ks":{},"ip":0,"op":31,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,26.75]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,174.5]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":1,"k":[{"t":0,"s":[160,53],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":5.28,"s":[160,53],"i":{"x":[1,0.001],"y":[1,0.998]},"o":{"x":[0,0.349],"y":[0,0]}},{"t":30,"s":[160,0.5],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[320,106],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":5.28,"s":[320,106],"i":{"x":[1,0.001],"y":[1,0.998]},"o":{"x":[0,0.349],"y":[0,0]}},{"t":30,"s":[320,1],"h":1}]}},{"ty":"st","c":{"a":0,"k":[0.11,0.098,0.09]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":2,"ty":3,"parent":1,"ks":{"a":{"a":1,"k":[{"t":0,"s":[160,53],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":5.28,"s":[160,53],"i":{"x":[1,0.001],"y":[1,0.998]},"o":{"x":[0,0.349],"y":[0,0]}},{"t":30,"s":[160,0.5],"h":1}]},"p":{"a":0,"k":[200.5,200]},"r":{"a":1,"k":[{"t":0,"s":[-30],"h":1},{"t":5.28,"s":[-30],"i":{"x":0.001,"y":0.998},"o":{"x":0.349,"y":0}},{"t":30,"s":[-90],"h":1}]}},"ip":0,"op":31,"st":0},{"ind":5,"ty":4,"parent":4,"ks":{},"ip":0,"op":31,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[160,26.75]},"r":{"a":0,"k":0},"s":{"a":0,"k":[336,174.5]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":1,"k":[{"t":0,"s":[160,53],"i":{"x":[1,0],"y":[1,0.999]},"o":{"x":[0,0.348],"y":[0,0]}},{"t":30,"s":[160,0.5],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[320,106],"i":{"x":[1,0],"y":[1,0.999]},"o":{"x":[0,0.348],"y":[0,0]}},{"t":30,"s":[320,1],"h":1}]}},{"ty":"st","c":{"a":0,"k":[0.11,0.098,0.09]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":16}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":4,"ty":3,"parent":1,"ks":{"a":{"a":1,"k":[{"t":0,"s":[160,53],"i":{"x":[1,0],"y":[1,0.999]},"o":{"x":[0,0.348],"y":[0,0]}},{"t":30,"s":[160,0.5],"h":1}]},"p":{"a":0,"k":[200.594,200.176]},"r":{"a":1,"k":[{"t":0,"s":[30],"i":{"x":0,"y":0.999},"o":{"x":0.348,"y":0}},{"t":30,"s":[90],"h":1}]}},"ip":0,"op":31,"st":0},{"ind":1,"ty":3,"parent":0,"ks":{},"ip":0,"op":31,"st":0},{"ind":0,"ty":3,"ks":{},"ip":0,"op":31,"st":0}],"meta":{"g":"https://jitter.video"},"op":30,"v":"5.7.4","w":400} \ No newline at end of file diff --git a/apps/waitlist-website/app/root.tsx b/apps/waitlist-website/app/root.tsx new file mode 100644 index 0000000..db8832d --- /dev/null +++ b/apps/waitlist-website/app/root.tsx @@ -0,0 +1,88 @@ +import { isRouteErrorResponse, Links, Meta, Outlet, Scripts, ScrollRestoration } from "react-router" + +import type { Route } from "./+types/root" + +import "./app.css" +import "streamdown/styles.css" + +export const links: Route.LinksFunction = () => [ + { rel: "preconnect", href: "https://fonts.googleapis.com" }, + { + rel: "preconnect", + href: "https://fonts.gstatic.com", + crossOrigin: "anonymous", + }, + { + rel: "stylesheet", + href: "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap", + }, + { + rel: "icon", + href: "/favicon-light.svg", + type: "image/svg+xml", + media: "(prefers-color-scheme: light)", + }, + { + rel: "icon", + href: "/favicon-dark.svg", + type: "image/svg+xml", + media: "(prefers-color-scheme: dark)", + }, + { + rel: "icon", + href: "/favicon.ico", + sizes: "any", + }, +] + +export function Layout({ children }: { children: React.ReactNode }) { + return ( + + + + + + + + + {children} + + + + + ) +} + +export default function App() { + return +} + +export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { + let message = "Oops!" + let details = "An unexpected error occurred." + let stack: string | undefined + + if (isRouteErrorResponse(error)) { + message = error.status === 404 ? "404" : "Error" + details = + error.status === 404 ? "The requested page could not be found." : error.statusText || details + } else if (import.meta.env.DEV && error && error instanceof Error) { + details = error.message + stack = error.stack + } + + return ( +
+

{message}

+

{details}

+ + Back to home + + {stack && ( +
+					{stack}
+				
+ )} +
+ ) +} diff --git a/apps/waitlist-website/app/routes.ts b/apps/waitlist-website/app/routes.ts new file mode 100644 index 0000000..637af37 --- /dev/null +++ b/apps/waitlist-website/app/routes.ts @@ -0,0 +1,6 @@ +import { type RouteConfig, index, route } from "@react-router/dev/routes" + +export default [ + index("routes/home.tsx"), + route("privacy", "routes/privacy-policy.tsx"), +] satisfies RouteConfig diff --git a/apps/waitlist-website/app/routes/home.tsx b/apps/waitlist-website/app/routes/home.tsx new file mode 100644 index 0000000..65eb3b4 --- /dev/null +++ b/apps/waitlist-website/app/routes/home.tsx @@ -0,0 +1,393 @@ +import { AnimatePresence, motion } from "motion/react" +import React, { useEffect, useLayoutEffect, useRef, useState } from "react" +import { Link, useFetcher } from "react-router" +import { Resend } from "resend" +import { Streamdown } from "streamdown" + +import { ChatBox } from "~/chat/chat-box" +import { + duplicateEmailMessage, + INITIAL_MESSAGES, + troubleMessage, + waitListJoinedMessage, + type Message, + type SystemMessage, + type UserMessage, +} from "~/chat/message" +import { useFakeStreaming } from "~/chat/use-fake-streaming" +import { + AnimatedLogo, + AnimatedLogoState, + AnimatedLogoState as TAnimatedLogoState, +} from "~/components/animated-logo" +import { ProgressiveBlur } from "~/components/progressive-blur" + +import type { Route } from "./+types/home" + +const PAGE_TITLE = "Aelis - Next Generation AI Assistant" +const PAGE_DESCRIPTION = + "Meet Aelis, a personal assistant that stays one step ahead of your day. Join the waitlist now." + +export function meta({}: Route.MetaArgs) { + return [ + { title: PAGE_TITLE }, + { + name: "description", + content: PAGE_DESCRIPTION, + }, + { property: "og:title", content: PAGE_TITLE }, + { property: "og:description", content: PAGE_DESCRIPTION }, + { property: "og:image", content: "https://ael.is/social-media-preview.png" }, + { property: "og:url", content: "https://ael.is" }, + { property: "og:type", content: "website" }, + { name: "twitter:card", content: "summary_large_image" }, + { name: "twitter:title", content: PAGE_TITLE }, + { name: "twitter:description", content: PAGE_DESCRIPTION }, + { name: "twitter:image", content: "https://ael.is/social-media-preview.png" }, + ] +} + +const FormError = { + Duplicate: "duplicate", + Resend: "resend", +} as const + +export async function action({ request }: Route.ActionArgs) { + const formData = await request.formData() + const email = formData.get("email") + + if (typeof email !== "string" || !isValidEmail(email)) { + return { error: "Invalid email" } + } + + const resend = new Resend(process.env.RESEND_API_KEY) + + const segmentId = "b80fb036-74a1-4f7d-bca5-2c035b696071" + + const dup = await resend.contacts.get({ + email, + }) + if (dup.data) { + return { error: FormError.Duplicate } + } + + const res = await resend.contacts.create({ + email, + segments: [{ id: segmentId }], + }) + + if (res.error) { + console.log("Error adding contact to Resend:", res.error) + return { error: FormError.Resend, message: res.error.message } + } + + const emailRes = await resend.emails.send({ + from: "Aelis ", + to: email, + template: { + id: "waitlist-confirmation", + }, + }) + + if (emailRes.error) { + // swallow the error since the user is already added to the waitlist, but log it for debugging + console.log("Error sending confirmation email:", emailRes.error) + } + + return { email } +} + +export default function Home() { + const [messages, setMessages] = useState(INITIAL_MESSAGES) + const [emailSent, setEmailSent] = useState("") + const [isAnimatingSend, setIsAnimatingSend] = useState(false) + const [logoState, setLogoState] = useState(AnimatedLogoState.Idle) + const chatBoxRef = useRef(null) + const fetcher = useFetcher() + + useEffect(() => { + if (fetcher.data?.email && !isAnimatingSend) { + setMessages((messages) => [...messages, waitListJoinedMessage(fetcher.data.email)]) + } else if (fetcher.data?.error) { + if (!isAnimatingSend) { + let errorMessage: SystemMessage + switch (fetcher.data.error) { + case FormError.Duplicate: + errorMessage = duplicateEmailMessage() + break + default: { + console.error(fetcher.data.error) + errorMessage = troubleMessage() + break + } + } + setMessages((messages) => [...messages, errorMessage]) + } + } + }, [fetcher.data?.email, fetcher.data?.error, isAnimatingSend]) + + const insertEmailMessage = (email: string) => { + setEmailSent(email) + setIsAnimatingSend(true) + setLogoState(AnimatedLogoState.Loading) + setMessages((messages) => [ + ...messages, + { + role: "user", + message: email, + bubbleLayoutId: "test", + }, + ]) + + fetcher.submit({ email }, { method: "post" }) + } + + let chatBox: React.ReactNode + if (emailSent && isAnimatingSend) { + const chatBoxRect = chatBoxRef.current?.getBoundingClientRect() + const mainRect = chatBoxRef.current?.offsetParent?.getBoundingClientRect() + chatBox = ( + { + setIsAnimatingSend(false) + }} + > + {emailSent} + + ) + } else if (!emailSent) { + chatBox = ( + + {logoState === AnimatedLogoState.Idle && !emailSent && ( + + + + )} + + ) + } else { + chatBox = null + } + + return ( +
+ + + { + setLogoState(AnimatedLogoState.Loading) + }} + onMessageStreamEnd={() => { + setLogoState(AnimatedLogoState.Idle) + }} + /> + {chatBox} + +
+ + Privacy policy + +
+
+ ) +} + +function MorphingChatBox({ + chatBoxWidth, + chatBoxHeight, + chatBoxLeft, + chatBoxTop, + onAnimationEnd, + children, +}: React.PropsWithChildren<{ + chatBoxWidth: number + chatBoxHeight: number + chatBoxLeft: number + chatBoxTop: number + onAnimationEnd: () => void +}>) { + const [targetWidth, setTargetWidth] = useState(-1) + const [targetHeight, setTargetHeight] = useState(-1) + const [targetCoords, setTargetCoords] = useState([0, 0]) + + useLayoutEffect(() => { + const bubble = document.getElementById("test") + if (bubble) { + const mainRect = bubble.closest("main")?.getBoundingClientRect() + const rect = bubble.getBoundingClientRect() + setTargetWidth(bubble.offsetWidth) + setTargetHeight(bubble.offsetHeight) + setTargetCoords([rect.left - (mainRect?.left ?? 0), rect.top - (mainRect?.top ?? 0)]) + } + }, []) + + if (targetWidth < 0 || targetHeight < 0) { + return null + } + + return ( + + {children} + + ) +} + +function MessageList({ + messages, + showLastMessage, + onMessageStreamStart, + onMessageStreamEnd, +}: { + messages: Message[] + showLastMessage: boolean + onMessageStreamStart: () => void + onMessageStreamEnd: () => void +}) { + return ( +
    + {messages.map((message, index) => ( +
  • + +
  • + ))} +
+ ) +} + +function MessageContent({ + message, + onMessageStreamStart, + onMessageStreamEnd, +}: { + message: Message + onMessageStreamStart: () => void + onMessageStreamEnd: () => void +}) { + switch (message.role) { + case "user": + return + case "system": + return ( + + ) + } +} + +function UserMessageBubble({ message }: { message: UserMessage }) { + return ( +
+
+ {message.message} +
+
+ ) +} + +function SystemMessageBubble({ + message, + onStreamStart, + onStreamEnd, +}: { + message: SystemMessage + onStreamStart: () => void + onStreamEnd: () => void +}) { + const { currentContent, isStreaming } = useFakeStreaming(message.message) + const ref = useRef(null) + + useEffect(() => { + ref.current?.scrollIntoView({ behavior: "smooth", block: "end" }) + }, [currentContent]) + + useEffect(() => { + if (isStreaming) { + onStreamStart() + } else { + onStreamEnd() + } + }, [isStreaming]) + + return ( + + ) +} + +function isValidEmail(value: string): boolean { + return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value) +} diff --git a/apps/waitlist-website/app/routes/privacy-policy.tsx b/apps/waitlist-website/app/routes/privacy-policy.tsx new file mode 100644 index 0000000..fc83a0a --- /dev/null +++ b/apps/waitlist-website/app/routes/privacy-policy.tsx @@ -0,0 +1,246 @@ +import { Link } from "react-router" +import { Streamdown } from "streamdown" + +import { AnimatedLogo, AnimatedLogoState } from "~/components/animated-logo" + +import type { Route } from "./+types/privacy-policy" + +export function meta({}: Route.MetaArgs) { + return [ + { title: "Privacy Policy — Aelis" }, + { name: "description", content: "Aelis privacy policy" }, + ] +} + +export default function PrivacyPolicy() { + return ( +
+ + + + , + }} + > + {POLICY} + +
+ + Back to home + +
+
+ ) +} + +const POLICY = `# Privacy Policy + +**Last updated:** March 5, 2026 + +This Privacy Policy describes how **Aelis** ("we", "us", or "our") collects, uses, and protects your personal information when you visit **https://ael.is** or interact with our services. + +If you do not agree with this Privacy Policy, please do not use the website. + +For any questions, contact: **[kenneth@nym.sh](mailto:kenneth@nym.sh)** + +--- + +## 1. Information We Collect + +### Personal Information You Provide + +**In Short:** We collect personal information that you provide to us. + +We collect personal information that you voluntarily provide when you express interest in our services, contact us, or sign up for the waitlist. + +We collect your email address when you sign up for the waitlist so we can notify you when the product launches or provide related updates. + +### Personal Information Provided by You + +The personal information we collect may include: + +* email addresses + +You are responsible for ensuring the personal information you provide is accurate and up to date. + +### Sensitive Information + +We **do not collect or process sensitive personal information**. + +### Information From Third Parties + +We **do not collect personal information from third parties**. + +--- + +## 2. How We Use Your Information + +We process your information for the following purposes: + +* To operate and maintain our services +* To communicate with you about product updates and launch announcements +* To send administrative information such as policy updates +* To prevent fraud or abuse +* To comply with legal obligations +* To protect someone’s safety when necessary + +We only process personal information when we have a valid legal reason to do so. + +--- + +## 3. Legal Bases for Processing (EU / UK) + +If you are located in the European Economic Area (EEA) or the United Kingdom, we rely on the following legal bases to process personal information: + +### Consent + +You have given permission for us to process your personal information for a specific purpose. + +### Contract + +Processing is necessary to provide services you requested. + +### Legal Obligations + +Processing is required to comply with applicable laws. + +### Vital Interests + +Processing is necessary to protect someone's safety. + +You may withdraw consent at any time by contacting us. + +--- + +## 4. When and With Whom We Share Personal Information + +We may share your personal information in limited situations. + +### Service Providers + +We may share information with trusted service providers that help us operate our website or manage communications. + +### Business Transfers + +We may transfer information during negotiations of a merger, sale of assets, financing, or acquisition of our business. + +We **do not sell your personal information**. + +--- + +## 5. How Long We Keep Your Information + +We retain personal information only as long as necessary to: + +* provide services +* comply with legal obligations +* resolve disputes +* enforce agreements + +When we no longer need personal information, we delete or anonymize it where possible. + +--- + +## 6. How We Keep Your Information Safe + +We implement reasonable technical and organizational safeguards designed to protect personal information. + +However, no electronic transmission or storage system is completely secure. We cannot guarantee absolute security. + +--- + +## 7. Information From Minors + +Our services are **not intended for individuals under 18 years old**. + +We do not knowingly collect personal information from children. If we discover that we have collected such information, we will delete it. + +If you believe a child has provided personal information, contact **[kenneth@nym.sh](mailto:kenneth@nym.sh)**. + +--- + +## 8. Your Privacy Rights + +Depending on your location, you may have rights regarding your personal information, including: + +* the right to access your data +* the right to correct inaccurate data +* the right to delete your data +* the right to restrict processing +* the right to data portability +* the right to object to processing +* the right to withdraw consent + +To exercise these rights, submit a request: + +https://app.termly.io/dsar/b8633d03-406f-4133-b16e-ded63e893997 + +Or contact us at **[kenneth@nym.sh](mailto:kenneth@nym.sh)**. + +--- + +## 9. Do Not Track (DNT) + +Many browsers include a **Do Not Track (DNT)** feature. + +Because there is currently no consistent standard for responding to DNT signals, we do not respond to them. + +--- + +## 10. Global Privacy Control + +We recognize **Global Privacy Control (GPC)** signals. + +If your browser sends a GPC signal, we treat it as a request to opt out of the sale or sharing of personal information where applicable. + +More information: https://globalprivacycontrol.org + +--- + +## 11. Privacy Rights in Other Regions + +Additional privacy rights may apply depending on your location, including: + +* European Economic Area (EEA) +* United Kingdom +* Switzerland +* Canada +* United States +* Australia +* New Zealand + +If you believe we are processing your personal information unlawfully, you may contact your local data protection authority. + +--- + +## 12. Updates to This Privacy Policy + +We may update this Privacy Policy from time to time. + +When we do, we will update the **Last updated** date at the top of this document. + +We encourage users to review this Privacy Policy regularly. + +--- + +## 13. Contact Information + +If you have questions or comments about this Privacy Policy, you may contact us: + +**Aelis** + +Email: **[kenneth@nym.sh](mailto:kenneth@nym.sh)** + +--- + +## 14. Request Access, Update, or Deletion + +Depending on applicable law, you may request access to, correction of, or deletion of your personal information. + +Email: + +**[kenneth@nym.sh](mailto:kenneth@nym.sh)** +` diff --git a/apps/waitlist-website/fly.toml b/apps/waitlist-website/fly.toml new file mode 100644 index 0000000..ed2d895 --- /dev/null +++ b/apps/waitlist-website/fly.toml @@ -0,0 +1,22 @@ +# fly.toml app configuration file generated for aelis-waitlist-website on 2026-03-08T01:11:12Z +# +# See https://fly.io/docs/reference/configuration/ for information about how to use this file. +# + +app = 'aelis-waitlist-website' +primary_region = 'lhr' + +[build] + +[http_service] + internal_port = 3000 + force_https = true + auto_stop_machines = 'stop' + auto_start_machines = true + min_machines_running = 0 + processes = ['app'] + +[[vm]] + memory = '1gb' + cpus = 1 + memory_mb = 1024 diff --git a/apps/waitlist-website/package.json b/apps/waitlist-website/package.json new file mode 100644 index 0000000..5daa5cb --- /dev/null +++ b/apps/waitlist-website/package.json @@ -0,0 +1,37 @@ +{ + "name": "waitlist-website", + "private": true, + "type": "module", + "scripts": { + "build": "react-router build", + "dev": "react-router dev", + "start": "react-router-serve ./build/server/index.js", + "typecheck": "react-router typegen && tsc" + }, + "dependencies": { + "@react-router/node": "7.12.0", + "@react-router/serve": "7.12.0", + "clsx": "^2.1.1", + "isbot": "^5.1.31", + "lottie-react": "^2.4.1", + "lucide-react": "^0.577.0", + "motion": "^12.35.0", + "react": "^19.2.4", + "react-aria-components": "^1.16.0", + "react-dom": "^19.2.4", + "react-router": "7.12.0", + "resend": "^6.9.3", + "streamdown": "^2.4.0" + }, + "devDependencies": { + "@react-router/dev": "7.12.0", + "@tailwindcss/vite": "^4.1.13", + "@types/node": "^22", + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3", + "tailwindcss": "^4.1.13", + "typescript": "^5.9.2", + "vite": "^7.1.7", + "vite-tsconfig-paths": "^5.1.4" + } +} diff --git a/apps/waitlist-website/public/favicon-dark.svg b/apps/waitlist-website/public/favicon-dark.svg new file mode 100644 index 0000000..c46f510 --- /dev/null +++ b/apps/waitlist-website/public/favicon-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/waitlist-website/public/favicon-light.svg b/apps/waitlist-website/public/favicon-light.svg new file mode 100644 index 0000000..1c52473 --- /dev/null +++ b/apps/waitlist-website/public/favicon-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/waitlist-website/public/favicon.ico b/apps/waitlist-website/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..35d9e2e479aca4462b6f23a85edd41d08788c5dc GIT binary patch literal 15086 zcmeI34Um;p8Gyfa(Ir6^6B2~n1*AZzK}7`tS4T_B#;los{efga8d00Fany7d$$&v4 zGlTdKt+6S8NXamvMIb^+O+&OFT?P>qtR-vOY~Ag7zCGvm?cIBq6=?dIduJZsbI*DI zzW2P}`SyN;Nm7=SC!S?)K&b+y3Y02Psz9j%r3(DJD)7?IT?v#yPv{TFz){d0oIl{u`Ut-Csc&N# z>j>Dd7})7kM!;Oy1b=`RVJobK1#lURhF*}`?CXM}Ua&a{IThx^8ql{fjAhJQVI*|P zx3Qxx@%nXMH8}Sd@cJ$XZL}>|*Dzm=bRRZCy00;QF&XT-A@2p_jd8BCkLv-i`!vwjy|d2Z z_J-d58zbo0H}2O1aHwNVeEd`SC!Cd z{&5{S3-t5FI9D`@%tFwuMm`Jn>G&|0(P|rp`Eq0pJOtj0d*C)00ms8U*bVlOJ$5E& zQ_P>&Hx}&Q=fV50gKn`2bpun7Z$do`2y>}f93zj0ufpr_cen@ap)^0Fz8u?!KZGXu zBUsyhkjBz!93%UK=c%>uzRKwo%Q=5O*c^^r0`B1o=nXNBJv9Nm&+Tu|xrxvN+Qp0C zk@~wBJSVl;0B1njpGfWOucctj<&gTz&u?Gfu}gD6T6fP3<9!?Kai5jb;T5o+#ybvD zn_|A>I&ugshQGn9a20r8`^>!^-hwqS5IXf)ESB@p7U|h+t@OJLz60jH1MIQ%OzF&5 zb`5=fTZ2nsJJ@%NUn`<;7?7kwbThE3qU$`f!Z>{pCvhxClx0@3edj1Nlg zUIV@&`rMp}^Auz6(*w|M{M_d=)f;yQ9DcpsVf zF1Q@JLr?HoVXU9SvCyf{m~XxecAj0vu{V{TZK*$`XP*7D7Cf7thsj_L?PA97Nc~NM zZJ@e{_^wd>^n9wM{DdeWDWF>^V-HSvM+`f;n}AsONYb z+z0O09+(O5f>bBZ=h4hR4EECWtWIZn$F-n82>Bem0@gVfC+cNl9>V%~co4h>pRe8{ z?}zt+efK(83;$+59m*l=Djho)I2CDs{tnV-O9$lw6Twy=UjX-T4y5~AKs`UEdwmf+ z3ECRpd)%>q(@g~XqhKwf|G1948MM7R&PAPKGU&PA?)4jB9g3-^^R5RxhwL5yR<^&5 zEslQ-HQ+taY5qD5I-`+$;Q=_zxqW@q0nfH|;Mp()I+!^Z@Z1;ySAh44zZvXXpAXl- zm%(S9bAN@ka21RM;}pD>FmDgLe;Xma?hc9MO$0mpWdT^XxiA!ZLoe{28wTgW4X_$^ zgLSr6_V+~S2k{!cA1{Vg&zKvlldww>U!(#9r%geUoS9JoTkk5ej z-osD97Vw@nw)Hd*^H~o!!YR<9rp!g3uAK~C_oMJ9(1*VC=^1PcV;R%fTj3-qxKACg zAlG~9TjyC|e!qp^!_#2hz6F!v1n3D}@*nkrjWxOyZU^_#d)yet+5mH4zn{a{nv=cM z1KeAC;z+1~F6CROKH0hGC-~I2G3+;E8au0A8kZ_isz9j%r3#cPP^v(w0tZ}y*7TDk z2VIu6w$`;KNlQ}Il+-3kb5hZe)Ferh8CM~hYe{88g|fM(p`y7)Sy!fPsVb{Wb$V7b zjH)F+{j?(MYMRTG^|h_#ZL%emaX#p^1iR=b`i*g#YTM%G@(6jwJY(Li;W`d_eL~&+ zcUskO2IT&o7XOy3^eI)KRDu7_3M^i-H2v+zZ?kgf0|TKibcZheE{u9ee@kks4}JOW zsHl&)h8zqF!Qbl7g1>!#2J_%!FaX-UbKtvvojV3DfUko#Ss#n|J_HKp5a!MCyWo47 z3*m$C3AhgKfo<>`xC2fH>mn1t-~GPVQ0HE_9<>eOMO8?bMi4$2y+{)}b-5 z6?rza+ZT=X>*h{y7>vw|hg=7Ud=f1xi^6k!L?ghyC z?2y2}aJRDlMZ5SN={uHNK;5r^wj03S=mXKDs8lCloCjeKG{C1I?W3GgV~4}GE7WvBD5gFRxe*faKybKY0>u)X&fd>pz%jB77?HpcZ2F^>H= zobeNI8x-w7)}k+My;qDE=c4r5=YX~S9*l)Ca2Gf?7jm^`9PK;<^?6>L%P&NjH)qeE zrI6;I)eAb-;!N;0L~uX7p8Eoh zSHdJvC#^FwYd?kWk3*&N`JbR`jOE}tatXK>pN1R2n9qUN{Y@AT?z@Zw_xEW~N8KAi zTYdP<*a$12v+Fls^Pdm)pLJEP2G5m`f<0aaxl3>y=3F};>;rAGJ{ItOFr+of8Rrec zy8GoBXfJs$dX1ghMK@6|*hC-74*e8uO0raeQU(4q6=-|^Q24)1RZUfm<@J>fNm8++ zzI@a6#>!cH8!F~C&X`fzRMAk?T-jJ7j-7K&9d)(QRv)dMe0)#gYl&*ey{F*+HT!@2 zWX?tZZa5Y^t8?dSX5Bg0sv!F}hUc%}uZCLi`BDcyTdD&Wg*n&MQ8(+ub9gpXg3qCT za0RRhTp8wE^I5E}=YM+k2RRk#bL}v=0A|A30msg{=HGyqL2B!MhVc=|8L%9TeI&#+ z$J4>Jo4_1$t>8G!X}=7#eS#h0KC;{Lg3Re=k`ntLbt`)3aN=t}>nqi&jiu89AmgI3?k2G*}nlDe`s R>XGYaw&6I=s}uE={{(VLTg(6e literal 0 HcmV?d00001 diff --git a/apps/waitlist-website/public/robots.txt b/apps/waitlist-website/public/robots.txt new file mode 100644 index 0000000..754189d --- /dev/null +++ b/apps/waitlist-website/public/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: / + +Sitemap: https://ael.is/sitemap.xml diff --git a/apps/waitlist-website/public/sitemap.xml b/apps/waitlist-website/public/sitemap.xml new file mode 100644 index 0000000..127956e --- /dev/null +++ b/apps/waitlist-website/public/sitemap.xml @@ -0,0 +1,9 @@ + + + + https://ael.is/ + + + https://ael.is/privacy + + diff --git a/apps/waitlist-website/public/social-media-preview.png b/apps/waitlist-website/public/social-media-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..668713b5166c86c6a6a3f3ca9f116901c1316f10 GIT binary patch literal 69432 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�{A=n^EE?tHo2e!FSQw* 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.0.0" } }, "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ=="], "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="], @@ -478,6 +559,16 @@ "@expo/xcpretty": ["@expo/xcpretty@4.4.0", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "chalk": "^4.1.0", "js-yaml": "^4.1.0" }, "bin": { "excpretty": "build/cli.js" } }, "sha512-o2qDlTqJ606h4xR36H2zWTywmZ3v3842K6TU8Ik2n1mfW0S580VHlt3eItVYdLYz+klaPp7CXqanja8eASZjRw=="], + "@formatjs/ecma402-abstract": ["@formatjs/ecma402-abstract@2.3.6", "", { "dependencies": { "@formatjs/fast-memoize": "2.2.7", "@formatjs/intl-localematcher": "0.6.2", "decimal.js": "^10.4.3", "tslib": "^2.8.0" } }, "sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw=="], + + "@formatjs/fast-memoize": ["@formatjs/fast-memoize@2.2.7", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ=="], + + "@formatjs/icu-messageformat-parser": ["@formatjs/icu-messageformat-parser@2.11.4", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/icu-skeleton-parser": "1.8.16", "tslib": "^2.8.0" } }, "sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw=="], + + "@formatjs/icu-skeleton-parser": ["@formatjs/icu-skeleton-parser@1.8.16", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "tslib": "^2.8.0" } }, "sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ=="], + + "@formatjs/intl-localematcher": ["@formatjs/intl-localematcher@0.6.2", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA=="], + "@hapi/hoek": ["@hapi/hoek@9.3.0", "", {}, "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="], "@hapi/topo": ["@hapi/topo@5.1.0", "", { "dependencies": { "@hapi/hoek": "^9.0.0" } }, "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg=="], @@ -490,6 +581,14 @@ "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], + "@internationalized/date": ["@internationalized/date@3.12.0", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-/PyIMzK29jtXaGU23qTvNZxvBXRtKbNnGDFD+PY6CZw/Y8Ex8pFUzkuCJCG9aOqmShjqhS9mPqP6Dk5onQY8rQ=="], + + "@internationalized/message": ["@internationalized/message@3.1.8", "", { "dependencies": { "@swc/helpers": "^0.5.0", "intl-messageformat": "^10.1.0" } }, "sha512-Rwk3j/TlYZhn3HQ6PyXUV0XP9Uv42jqZGNegt0BXlxjE6G3+LwHjbQZAGHhCnCPdaA6Tvd3ma/7QzLlLkJxAWA=="], + + "@internationalized/number": ["@internationalized/number@3.6.5", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g=="], + + "@internationalized/string": ["@internationalized/string@3.2.7", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-D4OHBjrinH+PFZPvfCXvG28n2LSykWcJ7GIioQL+ok0LON15SdfoUssoHzzOUmVZLbRoREsQXVzA6r8JKsbP6A=="], + "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="], @@ -524,6 +623,8 @@ "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + "@mjackson/node-fetch-server": ["@mjackson/node-fetch-server@0.2.0", "", {}, "sha512-EMlH1e30yzmTpGLQjlFmaDAjyOeZhng1/XCd7DExR8PNAnG/G1tyruZxEoUe11ClnwGhGrtsdnyyUx1frSzjng=="], + "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@0.2.12", "", { "dependencies": { "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@tybys/wasm-util": "^0.10.0" } }, "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ=="], "@noble/ciphers": ["@noble/ciphers@2.1.1", "", {}, "sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw=="], @@ -646,6 +747,104 @@ "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + "@react-aria/autocomplete": ["@react-aria/autocomplete@3.0.0-rc.6", "", { "dependencies": { "@react-aria/combobox": "^3.15.0", "@react-aria/focus": "^3.21.5", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/listbox": "^3.15.3", "@react-aria/searchfield": "^3.8.12", "@react-aria/textfield": "^3.18.5", "@react-aria/utils": "^3.33.1", "@react-stately/autocomplete": "3.0.0-beta.4", "@react-stately/combobox": "^3.13.0", "@react-types/autocomplete": "3.0.0-alpha.38", "@react-types/button": "^3.15.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-uymUNJ8NW+dX7lmgkHE+SklAbxwktycAJcI5lBBw6KPZyc0EdMHC+/Fc5CUz3enIAhNwd2oxxogcSHknquMzQA=="], + + "@react-aria/breadcrumbs": ["@react-aria/breadcrumbs@3.5.32", "", { "dependencies": { "@react-aria/i18n": "^3.12.16", "@react-aria/link": "^3.8.9", "@react-aria/utils": "^3.33.1", "@react-types/breadcrumbs": "^3.7.19", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-S61vh5DJ2PXiXUwD7gk+pvS/b4VPrc3ZJOUZ0yVRLHkVESr5LhIZH+SAVgZkm1lzKyMRG+BH+fiRH/DZRSs7SA=="], + + "@react-aria/button": ["@react-aria/button@3.14.5", "", { "dependencies": { "@react-aria/interactions": "^3.27.1", "@react-aria/toolbar": "3.0.0-beta.24", "@react-aria/utils": "^3.33.1", "@react-stately/toggle": "^3.9.5", "@react-types/button": "^3.15.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ZuLx+wQj9VQhH9BYe7t0JowmKnns2XrFHFNvIVBb5RwxL+CIycIOL7brhWKg2rGdxvlOom7jhVbcjSmtAaSyaQ=="], + + "@react-aria/calendar": ["@react-aria/calendar@3.9.5", "", { "dependencies": { "@internationalized/date": "^3.12.0", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.33.1", "@react-stately/calendar": "^3.9.3", "@react-types/button": "^3.15.1", "@react-types/calendar": "^3.8.3", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-k0kvceYdZZu+DoeqephtlmIvh1CxqdFyoN52iqVzTz9O0pe5Xfhq7zxPGbeCp4pC61xzp8Lu/6uFA/YNfQQNag=="], + + "@react-aria/checkbox": ["@react-aria/checkbox@3.16.5", "", { "dependencies": { "@react-aria/form": "^3.1.5", "@react-aria/interactions": "^3.27.1", "@react-aria/label": "^3.7.25", "@react-aria/toggle": "^3.12.5", "@react-aria/utils": "^3.33.1", "@react-stately/checkbox": "^3.7.5", "@react-stately/form": "^3.2.4", "@react-stately/toggle": "^3.9.5", "@react-types/checkbox": "^3.10.4", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ZhUT7ELuD52hb+Zpzw0ElLQiVOd5sKYahrh+PK3vq13Wk5TedBscALpjuXetI4pwFfdmAM1Lhgcsrd8+6AmyvA=="], + + "@react-aria/collections": ["@react-aria/collections@3.0.3", "", { "dependencies": { "@react-aria/interactions": "^3.27.1", "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.33.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-lbC5DEbHeVFvVr4ke9y8D9Nynnr8G8UjVEBoFGRylpAaScU7SX1TN84QI+EjMbsdZ0/5P2H7gUTS+MYd+6U3Rg=="], + + "@react-aria/color": ["@react-aria/color@3.1.5", "", { "dependencies": { "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/numberfield": "^3.12.5", "@react-aria/slider": "^3.8.5", "@react-aria/spinbutton": "^3.7.2", "@react-aria/textfield": "^3.18.5", "@react-aria/utils": "^3.33.1", "@react-aria/visually-hidden": "^3.8.31", "@react-stately/color": "^3.9.5", "@react-stately/form": "^3.2.4", "@react-types/color": "^3.1.4", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-eysWdBRzE8WDhBzh1nfjyUgzseMokXGHjIoJo880T7IPJ8tTavfQni49pU1B2qWrNOWPyrwx4Bd9pzHyboxJSA=="], + + "@react-aria/combobox": ["@react-aria/combobox@3.15.0", "", { "dependencies": { "@react-aria/focus": "^3.21.5", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/listbox": "^3.15.3", "@react-aria/live-announcer": "^3.4.4", "@react-aria/menu": "^3.21.0", "@react-aria/overlays": "^3.31.2", "@react-aria/selection": "^3.27.2", "@react-aria/textfield": "^3.18.5", "@react-aria/utils": "^3.33.1", "@react-stately/collections": "^3.12.10", "@react-stately/combobox": "^3.13.0", "@react-stately/form": "^3.2.4", "@react-types/button": "^3.15.1", "@react-types/combobox": "^3.14.0", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-qSjQTFwKl3x1jCP2NRSJ6doZqAp6c2GTfoiFwWjaWg1IewwLsglaW6NnzqRDFiqFbDGgXPn4MqtC1VYEJ3NEjA=="], + + "@react-aria/datepicker": ["@react-aria/datepicker@3.16.1", "", { "dependencies": { "@internationalized/date": "^3.12.0", "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-aria/focus": "^3.21.5", "@react-aria/form": "^3.1.5", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/label": "^3.7.25", "@react-aria/spinbutton": "^3.7.2", "@react-aria/utils": "^3.33.1", "@react-stately/datepicker": "^3.16.1", "@react-stately/form": "^3.2.4", "@react-types/button": "^3.15.1", "@react-types/calendar": "^3.8.3", "@react-types/datepicker": "^3.13.5", "@react-types/dialog": "^3.5.24", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-6BltCVWt09yefTkGjb2gViGCwoddx9HKJiZbY9u6Es/Q+VhwNJQRtczbnZ3K32p262hIknukNf/5nZaCOI1AKA=="], + + "@react-aria/dialog": ["@react-aria/dialog@3.5.34", "", { "dependencies": { "@react-aria/interactions": "^3.27.1", "@react-aria/overlays": "^3.31.2", "@react-aria/utils": "^3.33.1", "@react-types/dialog": "^3.5.24", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-/x53Q5ynpW5Kv9637WYu7SrDfj3woSp6jJRj8l6teGnWW/iNZWYJETgzHfbxx+HPKYATCZesRoIeO2LnYIXyEA=="], + + "@react-aria/disclosure": ["@react-aria/disclosure@3.1.3", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.33.1", "@react-stately/disclosure": "^3.0.11", "@react-types/button": "^3.15.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-S3k7Wqrj+x0sWcP88Z1stSr5TIZmKEmx2rU7RB1O1/jPpbw5mgKnjtiriOlTh+kwdK11FkeqgxyHzAcBAR+FMQ=="], + + "@react-aria/dnd": ["@react-aria/dnd@3.11.6", "", { "dependencies": { "@internationalized/string": "^3.2.7", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/live-announcer": "^3.4.4", "@react-aria/overlays": "^3.31.2", "@react-aria/utils": "^3.33.1", "@react-stately/collections": "^3.12.10", "@react-stately/dnd": "^3.7.4", "@react-types/button": "^3.15.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-4YLHUeYJleF+moAYaYt8UZqujudPvpoaHR+QMkWIFzhfridVUhCr6ZjGWrzpSZY3r68k46TG7YCsi4IEiNnysw=="], + + "@react-aria/focus": ["@react-aria/focus@3.21.5", "", { "dependencies": { "@react-aria/interactions": "^3.27.1", "@react-aria/utils": "^3.33.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-V18fwCyf8zqgJdpLQeDU5ZRNd9TeOfBbhLgmX77Zr5ae9XwaoJ1R3SFJG1wCJX60t34AW+aLZSEEK+saQElf3Q=="], + + "@react-aria/form": ["@react-aria/form@3.1.5", "", { "dependencies": { "@react-aria/interactions": "^3.27.1", "@react-aria/utils": "^3.33.1", "@react-stately/form": "^3.2.4", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-BWlONgHn8hmaMkcS6AgMSLQeNqVBwqPNLhdqjDO/PCfzvV7O8NZw/dFeIzJwfG4aBfSpbHHRdXGdfrk3d8dylQ=="], + + "@react-aria/grid": ["@react-aria/grid@3.14.8", "", { "dependencies": { "@react-aria/focus": "^3.21.5", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/live-announcer": "^3.4.4", "@react-aria/selection": "^3.27.2", "@react-aria/utils": "^3.33.1", "@react-stately/collections": "^3.12.10", "@react-stately/grid": "^3.11.9", "@react-stately/selection": "^3.20.9", "@react-types/checkbox": "^3.10.4", "@react-types/grid": "^3.3.8", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-X6rRFKDu/Kh6Sv8FBap3vjcb+z4jXkSOwkYnexIJp5kMTo5/Dqo55cCBio5B70Tanfv32Ev/6SpzYG7ryxnM9w=="], + + "@react-aria/gridlist": ["@react-aria/gridlist@3.14.4", "", { "dependencies": { "@react-aria/focus": "^3.21.5", "@react-aria/grid": "^3.14.8", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/selection": "^3.27.2", "@react-aria/utils": "^3.33.1", "@react-stately/list": "^3.13.4", "@react-stately/tree": "^3.9.6", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-C/SbwC0qagZatoBrCjx8iZUex9apaJ8o8iRJ9eVHz0cpj7mXg6HuuotYGmDy9q67A2hve4I693RM1Cuwqwm+PQ=="], + + "@react-aria/i18n": ["@react-aria/i18n@3.12.16", "", { "dependencies": { "@internationalized/date": "^3.12.0", "@internationalized/message": "^3.1.8", "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.33.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Km2CAz6MFQOUEaattaW+2jBdWOHUF8WX7VQoNbjlqElCP58nSaqi9yxTWUDRhAcn8/xFUnkFh4MFweNgtrHuEA=="], + + "@react-aria/interactions": ["@react-aria/interactions@3.27.1", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.33.1", "@react-stately/flags": "^3.1.2", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-M3wLpTTmDflI0QGNK0PJNUaBXXfeBXue8ZxLMngfc1piHNiH4G5lUvWd9W14XVbqrSCVY8i8DfGrNYpyyZu0tw=="], + + "@react-aria/label": ["@react-aria/label@3.7.25", "", { "dependencies": { "@react-aria/utils": "^3.33.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-oNK3Pqj4LDPwEbQaoM/uCip4QvQmmwGOh08VeW+vzSi6TAwf+KoWTyH/tiAeB0CHWNDK0k3e1iTygTAt4wzBmg=="], + + "@react-aria/landmark": ["@react-aria/landmark@3.0.10", "", { "dependencies": { "@react-aria/utils": "^3.33.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-GpNjJaI8/a6WxYDZgzTCLYSzPM6xp2pxCIQ4udiGbTCtxx13Trmm0cPABvPtzELidgolCf05em9Phr+3G0eE8A=="], + + "@react-aria/link": ["@react-aria/link@3.8.9", "", { "dependencies": { "@react-aria/interactions": "^3.27.1", "@react-aria/utils": "^3.33.1", "@react-types/link": "^3.6.7", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-UaAFBfs84/Qq6TxlMWkREqqNY6SFLukot+z2Aa1kC+VyStv1kWG6sE5QLjm4SBn1Q3CGRsefhB/5+taaIbB4Pw=="], + + "@react-aria/listbox": ["@react-aria/listbox@3.15.3", "", { "dependencies": { "@react-aria/interactions": "^3.27.1", "@react-aria/label": "^3.7.25", "@react-aria/selection": "^3.27.2", "@react-aria/utils": "^3.33.1", "@react-stately/collections": "^3.12.10", "@react-stately/list": "^3.13.4", "@react-types/listbox": "^3.7.6", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-C6YgiyrHS5sbS5UBdxGMhEs+EKJYotJgGVtl9l0ySXpBUXERiHJWLOyV7a8PwkUOmepbB4FaLD7Y9EUzGkrGlw=="], + + "@react-aria/live-announcer": ["@react-aria/live-announcer@3.4.4", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-PTTBIjNRnrdJOIRTDGNifY2d//kA7GUAwRFJNOEwSNG4FW+Bq9awqLiflw0JkpyB0VNIwou6lqKPHZVLsGWOXA=="], + + "@react-aria/menu": ["@react-aria/menu@3.21.0", "", { "dependencies": { "@react-aria/focus": "^3.21.5", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/overlays": "^3.31.2", "@react-aria/selection": "^3.27.2", "@react-aria/utils": "^3.33.1", "@react-stately/collections": "^3.12.10", "@react-stately/menu": "^3.9.11", "@react-stately/selection": "^3.20.9", "@react-stately/tree": "^3.9.6", "@react-types/button": "^3.15.1", "@react-types/menu": "^3.10.7", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-CKTVZ4izSE1eKIti6TbTtzJAUo+WT8O4JC0XZCYDBpa0f++lD19Kz9aY+iY1buv5xGI20gAfpO474E9oEd4aQA=="], + + "@react-aria/meter": ["@react-aria/meter@3.4.30", "", { "dependencies": { "@react-aria/progress": "^3.4.30", "@react-types/meter": "^3.4.15", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ZmANKW7s/Z4QGylHi46nhwtQ47T1bfMsU9MysBu7ViXXNJ03F4b6JXCJlKL5o2goQ3NbfZ68GeWamIT0BWSgtw=="], + + "@react-aria/numberfield": ["@react-aria/numberfield@3.12.5", "", { "dependencies": { "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/live-announcer": "^3.4.4", "@react-aria/spinbutton": "^3.7.2", "@react-aria/textfield": "^3.18.5", "@react-aria/utils": "^3.33.1", "@react-stately/form": "^3.2.4", "@react-stately/numberfield": "^3.11.0", "@react-types/button": "^3.15.1", "@react-types/numberfield": "^3.8.18", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Fi41IUWXEHLFIeJ/LHuZ9Azs8J/P563fZi37GSBkIq5P1pNt1rPgJJng5CNn4KsHxwqadTRUlbbZwbZraWDtRg=="], + + "@react-aria/overlays": ["@react-aria/overlays@3.31.2", "", { "dependencies": { "@react-aria/focus": "^3.21.5", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.33.1", "@react-aria/visually-hidden": "^3.8.31", "@react-stately/flags": "^3.1.2", "@react-stately/overlays": "^3.6.23", "@react-types/button": "^3.15.1", "@react-types/overlays": "^3.9.4", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-78HYI08r6LvcfD34gyv19ArRIjy1qxOKuXl/jYnjLDyQzD4pVb634IQWcm0zt10RdKgyuH6HTqvuDOgZTLet7Q=="], + + "@react-aria/progress": ["@react-aria/progress@3.4.30", "", { "dependencies": { "@react-aria/i18n": "^3.12.16", "@react-aria/label": "^3.7.25", "@react-aria/utils": "^3.33.1", "@react-types/progress": "^3.5.18", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-S6OWVGgluSWYSd/A6O8CVjz83eeMUfkuWSra0ewAV9bmxZ7TP9pUmD3bGdqHZEl97nt5vHGjZ3eq/x8eCmzKhA=="], + + "@react-aria/radio": ["@react-aria/radio@3.12.5", "", { "dependencies": { "@react-aria/focus": "^3.21.5", "@react-aria/form": "^3.1.5", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/label": "^3.7.25", "@react-aria/utils": "^3.33.1", "@react-stately/radio": "^3.11.5", "@react-types/radio": "^3.9.4", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-8CCJKJzfozEiWBPO9QAATG1rBGJEJ+xoqvHf9LKU2sPFGsA2/SRnLs6LB9fCG5R3spvaK1xz0any1fjWPl7x8A=="], + + "@react-aria/searchfield": ["@react-aria/searchfield@3.8.12", "", { "dependencies": { "@react-aria/i18n": "^3.12.16", "@react-aria/textfield": "^3.18.5", "@react-aria/utils": "^3.33.1", "@react-stately/searchfield": "^3.5.19", "@react-types/button": "^3.15.1", "@react-types/searchfield": "^3.6.8", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-kYlUHD/+mWzNroHoR8ojUxYBoMviRZn134WaKPFjfNUGZDOEuh4XzOoj+cjdJfe6N3mwTaYu6rJQtunSHIAfhA=="], + + "@react-aria/select": ["@react-aria/select@3.17.3", "", { "dependencies": { "@react-aria/form": "^3.1.5", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/label": "^3.7.25", "@react-aria/listbox": "^3.15.3", "@react-aria/menu": "^3.21.0", "@react-aria/selection": "^3.27.2", "@react-aria/utils": "^3.33.1", "@react-aria/visually-hidden": "^3.8.31", "@react-stately/select": "^3.9.2", "@react-types/button": "^3.15.1", "@react-types/select": "^3.12.2", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-u0UFWw0S7q9oiSbjetDpRoLLIcC+L89uYlm+YfCrdT8ntbQgABNiJRxdVvxnhR0fR6MC9ASTTvuQnNHNn52+1A=="], + + "@react-aria/selection": ["@react-aria/selection@3.27.2", "", { "dependencies": { "@react-aria/focus": "^3.21.5", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/utils": "^3.33.1", "@react-stately/selection": "^3.20.9", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-GbUSSLX/ciXix95KW1g+SLM9np7iXpIZrFDSXkC6oNx1uhy18eAcuTkeZE25+SY5USVUmEzjI3m/3JoSUcebbg=="], + + "@react-aria/separator": ["@react-aria/separator@3.4.16", "", { "dependencies": { "@react-aria/utils": "^3.33.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-RCUtQhDGnPxKzyG8KM79yOB0fSiEf8r/rxShidOVnGLiBW2KFmBa22/Gfc4jnqg/keN3dxvkSGoqmeXgctyp6g=="], + + "@react-aria/slider": ["@react-aria/slider@3.8.5", "", { "dependencies": { "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/label": "^3.7.25", "@react-aria/utils": "^3.33.1", "@react-stately/slider": "^3.7.5", "@react-types/shared": "^3.33.1", "@react-types/slider": "^3.8.4", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-gqkJxznk141mE0JamXF5CXml9PDbPkBz8dyKlihtWHWX4yhEbVYdC9J0otE7iCR3zx69Bm7WHoTGL0BsdpKzVA=="], + + "@react-aria/spinbutton": ["@react-aria/spinbutton@3.7.2", "", { "dependencies": { "@react-aria/i18n": "^3.12.16", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.33.1", "@react-types/button": "^3.15.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-adjE1wNCWlugvAtVXlXWPtIG9JWurEgYVn1Eeyh19x038+oXGvOsOAoKCXM+SnGleTWQ9J7pEZITFoEI3cVfAw=="], + + "@react-aria/ssr": ["@react-aria/ssr@3.9.10", "", { "dependencies": { "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ=="], + + "@react-aria/switch": ["@react-aria/switch@3.7.11", "", { "dependencies": { "@react-aria/toggle": "^3.12.5", "@react-stately/toggle": "^3.9.5", "@react-types/shared": "^3.33.1", "@react-types/switch": "^3.5.17", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-dYVX71HiepBsKyeMaQgHbhqI+MQ3MVoTd5EnTbUjefIBnmQZavYj1/e4NUiUI4Ix+/C0HxL8ibDAv4NlSW3eLQ=="], + + "@react-aria/table": ["@react-aria/table@3.17.11", "", { "dependencies": { "@react-aria/focus": "^3.21.5", "@react-aria/grid": "^3.14.8", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.33.1", "@react-aria/visually-hidden": "^3.8.31", "@react-stately/collections": "^3.12.10", "@react-stately/flags": "^3.1.2", "@react-stately/table": "^3.15.4", "@react-types/checkbox": "^3.10.4", "@react-types/grid": "^3.3.8", "@react-types/shared": "^3.33.1", "@react-types/table": "^3.13.6", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-GkYmWPiW3OM+FUZxdS33teHXHXde7TjHuYgDDaG9phvg6cQTQjGilJozrzA3OfftTOq5VB8XcKTIQW3c0tpYsQ=="], + + "@react-aria/tabs": ["@react-aria/tabs@3.11.1", "", { "dependencies": { "@react-aria/focus": "^3.21.5", "@react-aria/i18n": "^3.12.16", "@react-aria/selection": "^3.27.2", "@react-aria/utils": "^3.33.1", "@react-stately/tabs": "^3.8.9", "@react-types/shared": "^3.33.1", "@react-types/tabs": "^3.3.22", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-3Ppz7yaEDW9L7p9PE9yNOl5caLwNnnLQqI+MX/dwbWlw9HluHS7uIjb21oswNl6UbSxAWyENOka45+KN4Fkh7A=="], + + "@react-aria/tag": ["@react-aria/tag@3.8.1", "", { "dependencies": { "@react-aria/gridlist": "^3.14.4", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/label": "^3.7.25", "@react-aria/selection": "^3.27.2", "@react-aria/utils": "^3.33.1", "@react-stately/list": "^3.13.4", "@react-types/button": "^3.15.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-VonpO++F8afXGDWc9VUxAc2wefyJpp1n9OGpbnB7zmqWiuPwO/RixjUdcH7iJkiC4vADwx9uLnhyD6kcwGV2ig=="], + + "@react-aria/textfield": ["@react-aria/textfield@3.18.5", "", { "dependencies": { "@react-aria/form": "^3.1.5", "@react-aria/interactions": "^3.27.1", "@react-aria/label": "^3.7.25", "@react-aria/utils": "^3.33.1", "@react-stately/form": "^3.2.4", "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.33.1", "@react-types/textfield": "^3.12.8", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ttwVSuwoV3RPaG2k2QzEXKeQNQ3mbdl/2yy6I4Tjrn1ZNkYHfVyJJ26AjenfSmj1kkTQoSAfZ8p+7rZp4n0xoQ=="], + + "@react-aria/toast": ["@react-aria/toast@3.0.11", "", { "dependencies": { "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/landmark": "^3.0.10", "@react-aria/utils": "^3.33.1", "@react-stately/toast": "^3.1.3", "@react-types/button": "^3.15.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-2DjZjBAvm8/CWbnZ6s7LjkYCkULKtjMve6GvhPTq98AthuEDLEiBvM1wa3xdecCRhZyRT1g6DXqVca0EfZ9fJA=="], + + "@react-aria/toggle": ["@react-aria/toggle@3.12.5", "", { "dependencies": { "@react-aria/interactions": "^3.27.1", "@react-aria/utils": "^3.33.1", "@react-stately/toggle": "^3.9.5", "@react-types/checkbox": "^3.10.4", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-XXVFLzcV8fr9mz7y/wfxEAhWvaBZ9jSfhCMuxH2bsivO7nTcMJ1jb4g2xJNwZgne17bMWNc7mKvW5dbsdlI6BA=="], + + "@react-aria/toolbar": ["@react-aria/toolbar@3.0.0-beta.24", "", { "dependencies": { "@react-aria/focus": "^3.21.5", "@react-aria/i18n": "^3.12.16", "@react-aria/utils": "^3.33.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-B2Rmpko7Ghi2RbNfsGdbR7I+RQBDhPGVE4bU3/EwHz+P/vNe5LyGPTeSwqaOMsQTF9lKNCkY8424dVTCr6RUMg=="], + + "@react-aria/tooltip": ["@react-aria/tooltip@3.9.2", "", { "dependencies": { "@react-aria/interactions": "^3.27.1", "@react-aria/utils": "^3.33.1", "@react-stately/tooltip": "^3.5.11", "@react-types/shared": "^3.33.1", "@react-types/tooltip": "^3.5.2", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-VrgkPwHiEnAnBhoQ4W7kfry/RfVuRWrUPaJSp0+wKM6u0gg2tmn7OFRDXTxBAm/omQUguIdIjRWg7sf3zHH82A=="], + + "@react-aria/tree": ["@react-aria/tree@3.1.7", "", { "dependencies": { "@react-aria/gridlist": "^3.14.4", "@react-aria/i18n": "^3.12.16", "@react-aria/selection": "^3.27.2", "@react-aria/utils": "^3.33.1", "@react-stately/tree": "^3.9.6", "@react-types/button": "^3.15.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-C54yH5NmsOFa2Q+cg6B1BPr5KUlU9vLIoBnVrgrH237FRSXQPIbcM4VpmITAHq1VR7w6ayyS1hgTwFxo67ykWQ=="], + + "@react-aria/utils": ["@react-aria/utils@3.33.1", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-stately/flags": "^3.1.2", "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-kIx1Sj6bbAT0pdqCegHuPanR9zrLn5zMRiM7LN12rgRf55S19ptd9g3ncahArifYTRkfEU9VIn+q0HjfMqS9/w=="], + + "@react-aria/virtualizer": ["@react-aria/virtualizer@4.1.13", "", { "dependencies": { "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/utils": "^3.33.1", "@react-stately/virtualizer": "^4.4.6", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-d5KS+p8GXGNRbGPRE/N6jtth3et3KssQIz52h2+CAoAh7C3vvR64kkTaGdeywClvM+fSo8FxJuBrdfQvqC2ktQ=="], + + "@react-aria/visually-hidden": ["@react-aria/visually-hidden@3.8.31", "", { "dependencies": { "@react-aria/interactions": "^3.27.1", "@react-aria/utils": "^3.33.1", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-RTOHHa4n56a9A3criThqFHBifvZoV71+MCkSuNP2cKO662SUWjqKkd0tJt/mBRMEJPkys8K7Eirp6T8Wt5FFRA=="], + "@react-native/assets-registry": ["@react-native/assets-registry@0.81.5", "", {}, "sha512-705B6x/5Kxm1RKRvSv0ADYWm5JOnoiQ1ufW7h8uu2E6G9Of/eE6hP/Ivw3U5jI16ERqZxiKQwk34VJbB0niX9w=="], "@react-native/babel-plugin-codegen": ["@react-native/babel-plugin-codegen@0.81.5", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@react-native/codegen": "0.81.5" } }, "sha512-oF71cIH6je3fSLi6VPjjC3Sgyyn57JLHXs+mHWc9MoCiJJcM4nqsS5J38zv1XQ8d3zOW2JtHro+LF0tagj2bfQ=="], @@ -680,6 +879,184 @@ "@react-navigation/routers": ["@react-navigation/routers@7.5.3", "", { "dependencies": { "nanoid": "^3.3.11" } }, "sha512-1tJHg4KKRJuQ1/EvJxatrMef3NZXEPzwUIUZ3n1yJ2t7Q97siwRtbynRpQG9/69ebbtiZ8W3ScOZF/OmhvM4Rg=="], + "@react-router/dev": ["@react-router/dev@7.12.0", "", { "dependencies": { "@babel/core": "^7.27.7", "@babel/generator": "^7.27.5", "@babel/parser": "^7.27.7", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/preset-typescript": "^7.27.1", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", "@react-router/node": "7.12.0", "@remix-run/node-fetch-server": "^0.9.0", "arg": "^5.0.1", "babel-dead-code-elimination": "^1.0.6", "chokidar": "^4.0.0", "dedent": "^1.5.3", "es-module-lexer": "^1.3.1", "exit-hook": "2.2.1", "isbot": "^5.1.11", "jsesc": "3.0.2", "lodash": "^4.17.21", "p-map": "^7.0.3", "pathe": "^1.1.2", "picocolors": "^1.1.1", "pkg-types": "^2.3.0", "prettier": "^3.6.2", "react-refresh": "^0.14.0", "semver": "^7.3.7", "tinyglobby": "^0.2.14", "valibot": "^1.2.0", "vite-node": "^3.2.2" }, "peerDependencies": { "@react-router/serve": "^7.12.0", "@vitejs/plugin-rsc": "~0.5.7", "react-router": "^7.12.0", "react-server-dom-webpack": "^19.2.3", "typescript": "^5.1.0", "vite": "^5.1.0 || ^6.0.0 || ^7.0.0", "wrangler": "^3.28.2 || ^4.0.0" }, "optionalPeers": ["@react-router/serve", "@vitejs/plugin-rsc", "react-server-dom-webpack", "typescript", "wrangler"], "bin": { "react-router": "bin.js" } }, "sha512-5GpwXgq4pnOVeG7l6ADkCHA1rthJus1q/A3NRYJAIypclUQDYAzg1/fDNjvaKuTSrq+Nr3u6aj2v+oC+47MX6g=="], + + "@react-router/express": ["@react-router/express@7.12.0", "", { "dependencies": { "@react-router/node": "7.12.0" }, "peerDependencies": { "express": "^4.17.1 || ^5", "react-router": "7.12.0", "typescript": "^5.1.0" }, "optionalPeers": ["typescript"] }, "sha512-uAK+zF93M6XauGeXLh/UBh+3HrwiA/9lUS+eChjQ0a5FzjLpsc6ciUqF5oHh3lwWzLU7u7tj4qoeucUn6SInTw=="], + + "@react-router/node": ["@react-router/node@7.12.0", "", { "dependencies": { "@mjackson/node-fetch-server": "^0.2.0" }, "peerDependencies": { "react-router": "7.12.0", "typescript": "^5.1.0" }, "optionalPeers": ["typescript"] }, "sha512-o/t10Cse4LK8kFefqJ8JjC6Ng6YuKD2I87S2AiJs17YAYtXU5W731ZqB73AWyCDd2G14R0dSuqXiASRNK/xLjg=="], + + "@react-router/serve": ["@react-router/serve@7.12.0", "", { "dependencies": { "@mjackson/node-fetch-server": "^0.2.0", "@react-router/express": "7.12.0", "@react-router/node": "7.12.0", "compression": "^1.8.1", "express": "^4.19.2", "get-port": "5.1.1", "morgan": "^1.10.1", "source-map-support": "^0.5.21" }, "peerDependencies": { "react-router": "7.12.0" }, "bin": { "react-router-serve": "bin.js" } }, "sha512-j1ltgU7s3wAwOosZ5oxgHSsmVyK706gY/yIs8qVmC239wQ3zr3eqaXk3TVVLMeRy+eDgPNmgc6oNJv2o328VgA=="], + + "@react-stately/autocomplete": ["@react-stately/autocomplete@3.0.0-beta.4", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-K2Uy7XEdseFvgwRQ8CyrYEHMupjVKEszddOapP8deNz4hntYvT1aRm0m+sKa5Kl/4kvg9c/3NZpQcrky/vRZIg=="], + + "@react-stately/calendar": ["@react-stately/calendar@3.9.3", "", { "dependencies": { "@internationalized/date": "^3.12.0", "@react-stately/utils": "^3.11.0", "@react-types/calendar": "^3.8.3", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-uw7fCZXoypSBBUsVkbNvJMQWTihZReRbyLIGG3o/ZM630N3OCZhb/h4Uxke4pNu7n527H0V1bAnZgAldIzOYqg=="], + + "@react-stately/checkbox": ["@react-stately/checkbox@3.7.5", "", { "dependencies": { "@react-stately/form": "^3.2.4", "@react-stately/utils": "^3.11.0", "@react-types/checkbox": "^3.10.4", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-K5R5ted7AxLB3sDkuVAazUdyRMraFT1imVqij2GuAiOUFvsZvbuocnDuFkBVKojyV3GpqLBvViV8IaCMc4hNIw=="], + + "@react-stately/collections": ["@react-stately/collections@3.12.10", "", { "dependencies": { "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-wmF9VxJDyBujBuQ76vXj2g/+bnnj8fx5DdXgRmyfkkYhPB46+g2qnjbVGEvipo7bJuGxDftCUC4SN7l7xqUWfg=="], + + "@react-stately/color": ["@react-stately/color@3.9.5", "", { "dependencies": { "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-stately/form": "^3.2.4", "@react-stately/numberfield": "^3.11.0", "@react-stately/slider": "^3.7.5", "@react-stately/utils": "^3.11.0", "@react-types/color": "^3.1.4", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-8pZxzXWDRuglzDwyTG7mLw2LQMCHIVNbVc9YmbsxbOjAL+lOqszo60KzyaFKVxeDQczSvrNTHcQZqlbNIC0eyQ=="], + + "@react-stately/combobox": ["@react-stately/combobox@3.13.0", "", { "dependencies": { "@react-stately/collections": "^3.12.10", "@react-stately/form": "^3.2.4", "@react-stately/list": "^3.13.4", "@react-stately/overlays": "^3.6.23", "@react-stately/utils": "^3.11.0", "@react-types/combobox": "^3.14.0", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-dX9g/cK1hjLRjcbWVF6keHxTQDGhKGB2QAgPhWcBmOK3qJv+2dQqsJ6YCGWn/Y2N2acoEseLrAA7+Qe4HWV9cg=="], + + "@react-stately/data": ["@react-stately/data@3.15.2", "", { "dependencies": { "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-BsmeeGgFwOGwo0g9Waprdyt+846n3KhKggZfpEnp5+sC4dE4uW1VIYpdyupMfr3bQcmX123q6TegfNP3eszrUA=="], + + "@react-stately/datepicker": ["@react-stately/datepicker@3.16.1", "", { "dependencies": { "@internationalized/date": "^3.12.0", "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-stately/form": "^3.2.4", "@react-stately/overlays": "^3.6.23", "@react-stately/utils": "^3.11.0", "@react-types/datepicker": "^3.13.5", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-BtAMDvxd1OZxkxjqq5tN5TYmp6Hm8+o3+IDA4qmem2/pfQfVbOZeWS2WitcPBImj4n4T+W1A5+PI7mT/6DUBVg=="], + + "@react-stately/disclosure": ["@react-stately/disclosure@3.0.11", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-/KjB/0HkxGWbhFAPztCP411LUKZCx9k8cKukrlGqrUWyvrcXlmza90j0g/CuxACBoV+DJP9V+4q+8ide0x750A=="], + + "@react-stately/dnd": ["@react-stately/dnd@3.7.4", "", { "dependencies": { "@react-stately/selection": "^3.20.9", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-YD0TVR5JkvTqskc1ouBpVKs6t/QS4RYCIyu8Ug8RgO122iIizuf2pfKnRLjYMdu5lXzBXGaIgd49dvnLzEXHIw=="], + + "@react-stately/flags": ["@react-stately/flags@3.1.2", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg=="], + + "@react-stately/form": ["@react-stately/form@3.2.4", "", { "dependencies": { "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-qNBzun8SbLdgahryhKLqL1eqP+MXY6as82sVXYOOvUYLzgU5uuN8mObxYlxJgMI5akSdQJQV3RzyfVobPRE7Kw=="], + + "@react-stately/grid": ["@react-stately/grid@3.11.9", "", { "dependencies": { "@react-stately/collections": "^3.12.10", "@react-stately/selection": "^3.20.9", "@react-types/grid": "^3.3.8", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-qQY6F+27iZRn30dt0ZOrSetUmbmNJ0pLe9Weuqw3+XDVSuWT+2O/rO1UUYeK+mO0Acjzdv+IWiYbu9RKf2wS9w=="], + + "@react-stately/layout": ["@react-stately/layout@4.6.0", "", { "dependencies": { "@react-stately/collections": "^3.12.10", "@react-stately/table": "^3.15.4", "@react-stately/virtualizer": "^4.4.6", "@react-types/grid": "^3.3.8", "@react-types/shared": "^3.33.1", "@react-types/table": "^3.13.6", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-kBenEsP03nh5rKgfqlVMPcoKTJv0v92CTvrAb5gYY8t9g8LOwzdL89Yannq7f5xv8LFck/MmRQlotpMt2InETg=="], + + "@react-stately/list": ["@react-stately/list@3.13.4", "", { "dependencies": { "@react-stately/collections": "^3.12.10", "@react-stately/selection": "^3.20.9", "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-HHYSjA9VG7FPSAtpXAjQyM/V7qFHWGg88WmMrDt5QDlTBexwPuH0oFLnW0qaVZpAIxuWIsutZfxRAnme/NhhAA=="], + + "@react-stately/menu": ["@react-stately/menu@3.9.11", "", { "dependencies": { "@react-stately/overlays": "^3.6.23", "@react-types/menu": "^3.10.7", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-vYkpO9uV2OUecsIkrOc+Urdl/s1xw/ibNH/UXsp4PtjMnS6mK9q2kXZTM3WvMAKoh12iveUO+YkYCZQshmFLHQ=="], + + "@react-stately/numberfield": ["@react-stately/numberfield@3.11.0", "", { "dependencies": { "@internationalized/number": "^3.6.5", "@react-stately/form": "^3.2.4", "@react-stately/utils": "^3.11.0", "@react-types/numberfield": "^3.8.18", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-rxfC047vL0LP4tanjinfjKAriAvdVL57Um5RUL5nHML8IOWCB3TBxegQkJ6to6goScC/oZhd0/Y2LSaiRuKbNw=="], + + "@react-stately/overlays": ["@react-stately/overlays@3.6.23", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@react-types/overlays": "^3.9.4", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-RzWxots9A6gAzQMP4s8hOAHV7SbJRTFSlQbb6ly1nkWQXacOSZSFNGsKOaS0eIatfNPlNnW4NIkgtGws5UYzfw=="], + + "@react-stately/radio": ["@react-stately/radio@3.11.5", "", { "dependencies": { "@react-stately/form": "^3.2.4", "@react-stately/utils": "^3.11.0", "@react-types/radio": "^3.9.4", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-QxA779S4ea5icQ0ja7CeiNzY1cj7c9G9TN0m7maAIGiTSinZl2Ia8naZJ0XcbRRp+LBll7RFEdekne15TjvS/w=="], + + "@react-stately/searchfield": ["@react-stately/searchfield@3.5.19", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@react-types/searchfield": "^3.6.8", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-URllgjbtTQEaOCfddbHpJSPKOzG3pE3ajQHJ7Df8qCoHTjKfL6hnm/vp7X5sxPaZaN7VLZ5kAQxTE8hpo6s0+A=="], + + "@react-stately/select": ["@react-stately/select@3.9.2", "", { "dependencies": { "@react-stately/form": "^3.2.4", "@react-stately/list": "^3.13.4", "@react-stately/overlays": "^3.6.23", "@react-stately/utils": "^3.11.0", "@react-types/select": "^3.12.2", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-oWn0bijuusp8YI7FRM/wgtPVqiIrgU/ZUfLKe/qJUmT8D+JFaMAJnyrAzKpx98TrgamgtXynF78ccpopPhgrKQ=="], + + "@react-stately/selection": ["@react-stately/selection@3.20.9", "", { "dependencies": { "@react-stately/collections": "^3.12.10", "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-RhxRR5Wovg9EVi3pq7gBPK2BoKmP59tOXDMh2r1PbnGevg/7TNdR67DCEblcmXwHuBNS46ELfKdd0XGHqmS8nQ=="], + + "@react-stately/slider": ["@react-stately/slider@3.7.5", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.33.1", "@react-types/slider": "^3.8.4", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-OrQMNR5xamLYH52TXtvTgyw3EMwv+JI+1istQgEj1CHBjC9eZZqn5iNCN20tzm+uDPTH0EIGULFjjPIumqYUQg=="], + + "@react-stately/table": ["@react-stately/table@3.15.4", "", { "dependencies": { "@react-stately/collections": "^3.12.10", "@react-stately/flags": "^3.1.2", "@react-stately/grid": "^3.11.9", "@react-stately/selection": "^3.20.9", "@react-stately/utils": "^3.11.0", "@react-types/grid": "^3.3.8", "@react-types/shared": "^3.33.1", "@react-types/table": "^3.13.6", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-fGaNyw3wv7JgRCNzgyDzpaaTFuSy5f4Qekch4UheMXDJX7dOeaMhUXeOfvnXCVg+BGM4ey/D82RvDOGvPy1Nww=="], + + "@react-stately/tabs": ["@react-stately/tabs@3.8.9", "", { "dependencies": { "@react-stately/list": "^3.13.4", "@react-types/shared": "^3.33.1", "@react-types/tabs": "^3.3.22", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-AQ4Xrn6YzIolaVShCV9cnwOjBKPAOGP/PTp7wpSEtQbQ0HZzUDG2RG/M4baMeUB2jZ33b7ifXyPcK78o0uOftg=="], + + "@react-stately/toast": ["@react-stately/toast@3.1.3", "", { "dependencies": { "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-mT9QJKmD523lqFpOp0VWZ6QHZENFK7HrodnNJDVc7g616s5GNmemdlkITV43fSY3tHeThCVvPu+Uzh7RvQ9mpQ=="], + + "@react-stately/toggle": ["@react-stately/toggle@3.9.5", "", { "dependencies": { "@react-stately/utils": "^3.11.0", "@react-types/checkbox": "^3.10.4", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-PVzXc788q3jH98Kvw1LYDL+wpVC14dCEKjOku8cSaqhEof6AJGaLR9yq+EF1yYSL2dxI6z8ghc0OozY8WrcFcA=="], + + "@react-stately/tooltip": ["@react-stately/tooltip@3.5.11", "", { "dependencies": { "@react-stately/overlays": "^3.6.23", "@react-types/tooltip": "^3.5.2", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-o8PnFXbvDCuVZ4Ht9ahfS6KHwIZjXopvoQ2vUPxv920irdgWEeC+4omgDOnJ/xFvcpmmJAmSsrQsTQrTguDUQA=="], + + "@react-stately/tree": ["@react-stately/tree@3.9.6", "", { "dependencies": { "@react-stately/collections": "^3.12.10", "@react-stately/selection": "^3.20.9", "@react-stately/utils": "^3.11.0", "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-JCuhGyX2A+PAMsx2pRSwArfqNFZJ9JSPkDaOQJS8MFPAsBe5HemvXsdmv9aBIMzlbCYcVq6EsrFnzbVVTBt/6w=="], + + "@react-stately/utils": ["@react-stately/utils@3.11.0", "", { "dependencies": { "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-8LZpYowJ9eZmmYLpudbo/eclIRnbhWIJZ994ncmlKlouNzKohtM8qTC6B1w1pwUbiwGdUoyzLuQbeaIor5Dvcw=="], + + "@react-stately/virtualizer": ["@react-stately/virtualizer@4.4.6", "", { "dependencies": { "@react-types/shared": "^3.33.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-9SfXgLFB61/8SXNLfg5ARx9jAK4m03Aw6/Cg8mdZN24SYarL4TKNRpfw8K/HHVU/bi6WHSJypk6Z/z19o/ztrg=="], + + "@react-types/autocomplete": ["@react-types/autocomplete@3.0.0-alpha.38", "", { "dependencies": { "@react-types/combobox": "^3.14.0", "@react-types/searchfield": "^3.6.8", "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-0XrlVC8drzcrCNzybbkZdLcTofXEzBsHuaFevt5awW1J0xBJ+SMLIQMDeUYrvKjjwXUBlCtjJJpOvitGt4Z+KA=="], + + "@react-types/breadcrumbs": ["@react-types/breadcrumbs@3.7.19", "", { "dependencies": { "@react-types/link": "^3.6.7", "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-AnkyYYmzaM2QFi/N0P/kQLM8tHOyFi7p397B/jEMucXDfwMw5Ny1ObCXeIEqbh8KrIa2Xp8SxmQlCV+8FPs4LA=="], + + "@react-types/button": ["@react-types/button@3.15.1", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-M1HtsKreJkigCnqceuIT22hDJBSStbPimnpmQmsl7SNyqCFY3+DHS7y/Sl3GvqCkzxF7j9UTL0dG38lGQ3K4xQ=="], + + "@react-types/calendar": ["@react-types/calendar@3.8.3", "", { "dependencies": { "@internationalized/date": "^3.12.0", "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-fpH6WNXotzH0TlKHXXxtjeLZ7ko0sbyHmwDAwmDFyP7T0Iwn1YQZ+lhceLifvynlxuOgX6oBItyUKmkHQ0FouQ=="], + + "@react-types/checkbox": ["@react-types/checkbox@3.10.4", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-tYCG0Pd1usEz5hjvBEYcqcA0youx930Rss1QBIse9TgMekA1c2WmPDNupYV8phpO8Zuej3DL1WfBeXcgavK8aw=="], + + "@react-types/color": ["@react-types/color@3.1.4", "", { "dependencies": { "@react-types/shared": "^3.33.1", "@react-types/slider": "^3.8.4" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-s+Xj4pvNBlJPpQ1Gr7bO1j4/tuwMUfdS9xIVFuiW5RvDsSybKTUJ/gqPzTxms94VDCRhLFocVn2STNdD2Erf6A=="], + + "@react-types/combobox": ["@react-types/combobox@3.14.0", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-zmSSS7BcCOD8rGT8eGbVy7UlL5qq1vm88fFn4WgFe+lfK33ne+E7yTzTxcPY2TCGSo5fY6xMj3OG79FfVNGbSg=="], + + "@react-types/datepicker": ["@react-types/datepicker@3.13.5", "", { "dependencies": { "@internationalized/date": "^3.12.0", "@react-types/calendar": "^3.8.3", "@react-types/overlays": "^3.9.4", "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-j28Vz+xvbb4bj7+9Xbpc4WTvSitlBvt7YEaEGM/8ZQ5g4Jr85H2KwkmDwjzmMN2r6VMQMMYq9JEcemq5wWpfUQ=="], + + "@react-types/dialog": ["@react-types/dialog@3.5.24", "", { "dependencies": { "@react-types/overlays": "^3.9.4", "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-NFurEP/zV0dA/41422lV1t+0oh6f/13n+VmLHZG8R13m1J3ql/kAXZ49zBSqkqANBO1ojyugWebk99IiR4pYOw=="], + + "@react-types/form": ["@react-types/form@3.7.18", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-0sBJW0+I9nJcF4SmKrYFEWAlehiebSTy7xqriqAXtqfTEdvzAYLGaAK2/7gx+wlNZeDTdW43CDRJ4XAhyhBqnw=="], + + "@react-types/grid": ["@react-types/grid@3.3.8", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-zJvXH8gc1e1VH2H3LRnHH/W2HIkLkZMH3Cu5pLcj0vDuLBSWpcr3Ikh3jZ+VUOZF0G1Jt1lO8pKIaqFzDLNmLQ=="], + + "@react-types/link": ["@react-types/link@3.6.7", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-1apXCFJgMC1uydc2KNENrps1qR642FqDpwlNWe254UTpRZn/hEZhA6ImVr8WhomfLJu672WyWA0rUOv4HT+/pQ=="], + + "@react-types/listbox": ["@react-types/listbox@3.7.6", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-335NYElKEByXMalAmeRPyulKIDd2cjOCQhLwvv2BtxO5zaJfZnBbhZs+XPd9zwU6YomyOxODKSHrwbNDx+Jf3w=="], + + "@react-types/menu": ["@react-types/menu@3.10.7", "", { "dependencies": { "@react-types/overlays": "^3.9.4", "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-+p7ixZdvPDJZhisqdtWiiuJ9pteNfK5i19NB6wzAw5XkljbEzodNhwLv6rI96DY5XpbFso2kcjw7IWi+rAAGGQ=="], + + "@react-types/meter": ["@react-types/meter@3.4.15", "", { "dependencies": { "@react-types/progress": "^3.5.18" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-9WjNphhLLM+TA4Ev1y2MkpugJ5JjTXseHh7ZWWx2veq5DrXMZYclkRpfUrUdLVKvaBIPQCgpQIj0TcQi+quR9A=="], + + "@react-types/numberfield": ["@react-types/numberfield@3.8.18", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-nLzk7YAG9yAUtSv+9R8LgCHsu8hJq8/A+m1KsKxvc8WmNJjIujSFgWvT21MWBiUgPBzJKGzAqpMDDa087mltJQ=="], + + "@react-types/overlays": ["@react-types/overlays@3.9.4", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-7Z9HaebMFyYBqtv3XVNHEmVkm7AiYviV7gv0c98elEN2Co+eQcKFGvwBM9Gy/lV57zlTqFX1EX/SAqkMEbCLOA=="], + + "@react-types/progress": ["@react-types/progress@3.5.18", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-mKeQn+KrHr1y0/k7KtrbeDGDaERH6i4f6yBwj/ZtYDCTNKMO3tPHJY6nzF0w/KKZLplIO+BjUbHXc2RVm8ovwQ=="], + + "@react-types/radio": ["@react-types/radio@3.9.4", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-TkMRY3sA1PcFZhhclu4IUzUTIir6MzNJj8h6WT8vO6Nug2kXJ72qigugVFBWJSE472mltduOErEAo0rtAYWbQA=="], + + "@react-types/searchfield": ["@react-types/searchfield@3.6.8", "", { "dependencies": { "@react-types/shared": "^3.33.1", "@react-types/textfield": "^3.12.8" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-M2p7OVdMTMDmlBcHd4N2uCBwg3uJSNM4lmEyf09YD44N5wDAI0yogk52QBwsnhpe+i2s65UwCYgunB+QltRX8A=="], + + "@react-types/select": ["@react-types/select@3.12.2", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-AseOjfr3qM1W1qIWcbAe6NFpwZluVeQX/dmu9BYxjcnVvtoBLPMbE5zX/BPbv+N5eFYjoMyj7Ug9dqnI+LrlGw=="], + + "@react-types/shared": ["@react-types/shared@3.33.1", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-oJHtjvLG43VjwemQDadlR5g/8VepK56B/xKO2XORPHt9zlW6IZs3tZrYlvH29BMvoqC7RtE7E5UjgbnbFtDGag=="], + + "@react-types/slider": ["@react-types/slider@3.8.4", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-C+xFVvfKREai9S/ekBDCVaGPOQYkNUAsQhjQnNsUAATaox4I6IYLmcIgLmljpMQWqAe+gZiWsIwacRYMez2Tew=="], + + "@react-types/switch": ["@react-types/switch@3.5.17", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-2GTPJvBCYI8YZ3oerHtXg+qikabIXCMJ6C2wcIJ5Xn0k9XOovowghfJi10OPB2GGyOiLBU74CczP5nx8adG90Q=="], + + "@react-types/table": ["@react-types/table@3.13.6", "", { "dependencies": { "@react-types/grid": "^3.3.8", "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-eluL+iFfnVmFm7OSZrrFG9AUjw+tcv898zbv+NsZACa8oXG1v9AimhZfd+Mo8q/5+sX/9hguWNXFkSvmTjuVPQ=="], + + "@react-types/tabs": ["@react-types/tabs@3.3.22", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-HGwLD9dA3k3AGfRKGFBhNgxU9/LyRmxN0kxVj1ghA4L9S/qTOzS6GhrGNkGzsGxyVLV4JN8MLxjWN2o9QHnLEg=="], + + "@react-types/textfield": ["@react-types/textfield@3.12.8", "", { "dependencies": { "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-wt6FcuE5AyntxsnPika/h3nf/DPmeAVbI018L9o6h+B/IL4sMWWdx663wx2KOOeHH8ejKGZQNPLhUKs4s1mVQA=="], + + "@react-types/tooltip": ["@react-types/tooltip@3.5.2", "", { "dependencies": { "@react-types/overlays": "^3.9.4", "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-FvSuZ2WP08NEWefrpCdBYpEEZh/5TvqvGjq0wqGzWg2OPwpc14HjD8aE7I3MOuylXkD4MSlMjl7J4DlvlcCs3Q=="], + + "@remix-run/node-fetch-server": ["@remix-run/node-fetch-server@0.9.0", "", {}, "sha512-SoLMv7dbH+njWzXnOY6fI08dFMI5+/dQ+vY3n8RnnbdG7MdJEgiP28Xj/xWlnRnED/aB6SFw56Zop+LbmaaKqA=="], + + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.59.0", "", { "os": "android", "cpu": "arm" }, "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.59.0", "", { "os": "android", "cpu": "arm64" }, "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.59.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.59.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.59.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.59.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.59.0", "", { "os": "linux", "cpu": "arm" }, "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.59.0", "", { "os": "linux", "cpu": "arm" }, "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.59.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.59.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA=="], + + "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.59.0", "", { "os": "linux", "cpu": "none" }, "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg=="], + + "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.59.0", "", { "os": "linux", "cpu": "none" }, "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q=="], + + "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.59.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA=="], + + "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.59.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.59.0", "", { "os": "linux", "cpu": "none" }, "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg=="], + + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.59.0", "", { "os": "linux", "cpu": "none" }, "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.59.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.59.0", "", { "os": "linux", "cpu": "x64" }, "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.59.0", "", { "os": "linux", "cpu": "x64" }, "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg=="], + + "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.59.0", "", { "os": "openbsd", "cpu": "x64" }, "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ=="], + + "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.59.0", "", { "os": "none", "cpu": "arm64" }, "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.59.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.59.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA=="], + + "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.59.0", "", { "os": "win32", "cpu": "x64" }, "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.59.0", "", { "os": "win32", "cpu": "x64" }, "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA=="], + "@rtsao/scc": ["@rtsao/scc@1.1.0", "", {}, "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g=="], "@segment/ajv-human-errors": ["@segment/ajv-human-errors@2.15.0", "", { "peerDependencies": { "ajv": "^8.0.0" } }, "sha512-tgeMMuYYJt3Aar5IIk3kyfL9zMvGsv5d7KsVT/2auri+hEH/L2M1i8X67ne4JjMWZqENYIGY1WuI4oPEL1H/xA=="], @@ -698,8 +1075,42 @@ "@sinonjs/fake-timers": ["@sinonjs/fake-timers@10.3.0", "", { "dependencies": { "@sinonjs/commons": "^3.0.0" } }, "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA=="], + "@stablelib/base64": ["@stablelib/base64@1.0.1", "", {}, "sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ=="], + "@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], + "@swc/helpers": ["@swc/helpers@0.5.19", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA=="], + + "@tailwindcss/node": ["@tailwindcss/node@4.2.1", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "^5.19.0", "jiti": "^2.6.1", "lightningcss": "1.31.1", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.2.1" } }, "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg=="], + + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.2.1", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.2.1", "@tailwindcss/oxide-darwin-arm64": "4.2.1", "@tailwindcss/oxide-darwin-x64": "4.2.1", "@tailwindcss/oxide-freebsd-x64": "4.2.1", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", "@tailwindcss/oxide-linux-x64-musl": "4.2.1", "@tailwindcss/oxide-wasm32-wasi": "4.2.1", "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" } }, "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw=="], + + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.2.1", "", { "os": "android", "cpu": "arm64" }, "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg=="], + + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.2.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw=="], + + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.2.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw=="], + + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.2.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA=="], + + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.2.1", "", { "os": "linux", "cpu": "arm" }, "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw=="], + + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.2.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ=="], + + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.2.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ=="], + + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.2.1", "", { "os": "linux", "cpu": "x64" }, "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g=="], + + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.2.1", "", { "os": "linux", "cpu": "x64" }, "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g=="], + + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.2.1", "", { "dependencies": { "@emnapi/core": "^1.8.1", "@emnapi/runtime": "^1.8.1", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.1.1", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q=="], + + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.2.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA=="], + + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.2.1", "", { "os": "win32", "cpu": "x64" }, "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ=="], + + "@tailwindcss/vite": ["@tailwindcss/vite@4.2.1", "", { "dependencies": { "@tailwindcss/node": "4.2.1", "@tailwindcss/oxide": "4.2.1", "tailwindcss": "4.2.1" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7" } }, "sha512-TBf2sJjYeb28jD2U/OhwdW0bbOsxkWPwQ7SrqGf9sVcoYwZj7rkXljroBO9wKBut9XnmQLXanuDUeqQK0lGg/w=="], + "@tsconfig/node10": ["@tsconfig/node10@1.0.12", "", {}, "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ=="], "@tsconfig/node12": ["@tsconfig/node12@1.0.11", "", {}, "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag=="], @@ -724,12 +1135,18 @@ "@types/cli-progress": ["@types/cli-progress@3.11.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA=="], + "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="], + "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + "@types/estree-jsx": ["@types/estree-jsx@1.0.5", "", { "dependencies": { "@types/estree": "*" } }, "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg=="], + "@types/graceful-fs": ["@types/graceful-fs@4.1.9", "", { "dependencies": { "@types/node": "*" } }, "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ=="], "@types/hammerjs": ["@types/hammerjs@2.0.46", "", {}, "sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw=="], + "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="], + "@types/istanbul-lib-coverage": ["@types/istanbul-lib-coverage@2.0.6", "", {}, "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w=="], "@types/istanbul-lib-report": ["@types/istanbul-lib-report@3.0.3", "", { "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA=="], @@ -740,14 +1157,22 @@ "@types/json5": ["@types/json5@0.0.29", "", {}, "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="], - "@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="], + + "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], + + "@types/node": ["@types/node@22.19.13", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-akNQMv0wW5uyRpD2v2IEyRSZiR+BeGuoB6L310EgGObO44HSMNT8z1xzio28V8qOrgYaopIDNA18YgdXd+qTiw=="], "@types/pg": ["@types/pg@8.16.0", "", { "dependencies": { "@types/node": "*", "pg-protocol": "*", "pg-types": "^2.2.0" } }, "sha512-RmhMd/wD+CF8Dfo+cVIy3RR5cl8CyfXQ0tGgW6XBL8L4LM/UTEbNXYRbLwU6w+CgrKBNbrQWt4FUtTfaU5jSYQ=="], "@types/react": ["@types/react@19.1.17", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-Qec1E3mhALmaspIrhWt9jkQMNdw6bReVu64mjvhbhq2NFPftLPVr+l1SZgmw/66WwBNpDh7ao5AT6gF5v41PFA=="], + "@types/react-dom": ["@types/react-dom@19.2.3", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="], + "@types/stack-utils": ["@types/stack-utils@2.0.3", "", {}, "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw=="], + "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], + "@types/yargs": ["@types/yargs@17.0.35", "", { "dependencies": { "@types/yargs-parser": "*" } }, "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg=="], "@types/yargs-parser": ["@types/yargs-parser@21.0.3", "", {}, "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ=="], @@ -862,6 +1287,8 @@ "array-buffer-byte-length": ["array-buffer-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "is-array-buffer": "^3.0.5" } }, "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw=="], + "array-flatten": ["array-flatten@1.1.1", "", {}, "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="], + "array-includes": ["array-includes@3.1.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-abstract": "^1.24.0", "es-object-atoms": "^1.1.1", "get-intrinsic": "^1.3.0", "is-string": "^1.1.1", "math-intrinsics": "^1.1.0" } }, "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ=="], "array-union": ["array-union@2.1.0", "", {}, "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="], @@ -898,6 +1325,8 @@ "b4a": ["b4a@1.7.4", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-u20zJLDaSWpxaZ+zaAkEIB2dZZ1o+DF4T/MRbmsvGp9nletHOyiai19OzX1fF8xUBYsO1bPXxODvcd0978pnug=="], + "babel-dead-code-elimination": ["babel-dead-code-elimination@1.0.12", "", { "dependencies": { "@babel/core": "^7.23.7", "@babel/parser": "^7.23.6", "@babel/traverse": "^7.23.7", "@babel/types": "^7.23.6" } }, "sha512-GERT7L2TiYcYDtYk1IpD+ASAYXjKbLTDPhBtYj7X1NuRMDTMtAx9kyBenub1Ev41lo91OHCKdmP+egTDmfQ7Ig=="], + "babel-jest": ["babel-jest@29.7.0", "", { "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.6.3", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "peerDependencies": { "@babel/core": "^7.8.0" } }, "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg=="], "babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], @@ -924,6 +1353,8 @@ "babel-preset-jest": ["babel-preset-jest@29.6.3", "", { "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA=="], + "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="], + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], "bare-events": ["bare-events@2.8.2", "", { "peerDependencies": { "bare-abort-controller": "*" }, "optionalPeers": ["bare-abort-controller"] }, "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ=="], @@ -934,6 +1365,8 @@ "baseline-browser-mapping": ["baseline-browser-mapping@2.9.19", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg=="], + "basic-auth": ["basic-auth@2.0.1", "", { "dependencies": { "safe-buffer": "5.1.2" } }, "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg=="], + "better-auth": ["better-auth@1.4.18", "", { "dependencies": { "@better-auth/core": "1.4.18", "@better-auth/telemetry": "1.4.18", "@better-auth/utils": "0.3.0", "@better-fetch/fetch": "1.1.21", "@noble/ciphers": "^2.0.0", "@noble/hashes": "^2.0.0", "better-call": "1.1.8", "defu": "^6.1.4", "jose": "^6.1.0", "kysely": "^0.28.5", "nanostores": "^1.0.1", "zod": "^4.3.5" }, "peerDependencies": { "@lynx-js/react": "*", "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", "@sveltejs/kit": "^2.0.0", "@tanstack/react-start": "^1.0.0", "@tanstack/solid-start": "^1.0.0", "better-sqlite3": "^12.0.0", "drizzle-kit": ">=0.31.4", "drizzle-orm": ">=0.41.0", "mongodb": "^6.0.0 || ^7.0.0", "mysql2": "^3.0.0", "next": "^14.0.0 || ^15.0.0 || ^16.0.0", "pg": "^8.0.0", "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0", "solid-js": "^1.0.0", "svelte": "^4.0.0 || ^5.0.0", "vitest": "^2.0.0 || ^3.0.0 || ^4.0.0", "vue": "^3.0.0" }, "optionalPeers": ["@lynx-js/react", "@prisma/client", "@sveltejs/kit", "@tanstack/react-start", "@tanstack/solid-start", "better-sqlite3", "drizzle-kit", "drizzle-orm", "mongodb", "mysql2", "next", "pg", "prisma", "react", "react-dom", "solid-js", "svelte", "vitest", "vue"] }, "sha512-bnyifLWBPcYVltH3RhS7CM62MoelEqC6Q+GnZwfiDWNfepXoQZBjEvn4urcERC7NTKgKq5zNBM8rvPvRBa6xcg=="], "better-call": ["better-call@1.1.8", "", { "dependencies": { "@better-auth/utils": "^0.3.0", "@better-fetch/fetch": "^1.1.4", "rou3": "^0.7.10", "set-cookie-parser": "^2.7.1" }, "peerDependencies": { "zod": "^4.0.0" }, "optionalPeers": ["zod"] }, "sha512-XMQ2rs6FNXasGNfMjzbyroSwKwYbZ/T3IxruSS6U2MJRsSYh3wYtG3o6H00ZlKZ/C/UPOAD97tqgQJNsxyeTXw=="], @@ -944,6 +1377,8 @@ "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], + "body-parser": ["body-parser@1.20.4", "", { "dependencies": { "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "~1.2.0", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "on-finished": "~2.4.1", "qs": "~6.14.0", "raw-body": "~2.5.3", "type-is": "~1.6.18", "unpipe": "~1.0.0" } }, "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA=="], + "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], "bplist-creator": ["bplist-creator@0.1.0", "", { "dependencies": { "stream-buffers": "2.2.x" } }, "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg=="], @@ -968,6 +1403,8 @@ "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], + "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], + "call-bind": ["call-bind@1.0.8", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.2" } }, "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww=="], "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], @@ -984,11 +1421,21 @@ "cardinal": ["cardinal@2.1.1", "", { "dependencies": { "ansicolors": "~0.3.2", "redeyed": "~2.1.0" }, "bin": { "cdl": "./bin/cdl.js" } }, "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw=="], + "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="], + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="], + + "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="], + + "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="], + + "character-reference-invalid": ["character-reference-invalid@2.0.1", "", {}, "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="], + "charenc": ["charenc@0.0.2", "", {}, "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="], - "chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], + "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], "chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="], @@ -1012,6 +1459,8 @@ "clone": ["clone@1.0.4", "", {}, "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="], + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + "color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="], "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], @@ -1022,6 +1471,8 @@ "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], + "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="], + "commander": ["commander@12.1.0", "", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="], "component-type": ["component-type@1.2.2", "", {}, "sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA=="], @@ -1032,12 +1483,20 @@ "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + "confbox": ["confbox@0.2.4", "", {}, "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ=="], + "connect": ["connect@3.7.0", "", { "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.0.1" } }, "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ=="], + "content-disposition": ["content-disposition@0.5.4", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ=="], + "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "cookie": ["cookie@1.1.1", "", {}, "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ=="], + + "cookie-signature": ["cookie-signature@1.0.7", "", {}, "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA=="], + "core-js-compat": ["core-js-compat@3.48.0", "", { "dependencies": { "browserslist": "^4.28.1" } }, "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q=="], "create-require": ["create-require@1.1.1", "", {}, "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="], @@ -1072,8 +1531,14 @@ "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + "decimal.js": ["decimal.js@10.6.0", "", {}, "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg=="], + + "decode-named-character-reference": ["decode-named-character-reference@1.3.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q=="], + "decode-uri-component": ["decode-uri-component@0.2.2", "", {}, "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ=="], + "dedent": ["dedent@1.7.2", "", { "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, "optionalPeers": ["babel-plugin-macros"] }, "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA=="], + "deep-extend": ["deep-extend@0.6.0", "", {}, "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="], "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], @@ -1094,12 +1559,16 @@ "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], + "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], + "destroy": ["destroy@1.2.0", "", {}, "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="], "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], + "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="], + "didyoumean": ["didyoumean@1.2.2", "", {}, "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="], "diff": ["diff@7.0.0", "", {}, "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw=="], @@ -1142,6 +1611,8 @@ "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], + "enhanced-resolve": ["enhanced-resolve@5.20.0", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.0" } }, "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ=="], + "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], "env-editor": ["env-editor@0.4.2", "", {}, "sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA=="], @@ -1166,6 +1637,8 @@ "es-iterator-helpers": ["es-iterator-helpers@1.2.2", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-abstract": "^1.24.1", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.1.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.3.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", "has-proto": "^1.2.0", "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", "iterator.prototype": "^1.1.5", "safe-array-concat": "^1.1.3" } }, "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w=="], + "es-module-lexer": ["es-module-lexer@1.7.0", "", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="], + "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], @@ -1174,6 +1647,8 @@ "es-to-primitive": ["es-to-primitive@1.3.0", "", { "dependencies": { "is-callable": "^1.2.7", "is-date-object": "^1.0.5", "is-symbol": "^1.0.4" } }, "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g=="], + "esbuild": ["esbuild@0.27.3", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.3", "@esbuild/android-arm": "0.27.3", "@esbuild/android-arm64": "0.27.3", "@esbuild/android-x64": "0.27.3", "@esbuild/darwin-arm64": "0.27.3", "@esbuild/darwin-x64": "0.27.3", "@esbuild/freebsd-arm64": "0.27.3", "@esbuild/freebsd-x64": "0.27.3", "@esbuild/linux-arm": "0.27.3", "@esbuild/linux-arm64": "0.27.3", "@esbuild/linux-ia32": "0.27.3", "@esbuild/linux-loong64": "0.27.3", "@esbuild/linux-mips64el": "0.27.3", "@esbuild/linux-ppc64": "0.27.3", "@esbuild/linux-riscv64": "0.27.3", "@esbuild/linux-s390x": "0.27.3", "@esbuild/linux-x64": "0.27.3", "@esbuild/netbsd-arm64": "0.27.3", "@esbuild/netbsd-x64": "0.27.3", "@esbuild/openbsd-arm64": "0.27.3", "@esbuild/openbsd-x64": "0.27.3", "@esbuild/openharmony-arm64": "0.27.3", "@esbuild/sunos-x64": "0.27.3", "@esbuild/win32-arm64": "0.27.3", "@esbuild/win32-ia32": "0.27.3", "@esbuild/win32-x64": "0.27.3" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg=="], + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], @@ -1212,6 +1687,8 @@ "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], + "estree-util-is-identifier-name": ["estree-util-is-identifier-name@3.0.0", "", {}, "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg=="], + "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], @@ -1222,6 +1699,8 @@ "exec-async": ["exec-async@2.2.0", "", {}, "sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw=="], + "exit-hook": ["exit-hook@2.2.1", "", {}, "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw=="], + "expo": ["expo@54.0.33", "", { "dependencies": { "@babel/runtime": "^7.20.0", "@expo/cli": "54.0.23", "@expo/config": "~12.0.13", "@expo/config-plugins": "~54.0.4", "@expo/devtools": "0.1.8", "@expo/fingerprint": "0.15.4", "@expo/metro": "~54.2.0", "@expo/metro-config": "54.0.14", "@expo/vector-icons": "^15.0.3", "@ungap/structured-clone": "^1.3.0", "babel-preset-expo": "~54.0.10", "expo-asset": "~12.0.12", "expo-constants": "~18.0.13", "expo-file-system": "~19.0.21", "expo-font": "~14.0.11", "expo-keep-awake": "~15.0.8", "expo-modules-autolinking": "3.0.24", "expo-modules-core": "3.0.29", "pretty-format": "^29.7.0", "react-refresh": "^0.14.2", "whatwg-url-without-unicode": "8.0.0-3" }, "peerDependencies": { "@expo/dom-webview": "*", "@expo/metro-runtime": "*", "react": "*", "react-native": "*", "react-native-webview": "*" }, "optionalPeers": ["@expo/dom-webview", "@expo/metro-runtime", "react-native-webview"], "bin": { "expo": "bin/cli", "fingerprint": "bin/fingerprint", "expo-modules-autolinking": "bin/autolinking" } }, "sha512-3yOEfAKqo+gqHcV8vKcnq0uA5zxlohnhA3fu4G43likN8ct5ZZ3LjAh9wDdKteEkoad3tFPvwxmXW711S5OHUw=="], "expo-asset": ["expo-asset@12.0.12", "", { "dependencies": { "@expo/image-utils": "^0.8.8", "expo-constants": "~18.0.12" }, "peerDependencies": { "expo": "*", "react": "*", "react-native": "*" } }, "sha512-CsXFCQbx2fElSMn0lyTdRIyKlSXOal6ilLJd+yeZ6xaC7I9AICQgscY5nj0QcwgA+KYYCCEQEBndMsmj7drOWQ=="], @@ -1276,6 +1755,12 @@ "exponential-backoff": ["exponential-backoff@3.1.3", "", {}, "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA=="], + "express": ["express@4.22.1", "", { "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "~1.20.3", "content-disposition": "~0.5.4", "content-type": "~1.0.4", "cookie": "~0.7.1", "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "~1.3.1", "fresh": "~0.5.2", "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "~2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "~0.19.0", "serve-static": "~1.16.2", "setprototypeof": "1.2.0", "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" } }, "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g=="], + + "exsolve": ["exsolve@1.0.8", "", {}, "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA=="], + + "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="], @@ -1286,6 +1771,8 @@ "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + "fast-sha256": ["fast-sha256@1.3.0", "", {}, "sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ=="], + "fastq": ["fastq@1.20.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw=="], "fb-watchman": ["fb-watchman@2.0.2", "", { "dependencies": { "bser": "2.1.1" } }, "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA=="], @@ -1308,7 +1795,7 @@ "filter-obj": ["filter-obj@1.1.0", "", {}, "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ=="], - "finalhandler": ["finalhandler@1.1.2", "", { "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" } }, "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA=="], + "finalhandler": ["finalhandler@1.3.2", "", { "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "~2.4.1", "parseurl": "~1.3.3", "statuses": "~2.0.2", "unpipe": "~1.0.0" } }, "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg=="], "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], @@ -1326,6 +1813,10 @@ "form-data": ["form-data@4.0.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w=="], + "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], + + "framer-motion": ["framer-motion@12.35.0", "", { "dependencies": { "motion-dom": "^12.35.0", "motion-utils": "^12.29.2", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-w8hghCMQ4oq10j6aZh3U2yeEQv5K69O/seDI/41PK4HtgkLrcBovUNc0ayBC3UyyU7V1mrY2yLzvYdWJX9pGZQ=="], + "freeport-async": ["freeport-async@2.0.0", "", {}, "sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ=="], "fresh": ["fresh@0.5.2", "", {}, "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="], @@ -1354,6 +1845,8 @@ "get-package-type": ["get-package-type@0.1.0", "", {}, "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q=="], + "get-port": ["get-port@5.1.1", "", {}, "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ=="], + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], "get-symbol-description": ["get-symbol-description@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6" } }, "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg=="], @@ -1374,6 +1867,8 @@ "globby": ["globby@11.1.0", "", { "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.2.9", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" } }, "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g=="], + "globrex": ["globrex@0.1.2", "", {}, "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg=="], + "golden-fleece": ["golden-fleece@1.0.9", "", {}, "sha512-YSwLaGMOgSBx9roJlNLL12c+FRiw7VECphinc6mGucphc/ZxTHgdEz6gmJqH6NOzYEd/yr64hwjom5pZ+tJVpg=="], "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], @@ -1400,6 +1895,22 @@ "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + "hast-util-from-parse5": ["hast-util-from-parse5@8.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "hastscript": "^9.0.0", "property-information": "^7.0.0", "vfile": "^6.0.0", "vfile-location": "^5.0.0", "web-namespaces": "^2.0.0" } }, "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg=="], + + "hast-util-parse-selector": ["hast-util-parse-selector@4.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A=="], + + "hast-util-raw": ["hast-util-raw@9.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-from-parse5": "^8.0.0", "hast-util-to-parse5": "^8.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "parse5": "^7.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw=="], + + "hast-util-sanitize": ["hast-util-sanitize@5.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "unist-util-position": "^5.0.0" } }, "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg=="], + + "hast-util-to-jsx-runtime": ["hast-util-to-jsx-runtime@2.3.6", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" } }, "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg=="], + + "hast-util-to-parse5": ["hast-util-to-parse5@8.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA=="], + + "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="], + + "hastscript": ["hastscript@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w=="], + "hermes-estree": ["hermes-estree@0.29.1", "", {}, "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ=="], "hermes-parser": ["hermes-parser@0.29.1", "", { "dependencies": { "hermes-estree": "0.29.1" } }, "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA=="], @@ -1410,6 +1921,10 @@ "hosted-git-info": ["hosted-git-info@7.0.2", "", { "dependencies": { "lru-cache": "^10.0.1" } }, "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w=="], + "html-url-attributes": ["html-url-attributes@3.0.1", "", {}, "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ=="], + + "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="], + "http-call": ["http-call@5.3.0", "", { "dependencies": { "content-type": "^1.0.4", "debug": "^4.1.1", "is-retry-allowed": "^1.1.0", "is-stream": "^2.0.0", "parse-json": "^4.0.0", "tunnel-agent": "^0.6.0" } }, "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w=="], "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="], @@ -1422,6 +1937,8 @@ "ical.js": ["ical.js@2.2.1", "", {}, "sha512-yK/UlPbEs316igb/tjRgbFA8ZV75rCsBJp/hWOatpyaPNlgw0dGDmU+FoicOcwX4xXkeXOkYiOmCqNPFpNPkQg=="], + "iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], + "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], "ignore": ["ignore@5.3.0", "", {}, "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg=="], @@ -1440,12 +1957,22 @@ "ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], + "inline-style-parser": ["inline-style-parser@0.2.7", "", {}, "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA=="], + "inline-style-prefixer": ["inline-style-prefixer@7.0.1", "", { "dependencies": { "css-in-js-utils": "^3.1.0" } }, "sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw=="], "internal-slot": ["internal-slot@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw=="], + "intl-messageformat": ["intl-messageformat@10.7.18", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/fast-memoize": "2.2.7", "@formatjs/icu-messageformat-parser": "2.11.4", "tslib": "^2.8.0" } }, "sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g=="], + "invariant": ["invariant@2.2.4", "", { "dependencies": { "loose-envify": "^1.0.0" } }, "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA=="], + "ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], + + "is-alphabetical": ["is-alphabetical@2.0.1", "", {}, "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="], + + "is-alphanumerical": ["is-alphanumerical@2.0.1", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw=="], + "is-array-buffer": ["is-array-buffer@3.0.5", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A=="], "is-arrayish": ["is-arrayish@0.3.4", "", {}, "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA=="], @@ -1470,6 +1997,8 @@ "is-date-object": ["is-date-object@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg=="], + "is-decimal": ["is-decimal@2.0.1", "", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="], + "is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="], "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], @@ -1482,6 +2011,8 @@ "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + "is-hexadecimal": ["is-hexadecimal@2.0.1", "", {}, "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="], + "is-interactive": ["is-interactive@1.0.0", "", {}, "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="], "is-map": ["is-map@2.0.3", "", {}, "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw=="], @@ -1492,6 +2023,8 @@ "is-number-object": ["is-number-object@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw=="], + "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], + "is-regex": ["is-regex@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g=="], "is-retry-allowed": ["is-retry-allowed@1.2.0", "", {}, "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg=="], @@ -1520,6 +2053,8 @@ "isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], + "isbot": ["isbot@5.1.35", "", {}, "sha512-waFfC72ZNfwLLuJ2iLaoVaqcNo+CAaLR7xCpAn0Y5WfGzkNHv7ZN39Vbi1y+kb+Zs46XHOX3tZNExroFUPX+Kg=="], + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], "istanbul-lib-coverage": ["istanbul-lib-coverage@3.2.2", "", {}, "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg=="], @@ -1570,7 +2105,7 @@ "jsep": ["jsep@1.4.0", "", {}, "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw=="], - "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + "jsesc": ["jsesc@3.0.2", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g=="], "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], @@ -1632,6 +2167,8 @@ "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + "lodash": ["lodash@4.17.23", "", {}, "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w=="], + "lodash.clonedeep": ["lodash.clonedeep@4.5.0", "", {}, "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="], "lodash.debounce": ["lodash.debounce@4.0.8", "", {}, "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="], @@ -1644,28 +2181,78 @@ "log-symbols": ["log-symbols@4.1.0", "", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg=="], + "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="], + "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="], + "lottie-react": ["lottie-react@2.4.1", "", { "dependencies": { "lottie-web": "^5.10.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-LQrH7jlkigIIv++wIyrOYFLHSKQpEY4zehPicL9bQsrt1rnoKRYCYgpCUe5maqylNtacy58/sQDZTkwMcTRxZw=="], + + "lottie-web": ["lottie-web@5.13.0", "", {}, "sha512-+gfBXl6sxXMPe8tKQm7qzLnUy5DUPJPKIyRHwtpCpyUEYjHYRJC/5gjUvdkuO2c3JllrPtHXH5UJJK8LRYl5yQ=="], + "lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="], + "lucide-react": ["lucide-react@0.577.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-4LjoFv2eEPwYDPg/CUdBJQSDfPyzXCRrVW1X7jrx/trgxnxkHFjnVZINbzvzxjN70dxychOfg+FTYwBiS3pQ5A=="], + + "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + "make-error": ["make-error@1.3.6", "", {}, "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="], "makeerror": ["makeerror@1.0.12", "", { "dependencies": { "tmpl": "1.0.5" } }, "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg=="], + "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="], + + "marked": ["marked@17.0.4", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-NOmVMM+KAokHMvjWmC5N/ZOvgmSWuqJB8FoYI019j4ogb/PeRMKoKIjReZ2w3376kkA8dSJIP8uD993Kxc0iRQ=="], + "marky": ["marky@1.3.0", "", {}, "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ=="], "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], "md5": ["md5@2.3.0", "", { "dependencies": { "charenc": "0.0.2", "crypt": "0.0.2", "is-buffer": "~1.1.6" } }, "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g=="], + "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="], + + "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.3", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q=="], + + "mdast-util-gfm": ["mdast-util-gfm@3.1.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", "mdast-util-gfm-footnote": "^2.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", "mdast-util-gfm-table": "^2.0.0", "mdast-util-gfm-task-list-item": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ=="], + + "mdast-util-gfm-autolink-literal": ["mdast-util-gfm-autolink-literal@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", "devlop": "^1.0.0", "mdast-util-find-and-replace": "^3.0.0", "micromark-util-character": "^2.0.0" } }, "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ=="], + + "mdast-util-gfm-footnote": ["mdast-util-gfm-footnote@2.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0" } }, "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ=="], + + "mdast-util-gfm-strikethrough": ["mdast-util-gfm-strikethrough@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg=="], + + "mdast-util-gfm-table": ["mdast-util-gfm-table@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "markdown-table": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg=="], + + "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ=="], + + "mdast-util-mdx-expression": ["mdast-util-mdx-expression@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ=="], + + "mdast-util-mdx-jsx": ["mdast-util-mdx-jsx@3.2.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" } }, "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q=="], + + "mdast-util-mdxjs-esm": ["mdast-util-mdxjs-esm@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg=="], + + "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="], + + "mdast-util-to-hast": ["mdast-util-to-hast@13.2.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA=="], + + "mdast-util-to-markdown": ["mdast-util-to-markdown@2.1.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA=="], + + "mdast-util-to-string": ["mdast-util-to-string@4.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0" } }, "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg=="], + "mdn-data": ["mdn-data@2.0.14", "", {}, "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow=="], + "media-typer": ["media-typer@0.3.0", "", {}, "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="], + "memoize-one": ["memoize-one@5.2.1", "", {}, "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q=="], + "merge-descriptors": ["merge-descriptors@1.0.3", "", {}, "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ=="], + "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + "methods": ["methods@1.1.2", "", {}, "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="], + "metro": ["metro@0.83.3", "", { "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/core": "^7.25.2", "@babel/generator": "^7.25.0", "@babel/parser": "^7.25.3", "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.3", "@babel/types": "^7.25.2", "accepts": "^1.3.7", "chalk": "^4.0.0", "ci-info": "^2.0.0", "connect": "^3.6.5", "debug": "^4.4.0", "error-stack-parser": "^2.0.6", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", "hermes-parser": "0.32.0", "image-size": "^1.0.2", "invariant": "^2.2.4", "jest-worker": "^29.7.0", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", "metro-babel-transformer": "0.83.3", "metro-cache": "0.83.3", "metro-cache-key": "0.83.3", "metro-config": "0.83.3", "metro-core": "0.83.3", "metro-file-map": "0.83.3", "metro-resolver": "0.83.3", "metro-runtime": "0.83.3", "metro-source-map": "0.83.3", "metro-symbolicate": "0.83.3", "metro-transform-plugins": "0.83.3", "metro-transform-worker": "0.83.3", "mime-types": "^2.1.27", "nullthrows": "^1.1.1", "serialize-error": "^2.1.0", "source-map": "^0.5.6", "throat": "^5.0.0", "ws": "^7.5.10", "yargs": "^17.6.2" }, "bin": { "metro": "src/cli.js" } }, "sha512-+rP+/GieOzkt97hSJ0MrPOuAH/jpaS21ZDvL9DJ35QYRDlQcwzcvUlGUf79AnQxq/2NPiS/AULhhM4TKutIt8Q=="], "metro-babel-transformer": ["metro-babel-transformer@0.83.3", "", { "dependencies": { "@babel/core": "^7.25.2", "flow-enums-runtime": "^0.0.6", "hermes-parser": "0.32.0", "nullthrows": "^1.1.1" } }, "sha512-1vxlvj2yY24ES1O5RsSIvg4a4WeL7PFXgKOHvXTXiW0deLvQr28ExXj6LjwCCDZ4YZLhq6HddLpZnX4dEdSq5g=="], @@ -1694,6 +2281,62 @@ "metro-transform-worker": ["metro-transform-worker@0.83.3", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/generator": "^7.25.0", "@babel/parser": "^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "metro": "0.83.3", "metro-babel-transformer": "0.83.3", "metro-cache": "0.83.3", "metro-cache-key": "0.83.3", "metro-minify-terser": "0.83.3", "metro-source-map": "0.83.3", "metro-transform-plugins": "0.83.3", "nullthrows": "^1.1.1" } }, "sha512-Ztekew9t/gOIMZX1tvJOgX7KlSLL5kWykl0Iwu2cL2vKMKVALRl1hysyhUw0vjpAvLFx+Kfq9VLjnHIkW32fPA=="], + "micromark": ["micromark@4.0.2", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA=="], + + "micromark-core-commonmark": ["micromark-core-commonmark@2.0.3", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-destination": "^2.0.0", "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-factory-title": "^2.0.0", "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-html-tag-name": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg=="], + + "micromark-extension-gfm": ["micromark-extension-gfm@3.0.0", "", { "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", "micromark-extension-gfm-strikethrough": "^2.0.0", "micromark-extension-gfm-table": "^2.0.0", "micromark-extension-gfm-tagfilter": "^2.0.0", "micromark-extension-gfm-task-list-item": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w=="], + + "micromark-extension-gfm-autolink-literal": ["micromark-extension-gfm-autolink-literal@2.1.0", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw=="], + + "micromark-extension-gfm-footnote": ["micromark-extension-gfm-footnote@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw=="], + + "micromark-extension-gfm-strikethrough": ["micromark-extension-gfm-strikethrough@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw=="], + + "micromark-extension-gfm-table": ["micromark-extension-gfm-table@2.1.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg=="], + + "micromark-extension-gfm-tagfilter": ["micromark-extension-gfm-tagfilter@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg=="], + + "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw=="], + + "micromark-factory-destination": ["micromark-factory-destination@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA=="], + + "micromark-factory-label": ["micromark-factory-label@2.0.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg=="], + + "micromark-factory-space": ["micromark-factory-space@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg=="], + + "micromark-factory-title": ["micromark-factory-title@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw=="], + + "micromark-factory-whitespace": ["micromark-factory-whitespace@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ=="], + + "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="], + + "micromark-util-chunked": ["micromark-util-chunked@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA=="], + + "micromark-util-classify-character": ["micromark-util-classify-character@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q=="], + + "micromark-util-combine-extensions": ["micromark-util-combine-extensions@2.0.1", "", { "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg=="], + + "micromark-util-decode-numeric-character-reference": ["micromark-util-decode-numeric-character-reference@2.0.2", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw=="], + + "micromark-util-decode-string": ["micromark-util-decode-string@2.0.1", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ=="], + + "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="], + + "micromark-util-html-tag-name": ["micromark-util-html-tag-name@2.0.1", "", {}, "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA=="], + + "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q=="], + + "micromark-util-resolve-all": ["micromark-util-resolve-all@2.0.1", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg=="], + + "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="], + + "micromark-util-subtokenize": ["micromark-util-subtokenize@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA=="], + + "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="], + + "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="], + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], "mime": ["mime@3.0.0", "", { "bin": { "mime": "cli.js" } }, "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A=="], @@ -1716,6 +2359,14 @@ "moment": ["moment@2.30.1", "", {}, "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how=="], + "morgan": ["morgan@1.10.1", "", { "dependencies": { "basic-auth": "~2.0.1", "debug": "2.6.9", "depd": "~2.0.0", "on-finished": "~2.3.0", "on-headers": "~1.1.0" } }, "sha512-223dMRJtI/l25dJKWpgij2cMtywuG/WiUKXdvwfbhGKBhy1puASqXwFzmWZ7+K73vUPoR7SS2Qz2cI/g9MKw0A=="], + + "motion": ["motion@12.35.0", "", { "dependencies": { "framer-motion": "^12.35.0", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-BQUhNUIGvUcwXCzwmnT1JpjUqab34lIwxHnXUyWRht1WC1vAyp7/4qgMiUXxN3K6hgUhyoR+HNnLeQMwUZjVjw=="], + + "motion-dom": ["motion-dom@12.35.0", "", { "dependencies": { "motion-utils": "^12.29.2" } }, "sha512-FFMLEnIejK/zDABn+vqGVAUN4T0+3fw+cVAY8MMT65yR+j5uMuvWdd4npACWhh94OVWQs79CrBBuwOwGRZAQiA=="], + + "motion-utils": ["motion-utils@12.29.2", "", {}, "sha512-G3kc34H2cX2gI63RqU+cZq+zWRRPSsNIOjpdl9TN4AQwC4sgwYPl/Q/Obf/d53nOm569T0fYK+tcoSV50BWx8A=="], + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], "multipasta": ["multipasta@0.2.7", "", {}, "sha512-KPA58d68KgGil15oDqXjkUBEBYc00XvbPj5/X+dyzeo/lWm9Nc25pQRlf1D+gv4OpK7NM0J1odrbu9JNNGvynA=="], @@ -1740,7 +2391,7 @@ "ncp": ["ncp@2.0.0", "", { "bin": { "ncp": "./bin/ncp" } }, "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA=="], - "negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], + "negotiator": ["negotiator@0.6.4", "", {}, "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w=="], "nested-error-stacks": ["nested-error-stacks@2.0.1", "", {}, "sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A=="], @@ -1810,16 +2461,22 @@ "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + "p-map": ["p-map@7.0.4", "", {}, "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ=="], + "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], + "parse-entities": ["parse-entities@4.0.2", "", { "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", "character-reference-invalid": "^2.0.0", "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" } }, "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw=="], + "parse-json": ["parse-json@4.0.0", "", { "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw=="], "parse-png": ["parse-png@2.1.0", "", { "dependencies": { "pngjs": "^3.3.0" } }, "sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ=="], + "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], + "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], "password-prompt": ["password-prompt@1.1.3", "", { "dependencies": { "ansi-escapes": "^4.3.2", "cross-spawn": "^7.0.3" } }, "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw=="], @@ -1834,8 +2491,12 @@ "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + "path-to-regexp": ["path-to-regexp@0.1.12", "", {}, "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ=="], + "path-type": ["path-type@4.0.0", "", {}, "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="], + "pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], + "pg": ["pg@8.18.0", "", { "dependencies": { "pg-connection-string": "^2.11.0", "pg-pool": "^3.11.0", "pg-protocol": "^1.11.0", "pg-types": "2.2.0", "pgpass": "1.0.5" }, "optionalDependencies": { "pg-cloudflare": "^1.3.0" }, "peerDependencies": { "pg-native": ">=3.0.1" }, "optionalPeers": ["pg-native"] }, "sha512-xqrUDL1b9MbkydY/s+VZ6v+xiMUmOUk7SS9d/1kpyQxoJ6U9AO1oIJyUWVZojbfe5Cc/oluutcgFG4L9RDP1iQ=="], "pg-cloudflare": ["pg-cloudflare@1.3.0", "", {}, "sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ=="], @@ -1854,7 +2515,7 @@ "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - "picomatch": ["picomatch@3.0.1", "", {}, "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag=="], + "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], "pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="], @@ -1862,13 +2523,17 @@ "pkg-dir": ["pkg-dir@4.2.0", "", { "dependencies": { "find-up": "^4.0.0" } }, "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ=="], + "pkg-types": ["pkg-types@2.3.0", "", { "dependencies": { "confbox": "^0.2.2", "exsolve": "^1.0.7", "pathe": "^2.0.3" } }, "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig=="], + "plist": ["plist@3.1.0", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", "xmlbuilder": "^15.1.1" } }, "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ=="], "pngjs": ["pngjs@7.0.0", "", {}, "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow=="], "possible-typed-array-names": ["possible-typed-array-names@1.1.0", "", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="], - "postcss": ["postcss@8.4.49", "", { "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA=="], + "postal-mime": ["postal-mime@2.7.3", "", {}, "sha512-MjhXadAJaWgYzevi46+3kLak8y6gbg0ku14O1gO/LNOuay8dO+1PtcSGvAdgDR0DoIsSaiIA8y/Ddw6MnrO0Tw=="], + + "postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="], "postcss-import": ["postcss-import@15.1.0", "", { "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" }, "peerDependencies": { "postcss": "^8.0.0" } }, "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew=="], @@ -1892,6 +2557,8 @@ "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], + "prettier": ["prettier@3.8.1", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg=="], + "pretty-bytes": ["pretty-bytes@5.6.0", "", {}, "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg=="], "pretty-format": ["pretty-format@29.7.0", "", { "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } }, "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ=="], @@ -1910,10 +2577,16 @@ "prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="], + "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], + + "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], "qrcode-terminal": ["qrcode-terminal@0.12.0", "", { "bin": { "qrcode-terminal": "./bin/qrcode-terminal.js" } }, "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ=="], + "qs": ["qs@6.14.2", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q=="], + "query-string": ["query-string@7.1.3", "", { "dependencies": { "decode-uri-component": "^0.2.2", "filter-obj": "^1.1.0", "split-on-first": "^1.0.0", "strict-uri-encode": "^2.0.0" } }, "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg=="], "queue": ["queue@6.0.2", "", { "dependencies": { "inherits": "~2.0.3" } }, "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA=="], @@ -1922,10 +2595,16 @@ "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], + "raw-body": ["raw-body@2.5.3", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "unpipe": "~1.0.0" } }, "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA=="], + "rc": ["rc@1.2.8", "", { "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "bin": { "rc": "./cli.js" } }, "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="], "react": ["react@19.1.0", "", {}, "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg=="], + "react-aria": ["react-aria@3.47.0", "", { "dependencies": { "@internationalized/string": "^3.2.7", "@react-aria/breadcrumbs": "^3.5.32", "@react-aria/button": "^3.14.5", "@react-aria/calendar": "^3.9.5", "@react-aria/checkbox": "^3.16.5", "@react-aria/color": "^3.1.5", "@react-aria/combobox": "^3.15.0", "@react-aria/datepicker": "^3.16.1", "@react-aria/dialog": "^3.5.34", "@react-aria/disclosure": "^3.1.3", "@react-aria/dnd": "^3.11.6", "@react-aria/focus": "^3.21.5", "@react-aria/gridlist": "^3.14.4", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/label": "^3.7.25", "@react-aria/landmark": "^3.0.10", "@react-aria/link": "^3.8.9", "@react-aria/listbox": "^3.15.3", "@react-aria/menu": "^3.21.0", "@react-aria/meter": "^3.4.30", "@react-aria/numberfield": "^3.12.5", "@react-aria/overlays": "^3.31.2", "@react-aria/progress": "^3.4.30", "@react-aria/radio": "^3.12.5", "@react-aria/searchfield": "^3.8.12", "@react-aria/select": "^3.17.3", "@react-aria/selection": "^3.27.2", "@react-aria/separator": "^3.4.16", "@react-aria/slider": "^3.8.5", "@react-aria/ssr": "^3.9.10", "@react-aria/switch": "^3.7.11", "@react-aria/table": "^3.17.11", "@react-aria/tabs": "^3.11.1", "@react-aria/tag": "^3.8.1", "@react-aria/textfield": "^3.18.5", "@react-aria/toast": "^3.0.11", "@react-aria/tooltip": "^3.9.2", "@react-aria/tree": "^3.1.7", "@react-aria/utils": "^3.33.1", "@react-aria/visually-hidden": "^3.8.31", "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-nvahimIqdByl/PXk/xPkG30LPRzcin+/Uk0uFfwbbKRRFC9aa22a6BRULZLqVHwa9GaNyKe6CDUxO1Dde4v0kA=="], + + "react-aria-components": ["react-aria-components@1.16.0", "", { "dependencies": { "@internationalized/date": "^3.12.0", "@internationalized/string": "^3.2.7", "@react-aria/autocomplete": "3.0.0-rc.6", "@react-aria/collections": "^3.0.3", "@react-aria/dnd": "^3.11.6", "@react-aria/focus": "^3.21.5", "@react-aria/interactions": "^3.27.1", "@react-aria/live-announcer": "^3.4.4", "@react-aria/overlays": "^3.31.2", "@react-aria/ssr": "^3.9.10", "@react-aria/textfield": "^3.18.5", "@react-aria/toolbar": "3.0.0-beta.24", "@react-aria/utils": "^3.33.1", "@react-aria/virtualizer": "^4.1.13", "@react-stately/autocomplete": "3.0.0-beta.4", "@react-stately/layout": "^4.6.0", "@react-stately/selection": "^3.20.9", "@react-stately/table": "^3.15.4", "@react-stately/utils": "^3.11.0", "@react-stately/virtualizer": "^4.4.6", "@react-types/form": "^3.7.18", "@react-types/grid": "^3.3.8", "@react-types/shared": "^3.33.1", "@react-types/table": "^3.13.6", "@swc/helpers": "^0.5.0", "client-only": "^0.0.1", "react-aria": "^3.47.0", "react-stately": "^3.45.0", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-MjHbTLpMFzzD2Tv5KbeXoZwPczuUWZcRavVvQQlNHRtXHH38D+sToMEYpNeir7Wh3K/XWtzeX3EujfJW6QNkrw=="], + "react-devtools-core": ["react-devtools-core@6.1.5", "", { "dependencies": { "shell-quote": "^1.6.1", "ws": "^7" } }, "sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA=="], "react-dom": ["react-dom@19.1.0", "", { "dependencies": { "scheduler": "^0.26.0" }, "peerDependencies": { "react": "^19.1.0" } }, "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g=="], @@ -1960,11 +2639,15 @@ "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], + "react-router": ["react-router@7.12.0", "", { "dependencies": { "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw=="], + + "react-stately": ["react-stately@3.45.0", "", { "dependencies": { "@react-stately/calendar": "^3.9.3", "@react-stately/checkbox": "^3.7.5", "@react-stately/collections": "^3.12.10", "@react-stately/color": "^3.9.5", "@react-stately/combobox": "^3.13.0", "@react-stately/data": "^3.15.2", "@react-stately/datepicker": "^3.16.1", "@react-stately/disclosure": "^3.0.11", "@react-stately/dnd": "^3.7.4", "@react-stately/form": "^3.2.4", "@react-stately/list": "^3.13.4", "@react-stately/menu": "^3.9.11", "@react-stately/numberfield": "^3.11.0", "@react-stately/overlays": "^3.6.23", "@react-stately/radio": "^3.11.5", "@react-stately/searchfield": "^3.5.19", "@react-stately/select": "^3.9.2", "@react-stately/selection": "^3.20.9", "@react-stately/slider": "^3.7.5", "@react-stately/table": "^3.15.4", "@react-stately/tabs": "^3.8.9", "@react-stately/toast": "^3.1.3", "@react-stately/toggle": "^3.9.5", "@react-stately/tooltip": "^3.5.11", "@react-stately/tree": "^3.9.6", "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-G3bYr0BIiookpt4H05VeZUuVS/FslQAj2TeT8vDfCiL314Y+LtPXIPe/a3eamCA0wljy7z1EDYKV50Qbz7pcJg=="], + "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], "read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="], - "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], + "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], "redeyed": ["redeyed@2.1.1", "", { "dependencies": { "esprima": "~4.0.0" } }, "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ=="], @@ -1984,6 +2667,22 @@ "regjsparser": ["regjsparser@0.13.0", "", { "dependencies": { "jsesc": "~3.1.0" }, "bin": { "regjsparser": "bin/parser" } }, "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q=="], + "rehype-harden": ["rehype-harden@1.1.8", "", { "dependencies": { "unist-util-visit": "^5.0.0" } }, "sha512-Qn7vR1xrf6fZCrkm9TDWi/AB4ylrHy+jqsNm1EHOAmbARYA6gsnVJBq/sdBh6kmT4NEZxH5vgIjrscefJAOXcw=="], + + "rehype-raw": ["rehype-raw@7.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", "vfile": "^6.0.0" } }, "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww=="], + + "rehype-sanitize": ["rehype-sanitize@6.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-sanitize": "^5.0.0" } }, "sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg=="], + + "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="], + + "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="], + + "remark-rehype": ["remark-rehype@11.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw=="], + + "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="], + + "remend": ["remend@1.2.2", "", {}, "sha512-4ZJgIB9EG9fQE41mOJCRHMmnxDTKHWawQoJWZyUbZuj680wVyogu2ihnj8Edqm7vh2mo/TWHyEZpn2kqeDvS7w=="], + "remove-trailing-slash": ["remove-trailing-slash@0.1.1", "", {}, "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA=="], "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], @@ -1992,6 +2691,8 @@ "requireg": ["requireg@0.2.2", "", { "dependencies": { "nested-error-stacks": "~2.0.1", "rc": "~1.2.7", "resolve": "~1.7.1" } }, "sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg=="], + "resend": ["resend@6.9.3", "", { "dependencies": { "postal-mime": "2.7.3", "svix": "1.84.1" }, "peerDependencies": { "@react-email/render": "*" }, "optionalPeers": ["@react-email/render"] }, "sha512-GRXjH9XZBJA+daH7bBVDuTShr22iWCxXA8P7t495G4dM/RC+d+3gHBK/6bz9K6Vpcq11zRQKmD+B+jECwQlyGQ=="], + "resolve": ["resolve@2.0.0-next.5", "", { "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA=="], "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], @@ -2012,6 +2713,8 @@ "rimraf": ["rimraf@5.0.10", "", { "dependencies": { "glob": "^10.3.7" }, "bin": { "rimraf": "dist/esm/bin.mjs" } }, "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ=="], + "rollup": ["rollup@4.59.0", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.59.0", "@rollup/rollup-android-arm64": "4.59.0", "@rollup/rollup-darwin-arm64": "4.59.0", "@rollup/rollup-darwin-x64": "4.59.0", "@rollup/rollup-freebsd-arm64": "4.59.0", "@rollup/rollup-freebsd-x64": "4.59.0", "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", "@rollup/rollup-linux-arm-musleabihf": "4.59.0", "@rollup/rollup-linux-arm64-gnu": "4.59.0", "@rollup/rollup-linux-arm64-musl": "4.59.0", "@rollup/rollup-linux-loong64-gnu": "4.59.0", "@rollup/rollup-linux-loong64-musl": "4.59.0", "@rollup/rollup-linux-ppc64-gnu": "4.59.0", "@rollup/rollup-linux-ppc64-musl": "4.59.0", "@rollup/rollup-linux-riscv64-gnu": "4.59.0", "@rollup/rollup-linux-riscv64-musl": "4.59.0", "@rollup/rollup-linux-s390x-gnu": "4.59.0", "@rollup/rollup-linux-x64-gnu": "4.59.0", "@rollup/rollup-linux-x64-musl": "4.59.0", "@rollup/rollup-openbsd-x64": "4.59.0", "@rollup/rollup-openharmony-arm64": "4.59.0", "@rollup/rollup-win32-arm64-msvc": "4.59.0", "@rollup/rollup-win32-ia32-msvc": "4.59.0", "@rollup/rollup-win32-x64-gnu": "4.59.0", "@rollup/rollup-win32-x64-msvc": "4.59.0", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg=="], + "rou3": ["rou3@0.7.12", "", {}, "sha512-iFE4hLDuloSWcD7mjdCDhx2bKcIsYbtOTpfH5MHHLSKMOUyjqQXTeZVa289uuwEGEKFoE/BAPbhaU4B774nceg=="], "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], @@ -2094,6 +2797,8 @@ "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], + "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="], + "split-on-first": ["split-on-first@1.1.0", "", {}, "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw=="], "split2": ["split2@4.2.0", "", {}, "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg=="], @@ -2108,12 +2813,16 @@ "stacktrace-parser": ["stacktrace-parser@0.1.11", "", { "dependencies": { "type-fest": "^0.7.1" } }, "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg=="], + "standardwebhooks": ["standardwebhooks@1.0.0", "", { "dependencies": { "@stablelib/base64": "^1.0.0", "fast-sha256": "^1.3.0" } }, "sha512-BbHGOQK9olHPMvQNHWul6MYlrRTAOKn03rOe4A8O3CLWhNf4YHBqq2HJKKC+sfqpxiBY52pNeesD6jIiLDz8jg=="], + "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], "stop-iteration-iterator": ["stop-iteration-iterator@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "internal-slot": "^1.1.0" } }, "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ=="], "stream-buffers": ["stream-buffers@2.2.0", "", {}, "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg=="], + "streamdown": ["streamdown@2.4.0", "", { "dependencies": { "clsx": "^2.1.1", "hast-util-to-jsx-runtime": "^2.3.6", "html-url-attributes": "^3.0.1", "marked": "^17.0.1", "rehype-harden": "^1.1.8", "rehype-raw": "^7.0.0", "rehype-sanitize": "^6.0.0", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remend": "1.2.2", "tailwind-merge": "^3.4.0", "unified": "^11.0.5", "unist-util-visit": "^5.0.0", "unist-util-visit-parents": "^6.0.0" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" } }, "sha512-fRk4HEYNznRLmxoVeT8wsGBwHF6/Yrdey6k+ZrE1Qtp4NyKwm7G/6e2Iw8penY4yLx31TlAHWT5Bsg1weZ9FZg=="], + "streamx": ["streamx@2.23.0", "", { "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" } }, "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg=="], "strict-uri-encode": ["strict-uri-encode@2.0.0", "", {}, "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ=="], @@ -2132,6 +2841,8 @@ "string.prototype.trimstart": ["string.prototype.trimstart@1.0.8", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg=="], + "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="], + "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], @@ -2142,6 +2853,10 @@ "structured-headers": ["structured-headers@0.4.1", "", {}, "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg=="], + "style-to-js": ["style-to-js@1.1.21", "", { "dependencies": { "style-to-object": "1.0.14" } }, "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ=="], + + "style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="], + "styleq": ["styleq@0.1.3", "", {}, "sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA=="], "sucrase": ["sucrase@3.35.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA=="], @@ -2152,7 +2867,13 @@ "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], - "tailwindcss": ["tailwindcss@3.4.19", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.7", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ=="], + "svix": ["svix@1.84.1", "", { "dependencies": { "standardwebhooks": "1.0.0", "uuid": "^10.0.0" } }, "sha512-K8DPPSZaW/XqXiz1kEyzSHYgmGLnhB43nQCMeKjWGCUpLIpAMMM8kx3rVVOSm6Bo6EHyK1RQLPT4R06skM/MlQ=="], + + "tailwind-merge": ["tailwind-merge@3.5.0", "", {}, "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A=="], + + "tailwindcss": ["tailwindcss@4.2.1", "", {}, "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw=="], + + "tapable": ["tapable@2.3.0", "", {}, "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg=="], "tar": ["tar@7.5.7", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ=="], @@ -2186,6 +2907,10 @@ "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="], + "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="], + + "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="], + "ts-api-utils": ["ts-api-utils@2.4.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA=="], "ts-deepmerge": ["ts-deepmerge@6.2.0", "", {}, "sha512-2qxI/FZVDPbzh63GwWIZYE7daWKtwXZYuyc8YNq0iTmMUwn4mL0jRLsp6hfFlgbdRSR4x2ppe+E86FnvEpN7Nw=="], @@ -2194,6 +2919,8 @@ "ts-node": ["ts-node@10.9.2", "", { "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", "@tsconfig/node16": "^1.0.2", "acorn": "^8.4.1", "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "peerDependencies": { "@swc/core": ">=1.2.50", "@swc/wasm": ">=1.2.50", "@types/node": "*", "typescript": ">=2.7" }, "optionalPeers": ["@swc/core", "@swc/wasm"], "bin": { "ts-node": "dist/bin.js", "ts-script": "dist/bin-script-deprecated.js", "ts-node-cwd": "dist/bin-cwd.js", "ts-node-esm": "dist/bin-esm.js", "ts-node-script": "dist/bin-script.js", "ts-node-transpile-only": "dist/bin-transpile.js" } }, "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ=="], + "tsconfck": ["tsconfck@3.1.6", "", { "peerDependencies": { "typescript": "^5.0.0" }, "optionalPeers": ["typescript"], "bin": { "tsconfck": "bin/tsconfck.js" } }, "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w=="], + "tsconfig-paths": ["tsconfig-paths@3.15.0", "", { "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } }, "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg=="], "tsdav": ["tsdav@2.1.8", "", { "dependencies": { "base-64": "1.0.0", "cross-fetch": "4.1.0", "debug": "4.4.3", "xml-js": "1.6.11" } }, "sha512-zvQvhZLzTaEmNNgJbBlUYT/JOq9Xpw/xkxCqs7IT2d2/7o7pss0iZOlZXuHJ5VcvSvTny42Vc6+6GyzZcrCJ1g=="], @@ -2212,6 +2939,8 @@ "type-fest": ["type-fest@0.7.1", "", {}, "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg=="], + "type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], + "typed-array-buffer": ["typed-array-buffer@1.0.3", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-typed-array": "^1.1.14" } }, "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw=="], "typed-array-byte-length": ["typed-array-byte-length@1.0.3", "", { "dependencies": { "call-bind": "^1.0.8", "for-each": "^0.3.3", "gopd": "^1.2.0", "has-proto": "^1.2.0", "is-typed-array": "^1.1.14" } }, "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg=="], @@ -2228,7 +2957,7 @@ "undici": ["undici@6.23.0", "", {}, "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g=="], - "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], "unicode-canonical-property-names-ecmascript": ["unicode-canonical-property-names-ecmascript@2.0.1", "", {}, "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg=="], @@ -2238,8 +2967,20 @@ "unicode-property-aliases-ecmascript": ["unicode-property-aliases-ecmascript@2.2.0", "", {}, "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ=="], + "unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="], + "unique-string": ["unique-string@2.0.0", "", { "dependencies": { "crypto-random-string": "^2.0.0" } }, "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg=="], + "unist-util-is": ["unist-util-is@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g=="], + + "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="], + + "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="], + + "unist-util-visit": ["unist-util-visit@5.1.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg=="], + + "unist-util-visit-parents": ["unist-util-visit-parents@6.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ=="], + "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], @@ -2268,20 +3009,38 @@ "v8-compile-cache-lib": ["v8-compile-cache-lib@3.0.1", "", {}, "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="], + "valibot": ["valibot@1.2.0", "", { "peerDependencies": { "typescript": ">=5" }, "optionalPeers": ["typescript"] }, "sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg=="], + "validate-npm-package-name": ["validate-npm-package-name@5.0.1", "", {}, "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ=="], "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], "vaul": ["vaul@1.1.2", "", { "dependencies": { "@radix-ui/react-dialog": "^1.1.1" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA=="], + "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="], + + "vfile-location": ["vfile-location@5.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg=="], + + "vfile-message": ["vfile-message@4.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw=="], + + "vite": ["vite@7.3.1", "", { "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA=="], + + "vite-node": ["vite-node@3.2.4", "", { "dependencies": { "cac": "^6.7.14", "debug": "^4.4.1", "es-module-lexer": "^1.7.0", "pathe": "^2.0.3", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "bin": { "vite-node": "vite-node.mjs" } }, "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg=="], + + "vite-tsconfig-paths": ["vite-tsconfig-paths@5.1.4", "", { "dependencies": { "debug": "^4.1.1", "globrex": "^0.1.2", "tsconfck": "^3.0.3" }, "peerDependencies": { "vite": "*" }, "optionalPeers": ["vite"] }, "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w=="], + "vlq": ["vlq@1.0.1", "", {}, "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w=="], + "waitlist-website": ["waitlist-website@workspace:apps/waitlist-website"], + "walker": ["walker@1.0.8", "", { "dependencies": { "makeerror": "1.0.12" } }, "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ=="], "warn-once": ["warn-once@0.1.1", "", {}, "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q=="], "wcwidth": ["wcwidth@1.0.1", "", { "dependencies": { "defaults": "^1.0.3" } }, "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg=="], + "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="], + "webidl-conversions": ["webidl-conversions@5.0.0", "", {}, "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA=="], "whatwg-fetch": ["whatwg-fetch@3.6.20", "", {}, "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg=="], @@ -2344,10 +3103,14 @@ "zod": ["zod@4.3.6", "", {}, "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg=="], + "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], + "@babel/core/@babel/code-frame": ["@babel/code-frame@7.29.0", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw=="], "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@babel/generator/jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], @@ -2424,6 +3187,8 @@ "@expo/cli/ora": ["ora@3.4.0", "", { "dependencies": { "chalk": "^2.4.2", "cli-cursor": "^2.1.0", "cli-spinners": "^2.0.0", "log-symbols": "^2.2.0", "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" } }, "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg=="], + "@expo/cli/picomatch": ["picomatch@3.0.1", "", {}, "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag=="], + "@expo/cli/qrcode-terminal": ["qrcode-terminal@0.11.0", "", { "bin": { "qrcode-terminal": "./bin/qrcode-terminal.js" } }, "sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ=="], "@expo/cli/resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], @@ -2492,6 +3257,8 @@ "@expo/metro-config/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@expo/metro-config/postcss": ["postcss@8.4.49", "", { "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA=="], + "@expo/package-manager/@expo/json-file": ["@expo/json-file@10.0.8", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ=="], "@expo/package-manager/ora": ["ora@3.4.0", "", { "dependencies": { "chalk": "^2.4.2", "cli-cursor": "^2.1.0", "cli-spinners": "^2.0.0", "log-symbols": "^2.2.0", "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" } }, "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg=="], @@ -2528,6 +3295,16 @@ "@expo/xcpretty/js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], + "@formatjs/ecma402-abstract/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@formatjs/fast-memoize/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@formatjs/icu-messageformat-parser/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@formatjs/icu-skeleton-parser/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@formatjs/intl-localematcher/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], @@ -2538,8 +3315,14 @@ "@istanbuljs/load-nyc-config/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], + "@jest/environment/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + + "@jest/fake-timers/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + "@jest/transform/write-file-atomic": ["write-file-atomic@4.0.2", "", { "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" } }, "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg=="], + "@jest/types/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + "@oclif/core/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="], "@oclif/core/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], @@ -2564,8 +3347,36 @@ "@react-navigation/routers/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + "@react-router/dev/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], + + "@swc/helpers/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@tailwindcss/node/jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], + + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.1", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" }, "bundled": true }, "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A=="], + + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], + + "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@tybys/wasm-util/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@types/bunyan/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + + "@types/cli-progress/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + + "@types/graceful-fs/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + + "@types/pg/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + + "@types/react-dom/@types/react": ["@types/react@19.2.14", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w=="], + "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], @@ -2574,6 +3385,8 @@ "@urql/exchange-retry/@urql/core": ["@urql/core@5.2.0", "", { "dependencies": { "@0no-co/graphql.web": "^1.0.13", "wonka": "^6.3.2" } }, "sha512-/n0ieD0mvvDnVAXEQgX/7qJiVcvYvNkOHeBvkwtylfjydar123caCXcl58PXFY11oU1oquJocVXHxLAbtv4x1A=="], + "accepts/negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], + "ansi-escapes/type-fest": ["type-fest@0.21.3", "", {}, "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="], "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], @@ -2582,9 +3395,17 @@ "babel-plugin-polyfill-corejs2/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "basic-auth/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], + + "body-parser/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + + "bun-types/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + "chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + "chrome-launcher/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + + "chromium-edge-launcher/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], "chromium-edge-launcher/mkdirp": ["mkdirp@1.0.4", "", { "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="], @@ -2594,10 +3415,10 @@ "compression/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "compression/negotiator": ["negotiator@0.6.4", "", {}, "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w=="], - "connect/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + "connect/finalhandler": ["finalhandler@1.1.2", "", { "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" } }, "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA=="], + "cross-fetch/node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], "css-tree/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], @@ -2648,6 +3469,10 @@ "expo-splash-screen/@expo/prebuild-config": ["@expo/prebuild-config@54.0.8", "", { "dependencies": { "@expo/config": "~12.0.13", "@expo/config-plugins": "~54.0.4", "@expo/config-types": "^54.0.10", "@expo/image-utils": "^0.8.8", "@expo/json-file": "^10.0.8", "@react-native/normalize-colors": "0.81.5", "debug": "^4.3.1", "resolve-from": "^5.0.0", "semver": "^7.6.0", "xml2js": "0.6.0" }, "peerDependencies": { "expo": "*" } }, "sha512-EA7N4dloty2t5Rde+HP0IEE+nkAQiu4A/+QGZGT9mFnZ5KKjPPkqSyYcRvP5bhQE10D+tvz6X0ngZpulbMdbsg=="], + "express/cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], + + "express/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], "fbjs/cross-fetch": ["cross-fetch@3.2.0", "", { "dependencies": { "node-fetch": "^2.7.0" } }, "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q=="], @@ -2658,14 +3483,10 @@ "finalhandler/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "finalhandler/encodeurl": ["encodeurl@1.0.2", "", {}, "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="], - - "finalhandler/on-finished": ["on-finished@2.3.0", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww=="], - - "finalhandler/statuses": ["statuses@1.5.0", "", {}, "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="], - "foreground-child/signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + "framer-motion/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], "globby/ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], @@ -2678,20 +3499,34 @@ "import-fresh/resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + "intl-messageformat/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "is-bun-module/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], "istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "jest-environment-node/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + + "jest-haste-map/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + "jest-message-util/@babel/code-frame": ["@babel/code-frame@7.29.0", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw=="], + "jest-mock/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + + "jest-util/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + "jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "jest-worker/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + "jks-js/node-forge": ["node-forge@1.3.3", "", {}, "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg=="], "lighthouse-logger/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], "lru-cache/yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="], + "mdast-util-find-and-replace/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + "metro/@babel/code-frame": ["@babel/code-frame@7.29.0", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw=="], "metro/ci-info": ["ci-info@2.0.0", "", {}, "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="], @@ -2708,16 +3543,28 @@ "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "morgan/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + + "morgan/on-finished": ["on-finished@2.3.0", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww=="], + + "motion/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "mv/rimraf": ["rimraf@2.4.5", "", { "dependencies": { "glob": "^6.0.1" }, "bin": { "rimraf": "./bin.js" } }, "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ=="], "npm-package-arg/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], + "parse-png/pngjs": ["pngjs@3.4.0", "", {}, "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w=="], + "parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], + "path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], "pkg-dir/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], + "pkg-types/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + "plist/@xmldom/xmldom": ["@xmldom/xmldom@0.8.11", "", {}, "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw=="], "plist/xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="], @@ -2752,7 +3599,7 @@ "react-style-singleton/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "regjsparser/jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], "requireg/resolve": ["resolve@1.7.1", "", { "dependencies": { "path-parse": "^1.0.5" } }, "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw=="], @@ -2774,9 +3621,7 @@ "supports-hyperlinks/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "tailwindcss/resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], - - "tailwindcss/sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], + "svix/uuid": ["uuid@10.0.0", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ=="], "tar/minizlib": ["minizlib@3.1.0", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw=="], @@ -2784,18 +3629,26 @@ "test-exclude/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], - "tinyglobby/picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], - "ts-node/arg": ["arg@4.1.3", "", {}, "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="], "ts-node/diff": ["diff@4.0.4", "", {}, "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ=="], "tsconfig-paths/json5": ["json5@1.0.2", "", { "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA=="], + "twrnc/tailwindcss": ["tailwindcss@3.4.19", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.7", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ=="], + "use-callback-ref/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], "use-sidecar/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "vite-node/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "waitlist-website/@types/react": ["@types/react@19.2.14", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w=="], + + "waitlist-website/react": ["react@19.2.4", "", {}, "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ=="], + + "waitlist-website/react-dom": ["react-dom@19.2.4", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.4" } }, "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ=="], + "whatwg-url/webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], "xcode/uuid": ["uuid@7.0.3", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg=="], @@ -2872,6 +3725,8 @@ "@expo/metro-config/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "@expo/metro-config/postcss/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + "@expo/package-manager/ora/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], "@expo/package-manager/ora/cli-cursor": ["cli-cursor@2.1.0", "", { "dependencies": { "restore-cursor": "^2.0.0" } }, "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw=="], @@ -2892,12 +3747,40 @@ "@istanbuljs/load-nyc-config/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], + "@jest/environment/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "@jest/fake-timers/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "@jest/types/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "@oclif/plugin-autocomplete/@oclif/core/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@types/bunyan/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "@types/cli-progress/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "@types/graceful-fs/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "@types/pg/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "body-parser/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + + "bun-types/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "chrome-launcher/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "chromium-edge-launcher/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "compression/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], "connect/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + "connect/finalhandler/encodeurl": ["encodeurl@1.0.2", "", {}, "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="], + + "connect/finalhandler/on-finished": ["on-finished@2.3.0", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww=="], + + "connect/finalhandler/statuses": ["statuses@1.5.0", "", {}, "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="], + "eslint-plugin-import/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], "eslint-plugin-react/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], @@ -2978,12 +3861,24 @@ "expo/@expo/config-plugins/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "express/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + "fbjs/cross-fetch/node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], "finalhandler/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], "glob/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + "jest-environment-node/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "jest-haste-map/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "jest-mock/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "jest-util/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "jest-worker/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "lighthouse-logger/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], "metro-babel-transformer/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], @@ -2992,6 +3887,8 @@ "metro/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], + "morgan/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + "mv/rimraf/glob": ["glob@6.0.4", "", { "dependencies": { "inflight": "^1.0.4", "inherits": "2", "minimatch": "2 || 3", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A=="], "pkg-dir/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], @@ -3002,10 +3899,18 @@ "sucrase/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - "tailwindcss/sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], - "test-exclude/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + "twrnc/tailwindcss/chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], + + "twrnc/tailwindcss/postcss": ["postcss@8.4.49", "", { "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA=="], + + "twrnc/tailwindcss/resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], + + "twrnc/tailwindcss/sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], + + "waitlist-website/react-dom/scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], + "@babel/highlight/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], "@babel/highlight/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], @@ -3104,6 +4009,14 @@ "pkg-dir/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], + "twrnc/tailwindcss/chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "twrnc/tailwindcss/chokidar/readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], + + "twrnc/tailwindcss/postcss/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "twrnc/tailwindcss/sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], + "@babel/highlight/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], "@expo/cli/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.2", "", { "dependencies": { "jackspeak": "^4.2.3" } }, "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg=="], @@ -3176,6 +4089,8 @@ "pkg-dir/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], + "twrnc/tailwindcss/chokidar/readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "@expo/cli/glob/minimatch/brace-expansion/balanced-match/jackspeak": ["jackspeak@4.2.3", "", { "dependencies": { "@isaacs/cliui": "^9.0.0" } }, "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg=="], "@expo/cli/ora/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], From 230116d9f7c2723a2edbbc10a3436ac7bfdb8c7e Mon Sep 17 00:00:00 2001 From: Kenneth Date: Sun, 8 Mar 2026 03:35:58 +0000 Subject: [PATCH 3/4] fix(waitlist): add delay before email to avoid rate limit (#61) Co-authored-by: Ona --- apps/waitlist-website/app/routes/home.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/waitlist-website/app/routes/home.tsx b/apps/waitlist-website/app/routes/home.tsx index 65eb3b4..d9a0f75 100644 --- a/apps/waitlist-website/app/routes/home.tsx +++ b/apps/waitlist-website/app/routes/home.tsx @@ -81,6 +81,8 @@ export async function action({ request }: Route.ActionArgs) { return { error: FormError.Resend, message: res.error.message } } + await new Promise((resolve) => setTimeout(resolve, 1000)) + const emailRes = await resend.emails.send({ from: "Aelis ", to: email, From 863c298bd36033f812b2e28fb539c6f7a03614e2 Mon Sep 17 00:00:00 2001 From: Kenneth Date: Tue, 10 Mar 2026 19:19:23 +0000 Subject: [PATCH 4/4] refactor: rename aris to aelis (#59) Rename all references across the codebase: package names, imports, source IDs, directory names, docs, and configs. Co-authored-by: Ona --- .ona/automations.yaml | 4 +- AGENTS.md | 2 +- README.md | 6 +- .../.env.example | 0 .../package.json | 14 +- .../src/auth/http.ts | 0 .../src/auth/index.ts | 0 .../src/auth/session-middleware.ts | 0 .../src/auth/session.ts | 0 .../{aris-backend => aelis-backend}/src/db.ts | 0 .../src/enhancement/enhance-feed.ts | 2 +- .../src/enhancement/llm-client.ts | 0 .../src/enhancement/merge.test.ts | 2 +- .../src/enhancement/merge.ts | 2 +- .../src/enhancement/prompt-builder.test.ts | 2 +- .../src/enhancement/prompt-builder.ts | 6 +- .../src/enhancement/prompts/system.txt | 2 +- .../src/enhancement/schema.test.ts | 0 .../src/enhancement/schema.ts | 0 .../src/feed/http.test.ts | 2 +- .../src/feed/http.ts | 0 .../src/lib/error.ts | 0 .../src/location/http.ts | 2 +- .../src/server.ts | 2 +- .../src/session/feed-source-provider.ts | 2 +- .../src/session/index.ts | 0 .../src/session/user-session-manager.test.ts | 22 +- .../src/session/user-session-manager.ts | 0 .../src/session/user-session.test.ts | 8 +- .../src/session/user-session.ts | 2 +- .../src/tfl/provider.ts | 2 +- .../src/weather/provider.ts | 2 +- .../tsconfig.json | 0 apps/{aris-client => aelis-client}/.gitignore | 0 .../.vscode/extensions.json | 0 .../.vscode/settings.json | 0 apps/{aris-client => aelis-client}/README.md | 0 apps/{aris-client => aelis-client}/app.json | 10 +- .../assets/fonts/Inter_100Thin.ttf | Bin .../assets/fonts/Inter_100Thin_Italic.ttf | Bin .../assets/fonts/Inter_200ExtraLight.ttf | Bin .../fonts/Inter_200ExtraLight_Italic.ttf | Bin .../assets/fonts/Inter_300Light.ttf | Bin .../assets/fonts/Inter_300Light_Italic.ttf | Bin .../assets/fonts/Inter_400Regular.ttf | Bin .../assets/fonts/Inter_400Regular_Italic.ttf | Bin .../assets/fonts/Inter_500Medium.ttf | Bin .../assets/fonts/Inter_500Medium_Italic.ttf | Bin .../assets/fonts/Inter_600SemiBold.ttf | Bin .../assets/fonts/Inter_600SemiBold_Italic.ttf | Bin .../assets/fonts/Inter_700Bold.ttf | Bin .../assets/fonts/Inter_700Bold_Italic.ttf | Bin .../assets/fonts/Inter_800ExtraBold.ttf | Bin .../fonts/Inter_800ExtraBold_Italic.ttf | Bin .../assets/fonts/Inter_900Black.ttf | Bin .../assets/fonts/Inter_900Black_Italic.ttf | Bin .../fonts/SourceSerif4_200ExtraLight.ttf | Bin .../SourceSerif4_200ExtraLight_Italic.ttf | Bin .../assets/fonts/SourceSerif4_300Light.ttf | Bin .../fonts/SourceSerif4_300Light_Italic.ttf | Bin .../assets/fonts/SourceSerif4_400Regular.ttf | Bin .../fonts/SourceSerif4_400Regular_Italic.ttf | Bin .../assets/fonts/SourceSerif4_500Medium.ttf | Bin .../fonts/SourceSerif4_500Medium_Italic.ttf | Bin .../assets/fonts/SourceSerif4_600SemiBold.ttf | Bin .../fonts/SourceSerif4_600SemiBold_Italic.ttf | Bin .../assets/fonts/SourceSerif4_700Bold.ttf | Bin .../fonts/SourceSerif4_700Bold_Italic.ttf | Bin .../fonts/SourceSerif4_800ExtraBold.ttf | Bin .../SourceSerif4_800ExtraBold_Italic.ttf | Bin .../assets/fonts/SourceSerif4_900Black.ttf | Bin .../fonts/SourceSerif4_900Black_Italic.ttf | Bin .../assets/images/android-icon-background.png | Bin .../assets/images/android-icon-foreground.png | Bin .../assets/images/android-icon-monochrome.png | Bin .../assets/images/favicon.png | Bin .../assets/images/icon.png | Bin .../assets/images/partial-react-logo.png | Bin .../assets/images/react-logo.png | Bin .../assets/images/react-logo@2x.png | Bin .../assets/images/react-logo@3x.png | Bin .../assets/images/splash-icon.png | Bin apps/{aris-client => aelis-client}/eas.json | 0 .../eslint.config.js | 0 .../package.json | 2 +- .../scripts/dev-proxy.ts | 0 .../scripts/open-debugger.ts | 0 .../scripts/reset-project.js | 0 .../scripts/run-dev-server.sh | 0 .../src/app/(tabs)/_layout.tsx | 0 .../src/app/(tabs)/explore.tsx | 0 .../src/app/(tabs)/index.tsx | 0 .../src/app/_layout.tsx | 0 .../src/app/modal.tsx | 0 .../src/components/external-link.tsx | 0 .../src/components/haptic-tab.tsx | 0 .../src/components/hello-wave.tsx | 0 .../src/components/parallax-scroll-view.tsx | 0 .../src/components/themed-text.tsx | 0 .../src/components/themed-view.tsx | 0 .../src/components/ui/collapsible.tsx | 0 .../src/components/ui/icon-symbol.ios.tsx | 0 .../src/components/ui/icon-symbol.tsx | 0 .../src/constants/theme.ts | 0 .../src/hooks/use-color-scheme.ts | 0 .../src/hooks/use-color-scheme.web.ts | 0 .../src/hooks/use-theme-color.ts | 0 .../tsconfig.json | 0 bun.lock | 1016 ++++++++++------- docs/ai-agent-ideas.md | 54 +- docs/architecture-draft.md | 12 +- docs/backend-service-architecture-spec.md | 2 +- docs/backend-spec.md | 16 +- docs/feed-source-actions-spec.md | 26 +- package.json | 2 +- packages/{aris-core => aelis-core}/README.md | 12 +- .../{aris-core => aelis-core}/package.json | 2 +- .../{aris-core => aelis-core}/src/action.ts | 2 +- .../src/context-bridge.ts | 0 .../src/context-provider.ts | 0 .../src/context.test.ts | 30 +- .../{aris-core => aelis-core}/src/context.ts | 2 +- .../src/data-source.ts | 0 .../src/feed-controller.ts | 0 .../src/feed-engine.test.ts | 0 .../src/feed-engine.ts | 0 .../src/feed-post-processor.test.ts | 8 +- .../src/feed-post-processor.ts | 0 .../src/feed-source.test.ts | 0 .../src/feed-source.ts | 4 +- .../src/feed.test.ts | 0 .../{aris-core => aelis-core}/src/feed.ts | 0 .../{aris-core => aelis-core}/src/index.ts | 0 .../src/reconciler.ts | 0 .../.env.example | 0 .../README.md | 4 +- .../fixtures/san-francisco.json | 0 .../package.json | 4 +- .../scripts/generate-fixtures.ts | 0 .../src/data-source.test.ts | 6 +- .../src/data-source.ts | 6 +- .../src/feed-items.ts | 2 +- .../src/index.ts | 0 .../src/weatherkit.ts | 0 packages/aelis-feed-enhancers/package.json | 17 + .../src/index.ts | 0 .../src/time-of-day-enhancer.test.ts | 12 +- .../src/time-of-day-enhancer.ts | 18 +- .../README.md | 4 +- .../fixtures/all-day-event.ics | 0 .../fixtures/cancelled-event.ics | 0 .../fixtures/daily-recurring-allday.ics | 0 .../fixtures/minimal-event.ics | 0 .../fixtures/recurring-event.ics | 0 .../fixtures/single-event.ics | 0 .../weekly-recurring-with-exception.ics | 0 .../fixtures/weekly-recurring.ics | 0 .../package.json | 4 +- .../scripts/test-live.ts | 2 +- .../src/caldav-source.test.ts | 6 +- .../src/caldav-source.ts | 8 +- .../src/calendar-context.ts | 6 +- .../src/ical-parser.test.ts | 0 .../src/ical-parser.ts | 2 +- .../src/index.ts | 0 .../src/types.ts | 2 +- .../fixtures/events.json | 0 .../package.json | 4 +- .../src/calendar-context.ts | 6 +- .../src/feed-items.ts | 2 +- .../src/google-calendar-api.ts | 0 .../src/google-calendar-source.test.ts | 4 +- .../src/google-calendar-source.ts | 6 +- .../src/index.ts | 0 .../src/types.ts | 0 .../README.md | 18 +- .../package.json | 4 +- .../src/index.ts | 0 .../src/location-source.test.ts | 2 +- .../src/location-source.ts | 8 +- .../src/types.ts | 0 .../fixtures/tfl-responses.json | 0 .../package.json | 6 +- .../scripts/fetch-fixtures.ts | 0 .../src/index.ts | 0 .../src/tfl-api.ts | 0 .../src/tfl-source.test.ts | 8 +- .../src/tfl-source.ts | 10 +- .../src/types.ts | 2 +- .../README.md | 12 +- .../fixtures/san-francisco.json | 0 .../package.json | 6 +- .../scripts/query.ts | 6 +- .../src/feed-items.ts | 2 +- .../src/index.ts | 0 .../src/prompts/current-weather-insight.txt | 0 .../src/weather-context.ts | 6 +- .../src/weather-source.test.ts | 10 +- .../src/weather-source.ts | 10 +- .../src/weatherkit.ts | 0 packages/aris-feed-enhancers/package.json | 17 - 201 files changed, 891 insertions(+), 647 deletions(-) rename apps/{aris-backend => aelis-backend}/.env.example (100%) rename apps/{aris-backend => aelis-backend}/package.json (57%) rename apps/{aris-backend => aelis-backend}/src/auth/http.ts (100%) rename apps/{aris-backend => aelis-backend}/src/auth/index.ts (100%) rename apps/{aris-backend => aelis-backend}/src/auth/session-middleware.ts (100%) rename apps/{aris-backend => aelis-backend}/src/auth/session.ts (100%) rename apps/{aris-backend => aelis-backend}/src/db.ts (100%) rename apps/{aris-backend => aelis-backend}/src/enhancement/enhance-feed.ts (96%) rename apps/{aris-backend => aelis-backend}/src/enhancement/llm-client.ts (100%) rename apps/{aris-backend => aelis-backend}/src/enhancement/merge.test.ts (98%) rename apps/{aris-backend => aelis-backend}/src/enhancement/merge.ts (96%) rename apps/{aris-backend => aelis-backend}/src/enhancement/prompt-builder.test.ts (99%) rename apps/{aris-backend => aelis-backend}/src/enhancement/prompt-builder.ts (97%) rename apps/{aris-backend => aelis-backend}/src/enhancement/prompts/system.txt (91%) rename apps/{aris-backend => aelis-backend}/src/enhancement/schema.test.ts (100%) rename apps/{aris-backend => aelis-backend}/src/enhancement/schema.ts (100%) rename apps/{aris-backend => aelis-backend}/src/feed/http.test.ts (99%) rename apps/{aris-backend => aelis-backend}/src/feed/http.ts (100%) rename apps/{aris-backend => aelis-backend}/src/lib/error.ts (100%) rename apps/{aris-backend => aelis-backend}/src/location/http.ts (94%) rename apps/{aris-backend => aelis-backend}/src/server.ts (96%) rename apps/{aris-backend => aelis-backend}/src/session/feed-source-provider.ts (83%) rename apps/{aris-backend => aelis-backend}/src/session/index.ts (100%) rename apps/{aris-backend => aelis-backend}/src/session/user-session-manager.test.ts (86%) rename apps/{aris-backend => aelis-backend}/src/session/user-session-manager.ts (100%) rename apps/{aris-backend => aelis-backend}/src/session/user-session.test.ts (96%) rename apps/{aris-backend => aelis-backend}/src/session/user-session.ts (99%) rename apps/{aris-backend => aelis-backend}/src/tfl/provider.ts (88%) rename apps/{aris-backend => aelis-backend}/src/weather/provider.ts (81%) rename apps/{aris-backend => aelis-backend}/tsconfig.json (100%) rename apps/{aris-client => aelis-client}/.gitignore (100%) rename apps/{aris-client => aelis-client}/.vscode/extensions.json (100%) rename apps/{aris-client => aelis-client}/.vscode/settings.json (100%) rename apps/{aris-client => aelis-client}/README.md (100%) rename apps/{aris-client => aelis-client}/app.json (97%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_100Thin.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_100Thin_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_200ExtraLight.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_200ExtraLight_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_300Light.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_300Light_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_400Regular.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_400Regular_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_500Medium.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_500Medium_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_600SemiBold.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_600SemiBold_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_700Bold.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_700Bold_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_800ExtraBold.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_800ExtraBold_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_900Black.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/Inter_900Black_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_200ExtraLight.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_200ExtraLight_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_300Light.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_300Light_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_400Regular.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_400Regular_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_500Medium.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_500Medium_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_600SemiBold.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_600SemiBold_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_700Bold.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_700Bold_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_800ExtraBold.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_800ExtraBold_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_900Black.ttf (100%) rename apps/{aris-client => aelis-client}/assets/fonts/SourceSerif4_900Black_Italic.ttf (100%) rename apps/{aris-client => aelis-client}/assets/images/android-icon-background.png (100%) rename apps/{aris-client => aelis-client}/assets/images/android-icon-foreground.png (100%) rename apps/{aris-client => aelis-client}/assets/images/android-icon-monochrome.png (100%) rename apps/{aris-client => aelis-client}/assets/images/favicon.png (100%) rename apps/{aris-client => aelis-client}/assets/images/icon.png (100%) rename apps/{aris-client => aelis-client}/assets/images/partial-react-logo.png (100%) rename apps/{aris-client => aelis-client}/assets/images/react-logo.png (100%) rename apps/{aris-client => aelis-client}/assets/images/react-logo@2x.png (100%) rename apps/{aris-client => aelis-client}/assets/images/react-logo@3x.png (100%) rename apps/{aris-client => aelis-client}/assets/images/splash-icon.png (100%) rename apps/{aris-client => aelis-client}/eas.json (100%) rename apps/{aris-client => aelis-client}/eslint.config.js (100%) rename apps/{aris-client => aelis-client}/package.json (98%) rename apps/{aris-client => aelis-client}/scripts/dev-proxy.ts (100%) rename apps/{aris-client => aelis-client}/scripts/open-debugger.ts (100%) rename apps/{aris-client => aelis-client}/scripts/reset-project.js (100%) rename apps/{aris-client => aelis-client}/scripts/run-dev-server.sh (100%) rename apps/{aris-client => aelis-client}/src/app/(tabs)/_layout.tsx (100%) rename apps/{aris-client => aelis-client}/src/app/(tabs)/explore.tsx (100%) rename apps/{aris-client => aelis-client}/src/app/(tabs)/index.tsx (100%) rename apps/{aris-client => aelis-client}/src/app/_layout.tsx (100%) rename apps/{aris-client => aelis-client}/src/app/modal.tsx (100%) rename apps/{aris-client => aelis-client}/src/components/external-link.tsx (100%) rename apps/{aris-client => aelis-client}/src/components/haptic-tab.tsx (100%) rename apps/{aris-client => aelis-client}/src/components/hello-wave.tsx (100%) rename apps/{aris-client => aelis-client}/src/components/parallax-scroll-view.tsx (100%) rename apps/{aris-client => aelis-client}/src/components/themed-text.tsx (100%) rename apps/{aris-client => aelis-client}/src/components/themed-view.tsx (100%) rename apps/{aris-client => aelis-client}/src/components/ui/collapsible.tsx (100%) rename apps/{aris-client => aelis-client}/src/components/ui/icon-symbol.ios.tsx (100%) rename apps/{aris-client => aelis-client}/src/components/ui/icon-symbol.tsx (100%) rename apps/{aris-client => aelis-client}/src/constants/theme.ts (100%) rename apps/{aris-client => aelis-client}/src/hooks/use-color-scheme.ts (100%) rename apps/{aris-client => aelis-client}/src/hooks/use-color-scheme.web.ts (100%) rename apps/{aris-client => aelis-client}/src/hooks/use-theme-color.ts (100%) rename apps/{aris-client => aelis-client}/tsconfig.json (100%) rename packages/{aris-core => aelis-core}/README.md (94%) rename packages/{aris-core => aelis-core}/package.json (88%) rename packages/{aris-core => aelis-core}/src/action.ts (92%) rename packages/{aris-core => aelis-core}/src/context-bridge.ts (100%) rename packages/{aris-core => aelis-core}/src/context-provider.ts (100%) rename packages/{aris-core => aelis-core}/src/context.test.ts (79%) rename packages/{aris-core => aelis-core}/src/context.ts (98%) rename packages/{aris-core => aelis-core}/src/data-source.ts (100%) rename packages/{aris-core => aelis-core}/src/feed-controller.ts (100%) rename packages/{aris-core => aelis-core}/src/feed-engine.test.ts (100%) rename packages/{aris-core => aelis-core}/src/feed-engine.ts (100%) rename packages/{aris-core => aelis-core}/src/feed-post-processor.test.ts (99%) rename packages/{aris-core => aelis-core}/src/feed-post-processor.ts (100%) rename packages/{aris-core => aelis-core}/src/feed-source.test.ts (100%) rename packages/{aris-core => aelis-core}/src/feed-source.ts (98%) rename packages/{aris-core => aelis-core}/src/feed.test.ts (100%) rename packages/{aris-core => aelis-core}/src/feed.ts (100%) rename packages/{aris-core => aelis-core}/src/index.ts (100%) rename packages/{aris-core => aelis-core}/src/reconciler.ts (100%) rename packages/{aris-data-source-weatherkit => aelis-data-source-weatherkit}/.env.example (100%) rename packages/{aris-data-source-weatherkit => aelis-data-source-weatherkit}/README.md (93%) rename packages/{aris-data-source-weatherkit => aelis-data-source-weatherkit}/fixtures/san-francisco.json (100%) rename packages/{aris-data-source-weatherkit => aelis-data-source-weatherkit}/package.json (70%) rename packages/{aris-data-source-weatherkit => aelis-data-source-weatherkit}/scripts/generate-fixtures.ts (100%) rename packages/{aris-data-source-weatherkit => aelis-data-source-weatherkit}/src/data-source.test.ts (97%) rename packages/{aris-data-source-weatherkit => aelis-data-source-weatherkit}/src/data-source.ts (98%) rename packages/{aris-data-source-weatherkit => aelis-data-source-weatherkit}/src/feed-items.ts (98%) rename packages/{aris-data-source-weatherkit => aelis-data-source-weatherkit}/src/index.ts (100%) rename packages/{aris-data-source-weatherkit => aelis-data-source-weatherkit}/src/weatherkit.ts (100%) create mode 100644 packages/aelis-feed-enhancers/package.json rename packages/{aris-feed-enhancers => aelis-feed-enhancers}/src/index.ts (100%) rename packages/{aris-feed-enhancers => aelis-feed-enhancers}/src/time-of-day-enhancer.test.ts (98%) rename packages/{aris-feed-enhancers => aelis-feed-enhancers}/src/time-of-day-enhancer.ts (97%) rename packages/{aris-source-caldav => aelis-source-caldav}/README.md (95%) rename packages/{aris-source-caldav => aelis-source-caldav}/fixtures/all-day-event.ics (100%) rename packages/{aris-source-caldav => aelis-source-caldav}/fixtures/cancelled-event.ics (100%) rename packages/{aris-source-caldav => aelis-source-caldav}/fixtures/daily-recurring-allday.ics (100%) rename packages/{aris-source-caldav => aelis-source-caldav}/fixtures/minimal-event.ics (100%) rename packages/{aris-source-caldav => aelis-source-caldav}/fixtures/recurring-event.ics (100%) rename packages/{aris-source-caldav => aelis-source-caldav}/fixtures/single-event.ics (100%) rename packages/{aris-source-caldav => aelis-source-caldav}/fixtures/weekly-recurring-with-exception.ics (100%) rename packages/{aris-source-caldav => aelis-source-caldav}/fixtures/weekly-recurring.ics (100%) rename packages/{aris-source-caldav => aelis-source-caldav}/package.json (79%) rename packages/{aris-source-caldav => aelis-source-caldav}/scripts/test-live.ts (98%) rename packages/{aris-source-caldav => aelis-source-caldav}/src/caldav-source.test.ts (99%) rename packages/{aris-source-caldav => aelis-source-caldav}/src/caldav-source.ts (97%) rename packages/{aris-source-caldav => aelis-source-caldav}/src/calendar-context.ts (83%) rename packages/{aris-source-caldav => aelis-source-caldav}/src/ical-parser.test.ts (100%) rename packages/{aris-source-caldav => aelis-source-caldav}/src/ical-parser.ts (98%) rename packages/{aris-source-caldav => aelis-source-caldav}/src/index.ts (100%) rename packages/{aris-source-caldav => aelis-source-caldav}/src/types.ts (98%) rename packages/{aris-source-google-calendar => aelis-source-google-calendar}/fixtures/events.json (100%) rename packages/{aris-source-google-calendar => aelis-source-google-calendar}/package.json (70%) rename packages/{aris-source-google-calendar => aelis-source-google-calendar}/src/calendar-context.ts (61%) rename packages/{aris-source-google-calendar => aelis-source-google-calendar}/src/feed-items.ts (92%) rename packages/{aris-source-google-calendar => aelis-source-google-calendar}/src/google-calendar-api.ts (100%) rename packages/{aris-source-google-calendar => aelis-source-google-calendar}/src/google-calendar-source.test.ts (98%) rename packages/{aris-source-google-calendar => aelis-source-google-calendar}/src/google-calendar-source.ts (97%) rename packages/{aris-source-google-calendar => aelis-source-google-calendar}/src/index.ts (100%) rename packages/{aris-source-google-calendar => aelis-source-google-calendar}/src/types.ts (100%) rename packages/{aris-source-location => aelis-source-location}/README.md (84%) rename packages/{aris-source-location => aelis-source-location}/package.json (73%) rename packages/{aris-source-location => aelis-source-location}/src/index.ts (100%) rename packages/{aris-source-location => aelis-source-location}/src/location-source.test.ts (99%) rename packages/{aris-source-location => aelis-source-location}/src/location-source.ts (93%) rename packages/{aris-source-location => aelis-source-location}/src/types.ts (100%) rename packages/{aris-source-tfl => aelis-source-tfl}/fixtures/tfl-responses.json (100%) rename packages/{aris-source-tfl => aelis-source-tfl}/package.json (69%) rename packages/{aris-source-tfl => aelis-source-tfl}/scripts/fetch-fixtures.ts (100%) rename packages/{aris-source-tfl => aelis-source-tfl}/src/index.ts (100%) rename packages/{aris-source-tfl => aelis-source-tfl}/src/tfl-api.ts (100%) rename packages/{aris-source-tfl => aelis-source-tfl}/src/tfl-source.test.ts (98%) rename packages/{aris-source-tfl => aelis-source-tfl}/src/tfl-source.ts (95%) rename packages/{aris-source-tfl => aelis-source-tfl}/src/types.ts (96%) rename packages/{aris-source-weatherkit => aelis-source-weatherkit}/README.md (88%) rename packages/{aris-source-weatherkit => aelis-source-weatherkit}/fixtures/san-francisco.json (100%) rename packages/{aris-source-weatherkit => aelis-source-weatherkit}/package.json (61%) rename packages/{aris-source-weatherkit => aelis-source-weatherkit}/scripts/query.ts (97%) rename packages/{aris-source-weatherkit => aelis-source-weatherkit}/src/feed-items.ts (98%) rename packages/{aris-source-weatherkit => aelis-source-weatherkit}/src/index.ts (100%) rename packages/{aris-source-weatherkit => aelis-source-weatherkit}/src/prompts/current-weather-insight.txt (100%) rename packages/{aris-source-weatherkit => aelis-source-weatherkit}/src/weather-context.ts (73%) rename packages/{aris-source-weatherkit => aelis-source-weatherkit}/src/weather-source.test.ts (96%) rename packages/{aris-source-weatherkit => aelis-source-weatherkit}/src/weather-source.ts (97%) rename packages/{aris-source-weatherkit => aelis-source-weatherkit}/src/weatherkit.ts (100%) delete mode 100644 packages/aris-feed-enhancers/package.json diff --git a/.ona/automations.yaml b/.ona/automations.yaml index 5071d40..6a17260 100644 --- a/.ona/automations.yaml +++ b/.ona/automations.yaml @@ -1,8 +1,8 @@ services: expo: name: Expo Dev Server - description: Expo development server for aris-client + description: Expo development server for aelis-client triggeredBy: - postDevcontainerStart commands: - start: cd apps/aris-client && ./scripts/run-dev-server.sh + start: cd apps/aelis-client && ./scripts/run-dev-server.sh diff --git a/AGENTS.md b/AGENTS.md index d7ffc7e..1411890 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,7 +2,7 @@ ## Project -ARIS is an AI-powered personal assistant that aggregates data from various sources into a contextual feed. Monorepo with `packages/` (shared libraries) and `apps/` (applications). +AELIS is an AI-powered personal assistant that aggregates data from various sources into a contextual feed. Monorepo with `packages/` (shared libraries) and `apps/` (applications). ## Commands diff --git a/README.md b/README.md index 41655fa..637560c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# aris +# aelis To install dependencies: @@ -8,14 +8,14 @@ bun install ## Packages -### @aris/source-tfl +### @aelis/source-tfl TfL (Transport for London) feed source for tube, overground, and Elizabeth line alerts. #### Testing ```bash -cd packages/aris-source-tfl +cd packages/aelis-source-tfl bun run test ``` diff --git a/apps/aris-backend/.env.example b/apps/aelis-backend/.env.example similarity index 100% rename from apps/aris-backend/.env.example rename to apps/aelis-backend/.env.example diff --git a/apps/aris-backend/package.json b/apps/aelis-backend/package.json similarity index 57% rename from apps/aris-backend/package.json rename to apps/aelis-backend/package.json index 2d829dc..ac5b313 100644 --- a/apps/aris-backend/package.json +++ b/apps/aelis-backend/package.json @@ -1,5 +1,5 @@ { - "name": "@aris/backend", + "name": "@aelis/backend", "version": "0.0.0", "type": "module", "main": "src/server.ts", @@ -9,12 +9,12 @@ "test": "bun test src/" }, "dependencies": { - "@aris/core": "workspace:*", - "@aris/source-caldav": "workspace:*", - "@aris/source-google-calendar": "workspace:*", - "@aris/source-location": "workspace:*", - "@aris/source-tfl": "workspace:*", - "@aris/source-weatherkit": "workspace:*", + "@aelis/core": "workspace:*", + "@aelis/source-caldav": "workspace:*", + "@aelis/source-google-calendar": "workspace:*", + "@aelis/source-location": "workspace:*", + "@aelis/source-tfl": "workspace:*", + "@aelis/source-weatherkit": "workspace:*", "@openrouter/sdk": "^0.9.11", "arktype": "^2.1.29", "better-auth": "^1", diff --git a/apps/aris-backend/src/auth/http.ts b/apps/aelis-backend/src/auth/http.ts similarity index 100% rename from apps/aris-backend/src/auth/http.ts rename to apps/aelis-backend/src/auth/http.ts diff --git a/apps/aris-backend/src/auth/index.ts b/apps/aelis-backend/src/auth/index.ts similarity index 100% rename from apps/aris-backend/src/auth/index.ts rename to apps/aelis-backend/src/auth/index.ts diff --git a/apps/aris-backend/src/auth/session-middleware.ts b/apps/aelis-backend/src/auth/session-middleware.ts similarity index 100% rename from apps/aris-backend/src/auth/session-middleware.ts rename to apps/aelis-backend/src/auth/session-middleware.ts diff --git a/apps/aris-backend/src/auth/session.ts b/apps/aelis-backend/src/auth/session.ts similarity index 100% rename from apps/aris-backend/src/auth/session.ts rename to apps/aelis-backend/src/auth/session.ts diff --git a/apps/aris-backend/src/db.ts b/apps/aelis-backend/src/db.ts similarity index 100% rename from apps/aris-backend/src/db.ts rename to apps/aelis-backend/src/db.ts diff --git a/apps/aris-backend/src/enhancement/enhance-feed.ts b/apps/aelis-backend/src/enhancement/enhance-feed.ts similarity index 96% rename from apps/aris-backend/src/enhancement/enhance-feed.ts rename to apps/aelis-backend/src/enhancement/enhance-feed.ts index ae34da3..649b22b 100644 --- a/apps/aris-backend/src/enhancement/enhance-feed.ts +++ b/apps/aelis-backend/src/enhancement/enhance-feed.ts @@ -1,4 +1,4 @@ -import type { FeedItem } from "@aris/core" +import type { FeedItem } from "@aelis/core" import type { LlmClient } from "./llm-client.ts" diff --git a/apps/aris-backend/src/enhancement/llm-client.ts b/apps/aelis-backend/src/enhancement/llm-client.ts similarity index 100% rename from apps/aris-backend/src/enhancement/llm-client.ts rename to apps/aelis-backend/src/enhancement/llm-client.ts diff --git a/apps/aris-backend/src/enhancement/merge.test.ts b/apps/aelis-backend/src/enhancement/merge.test.ts similarity index 98% rename from apps/aris-backend/src/enhancement/merge.test.ts rename to apps/aelis-backend/src/enhancement/merge.test.ts index 6ba86a3..98cc1cb 100644 --- a/apps/aris-backend/src/enhancement/merge.test.ts +++ b/apps/aelis-backend/src/enhancement/merge.test.ts @@ -1,4 +1,4 @@ -import type { FeedItem } from "@aris/core" +import type { FeedItem } from "@aelis/core" import { describe, expect, test } from "bun:test" diff --git a/apps/aris-backend/src/enhancement/merge.ts b/apps/aelis-backend/src/enhancement/merge.ts similarity index 96% rename from apps/aris-backend/src/enhancement/merge.ts rename to apps/aelis-backend/src/enhancement/merge.ts index 3a51c10..1760d1d 100644 --- a/apps/aris-backend/src/enhancement/merge.ts +++ b/apps/aelis-backend/src/enhancement/merge.ts @@ -1,4 +1,4 @@ -import type { FeedItem } from "@aris/core" +import type { FeedItem } from "@aelis/core" import type { EnhancementResult } from "./schema.ts" diff --git a/apps/aris-backend/src/enhancement/prompt-builder.test.ts b/apps/aelis-backend/src/enhancement/prompt-builder.test.ts similarity index 99% rename from apps/aris-backend/src/enhancement/prompt-builder.test.ts rename to apps/aelis-backend/src/enhancement/prompt-builder.test.ts index 3a78422..47d97d9 100644 --- a/apps/aris-backend/src/enhancement/prompt-builder.test.ts +++ b/apps/aelis-backend/src/enhancement/prompt-builder.test.ts @@ -1,4 +1,4 @@ -import type { FeedItem } from "@aris/core" +import type { FeedItem } from "@aelis/core" import { describe, expect, test } from "bun:test" diff --git a/apps/aris-backend/src/enhancement/prompt-builder.ts b/apps/aelis-backend/src/enhancement/prompt-builder.ts similarity index 97% rename from apps/aris-backend/src/enhancement/prompt-builder.ts rename to apps/aelis-backend/src/enhancement/prompt-builder.ts index 1a7b3ae..4114826 100644 --- a/apps/aris-backend/src/enhancement/prompt-builder.ts +++ b/apps/aelis-backend/src/enhancement/prompt-builder.ts @@ -1,7 +1,7 @@ -import type { FeedItem } from "@aris/core" +import type { FeedItem } from "@aelis/core" -import { CalDavFeedItemType } from "@aris/source-caldav" -import { CalendarFeedItemType } from "@aris/source-google-calendar" +import { CalDavFeedItemType } from "@aelis/source-caldav" +import { CalendarFeedItemType } from "@aelis/source-google-calendar" import systemPromptBase from "./prompts/system.txt" diff --git a/apps/aris-backend/src/enhancement/prompts/system.txt b/apps/aelis-backend/src/enhancement/prompts/system.txt similarity index 91% rename from apps/aris-backend/src/enhancement/prompts/system.txt rename to apps/aelis-backend/src/enhancement/prompts/system.txt index 80eb816..70d247f 100644 --- a/apps/aris-backend/src/enhancement/prompts/system.txt +++ b/apps/aelis-backend/src/enhancement/prompts/system.txt @@ -1,4 +1,4 @@ -You are ARIS, a personal assistant. You enhance a user's feed by filling slots and optionally generating synthetic items. +You are AELIS, a personal assistant. You enhance a user's feed by filling slots and optionally generating synthetic items. The user message is a JSON object with: - "items": feed items with data and named slots to fill. Each slot has a description of what to write. diff --git a/apps/aris-backend/src/enhancement/schema.test.ts b/apps/aelis-backend/src/enhancement/schema.test.ts similarity index 100% rename from apps/aris-backend/src/enhancement/schema.test.ts rename to apps/aelis-backend/src/enhancement/schema.test.ts diff --git a/apps/aris-backend/src/enhancement/schema.ts b/apps/aelis-backend/src/enhancement/schema.ts similarity index 100% rename from apps/aris-backend/src/enhancement/schema.ts rename to apps/aelis-backend/src/enhancement/schema.ts diff --git a/apps/aris-backend/src/feed/http.test.ts b/apps/aelis-backend/src/feed/http.test.ts similarity index 99% rename from apps/aris-backend/src/feed/http.test.ts rename to apps/aelis-backend/src/feed/http.test.ts index a7a5343..7d75f03 100644 --- a/apps/aris-backend/src/feed/http.test.ts +++ b/apps/aelis-backend/src/feed/http.test.ts @@ -1,4 +1,4 @@ -import type { ActionDefinition, ContextEntry, FeedItem, FeedSource } from "@aris/core" +import type { ActionDefinition, ContextEntry, FeedItem, FeedSource } from "@aelis/core" import { describe, expect, test } from "bun:test" import { Hono } from "hono" diff --git a/apps/aris-backend/src/feed/http.ts b/apps/aelis-backend/src/feed/http.ts similarity index 100% rename from apps/aris-backend/src/feed/http.ts rename to apps/aelis-backend/src/feed/http.ts diff --git a/apps/aris-backend/src/lib/error.ts b/apps/aelis-backend/src/lib/error.ts similarity index 100% rename from apps/aris-backend/src/lib/error.ts rename to apps/aelis-backend/src/lib/error.ts diff --git a/apps/aris-backend/src/location/http.ts b/apps/aelis-backend/src/location/http.ts similarity index 94% rename from apps/aris-backend/src/location/http.ts rename to apps/aelis-backend/src/location/http.ts index 083cbd8..0bf1c2d 100644 --- a/apps/aris-backend/src/location/http.ts +++ b/apps/aelis-backend/src/location/http.ts @@ -45,7 +45,7 @@ async function handleUpdateLocation(c: Context) { const user = c.get("user")! const sessionManager = c.get("sessionManager") const session = sessionManager.getOrCreate(user.id) - await session.engine.executeAction("aris.location", "update-location", { + await session.engine.executeAction("aelis.location", "update-location", { lat: result.lat, lng: result.lng, accuracy: result.accuracy, diff --git a/apps/aris-backend/src/server.ts b/apps/aelis-backend/src/server.ts similarity index 96% rename from apps/aris-backend/src/server.ts rename to apps/aelis-backend/src/server.ts index dbfc163..15712a3 100644 --- a/apps/aris-backend/src/server.ts +++ b/apps/aelis-backend/src/server.ts @@ -1,4 +1,4 @@ -import { LocationSource } from "@aris/source-location" +import { LocationSource } from "@aelis/source-location" import { Hono } from "hono" import { registerAuthHandlers } from "./auth/http.ts" diff --git a/apps/aris-backend/src/session/feed-source-provider.ts b/apps/aelis-backend/src/session/feed-source-provider.ts similarity index 83% rename from apps/aris-backend/src/session/feed-source-provider.ts rename to apps/aelis-backend/src/session/feed-source-provider.ts index ef1c1de..b1151ab 100644 --- a/apps/aris-backend/src/session/feed-source-provider.ts +++ b/apps/aelis-backend/src/session/feed-source-provider.ts @@ -1,4 +1,4 @@ -import type { FeedSource } from "@aris/core" +import type { FeedSource } from "@aelis/core" export interface FeedSourceProvider { feedSourceForUser(userId: string): FeedSource diff --git a/apps/aris-backend/src/session/index.ts b/apps/aelis-backend/src/session/index.ts similarity index 100% rename from apps/aris-backend/src/session/index.ts rename to apps/aelis-backend/src/session/index.ts diff --git a/apps/aris-backend/src/session/user-session-manager.test.ts b/apps/aelis-backend/src/session/user-session-manager.test.ts similarity index 86% rename from apps/aris-backend/src/session/user-session-manager.test.ts rename to apps/aelis-backend/src/session/user-session-manager.test.ts index 3a751bf..de3be83 100644 --- a/apps/aris-backend/src/session/user-session-manager.test.ts +++ b/apps/aelis-backend/src/session/user-session-manager.test.ts @@ -1,6 +1,6 @@ -import type { WeatherKitClient, WeatherKitResponse } from "@aris/source-weatherkit" +import type { WeatherKitClient, WeatherKitResponse } from "@aelis/source-weatherkit" -import { LocationSource } from "@aris/source-location" +import { LocationSource } from "@aelis/source-location" import { describe, expect, mock, test } from "bun:test" import { WeatherSourceProvider } from "../weather/provider.ts" @@ -44,8 +44,8 @@ describe("UserSessionManager", () => { const session1 = manager.getOrCreate("user-1") const session2 = manager.getOrCreate("user-2") - const source1 = session1.getSource("aris.location") - const source2 = session2.getSource("aris.location") + const source1 = session1.getSource("aelis.location") + const source2 = session2.getSource("aelis.location") expect(source1).not.toBe(source2) }) @@ -83,7 +83,7 @@ describe("UserSessionManager", () => { const session = manager.getOrCreate("user-1") - expect(session.getSource("aris.weather")).toBeDefined() + expect(session.getSource("aelis.weather")).toBeDefined() }) test("accepts mixed providers", () => { @@ -94,8 +94,8 @@ describe("UserSessionManager", () => { const session = manager.getOrCreate("user-1") - expect(session.getSource("aris.location")).toBeDefined() - expect(session.getSource("aris.weather")).toBeDefined() + expect(session.getSource("aelis.location")).toBeDefined() + expect(session.getSource("aelis.weather")).toBeDefined() }) test("refresh returns feed result through session", async () => { @@ -114,14 +114,14 @@ describe("UserSessionManager", () => { const manager = new UserSessionManager({ providers: [() => new LocationSource()] }) const session = manager.getOrCreate("user-1") - await session.engine.executeAction("aris.location", "update-location", { + await session.engine.executeAction("aelis.location", "update-location", { lat: 51.5074, lng: -0.1278, accuracy: 10, timestamp: new Date(), }) - const source = session.getSource("aris.location") + const source = session.getSource("aelis.location") expect(source?.lastLocation?.lat).toBe(51.5074) }) @@ -132,7 +132,7 @@ describe("UserSessionManager", () => { const session = manager.getOrCreate("user-1") session.engine.subscribe(callback) - await session.engine.executeAction("aris.location", "update-location", { + await session.engine.executeAction("aelis.location", "update-location", { lat: 51.5074, lng: -0.1278, accuracy: 10, @@ -156,7 +156,7 @@ describe("UserSessionManager", () => { // Create new session and push location — old callback should not fire const session2 = manager.getOrCreate("user-1") - await session2.engine.executeAction("aris.location", "update-location", { + await session2.engine.executeAction("aelis.location", "update-location", { lat: 51.5074, lng: -0.1278, accuracy: 10, diff --git a/apps/aris-backend/src/session/user-session-manager.ts b/apps/aelis-backend/src/session/user-session-manager.ts similarity index 100% rename from apps/aris-backend/src/session/user-session-manager.ts rename to apps/aelis-backend/src/session/user-session-manager.ts diff --git a/apps/aris-backend/src/session/user-session.test.ts b/apps/aelis-backend/src/session/user-session.test.ts similarity index 96% rename from apps/aris-backend/src/session/user-session.test.ts rename to apps/aelis-backend/src/session/user-session.test.ts index 241ddb4..f824772 100644 --- a/apps/aris-backend/src/session/user-session.test.ts +++ b/apps/aelis-backend/src/session/user-session.test.ts @@ -1,6 +1,6 @@ -import type { ActionDefinition, ContextEntry, FeedItem, FeedSource } from "@aris/core" +import type { ActionDefinition, ContextEntry, FeedItem, FeedSource } from "@aelis/core" -import { LocationSource } from "@aris/source-location" +import { LocationSource } from "@aelis/source-location" import { describe, expect, test } from "bun:test" import { UserSession } from "./user-session.ts" @@ -36,7 +36,7 @@ describe("UserSession", () => { const location = new LocationSource() const session = new UserSession([location]) - const result = session.getSource("aris.location") + const result = session.getSource("aelis.location") expect(result).toBe(location) }) @@ -59,7 +59,7 @@ describe("UserSession", () => { const location = new LocationSource() const session = new UserSession([location]) - await session.engine.executeAction("aris.location", "update-location", { + await session.engine.executeAction("aelis.location", "update-location", { lat: 51.5, lng: -0.1, accuracy: 10, diff --git a/apps/aris-backend/src/session/user-session.ts b/apps/aelis-backend/src/session/user-session.ts similarity index 99% rename from apps/aris-backend/src/session/user-session.ts rename to apps/aelis-backend/src/session/user-session.ts index 237506f..31633f5 100644 --- a/apps/aris-backend/src/session/user-session.ts +++ b/apps/aelis-backend/src/session/user-session.ts @@ -1,4 +1,4 @@ -import { FeedEngine, type FeedItem, type FeedResult, type FeedSource } from "@aris/core" +import { FeedEngine, type FeedItem, type FeedResult, type FeedSource } from "@aelis/core" import type { FeedEnhancer } from "../enhancement/enhance-feed.ts" diff --git a/apps/aris-backend/src/tfl/provider.ts b/apps/aelis-backend/src/tfl/provider.ts similarity index 88% rename from apps/aris-backend/src/tfl/provider.ts rename to apps/aelis-backend/src/tfl/provider.ts index cdd80b4..d810ec3 100644 --- a/apps/aris-backend/src/tfl/provider.ts +++ b/apps/aelis-backend/src/tfl/provider.ts @@ -1,4 +1,4 @@ -import { TflSource, type ITflApi } from "@aris/source-tfl" +import { TflSource, type ITflApi } from "@aelis/source-tfl" import type { FeedSourceProvider } from "../session/feed-source-provider.ts" diff --git a/apps/aris-backend/src/weather/provider.ts b/apps/aelis-backend/src/weather/provider.ts similarity index 81% rename from apps/aris-backend/src/weather/provider.ts rename to apps/aelis-backend/src/weather/provider.ts index 25d56e4..8af3bc6 100644 --- a/apps/aris-backend/src/weather/provider.ts +++ b/apps/aelis-backend/src/weather/provider.ts @@ -1,4 +1,4 @@ -import { WeatherSource, type WeatherSourceOptions } from "@aris/source-weatherkit" +import { WeatherSource, type WeatherSourceOptions } from "@aelis/source-weatherkit" import type { FeedSourceProvider } from "../session/feed-source-provider.ts" diff --git a/apps/aris-backend/tsconfig.json b/apps/aelis-backend/tsconfig.json similarity index 100% rename from apps/aris-backend/tsconfig.json rename to apps/aelis-backend/tsconfig.json diff --git a/apps/aris-client/.gitignore b/apps/aelis-client/.gitignore similarity index 100% rename from apps/aris-client/.gitignore rename to apps/aelis-client/.gitignore diff --git a/apps/aris-client/.vscode/extensions.json b/apps/aelis-client/.vscode/extensions.json similarity index 100% rename from apps/aris-client/.vscode/extensions.json rename to apps/aelis-client/.vscode/extensions.json diff --git a/apps/aris-client/.vscode/settings.json b/apps/aelis-client/.vscode/settings.json similarity index 100% rename from apps/aris-client/.vscode/settings.json rename to apps/aelis-client/.vscode/settings.json diff --git a/apps/aris-client/README.md b/apps/aelis-client/README.md similarity index 100% rename from apps/aris-client/README.md rename to apps/aelis-client/README.md diff --git a/apps/aris-client/app.json b/apps/aelis-client/app.json similarity index 97% rename from apps/aris-client/app.json rename to apps/aelis-client/app.json index ad09153..af4270b 100644 --- a/apps/aris-client/app.json +++ b/apps/aelis-client/app.json @@ -1,11 +1,11 @@ { "expo": { - "name": "Aris", - "slug": "aris-client", + "name": "Aelis", + "slug": "aelis-client", "version": "1.0.0", "orientation": "portrait", "icon": "./assets/images/icon.png", - "scheme": "aris", + "scheme": "aelis", "userInterfaceStyle": "automatic", "newArchEnabled": true, "ios": { @@ -15,7 +15,7 @@ }, "ITSAppUsesNonExemptEncryption": false }, - "bundleIdentifier": "sh.nym.aris" + "bundleIdentifier": "sh.nym.aelis" }, "android": { "adaptiveIcon": { @@ -26,7 +26,7 @@ }, "edgeToEdgeEnabled": true, "predictiveBackGestureEnabled": false, - "package": "sh.nym.aris" + "package": "sh.nym.aelis" }, "web": { "output": "static", diff --git a/apps/aris-client/assets/fonts/Inter_100Thin.ttf b/apps/aelis-client/assets/fonts/Inter_100Thin.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_100Thin.ttf rename to apps/aelis-client/assets/fonts/Inter_100Thin.ttf diff --git a/apps/aris-client/assets/fonts/Inter_100Thin_Italic.ttf b/apps/aelis-client/assets/fonts/Inter_100Thin_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_100Thin_Italic.ttf rename to apps/aelis-client/assets/fonts/Inter_100Thin_Italic.ttf diff --git a/apps/aris-client/assets/fonts/Inter_200ExtraLight.ttf b/apps/aelis-client/assets/fonts/Inter_200ExtraLight.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_200ExtraLight.ttf rename to apps/aelis-client/assets/fonts/Inter_200ExtraLight.ttf diff --git a/apps/aris-client/assets/fonts/Inter_200ExtraLight_Italic.ttf b/apps/aelis-client/assets/fonts/Inter_200ExtraLight_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_200ExtraLight_Italic.ttf rename to apps/aelis-client/assets/fonts/Inter_200ExtraLight_Italic.ttf diff --git a/apps/aris-client/assets/fonts/Inter_300Light.ttf b/apps/aelis-client/assets/fonts/Inter_300Light.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_300Light.ttf rename to apps/aelis-client/assets/fonts/Inter_300Light.ttf diff --git a/apps/aris-client/assets/fonts/Inter_300Light_Italic.ttf b/apps/aelis-client/assets/fonts/Inter_300Light_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_300Light_Italic.ttf rename to apps/aelis-client/assets/fonts/Inter_300Light_Italic.ttf diff --git a/apps/aris-client/assets/fonts/Inter_400Regular.ttf b/apps/aelis-client/assets/fonts/Inter_400Regular.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_400Regular.ttf rename to apps/aelis-client/assets/fonts/Inter_400Regular.ttf diff --git a/apps/aris-client/assets/fonts/Inter_400Regular_Italic.ttf b/apps/aelis-client/assets/fonts/Inter_400Regular_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_400Regular_Italic.ttf rename to apps/aelis-client/assets/fonts/Inter_400Regular_Italic.ttf diff --git a/apps/aris-client/assets/fonts/Inter_500Medium.ttf b/apps/aelis-client/assets/fonts/Inter_500Medium.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_500Medium.ttf rename to apps/aelis-client/assets/fonts/Inter_500Medium.ttf diff --git a/apps/aris-client/assets/fonts/Inter_500Medium_Italic.ttf b/apps/aelis-client/assets/fonts/Inter_500Medium_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_500Medium_Italic.ttf rename to apps/aelis-client/assets/fonts/Inter_500Medium_Italic.ttf diff --git a/apps/aris-client/assets/fonts/Inter_600SemiBold.ttf b/apps/aelis-client/assets/fonts/Inter_600SemiBold.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_600SemiBold.ttf rename to apps/aelis-client/assets/fonts/Inter_600SemiBold.ttf diff --git a/apps/aris-client/assets/fonts/Inter_600SemiBold_Italic.ttf b/apps/aelis-client/assets/fonts/Inter_600SemiBold_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_600SemiBold_Italic.ttf rename to apps/aelis-client/assets/fonts/Inter_600SemiBold_Italic.ttf diff --git a/apps/aris-client/assets/fonts/Inter_700Bold.ttf b/apps/aelis-client/assets/fonts/Inter_700Bold.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_700Bold.ttf rename to apps/aelis-client/assets/fonts/Inter_700Bold.ttf diff --git a/apps/aris-client/assets/fonts/Inter_700Bold_Italic.ttf b/apps/aelis-client/assets/fonts/Inter_700Bold_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_700Bold_Italic.ttf rename to apps/aelis-client/assets/fonts/Inter_700Bold_Italic.ttf diff --git a/apps/aris-client/assets/fonts/Inter_800ExtraBold.ttf b/apps/aelis-client/assets/fonts/Inter_800ExtraBold.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_800ExtraBold.ttf rename to apps/aelis-client/assets/fonts/Inter_800ExtraBold.ttf diff --git a/apps/aris-client/assets/fonts/Inter_800ExtraBold_Italic.ttf b/apps/aelis-client/assets/fonts/Inter_800ExtraBold_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_800ExtraBold_Italic.ttf rename to apps/aelis-client/assets/fonts/Inter_800ExtraBold_Italic.ttf diff --git a/apps/aris-client/assets/fonts/Inter_900Black.ttf b/apps/aelis-client/assets/fonts/Inter_900Black.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_900Black.ttf rename to apps/aelis-client/assets/fonts/Inter_900Black.ttf diff --git a/apps/aris-client/assets/fonts/Inter_900Black_Italic.ttf b/apps/aelis-client/assets/fonts/Inter_900Black_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/Inter_900Black_Italic.ttf rename to apps/aelis-client/assets/fonts/Inter_900Black_Italic.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_200ExtraLight.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_200ExtraLight.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_200ExtraLight.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_200ExtraLight.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_200ExtraLight_Italic.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_200ExtraLight_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_200ExtraLight_Italic.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_200ExtraLight_Italic.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_300Light.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_300Light.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_300Light.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_300Light.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_300Light_Italic.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_300Light_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_300Light_Italic.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_300Light_Italic.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_400Regular.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_400Regular.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_400Regular.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_400Regular.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_400Regular_Italic.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_400Regular_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_400Regular_Italic.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_400Regular_Italic.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_500Medium.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_500Medium.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_500Medium.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_500Medium.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_500Medium_Italic.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_500Medium_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_500Medium_Italic.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_500Medium_Italic.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_600SemiBold.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_600SemiBold.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_600SemiBold.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_600SemiBold.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_600SemiBold_Italic.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_600SemiBold_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_600SemiBold_Italic.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_600SemiBold_Italic.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_700Bold.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_700Bold.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_700Bold.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_700Bold.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_700Bold_Italic.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_700Bold_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_700Bold_Italic.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_700Bold_Italic.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_800ExtraBold.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_800ExtraBold.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_800ExtraBold.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_800ExtraBold.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_800ExtraBold_Italic.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_800ExtraBold_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_800ExtraBold_Italic.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_800ExtraBold_Italic.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_900Black.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_900Black.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_900Black.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_900Black.ttf diff --git a/apps/aris-client/assets/fonts/SourceSerif4_900Black_Italic.ttf b/apps/aelis-client/assets/fonts/SourceSerif4_900Black_Italic.ttf similarity index 100% rename from apps/aris-client/assets/fonts/SourceSerif4_900Black_Italic.ttf rename to apps/aelis-client/assets/fonts/SourceSerif4_900Black_Italic.ttf diff --git a/apps/aris-client/assets/images/android-icon-background.png b/apps/aelis-client/assets/images/android-icon-background.png similarity index 100% rename from apps/aris-client/assets/images/android-icon-background.png rename to apps/aelis-client/assets/images/android-icon-background.png diff --git a/apps/aris-client/assets/images/android-icon-foreground.png b/apps/aelis-client/assets/images/android-icon-foreground.png similarity index 100% rename from apps/aris-client/assets/images/android-icon-foreground.png rename to apps/aelis-client/assets/images/android-icon-foreground.png diff --git a/apps/aris-client/assets/images/android-icon-monochrome.png b/apps/aelis-client/assets/images/android-icon-monochrome.png similarity index 100% rename from apps/aris-client/assets/images/android-icon-monochrome.png rename to apps/aelis-client/assets/images/android-icon-monochrome.png diff --git a/apps/aris-client/assets/images/favicon.png b/apps/aelis-client/assets/images/favicon.png similarity index 100% rename from apps/aris-client/assets/images/favicon.png rename to apps/aelis-client/assets/images/favicon.png diff --git a/apps/aris-client/assets/images/icon.png b/apps/aelis-client/assets/images/icon.png similarity index 100% rename from apps/aris-client/assets/images/icon.png rename to apps/aelis-client/assets/images/icon.png diff --git a/apps/aris-client/assets/images/partial-react-logo.png b/apps/aelis-client/assets/images/partial-react-logo.png similarity index 100% rename from apps/aris-client/assets/images/partial-react-logo.png rename to apps/aelis-client/assets/images/partial-react-logo.png diff --git a/apps/aris-client/assets/images/react-logo.png b/apps/aelis-client/assets/images/react-logo.png similarity index 100% rename from apps/aris-client/assets/images/react-logo.png rename to apps/aelis-client/assets/images/react-logo.png diff --git a/apps/aris-client/assets/images/react-logo@2x.png b/apps/aelis-client/assets/images/react-logo@2x.png similarity index 100% rename from apps/aris-client/assets/images/react-logo@2x.png rename to apps/aelis-client/assets/images/react-logo@2x.png diff --git a/apps/aris-client/assets/images/react-logo@3x.png b/apps/aelis-client/assets/images/react-logo@3x.png similarity index 100% rename from apps/aris-client/assets/images/react-logo@3x.png rename to apps/aelis-client/assets/images/react-logo@3x.png diff --git a/apps/aris-client/assets/images/splash-icon.png b/apps/aelis-client/assets/images/splash-icon.png similarity index 100% rename from apps/aris-client/assets/images/splash-icon.png rename to apps/aelis-client/assets/images/splash-icon.png diff --git a/apps/aris-client/eas.json b/apps/aelis-client/eas.json similarity index 100% rename from apps/aris-client/eas.json rename to apps/aelis-client/eas.json diff --git a/apps/aris-client/eslint.config.js b/apps/aelis-client/eslint.config.js similarity index 100% rename from apps/aris-client/eslint.config.js rename to apps/aelis-client/eslint.config.js diff --git a/apps/aris-client/package.json b/apps/aelis-client/package.json similarity index 98% rename from apps/aris-client/package.json rename to apps/aelis-client/package.json index 9a56b8b..626730e 100644 --- a/apps/aris-client/package.json +++ b/apps/aelis-client/package.json @@ -1,5 +1,5 @@ { - "name": "aris-client", + "name": "aelis-client", "version": "1.0.0", "private": true, "main": "expo-router/entry", diff --git a/apps/aris-client/scripts/dev-proxy.ts b/apps/aelis-client/scripts/dev-proxy.ts similarity index 100% rename from apps/aris-client/scripts/dev-proxy.ts rename to apps/aelis-client/scripts/dev-proxy.ts diff --git a/apps/aris-client/scripts/open-debugger.ts b/apps/aelis-client/scripts/open-debugger.ts similarity index 100% rename from apps/aris-client/scripts/open-debugger.ts rename to apps/aelis-client/scripts/open-debugger.ts diff --git a/apps/aris-client/scripts/reset-project.js b/apps/aelis-client/scripts/reset-project.js similarity index 100% rename from apps/aris-client/scripts/reset-project.js rename to apps/aelis-client/scripts/reset-project.js diff --git a/apps/aris-client/scripts/run-dev-server.sh b/apps/aelis-client/scripts/run-dev-server.sh similarity index 100% rename from apps/aris-client/scripts/run-dev-server.sh rename to apps/aelis-client/scripts/run-dev-server.sh diff --git a/apps/aris-client/src/app/(tabs)/_layout.tsx b/apps/aelis-client/src/app/(tabs)/_layout.tsx similarity index 100% rename from apps/aris-client/src/app/(tabs)/_layout.tsx rename to apps/aelis-client/src/app/(tabs)/_layout.tsx diff --git a/apps/aris-client/src/app/(tabs)/explore.tsx b/apps/aelis-client/src/app/(tabs)/explore.tsx similarity index 100% rename from apps/aris-client/src/app/(tabs)/explore.tsx rename to apps/aelis-client/src/app/(tabs)/explore.tsx diff --git a/apps/aris-client/src/app/(tabs)/index.tsx b/apps/aelis-client/src/app/(tabs)/index.tsx similarity index 100% rename from apps/aris-client/src/app/(tabs)/index.tsx rename to apps/aelis-client/src/app/(tabs)/index.tsx diff --git a/apps/aris-client/src/app/_layout.tsx b/apps/aelis-client/src/app/_layout.tsx similarity index 100% rename from apps/aris-client/src/app/_layout.tsx rename to apps/aelis-client/src/app/_layout.tsx diff --git a/apps/aris-client/src/app/modal.tsx b/apps/aelis-client/src/app/modal.tsx similarity index 100% rename from apps/aris-client/src/app/modal.tsx rename to apps/aelis-client/src/app/modal.tsx diff --git a/apps/aris-client/src/components/external-link.tsx b/apps/aelis-client/src/components/external-link.tsx similarity index 100% rename from apps/aris-client/src/components/external-link.tsx rename to apps/aelis-client/src/components/external-link.tsx diff --git a/apps/aris-client/src/components/haptic-tab.tsx b/apps/aelis-client/src/components/haptic-tab.tsx similarity index 100% rename from apps/aris-client/src/components/haptic-tab.tsx rename to apps/aelis-client/src/components/haptic-tab.tsx diff --git a/apps/aris-client/src/components/hello-wave.tsx b/apps/aelis-client/src/components/hello-wave.tsx similarity index 100% rename from apps/aris-client/src/components/hello-wave.tsx rename to apps/aelis-client/src/components/hello-wave.tsx diff --git a/apps/aris-client/src/components/parallax-scroll-view.tsx b/apps/aelis-client/src/components/parallax-scroll-view.tsx similarity index 100% rename from apps/aris-client/src/components/parallax-scroll-view.tsx rename to apps/aelis-client/src/components/parallax-scroll-view.tsx diff --git a/apps/aris-client/src/components/themed-text.tsx b/apps/aelis-client/src/components/themed-text.tsx similarity index 100% rename from apps/aris-client/src/components/themed-text.tsx rename to apps/aelis-client/src/components/themed-text.tsx diff --git a/apps/aris-client/src/components/themed-view.tsx b/apps/aelis-client/src/components/themed-view.tsx similarity index 100% rename from apps/aris-client/src/components/themed-view.tsx rename to apps/aelis-client/src/components/themed-view.tsx diff --git a/apps/aris-client/src/components/ui/collapsible.tsx b/apps/aelis-client/src/components/ui/collapsible.tsx similarity index 100% rename from apps/aris-client/src/components/ui/collapsible.tsx rename to apps/aelis-client/src/components/ui/collapsible.tsx diff --git a/apps/aris-client/src/components/ui/icon-symbol.ios.tsx b/apps/aelis-client/src/components/ui/icon-symbol.ios.tsx similarity index 100% rename from apps/aris-client/src/components/ui/icon-symbol.ios.tsx rename to apps/aelis-client/src/components/ui/icon-symbol.ios.tsx diff --git a/apps/aris-client/src/components/ui/icon-symbol.tsx b/apps/aelis-client/src/components/ui/icon-symbol.tsx similarity index 100% rename from apps/aris-client/src/components/ui/icon-symbol.tsx rename to apps/aelis-client/src/components/ui/icon-symbol.tsx diff --git a/apps/aris-client/src/constants/theme.ts b/apps/aelis-client/src/constants/theme.ts similarity index 100% rename from apps/aris-client/src/constants/theme.ts rename to apps/aelis-client/src/constants/theme.ts diff --git a/apps/aris-client/src/hooks/use-color-scheme.ts b/apps/aelis-client/src/hooks/use-color-scheme.ts similarity index 100% rename from apps/aris-client/src/hooks/use-color-scheme.ts rename to apps/aelis-client/src/hooks/use-color-scheme.ts diff --git a/apps/aris-client/src/hooks/use-color-scheme.web.ts b/apps/aelis-client/src/hooks/use-color-scheme.web.ts similarity index 100% rename from apps/aris-client/src/hooks/use-color-scheme.web.ts rename to apps/aelis-client/src/hooks/use-color-scheme.web.ts diff --git a/apps/aris-client/src/hooks/use-theme-color.ts b/apps/aelis-client/src/hooks/use-theme-color.ts similarity index 100% rename from apps/aris-client/src/hooks/use-theme-color.ts rename to apps/aelis-client/src/hooks/use-theme-color.ts diff --git a/apps/aris-client/tsconfig.json b/apps/aelis-client/tsconfig.json similarity index 100% rename from apps/aris-client/tsconfig.json rename to apps/aelis-client/tsconfig.json diff --git a/bun.lock b/bun.lock index 834c59a..0e5d59c 100644 --- a/bun.lock +++ b/bun.lock @@ -3,7 +3,7 @@ "configVersion": 1, "workspaces": { "": { - "name": "aris", + "name": "aelis", "devDependencies": { "@types/bun": "latest", "oxfmt": "^0.24.0", @@ -13,16 +13,16 @@ "typescript": "^5", }, }, - "apps/aris-backend": { - "name": "@aris/backend", + "apps/aelis-backend": { + "name": "@aelis/backend", "version": "0.0.0", "dependencies": { - "@aris/core": "workspace:*", - "@aris/source-caldav": "workspace:*", - "@aris/source-google-calendar": "workspace:*", - "@aris/source-location": "workspace:*", - "@aris/source-tfl": "workspace:*", - "@aris/source-weatherkit": "workspace:*", + "@aelis/core": "workspace:*", + "@aelis/source-caldav": "workspace:*", + "@aelis/source-google-calendar": "workspace:*", + "@aelis/source-location": "workspace:*", + "@aelis/source-tfl": "workspace:*", + "@aelis/source-weatherkit": "workspace:*", "@openrouter/sdk": "^0.9.11", "arktype": "^2.1.29", "better-auth": "^1", @@ -33,8 +33,8 @@ "@types/pg": "^8", }, }, - "apps/aris-client": { - "name": "aris-client", + "apps/aelis-client": { + "name": "aelis-client", "version": "1.0.0", "dependencies": { "@expo-google-fonts/inter": "^0.4.2", @@ -106,72 +106,72 @@ "vite-tsconfig-paths": "^5.1.4", }, }, - "packages/aris-core": { - "name": "@aris/core", + "packages/aelis-core": { + "name": "@aelis/core", "version": "0.0.0", "dependencies": { "@standard-schema/spec": "^1.1.0", }, }, - "packages/aris-data-source-weatherkit": { - "name": "@aris/data-source-weatherkit", + "packages/aelis-data-source-weatherkit": { + "name": "@aelis/data-source-weatherkit", "version": "0.0.0", "dependencies": { - "@aris/core": "workspace:*", + "@aelis/core": "workspace:*", "arktype": "^2.1.0", }, }, - "packages/aris-feed-enhancers": { - "name": "@aris/feed-enhancers", + "packages/aelis-feed-enhancers": { + "name": "@aelis/feed-enhancers", "version": "0.0.0", "dependencies": { - "@aris/core": "workspace:*", - "@aris/source-caldav": "workspace:*", - "@aris/source-google-calendar": "workspace:*", - "@aris/source-tfl": "workspace:*", - "@aris/source-weatherkit": "workspace:*", + "@aelis/core": "workspace:*", + "@aelis/source-caldav": "workspace:*", + "@aelis/source-google-calendar": "workspace:*", + "@aelis/source-tfl": "workspace:*", + "@aelis/source-weatherkit": "workspace:*", }, }, - "packages/aris-source-caldav": { - "name": "@aris/source-caldav", + "packages/aelis-source-caldav": { + "name": "@aelis/source-caldav", "version": "0.0.0", "dependencies": { - "@aris/core": "workspace:*", + "@aelis/core": "workspace:*", "ical.js": "^2.1.0", "tsdav": "^2.1.7", }, }, - "packages/aris-source-google-calendar": { - "name": "@aris/source-google-calendar", + "packages/aelis-source-google-calendar": { + "name": "@aelis/source-google-calendar", "version": "0.0.0", "dependencies": { - "@aris/core": "workspace:*", + "@aelis/core": "workspace:*", "arktype": "^2.1.0", }, }, - "packages/aris-source-location": { - "name": "@aris/source-location", + "packages/aelis-source-location": { + "name": "@aelis/source-location", "version": "0.0.0", "dependencies": { - "@aris/core": "workspace:*", + "@aelis/core": "workspace:*", "arktype": "^2.1.0", }, }, - "packages/aris-source-tfl": { - "name": "@aris/source-tfl", + "packages/aelis-source-tfl": { + "name": "@aelis/source-tfl", "version": "0.0.0", "dependencies": { - "@aris/core": "workspace:*", - "@aris/source-location": "workspace:*", + "@aelis/core": "workspace:*", + "@aelis/source-location": "workspace:*", "arktype": "^2.1.0", }, }, - "packages/aris-source-weatherkit": { - "name": "@aris/source-weatherkit", + "packages/aelis-source-weatherkit": { + "name": "@aelis/source-weatherkit", "version": "0.0.0", "dependencies": { - "@aris/core": "workspace:*", - "@aris/source-location": "workspace:*", + "@aelis/core": "workspace:*", + "@aelis/source-location": "workspace:*", "arktype": "^2.1.0", }, }, @@ -179,26 +179,26 @@ "packages": { "@0no-co/graphql.web": ["@0no-co/graphql.web@1.2.0", "", { "peerDependencies": { "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0" }, "optionalPeers": ["graphql"] }, "sha512-/1iHy9TTr63gE1YcR5idjx8UREz1s0kFhydf3bBLCXyqjhkIc6igAzTOx3zPifCwFR87tsh/4Pa9cNts6d2otw=="], + "@aelis/backend": ["@aelis/backend@workspace:apps/aelis-backend"], + + "@aelis/core": ["@aelis/core@workspace:packages/aelis-core"], + + "@aelis/data-source-weatherkit": ["@aelis/data-source-weatherkit@workspace:packages/aelis-data-source-weatherkit"], + + "@aelis/feed-enhancers": ["@aelis/feed-enhancers@workspace:packages/aelis-feed-enhancers"], + + "@aelis/source-caldav": ["@aelis/source-caldav@workspace:packages/aelis-source-caldav"], + + "@aelis/source-google-calendar": ["@aelis/source-google-calendar@workspace:packages/aelis-source-google-calendar"], + + "@aelis/source-location": ["@aelis/source-location@workspace:packages/aelis-source-location"], + + "@aelis/source-tfl": ["@aelis/source-tfl@workspace:packages/aelis-source-tfl"], + + "@aelis/source-weatherkit": ["@aelis/source-weatherkit@workspace:packages/aelis-source-weatherkit"], + "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], - "@aris/backend": ["@aris/backend@workspace:apps/aris-backend"], - - "@aris/core": ["@aris/core@workspace:packages/aris-core"], - - "@aris/data-source-weatherkit": ["@aris/data-source-weatherkit@workspace:packages/aris-data-source-weatherkit"], - - "@aris/feed-enhancers": ["@aris/feed-enhancers@workspace:packages/aris-feed-enhancers"], - - "@aris/source-caldav": ["@aris/source-caldav@workspace:packages/aris-source-caldav"], - - "@aris/source-google-calendar": ["@aris/source-google-calendar@workspace:packages/aris-source-google-calendar"], - - "@aris/source-location": ["@aris/source-location@workspace:packages/aris-source-location"], - - "@aris/source-tfl": ["@aris/source-tfl@workspace:packages/aris-source-tfl"], - - "@aris/source-weatherkit": ["@aris/source-weatherkit@workspace:packages/aris-source-weatherkit"], - "@ark/schema": ["@ark/schema@0.56.0", "", { "dependencies": { "@ark/util": "0.56.0" } }, "sha512-ECg3hox/6Z/nLajxXqNhgPtNdHWC9zNsDyskwO28WinoFEnWow4IsERNz9AnXRhTZJnYIlAJ4uGn3nlLk65vZA=="], "@ark/util": ["@ark/util@0.56.0", "", {}, "sha512-BghfRC8b9pNs3vBoDJhcta0/c1J1rsoS1+HgVUreMFPdhz/CRAKReAu57YEllNaSy98rWAdY1gE+gFup7OXpgA=="], @@ -219,7 +219,7 @@ "@babel/helper-create-regexp-features-plugin": ["@babel/helper-create-regexp-features-plugin@7.28.5", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "regexpu-core": "^6.3.1", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw=="], - "@babel/helper-define-polyfill-provider": ["@babel/helper-define-polyfill-provider@0.6.6", "", { "dependencies": { "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6", "debug": "^4.4.3", "lodash.debounce": "^4.0.8", "resolve": "^1.22.11" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA=="], + "@babel/helper-define-polyfill-provider": ["@babel/helper-define-polyfill-provider@0.6.7", "", { "dependencies": { "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6", "debug": "^4.4.3", "lodash.debounce": "^4.0.8", "resolve": "^1.22.11" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-6Fqi8MtQ/PweQ9xvux65emkLQ83uB+qAVtfHkC9UodyHMIZdxNI01HjLCLUtybElp2KY2XNE0nOgyP1E1vXw9w=="], "@babel/helper-globals": ["@babel/helper-globals@7.28.0", "", {}, "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw=="], @@ -391,18 +391,42 @@ "@babel/types": ["@babel/types@7.29.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A=="], - "@better-auth/core": ["@better-auth/core@1.4.18", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "zod": "^4.3.5" }, "peerDependencies": { "@better-auth/utils": "0.3.0", "@better-fetch/fetch": "1.1.21", "better-call": "1.1.8", "jose": "^6.1.0", "kysely": "^0.28.5", "nanostores": "^1.0.1" } }, "sha512-q+awYgC7nkLEBdx2sW0iJjkzgSHlIxGnOpsN1r/O1+a4m7osJNHtfK2mKJSL1I+GfNyIlxJF8WvD/NLuYMpmcg=="], + "@better-auth/core": ["@better-auth/core@1.5.4", "", { "dependencies": { "@standard-schema/spec": "^1.1.0", "zod": "^4.3.6" }, "peerDependencies": { "@better-auth/utils": "0.3.1", "@better-fetch/fetch": "1.1.21", "@cloudflare/workers-types": ">=4", "better-call": "1.3.2", "jose": "^6.1.0", "kysely": "^0.28.5", "nanostores": "^1.0.1" }, "optionalPeers": ["@cloudflare/workers-types"] }, "sha512-k5AdwPRQETZn0vdB60EB9CDxxfllpJXKqVxTjyXIUSRz7delNGlU0cR/iRP3VfVJwvYR1NbekphBDNo+KGoEzQ=="], - "@better-auth/telemetry": ["@better-auth/telemetry@1.4.18", "", { "dependencies": { "@better-auth/utils": "0.3.0", "@better-fetch/fetch": "1.1.21" }, "peerDependencies": { "@better-auth/core": "1.4.18" } }, "sha512-e5rDF8S4j3Um/0LIVATL2in9dL4lfO2fr2v1Wio4qTMRbfxqnUDTa+6SZtwdeJrbc4O+a3c+IyIpjG9Q/6GpfQ=="], + "@better-auth/drizzle-adapter": ["@better-auth/drizzle-adapter@1.5.4", "", { "peerDependencies": { "@better-auth/core": "1.5.4", "@better-auth/utils": "^0.3.0", "drizzle-orm": ">=0.41.0" } }, "sha512-4M4nMAWrDd3TmpV6dONkJjybBVKRZghe5Oj0NNyDEoXubxastQdO7Sb5B54I1rTx5yoMgsqaB+kbJnu/9UgjQg=="], - "@better-auth/utils": ["@better-auth/utils@0.3.0", "", {}, "sha512-W+Adw6ZA6mgvnSnhOki270rwJ42t4XzSK6YWGF//BbVXL6SwCLWfyzBc1lN2m/4RM28KubdBKQ4X5VMoLRNPQw=="], + "@better-auth/kysely-adapter": ["@better-auth/kysely-adapter@1.5.4", "", { "peerDependencies": { "@better-auth/core": "1.5.4", "@better-auth/utils": "^0.3.0", "kysely": "^0.27.0 || ^0.28.0" } }, "sha512-DPww7rIfz6Ed7dZlJSW9xMQ42VKaJLB5Cs+pPqd+UHKRyighKjf3VgvMIcAdFPc4olQ0qRHo3+ZJhFlBCxRhxA=="], + + "@better-auth/memory-adapter": ["@better-auth/memory-adapter@1.5.4", "", { "peerDependencies": { "@better-auth/core": "1.5.4", "@better-auth/utils": "^0.3.0" } }, "sha512-iiWYut9rbQqiAsgRBtj6+nxanwjapxRgpIJbiS2o81h7b9iclE0AiDA0Foes590gdFQvskNauZcCpuF8ytxthg=="], + + "@better-auth/mongo-adapter": ["@better-auth/mongo-adapter@1.5.4", "", { "peerDependencies": { "@better-auth/core": "1.5.4", "@better-auth/utils": "^0.3.0", "mongodb": "^6.0.0 || ^7.0.0" } }, "sha512-ArzJN5Obk6i6+vLK1HpPzLIcsjxZYXPPUvxVU8eyU5HyoUT2MlswWfPQ8UJAKPn0iq/T4PVp/wZcQMhWk1tuNA=="], + + "@better-auth/prisma-adapter": ["@better-auth/prisma-adapter@1.5.4", "", { "peerDependencies": { "@better-auth/core": "1.5.4", "@better-auth/utils": "^0.3.0", "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-ZQTbcBopw/ezjjbNFsfR3CRp0QciC4tJCarAnB5G9fZtUYbDjfY0vZOxIRmU4kI3x755CXQpGqTrkwmXaMRa3w=="], + + "@better-auth/telemetry": ["@better-auth/telemetry@1.5.4", "", { "dependencies": { "@better-auth/utils": "0.3.1", "@better-fetch/fetch": "1.1.21" }, "peerDependencies": { "@better-auth/core": "1.5.4" } }, "sha512-mGXTY7Ecxo7uvlMr6TFCBUvlH0NUMOeE9LKgPhG4HyhBN6VfCEg/DD9PG0Z2IatmMWQbckkt7ox5A0eBpG9m5w=="], + + "@better-auth/utils": ["@better-auth/utils@0.3.1", "", {}, "sha512-+CGp4UmZSUrHHnpHhLPYu6cV+wSUSvVbZbNykxhUDocpVNTo9uFFxw/NqJlh1iC4wQ9HKKWGCKuZ5wUgS0v6Kg=="], "@better-fetch/fetch": ["@better-fetch/fetch@1.1.21", "", {}, "sha512-/ImESw0sskqlVR94jB+5+Pxjf+xBwDZF/N5+y2/q4EqD7IARUTSpPfIo8uf39SYpCxyOCtbyYpUrZ3F/k0zT4A=="], + "@chevrotain/cst-dts-gen": ["@chevrotain/cst-dts-gen@10.5.0", "", { "dependencies": { "@chevrotain/gast": "10.5.0", "@chevrotain/types": "10.5.0", "lodash": "4.17.21" } }, "sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw=="], + + "@chevrotain/gast": ["@chevrotain/gast@10.5.0", "", { "dependencies": { "@chevrotain/types": "10.5.0", "lodash": "4.17.21" } }, "sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A=="], + + "@chevrotain/types": ["@chevrotain/types@10.5.0", "", {}, "sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A=="], + + "@chevrotain/utils": ["@chevrotain/utils@10.5.0", "", {}, "sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ=="], + "@cspotcode/source-map-support": ["@cspotcode/source-map-support@0.8.1", "", { "dependencies": { "@jridgewell/trace-mapping": "0.3.9" } }, "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw=="], "@egjs/hammerjs": ["@egjs/hammerjs@2.0.17", "", { "dependencies": { "@types/hammerjs": "^2.0.36" } }, "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A=="], + "@electric-sql/pglite": ["@electric-sql/pglite@0.3.15", "", {}, "sha512-Cj++n1Mekf9ETfdc16TlDi+cDDQF0W7EcbyRHYOAeZdsAe8M/FJg18itDTSwyHfar2WIezawM9o0EKaRGVKygQ=="], + + "@electric-sql/pglite-socket": ["@electric-sql/pglite-socket@0.0.20", "", { "peerDependencies": { "@electric-sql/pglite": "0.3.15" }, "bin": { "pglite-server": "dist/scripts/server.js" } }, "sha512-J5nLGsicnD9wJHnno9r+DGxfcZWh+YJMCe0q/aCgtG6XOm9Z7fKeite8IZSNXgZeGltSigM9U/vAWZQWdgcSFg=="], + + "@electric-sql/pglite-tools": ["@electric-sql/pglite-tools@0.2.20", "", { "peerDependencies": { "@electric-sql/pglite": "0.3.15" } }, "sha512-BK50ZnYa3IG7ztXhtgYf0Q7zijV32Iw1cYS8C+ThdQlwx12V5VZ9KRJ42y82Hyb4PkTxZQklVQA9JHyUlex33A=="], + "@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" } }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], "@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], @@ -465,15 +489,15 @@ "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="], - "@eslint/config-array": ["@eslint/config-array@0.21.1", "", { "dependencies": { "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA=="], + "@eslint/config-array": ["@eslint/config-array@0.21.2", "", { "dependencies": { "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", "minimatch": "^3.1.5" } }, "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw=="], "@eslint/config-helpers": ["@eslint/config-helpers@0.4.2", "", { "dependencies": { "@eslint/core": "^0.17.0" } }, "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw=="], "@eslint/core": ["@eslint/core@0.17.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ=="], - "@eslint/eslintrc": ["@eslint/eslintrc@3.3.3", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.1", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ=="], + "@eslint/eslintrc": ["@eslint/eslintrc@3.3.5", "", { "dependencies": { "ajv": "^6.14.0", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.1", "minimatch": "^3.1.5", "strip-json-comments": "^3.1.1" } }, "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg=="], - "@eslint/js": ["@eslint/js@9.39.2", "", {}, "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA=="], + "@eslint/js": ["@eslint/js@9.39.4", "", {}, "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw=="], "@eslint/object-schema": ["@eslint/object-schema@2.1.7", "", {}, "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA=="], @@ -501,9 +525,9 @@ "@expo/devtools": ["@expo/devtools@0.1.8", "", { "dependencies": { "chalk": "^4.1.2" }, "peerDependencies": { "react": "*", "react-native": "*" }, "optionalPeers": ["react", "react-native"] }, "sha512-SVLxbuanDjJPgc0sy3EfXUMLb/tXzp6XIHkhtPVmTWJAp+FOr6+5SeiCfJrCzZFet0Ifyke2vX3sFcKwEvCXwQ=="], - "@expo/eas-build-job": ["@expo/eas-build-job@18.0.1", "", { "dependencies": { "@expo/logger": "18.0.1", "joi": "^17.13.1", "semver": "^7.6.2", "zod": "^4.3.5" } }, "sha512-teBArWd4By/XZG1PmttNSPLh9zV/LoiLL46GImob4OWjSOcgsKMD+jCrQeQUe1MVgsJYB1NlXpZfA2OFeOkj+Q=="], + "@expo/eas-build-job": ["@expo/eas-build-job@18.2.0", "", { "dependencies": { "@expo/logger": "18.0.1", "joi": "^17.13.1", "semver": "^7.6.2", "zod": "^4.3.5" } }, "sha512-4YJq40Bt6eE18co2+Ozitu3CV9riiMWbWGfKh8nULJRJojYvPVCN3cOfDsXQnSpNIz2Eyn77Vx9bZHtMx0pzkg=="], - "@expo/eas-json": ["@expo/eas-json@18.0.1", "", { "dependencies": { "@babel/code-frame": "7.23.5", "@expo/eas-build-job": "18.0.1", "chalk": "4.1.2", "env-string": "1.0.1", "fs-extra": "11.2.0", "golden-fleece": "1.0.9", "joi": "17.11.0", "log-symbols": "4.1.0", "semver": "7.5.2", "terminal-link": "2.1.1", "tslib": "2.4.1" } }, "sha512-up5MGjK/GeTTJK9On8R2tprWigQJr53RlBSxOdud2cRtXPFvf2fWyz+KfUcs4EElPMwOFeUFywFeg2sSuU8iug=="], + "@expo/eas-json": ["@expo/eas-json@18.2.0", "", { "dependencies": { "@babel/code-frame": "7.23.5", "@expo/eas-build-job": "18.2.0", "chalk": "4.1.2", "env-string": "1.0.1", "fs-extra": "11.2.0", "golden-fleece": "1.0.9", "joi": "17.11.0", "log-symbols": "4.1.0", "semver": "7.5.2", "terminal-link": "2.1.1", "tslib": "2.4.1" } }, "sha512-RmrwZhJum8ibmMeANwzWsr6V/EeDWwKP46KMg05BgM1sEBdfvuPWYo8EdUrMHO23rQhq1mRRZD0kbuJt/wDvNw=="], "@expo/env": ["@expo/env@1.0.7", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-qSTEnwvuYJ3umapO9XJtrb1fAqiPlmUUg78N0IZXXGwQRt+bkp0OBls+Y5Mxw/Owj8waAM0Z3huKKskRADR5ow=="], @@ -547,17 +571,17 @@ "@expo/spawn-async": ["@expo/spawn-async@1.7.2", "", { "dependencies": { "cross-spawn": "^7.0.3" } }, "sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew=="], - "@expo/steps": ["@expo/steps@18.0.1", "", { "dependencies": { "@expo/eas-build-job": "18.0.1", "@expo/logger": "18.0.1", "@expo/spawn-async": "^1.7.2", "arg": "^5.0.2", "fs-extra": "^11.2.0", "joi": "^17.13.1", "jsep": "^1.3.8", "lodash.clonedeep": "^4.5.0", "lodash.get": "^4.4.2", "uuid": "^9.0.1", "yaml": "^2.4.3" } }, "sha512-XRtqrsEwzDP+HIe9+v73ry4fQztWlAs4C7Rz2fLXmsKUJS2Z76H3eKgUfFJyIq6iPupPrkZsF8uZaw+g/1B3kw=="], + "@expo/steps": ["@expo/steps@18.2.0", "", { "dependencies": { "@expo/eas-build-job": "18.2.0", "@expo/logger": "18.0.1", "@expo/spawn-async": "^1.7.2", "arg": "^5.0.2", "fs-extra": "^11.2.0", "joi": "^17.13.1", "jsep": "^1.3.8", "lodash.clonedeep": "^4.5.0", "lodash.get": "^4.4.2", "uuid": "^9.0.1", "yaml": "^2.4.3" } }, "sha512-tXyi80lW5YmThWXdIfvZbKaMjAY2DCJyf456IqKSitfOKQm+cH9CQPh7ZP8RZgjGZslaLX7lUIu8SWeDN9FSkA=="], "@expo/sudo-prompt": ["@expo/sudo-prompt@9.3.2", "", {}, "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw=="], "@expo/timeago.js": ["@expo/timeago.js@1.0.0", "", {}, "sha512-PD45CGlCL8kG0U3YcH1NvYxQThw5XAS7qE9bgP4L7dakm8lsMz+p8BQ1IjBFMmImawVWsV3py6JZINaEebXLnw=="], - "@expo/vector-icons": ["@expo/vector-icons@15.0.3", "", { "peerDependencies": { "expo-font": ">=14.0.4", "react": "*", "react-native": "*" } }, "sha512-SBUyYKphmlfUBqxSfDdJ3jAdEVSALS2VUPOUyqn48oZmb2TL/O7t7/PQm5v4NQujYEPLPMTLn9KVw6H7twwbTA=="], + "@expo/vector-icons": ["@expo/vector-icons@15.1.1", "", { "peerDependencies": { "expo-font": ">=14.0.4", "react": "*", "react-native": "*" } }, "sha512-Iu2VkcoI5vygbtYngm7jb4ifxElNVXQYdDrYkT7UCEIiKLeWnQY0wf2ZhHZ+Wro6Sc5TaumpKUOqDRpLi5rkvw=="], "@expo/ws-tunnel": ["@expo/ws-tunnel@1.0.6", "", {}, "sha512-nDRbLmSrJar7abvUjp3smDwH8HcbZcoOEa5jVPUv9/9CajgmWw20JNRwTuBRzWIWIkEJDkz20GoNA+tSwUqk0Q=="], - "@expo/xcpretty": ["@expo/xcpretty@4.4.0", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "chalk": "^4.1.0", "js-yaml": "^4.1.0" }, "bin": { "excpretty": "build/cli.js" } }, "sha512-o2qDlTqJ606h4xR36H2zWTywmZ3v3842K6TU8Ik2n1mfW0S580VHlt3eItVYdLYz+klaPp7CXqanja8eASZjRw=="], + "@expo/xcpretty": ["@expo/xcpretty@4.4.1", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "chalk": "^4.1.0", "js-yaml": "^4.1.0" }, "bin": { "excpretty": "build/cli.js" } }, "sha512-KZNxZvnGCtiM2aYYZ6Wz0Ix5r47dAvpNLApFtZWnSoERzAdOMzVBOPysBoM0JlF6FKWZ8GPqgn6qt3dV/8Zlpg=="], "@formatjs/ecma402-abstract": ["@formatjs/ecma402-abstract@2.3.6", "", { "dependencies": { "@formatjs/fast-memoize": "2.2.7", "@formatjs/intl-localematcher": "0.6.2", "decimal.js": "^10.4.3", "tslib": "^2.8.0" } }, "sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw=="], @@ -573,6 +597,8 @@ "@hapi/topo": ["@hapi/topo@5.1.0", "", { "dependencies": { "@hapi/hoek": "^9.0.0" } }, "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg=="], + "@hono/node-server": ["@hono/node-server@1.19.9", "", { "peerDependencies": { "hono": "^4" } }, "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw=="], + "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], "@humanfs/node": ["@humanfs/node@0.16.7", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.4.0" } }, "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ=="], @@ -625,6 +651,10 @@ "@mjackson/node-fetch-server": ["@mjackson/node-fetch-server@0.2.0", "", {}, "sha512-EMlH1e30yzmTpGLQjlFmaDAjyOeZhng1/XCd7DExR8PNAnG/G1tyruZxEoUe11ClnwGhGrtsdnyyUx1frSzjng=="], + "@mongodb-js/saslprep": ["@mongodb-js/saslprep@1.4.6", "", { "dependencies": { "sparse-bitfield": "^3.0.3" } }, "sha512-y+x3H1xBZd38n10NZF/rEBlvDOOMQ6LKUTHqr8R9VkJ+mmQOYtJFxIlkkK8fZrtOiL6VixbOBWMbZGBdal3Z1g=="], + + "@mrleebo/prisma-ast": ["@mrleebo/prisma-ast@0.13.1", "", { "dependencies": { "chevrotain": "^10.5.0", "lilconfig": "^2.1.0" } }, "sha512-XyroGQXcHrZdvmrGJvsA9KNeOOgGMg1Vg9OlheUsBOSKznLMDl+YChxbkboRHvtFYJEMRYmlV3uoo/njCw05iw=="], + "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@0.2.12", "", { "dependencies": { "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@tybys/wasm-util": "^0.10.0" } }, "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ=="], "@noble/ciphers": ["@noble/ciphers@2.1.1", "", {}, "sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw=="], @@ -639,13 +669,9 @@ "@nolyfill/is-core-module": ["@nolyfill/is-core-module@1.0.39", "", {}, "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA=="], - "@oclif/core": ["@oclif/core@1.26.2", "", { "dependencies": { "@oclif/linewrap": "^1.0.0", "@oclif/screen": "^3.0.4", "ansi-escapes": "^4.3.2", "ansi-styles": "^4.3.0", "cardinal": "^2.1.1", "chalk": "^4.1.2", "clean-stack": "^3.0.1", "cli-progress": "^3.10.0", "debug": "^4.3.4", "ejs": "^3.1.6", "fs-extra": "^9.1.0", "get-package-type": "^0.1.0", "globby": "^11.1.0", "hyperlinker": "^1.0.0", "indent-string": "^4.0.0", "is-wsl": "^2.2.0", "js-yaml": "^3.14.1", "natural-orderby": "^2.0.3", "object-treeify": "^1.1.33", "password-prompt": "^1.1.2", "semver": "^7.3.7", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "supports-color": "^8.1.1", "supports-hyperlinks": "^2.2.0", "tslib": "^2.4.1", "widest-line": "^3.1.0", "wrap-ansi": "^7.0.0" } }, "sha512-6jYuZgXvHfOIc9GIaS4T3CIKGTjPmfAxuMcbCbMRKJJl4aq/4xeRlEz0E8/hz8HxvxZBGvN2GwAUHlrGWQVrVw=="], + "@oclif/core": ["@oclif/core@4.8.4", "", { "dependencies": { "ansi-escapes": "^4.3.2", "ansis": "^3.17.0", "clean-stack": "^3.0.1", "cli-spinners": "^2.9.2", "debug": "^4.4.3", "ejs": "^3.1.10", "get-package-type": "^0.1.0", "indent-string": "^4.0.0", "is-wsl": "^2.2.0", "lilconfig": "^3.1.3", "minimatch": "^10.2.4", "semver": "^7.7.3", "string-width": "^4.2.3", "supports-color": "^8", "tinyglobby": "^0.2.14", "widest-line": "^3.1.0", "wordwrap": "^1.0.0", "wrap-ansi": "^7.0.0" } }, "sha512-UTAqwXJJyRvLBvosL+1uPZYSpr8lEHgUb/EVGbPXo5WZqUIBHfJ0sR2bkBEsrj00/ar4IegKxx4YK0wn2c8SQg=="], - "@oclif/linewrap": ["@oclif/linewrap@1.0.0", "", {}, "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw=="], - - "@oclif/plugin-autocomplete": ["@oclif/plugin-autocomplete@2.3.10", "", { "dependencies": { "@oclif/core": "^2.15.0", "chalk": "^4.1.0", "debug": "^4.3.4" } }, "sha512-Ow1AR8WtjzlyCtiWWPgzMyT8SbcDJFr47009riLioHa+MHX2BCDtVn2DVnN/E6b9JlPV5ptQpjefoRSNWBesmg=="], - - "@oclif/screen": ["@oclif/screen@3.0.8", "", {}, "sha512-yx6KAqlt3TAHBduS2fMQtJDL2ufIHnDRArrJEOoTTuizxqmjLT+psGYOHpmMl3gvQpFJ11Hs76guUUktzAF9Bg=="], + "@oclif/plugin-autocomplete": ["@oclif/plugin-autocomplete@3.2.40", "", { "dependencies": { "@oclif/core": "^4", "ansis": "^3.16.0", "debug": "^4.4.1", "ejs": "^3.1.10" } }, "sha512-HCfDuUV3l5F5Wz7SKkaoFb+OMQ5vKul8zvsPNgI0QbZcQuGHmn3svk+392wSfXboyA1gq8kzEmKPAoQK6r6UNw=="], "@openrouter/sdk": ["@openrouter/sdk@0.9.11", "", { "dependencies": { "zod": "^3.25.0 || ^4.0.0" } }, "sha512-BgFu6NcIJO4a9aVjr04y3kZ8pyM71j15I+bzfVAGEvxnj+KQNIkBYQGgwrG3D+aT1QpDKLki8btcQmpaxUas6A=="], @@ -665,46 +691,68 @@ "@oxfmt/win32-x64": ["@oxfmt/win32-x64@0.24.0", "", { "os": "win32", "cpu": "x64" }, "sha512-0tmlNzcyewAnauNeBCq0xmAkmiKzl+H09p0IdHy+QKrTQdtixtf+AOjDAADbRfihkS+heF15Pjc4IyJMdAAJjw=="], - "@oxlint/binding-android-arm-eabi": ["@oxlint/binding-android-arm-eabi@1.47.0", "", { "os": "android", "cpu": "arm" }, "sha512-UHqo3te9K/fh29brCuQdHjN+kfpIi9cnTPABuD5S9wb9ykXYRGTOOMVuSV/CK43sOhU4wwb2nT1RVjcbrrQjFw=="], + "@oxlint/binding-android-arm-eabi": ["@oxlint/binding-android-arm-eabi@1.52.0", "", { "os": "android", "cpu": "arm" }, "sha512-fW2pmR1VzFEdcvOYeSiv+R7CqffOjr9Bv5QmZaHuHJ4ZCqouaF6o48N/hJ3H1n9Zd8PCMFgJkeqUvUsVce01mw=="], - "@oxlint/binding-android-arm64": ["@oxlint/binding-android-arm64@1.47.0", "", { "os": "android", "cpu": "arm64" }, "sha512-xh02lsTF1TAkR+SZrRMYHR/xCx8Wg2MAHxJNdHVpAKELh9/yE9h4LJeqAOBbIb3YYn8o/D97U9VmkvkfJfrHfw=="], + "@oxlint/binding-android-arm64": ["@oxlint/binding-android-arm64@1.52.0", "", { "os": "android", "cpu": "arm64" }, "sha512-ptuJljIB+klNi8//qxXyGD51NLJXY9lv40Olc7l3/pEyjejWwXGvGMO0GM6f0JsjmbnDL+VkX7RVQNhByaX8WA=="], - "@oxlint/binding-darwin-arm64": ["@oxlint/binding-darwin-arm64@1.47.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-OSOfNJqabOYbkyQDGT5pdoL+05qgyrmlQrvtCO58M4iKGEQ/xf3XkkKj7ws+hO+k8Y4VF4zGlBsJlwqy7qBcHA=="], + "@oxlint/binding-darwin-arm64": ["@oxlint/binding-darwin-arm64@1.52.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5d079Uw43BHVZzOwm3uJI2PgSbsZJTpfHDq2jMOR6rRjGiEBlgasaEvAA26VBqpkO1++/59ZCKLBnEpkro3zIg=="], - "@oxlint/binding-darwin-x64": ["@oxlint/binding-darwin-x64@1.47.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-hP2bOI4IWNS+F6pVXWtRshSTuJ1qCRZgDgVUg6EBUqsRy+ExkEPJkx+YmIuxgdCduYK1LKptLNFuQLJP8voPbQ=="], + "@oxlint/binding-darwin-x64": ["@oxlint/binding-darwin-x64@1.52.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-vRTjnhPEHAyfUhO9w6GM1VkxeVXFcDs+huyB5YNMw+Py+6PRYDFFrrOEr0rZYcoGtSH25ScozZV8I1UXrzaDjQ=="], - "@oxlint/binding-freebsd-x64": ["@oxlint/binding-freebsd-x64@1.47.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-F55jIEH5xmGu7S661Uho8vGiLFk0bY3A/g4J8CTKiLJnYu/PSMZ2WxFoy5Hji6qvFuujrrM9Q8XXbMO0fKOYPg=="], + "@oxlint/binding-freebsd-x64": ["@oxlint/binding-freebsd-x64@1.52.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-vFthhhciRAliAjoKMsvi7UkkQp/EtMNhmCRYBuKsNiTH0k4H3SFfbuWWr80Q7+uTXijfBP91KO/EeF48RggC7A=="], - "@oxlint/binding-linux-arm-gnueabihf": ["@oxlint/binding-linux-arm-gnueabihf@1.47.0", "", { "os": "linux", "cpu": "arm" }, "sha512-wxmOn/wns/WKPXUC1fo5mu9pMZPVOu8hsynaVDrgmmXMdHKS7on6bA5cPauFFN9tJXNdsjW26AK9lpfu3IfHBQ=="], + "@oxlint/binding-linux-arm-gnueabihf": ["@oxlint/binding-linux-arm-gnueabihf@1.52.0", "", { "os": "linux", "cpu": "arm" }, "sha512-qX3K4mKbju54ojUa8nigVxxZAUDBGu5MGzpoXvWmiw+7hafoQKaLAoTm94EqRlv9v27p864GQBgc4g3qYtMXXA=="], - "@oxlint/binding-linux-arm-musleabihf": ["@oxlint/binding-linux-arm-musleabihf@1.47.0", "", { "os": "linux", "cpu": "arm" }, "sha512-KJTmVIA/GqRlM2K+ZROH30VMdydEU7bDTY35fNg3tOPzQRIs2deLZlY/9JWwdWo1F/9mIYmpbdCmPqtKhWNOPg=="], + "@oxlint/binding-linux-arm-musleabihf": ["@oxlint/binding-linux-arm-musleabihf@1.52.0", "", { "os": "linux", "cpu": "arm" }, "sha512-x5D5/EUS9U4kndPncLB6mDfCsv7i8XcRLu0DZyTngXvyqapc96WwmyyOG2j8Dt26aE8Ykgh6AhsHp9bQtoBUAw=="], - "@oxlint/binding-linux-arm64-gnu": ["@oxlint/binding-linux-arm64-gnu@1.47.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-PF7ELcFg1GVlS0X0ZB6aWiXobjLrAKer3T8YEkwIoO8RwWiAMkL3n3gbleg895BuZkHVlJ2kPRUwfrhHrVkD1A=="], + "@oxlint/binding-linux-arm64-gnu": ["@oxlint/binding-linux-arm64-gnu@1.52.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-2Ep1tnGLuGG7lUkKG/nilIJ0/T2rebEcATxMJ7afuhD6Z2Sc9dDcpX00IngAMyR9l6hXrvaOw9YA5HUAJVSENg=="], - "@oxlint/binding-linux-arm64-musl": ["@oxlint/binding-linux-arm64-musl@1.47.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-4BezLRO5cu0asf0Jp1gkrnn2OHiXrPPPEfBTxq1k5/yJ2zdGGTmZxHD2KF2voR23wb8Elyu3iQawXo7wvIZq0Q=="], + "@oxlint/binding-linux-arm64-musl": ["@oxlint/binding-linux-arm64-musl@1.52.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-54wxvb1Pztz0GMgTLUG9HsH8uhZSL4UbG7n4PDxWIRT9TygTVYKfD6D7iasYdKg6ZpWB5Y86VMxgjSJpR/Y7bQ=="], - "@oxlint/binding-linux-ppc64-gnu": ["@oxlint/binding-linux-ppc64-gnu@1.47.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-aI5ds9jq2CPDOvjeapiIj48T/vlWp+f4prkxs+FVzrmVN9BWIj0eqeJ/hV8WgXg79HVMIz9PU6deI2ki09bR1w=="], + "@oxlint/binding-linux-ppc64-gnu": ["@oxlint/binding-linux-ppc64-gnu@1.52.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-A82Zks1lJyLclrj8n2tJPHOw2ieZXCaBctnCarS1BRlPQMC1Y98vWCLqgvg9ssWy5ZAja0IjUHN1cYsp53mrqA=="], - "@oxlint/binding-linux-riscv64-gnu": ["@oxlint/binding-linux-riscv64-gnu@1.47.0", "", { "os": "linux", "cpu": "none" }, "sha512-mO7ycp9Elvgt5EdGkQHCwJA6878xvo9tk+vlMfT1qg++UjvOMB8INsOCQIOH2IKErF/8/P21LULkdIrocMw9xA=="], + "@oxlint/binding-linux-riscv64-gnu": ["@oxlint/binding-linux-riscv64-gnu@1.52.0", "", { "os": "linux", "cpu": "none" }, "sha512-ci89Ou+u9vnA0r4eQqGm/KPEkpea+QEtZCLKkrOAD/K5ZBwjS8ToID6aMgsDbIOJUNBGufsmX0iCC7EWrNKQFA=="], - "@oxlint/binding-linux-riscv64-musl": ["@oxlint/binding-linux-riscv64-musl@1.47.0", "", { "os": "linux", "cpu": "none" }, "sha512-24D0wsYT/7hDFn3Ow32m3/+QT/1ZwrUhShx4/wRDAmz11GQHOZ1k+/HBuK/MflebdnalmXWITcPEy4BWTi7TCA=="], + "@oxlint/binding-linux-riscv64-musl": ["@oxlint/binding-linux-riscv64-musl@1.52.0", "", { "os": "linux", "cpu": "none" }, "sha512-3/+DVDWajFSu69TaYnKkoUgMEcHR3puO8TcBu3fPCKRhbLjgwDiYIVRdvQX0QaSjkNPJARmpYq7vlPHWNo2cUA=="], - "@oxlint/binding-linux-s390x-gnu": ["@oxlint/binding-linux-s390x-gnu@1.47.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-8tPzPne882mtML/uy3mApvdCyuVOpthJ7xUv3b67gVfz63hOOM/bwO0cysSkPyYYFDFRn6/FnUb7Jhmsesntvg=="], + "@oxlint/binding-linux-s390x-gnu": ["@oxlint/binding-linux-s390x-gnu@1.52.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-BU7CbceOh00NDmY1IYr72qZoj4sJVHB9DCL2tIq2vyNllNJIpZWTxqlzdqmC4FViXWMy8kZNkOa+SdauH+EcoQ=="], - "@oxlint/binding-linux-x64-gnu": ["@oxlint/binding-linux-x64-gnu@1.47.0", "", { "os": "linux", "cpu": "x64" }, "sha512-q58pIyGIzeffEBhEgbRxLFHmHfV9m7g1RnkLiahQuEvyjKNiJcvdHOwKH2BdgZxdzc99Cs6hF5xTa86X40WzPw=="], + "@oxlint/binding-linux-x64-gnu": ["@oxlint/binding-linux-x64-gnu@1.52.0", "", { "os": "linux", "cpu": "x64" }, "sha512-JUVZ6TKYl1yArS3xGsNLQlZxgVpjNKtZFja6VxSTDy2ToN7H58PiDRcxWoN2XoIcWlHSvK7pkIPFNOyzdEJ23A=="], - "@oxlint/binding-linux-x64-musl": ["@oxlint/binding-linux-x64-musl@1.47.0", "", { "os": "linux", "cpu": "x64" }, "sha512-e7DiLZtETZUCwTa4EEHg9G+7g3pY+afCWXvSeMG7m0TQ29UHHxMARPaEQUE4mfKgSqIWnJaUk2iZzRPMRdga5g=="], + "@oxlint/binding-linux-x64-musl": ["@oxlint/binding-linux-x64-musl@1.52.0", "", { "os": "linux", "cpu": "x64" }, "sha512-IatLKG6UUbIbTBjBZ9SIAYp4SIvOpYIXPXn9cMLqWxh9HrHsu0fLNL+VQ67y4vdlIleYLeuIHkAp3M6saIN1RQ=="], - "@oxlint/binding-openharmony-arm64": ["@oxlint/binding-openharmony-arm64@1.47.0", "", { "os": "none", "cpu": "arm64" }, "sha512-3AFPfQ0WKMleT/bKd7zsks3xoawtZA6E/wKf0DjwysH7wUiMMJkNKXOzYq1R/00G98JFgSU1AkrlOQrSdNNhlg=="], + "@oxlint/binding-openharmony-arm64": ["@oxlint/binding-openharmony-arm64@1.52.0", "", { "os": "none", "cpu": "arm64" }, "sha512-CWgJ6FepHryuc/lgQWStFf3lcvEkbFLSa9zqO0D0QLVfrdg43I4XItKpL/bnfm4n7obzwgG8j8sBggdoxJQKfw=="], - "@oxlint/binding-win32-arm64-msvc": ["@oxlint/binding-win32-arm64-msvc@1.47.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-cLMVVM6TBxp+N7FldQJ2GQnkcLYEPGgiuEaXdvhgvSgODBk9ov3jed+khIXSAWtnFOW0wOnG3RjwqPh0rCuheA=="], + "@oxlint/binding-win32-arm64-msvc": ["@oxlint/binding-win32-arm64-msvc@1.52.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-EuNAbPpctu8jYMZnvYh53Xw3YVY2nIi9bQlyMjY0eKiJxDv8ikHrAfcVcwTQW9xa5tp0eiMkmW7iHPP5CYUC9Q=="], - "@oxlint/binding-win32-ia32-msvc": ["@oxlint/binding-win32-ia32-msvc@1.47.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-VpFOSzvTnld77/Edje3ZdHgZWnlTb5nVWXyTgjD3/DKF/6t5bRRbwn3z77zOdnGy44xAMvbyAwDNOSeOdVUmRA=="], + "@oxlint/binding-win32-ia32-msvc": ["@oxlint/binding-win32-ia32-msvc@1.52.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-wu3fquQttzSXwyy8DfdOG3Kyb17yAbRhwPlly7NHSXkrffAEAmZ6+o38tCNgsReGLugbn/wbq4uS4nEQubCq+A=="], - "@oxlint/binding-win32-x64-msvc": ["@oxlint/binding-win32-x64-msvc@1.47.0", "", { "os": "win32", "cpu": "x64" }, "sha512-+q8IWptxXx2HMTM6JluR67284t0h8X/oHJgqpxH1siowxPMqZeIpAcWCUq+tY+Rv2iQK8TUugjZnSBQAVV5CmA=="], + "@oxlint/binding-win32-x64-msvc": ["@oxlint/binding-win32-x64-msvc@1.52.0", "", { "os": "win32", "cpu": "x64" }, "sha512-wikx9I9J9/lPOZlrCCNgm8YjWkia8NZfhWd1TTvZTMguyChbw/oA2VEM6Fzx+kkpA+1qu5Mo7nrLdOXEJavw8g=="], "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], + "@prisma/client": ["@prisma/client@7.4.2", "", { "dependencies": { "@prisma/client-runtime-utils": "7.4.2" }, "peerDependencies": { "prisma": "*", "typescript": ">=5.4.0" }, "optionalPeers": ["prisma", "typescript"] }, "sha512-ts2mu+cQHriAhSxngO3StcYubBGTWDtu/4juZhXCUKOwgh26l+s4KD3vT2kMUzFyrYnll9u/3qWrtzRv9CGWzA=="], + + "@prisma/client-runtime-utils": ["@prisma/client-runtime-utils@7.4.2", "", {}, "sha512-cID+rzOEb38VyMsx5LwJMEY4NGIrWCNpKu/0ImbeooQ2Px7TI+kOt7cm0NelxUzF2V41UVVXAmYjANZQtCu1/Q=="], + + "@prisma/config": ["@prisma/config@7.4.2", "", { "dependencies": { "c12": "3.1.0", "deepmerge-ts": "7.1.5", "effect": "3.18.4", "empathic": "2.0.0" } }, "sha512-CftBjWxav99lzY1Z4oDgomdb1gh9BJFAOmWF6P2v1xRfXqQb56DfBub+QKcERRdNoAzCb3HXy3Zii8Vb4AsXhg=="], + + "@prisma/debug": ["@prisma/debug@7.4.2", "", {}, "sha512-aP7qzu+g/JnbF6U69LMwHoUkELiserKmWsE2shYuEpNUJ4GrtxBCvZwCyCBHFSH2kLTF2l1goBlBh4wuvRq62w=="], + + "@prisma/dev": ["@prisma/dev@0.20.0", "", { "dependencies": { "@electric-sql/pglite": "0.3.15", "@electric-sql/pglite-socket": "0.0.20", "@electric-sql/pglite-tools": "0.2.20", "@hono/node-server": "1.19.9", "@mrleebo/prisma-ast": "0.13.1", "@prisma/get-platform": "7.2.0", "@prisma/query-plan-executor": "7.2.0", "foreground-child": "3.3.1", "get-port-please": "3.2.0", "hono": "4.11.4", "http-status-codes": "2.3.0", "pathe": "2.0.3", "proper-lockfile": "4.1.2", "remeda": "2.33.4", "std-env": "3.10.0", "valibot": "1.2.0", "zeptomatch": "2.1.0" } }, "sha512-ovlBYwWor0OzG+yH4J3Ot+AneD818BttLA+Ii7wjbcLHUrnC4tbUPVGyNd3c/+71KETPKZfjhkTSpdS15dmXNQ=="], + + "@prisma/engines": ["@prisma/engines@7.4.2", "", { "dependencies": { "@prisma/debug": "7.4.2", "@prisma/engines-version": "7.5.0-10.94a226be1cf2967af2541cca5529f0f7ba866919", "@prisma/fetch-engine": "7.4.2", "@prisma/get-platform": "7.4.2" } }, "sha512-B+ZZhI4rXlzjVqRw/93AothEKOU5/x4oVyJFGo9RpHPnBwaPwk4Pi0Q4iGXipKxeXPs/dqljgNBjK0m8nocOJA=="], + + "@prisma/engines-version": ["@prisma/engines-version@7.5.0-10.94a226be1cf2967af2541cca5529f0f7ba866919", "", {}, "sha512-5FIKY3KoYQlBuZC2yc16EXfVRQ8HY+fLqgxkYfWCtKhRb3ajCRzP/rPeoSx11+NueJDANdh4hjY36mdmrTcGSg=="], + + "@prisma/fetch-engine": ["@prisma/fetch-engine@7.4.2", "", { "dependencies": { "@prisma/debug": "7.4.2", "@prisma/engines-version": "7.5.0-10.94a226be1cf2967af2541cca5529f0f7ba866919", "@prisma/get-platform": "7.4.2" } }, "sha512-f/c/MwYpdJO7taLETU8rahEstLeXfYgQGlz5fycG7Fbmva3iPdzGmjiSWHeSWIgNnlXnelUdCJqyZnFocurZuA=="], + + "@prisma/get-platform": ["@prisma/get-platform@7.2.0", "", { "dependencies": { "@prisma/debug": "7.2.0" } }, "sha512-k1V0l0Td1732EHpAfi2eySTezyllok9dXb6UQanajkJQzPUGi3vO2z7jdkz67SypFTdmbnyGYxvEvYZdZsMAVA=="], + + "@prisma/query-plan-executor": ["@prisma/query-plan-executor@7.2.0", "", {}, "sha512-EOZmNzcV8uJ0mae3DhTsiHgoNCuu1J9mULQpGCh62zN3PxPTd+qI9tJvk5jOst8WHKQNwJWR3b39t0XvfBB0WQ=="], + + "@prisma/studio-core": ["@prisma/studio-core@0.13.1", "", { "peerDependencies": { "@types/react": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" } }, "sha512-agdqaPEePRHcQ7CexEfkX1RvSH9uWDb6pXrZnhCRykhDFAV0/0P3d07WtfiY8hZWb7oRU4v+NkT4cGFHkQJIPg=="], + "@radix-ui/primitive": ["@radix-ui/primitive@1.1.3", "", {}, "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg=="], "@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw=="], @@ -867,15 +915,15 @@ "@react-native/virtualized-lists": ["@react-native/virtualized-lists@0.81.5", "", { "dependencies": { "invariant": "^2.2.4", "nullthrows": "^1.1.1" }, "peerDependencies": { "@types/react": "^19.1.0", "react": "*", "react-native": "*" }, "optionalPeers": ["@types/react"] }, "sha512-UVXgV/db25OPIvwZySeToXD/9sKKhOdkcWmmf4Jh8iBZuyfML+/5CasaZ1E7Lqg6g3uqVQq75NqIwkYmORJMPw=="], - "@react-navigation/bottom-tabs": ["@react-navigation/bottom-tabs@7.13.0", "", { "dependencies": { "@react-navigation/elements": "^2.9.5", "color": "^4.2.3", "sf-symbols-typescript": "^2.1.0" }, "peerDependencies": { "@react-navigation/native": "^7.1.28", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0", "react-native-screens": ">= 4.0.0" } }, "sha512-qxxjRDpjhZ4vIZqG4rBU1Vx2jgOAO/ciUKc9sJqVlTM005E2E+aK1EaE3lGaBDyZxTpjonollAucZcqL7OTscQ=="], + "@react-navigation/bottom-tabs": ["@react-navigation/bottom-tabs@7.15.5", "", { "dependencies": { "@react-navigation/elements": "^2.9.10", "color": "^4.2.3", "sf-symbols-typescript": "^2.1.0" }, "peerDependencies": { "@react-navigation/native": "^7.1.33", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0", "react-native-screens": ">= 4.0.0" } }, "sha512-wQHredlCrRmShWQ1vF4HUcLdaiJ8fUgnbaeQH7BJ7MQVQh4mdzab0IOY/4QSmUyNRB350oyu1biTycyQ5FKWMQ=="], - "@react-navigation/core": ["@react-navigation/core@7.14.0", "", { "dependencies": { "@react-navigation/routers": "^7.5.3", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", "query-string": "^7.1.3", "react-is": "^19.1.0", "use-latest-callback": "^0.2.4", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "react": ">= 18.2.0" } }, "sha512-tMpzskBzVp0E7CRNdNtJIdXjk54Kwe/TF9ViXAef+YFM1kSfGv4e/B2ozfXE+YyYgmh4WavTv8fkdJz1CNyu+g=="], + "@react-navigation/core": ["@react-navigation/core@7.16.1", "", { "dependencies": { "@react-navigation/routers": "^7.5.3", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", "query-string": "^7.1.3", "react-is": "^19.1.0", "use-latest-callback": "^0.2.4", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "react": ">= 18.2.0" } }, "sha512-xhquoyhKdqDfiL7LuupbwYnmauUGfVFGDEJO34m26k8zSN1eDjQ2stBZcHN8ILOI1PrG9885nf8ZmfaQxPS0ww=="], - "@react-navigation/elements": ["@react-navigation/elements@2.9.5", "", { "dependencies": { "color": "^4.2.3", "use-latest-callback": "^0.2.4", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "@react-native-masked-view/masked-view": ">= 0.2.0", "@react-navigation/native": "^7.1.28", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0" }, "optionalPeers": ["@react-native-masked-view/masked-view"] }, "sha512-iHZU8rRN1014Upz73AqNVXDvSMZDh5/ktQ1CMe21rdgnOY79RWtHHBp9qOS3VtqlUVYGkuX5GEw5mDt4tKdl0g=="], + "@react-navigation/elements": ["@react-navigation/elements@2.9.10", "", { "dependencies": { "color": "^4.2.3", "use-latest-callback": "^0.2.4", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "@react-native-masked-view/masked-view": ">= 0.2.0", "@react-navigation/native": "^7.1.33", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0" }, "optionalPeers": ["@react-native-masked-view/masked-view"] }, "sha512-N8tuBekzTRb0pkMHFJGvmC6Q5OisSbt6gzvw7RHMnp4NDo5auVllT12sWFaTXf8mTduaLKNSrD/NZNaOqThCBg=="], - "@react-navigation/native": ["@react-navigation/native@7.1.28", "", { "dependencies": { "@react-navigation/core": "^7.14.0", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", "use-latest-callback": "^0.2.4" }, "peerDependencies": { "react": ">= 18.2.0", "react-native": "*" } }, "sha512-d1QDn+KNHfHGt3UIwOZvupvdsDdiHYZBEj7+wL2yDVo3tMezamYy60H9s3EnNVE1Ae1ty0trc7F2OKqo/RmsdQ=="], + "@react-navigation/native": ["@react-navigation/native@7.1.33", "", { "dependencies": { "@react-navigation/core": "^7.16.1", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", "use-latest-callback": "^0.2.4" }, "peerDependencies": { "react": ">= 18.2.0", "react-native": "*" } }, "sha512-DpFdWGcgLajKZ1TuIvDNQsblN2QaUFWpTQaB8v7WRP9Mix8H/6TFoIrZd93pbymI2hybd6UYrD+lI408eWVcfw=="], - "@react-navigation/native-stack": ["@react-navigation/native-stack@7.12.0", "", { "dependencies": { "@react-navigation/elements": "^2.9.5", "color": "^4.2.3", "sf-symbols-typescript": "^2.1.0", "warn-once": "^0.1.1" }, "peerDependencies": { "@react-navigation/native": "^7.1.28", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0", "react-native-screens": ">= 4.0.0" } }, "sha512-XmNJsPshjkNsahgbxNgGWQUq4s1l6HqH/Fei4QsjBNn/0mTvVrRVZwJ1XrY9YhWYvyiYkAN6/OmarWQaQJ0otQ=="], + "@react-navigation/native-stack": ["@react-navigation/native-stack@7.14.4", "", { "dependencies": { "@react-navigation/elements": "^2.9.10", "color": "^4.2.3", "sf-symbols-typescript": "^2.1.0", "warn-once": "^0.1.1" }, "peerDependencies": { "@react-navigation/native": "^7.1.33", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0", "react-native-screens": ">= 4.0.0" } }, "sha512-HFEnM5Q7JY3FmmiolD/zvgY+9sxZAyVGPZJoz7BdTvJmi1VHOdplf24YiH45mqeitlGnaOlvNT55rH4abHJ5eA=="], "@react-navigation/routers": ["@react-navigation/routers@7.5.3", "", { "dependencies": { "nanoid": "^3.3.11" } }, "sha512-1tJHg4KKRJuQ1/EvJxatrMef3NZXEPzwUIUZ3n1yJ2t7Q97siwRtbynRpQG9/69ebbtiZ8W3ScOZF/OmhvM4Rg=="], @@ -1059,7 +1107,7 @@ "@rtsao/scc": ["@rtsao/scc@1.1.0", "", {}, "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g=="], - "@segment/ajv-human-errors": ["@segment/ajv-human-errors@2.15.0", "", { "peerDependencies": { "ajv": "^8.0.0" } }, "sha512-tgeMMuYYJt3Aar5IIk3kyfL9zMvGsv5d7KsVT/2auri+hEH/L2M1i8X67ne4JjMWZqENYIGY1WuI4oPEL1H/xA=="], + "@segment/ajv-human-errors": ["@segment/ajv-human-errors@2.16.0", "", { "peerDependencies": { "ajv": "^8.0.0" } }, "sha512-cHNfZcbHrmuYOA7/Sn7HlIDHanamiRTZtngfxcAuFaKQjP7cSqsVHjLz38FI2FQ8JDLz3syGLaz10Gn2ddo7+w=="], "@segment/loosely-validate-event": ["@segment/loosely-validate-event@2.0.0", "", { "dependencies": { "component-type": "^1.2.1", "join-component": "^1.1.0" } }, "sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw=="], @@ -1129,7 +1177,7 @@ "@types/babel__traverse": ["@types/babel__traverse@7.28.0", "", { "dependencies": { "@babel/types": "^7.28.2" } }, "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q=="], - "@types/bun": ["@types/bun@1.3.9", "", { "dependencies": { "bun-types": "1.3.9" } }, "sha512-KQ571yULOdWJiMH+RIWIOZ7B2RXQGpL1YQrBtLIV3FqDcCu6FsbFUBwhdKUlCKUpS3PJDsHlJ1QKlpxoVR+xtw=="], + "@types/bun": ["@types/bun@1.3.10", "", { "dependencies": { "bun-types": "1.3.10" } }, "sha512-0+rlrUrOrTSskibryHbvQkDOWRJwJZqZlxrUs1u4oOoTln8+WIXBPmAuCF35SWB2z4Zl3E84Nl/D0P7803nigQ=="], "@types/bunyan": ["@types/bunyan@1.8.11", "", { "dependencies": { "@types/node": "*" } }, "sha512-758fRH7umIMk5qt5ELmRMff4mLDlN+xyYzC+dkPTdKwbSkJFvz6xwyScrytPU0QIBbRRwbiE8/BIg8bpajerNQ=="], @@ -1161,9 +1209,9 @@ "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], - "@types/node": ["@types/node@22.19.13", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-akNQMv0wW5uyRpD2v2IEyRSZiR+BeGuoB6L310EgGObO44HSMNT8z1xzio28V8qOrgYaopIDNA18YgdXd+qTiw=="], + "@types/node": ["@types/node@22.19.15", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg=="], - "@types/pg": ["@types/pg@8.16.0", "", { "dependencies": { "@types/node": "*", "pg-protocol": "*", "pg-types": "^2.2.0" } }, "sha512-RmhMd/wD+CF8Dfo+cVIy3RR5cl8CyfXQ0tGgW6XBL8L4LM/UTEbNXYRbLwU6w+CgrKBNbrQWt4FUtTfaU5jSYQ=="], + "@types/pg": ["@types/pg@8.18.0", "", { "dependencies": { "@types/node": "*", "pg-protocol": "*", "pg-types": "^2.2.0" } }, "sha512-gT+oueVQkqnj6ajGJXblFR4iavIXWsGAFCk3dP4Kki5+a9R4NMt0JARdk6s8cUKcfUoqP5dAtDSLU8xYUTFV+Q=="], "@types/react": ["@types/react@19.1.17", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-Qec1E3mhALmaspIrhWt9jkQMNdw6bReVu64mjvhbhq2NFPftLPVr+l1SZgmw/66WwBNpDh7ao5AT6gF5v41PFA=="], @@ -1173,29 +1221,33 @@ "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], + "@types/webidl-conversions": ["@types/webidl-conversions@7.0.3", "", {}, "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA=="], + + "@types/whatwg-url": ["@types/whatwg-url@13.0.0", "", { "dependencies": { "@types/webidl-conversions": "*" } }, "sha512-N8WXpbE6Wgri7KUSvrmQcqrMllKZ9uxkYWMt+mCSGwNc0Hsw9VQTW7ApqI4XNrx6/SaM2QQJCzMPDEXE058s+Q=="], + "@types/yargs": ["@types/yargs@17.0.35", "", { "dependencies": { "@types/yargs-parser": "*" } }, "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg=="], "@types/yargs-parser": ["@types/yargs-parser@21.0.3", "", {}, "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ=="], - "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.55.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.55.0", "@typescript-eslint/type-utils": "8.55.0", "@typescript-eslint/utils": "8.55.0", "@typescript-eslint/visitor-keys": "8.55.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.55.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-1y/MVSz0NglV1ijHC8OT49mPJ4qhPYjiK08YUQVbIOyu+5k862LKUHFkpKHWu//zmr7hDR2rhwUm6gnCGNmGBQ=="], + "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.57.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.57.0", "@typescript-eslint/type-utils": "8.57.0", "@typescript-eslint/utils": "8.57.0", "@typescript-eslint/visitor-keys": "8.57.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.57.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-qeu4rTHR3/IaFORbD16gmjq9+rEs9fGKdX0kF6BKSfi+gCuG3RCKLlSBYzn/bGsY9Tj7KE/DAQStbp8AHJGHEQ=="], - "@typescript-eslint/parser": ["@typescript-eslint/parser@8.55.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.55.0", "@typescript-eslint/types": "8.55.0", "@typescript-eslint/typescript-estree": "8.55.0", "@typescript-eslint/visitor-keys": "8.55.0", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-4z2nCSBfVIMnbuu8uinj+f0o4qOeggYJLbjpPHka3KH1om7e+H9yLKTYgksTaHcGco+NClhhY2vyO3HsMH1RGw=="], + "@typescript-eslint/parser": ["@typescript-eslint/parser@8.57.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.57.0", "@typescript-eslint/types": "8.57.0", "@typescript-eslint/typescript-estree": "8.57.0", "@typescript-eslint/visitor-keys": "8.57.0", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-XZzOmihLIr8AD1b9hL9ccNMzEMWt/dE2u7NyTY9jJG6YNiNthaD5XtUHVF2uCXZ15ng+z2hT3MVuxnUYhq6k1g=="], - "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.55.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.55.0", "@typescript-eslint/types": "^8.55.0", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-zRcVVPFUYWa3kNnjaZGXSu3xkKV1zXy8M4nO/pElzQhFweb7PPtluDLQtKArEOGmjXoRjnUZ29NjOiF0eCDkcQ=="], + "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.57.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.57.0", "@typescript-eslint/types": "^8.57.0", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-pR+dK0BlxCLxtWfaKQWtYr7MhKmzqZxuii+ZjuFlZlIGRZm22HnXFqa2eY+90MUz8/i80YJmzFGDUsi8dMOV5w=="], - "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.55.0", "", { "dependencies": { "@typescript-eslint/types": "8.55.0", "@typescript-eslint/visitor-keys": "8.55.0" } }, "sha512-fVu5Omrd3jeqeQLiB9f1YsuK/iHFOwb04bCtY4BSCLgjNbOD33ZdV6KyEqplHr+IlpgT0QTZ/iJ+wT7hvTx49Q=="], + "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.57.0", "", { "dependencies": { "@typescript-eslint/types": "8.57.0", "@typescript-eslint/visitor-keys": "8.57.0" } }, "sha512-nvExQqAHF01lUM66MskSaZulpPL5pgy5hI5RfrxviLgzZVffB5yYzw27uK/ft8QnKXI2X0LBrHJFr1TaZtAibw=="], - "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.55.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-1R9cXqY7RQd7WuqSN47PK9EDpgFUK3VqdmbYrvWJZYDd0cavROGn+74ktWBlmJ13NXUQKlZ/iAEQHI/V0kKe0Q=="], + "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.57.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-LtXRihc5ytjJIQEH+xqjB0+YgsV4/tW35XKX3GTZHpWtcC8SPkT/d4tqdf1cKtesryHm2bgp6l555NYcT2NLvA=="], - "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.55.0", "", { "dependencies": { "@typescript-eslint/types": "8.55.0", "@typescript-eslint/typescript-estree": "8.55.0", "@typescript-eslint/utils": "8.55.0", "debug": "^4.4.3", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-x1iH2unH4qAt6I37I2CGlsNs+B9WGxurP2uyZLRz6UJoZWDBx9cJL1xVN/FiOmHEONEg6RIufdvyT0TEYIgC5g=="], + "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.57.0", "", { "dependencies": { "@typescript-eslint/types": "8.57.0", "@typescript-eslint/typescript-estree": "8.57.0", "@typescript-eslint/utils": "8.57.0", "debug": "^4.4.3", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-yjgh7gmDcJ1+TcEg8x3uWQmn8ifvSupnPfjP21twPKrDP/pTHlEQgmKcitzF/rzPSmv7QjJ90vRpN4U+zoUjwQ=="], - "@typescript-eslint/types": ["@typescript-eslint/types@8.55.0", "", {}, "sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w=="], + "@typescript-eslint/types": ["@typescript-eslint/types@8.57.0", "", {}, "sha512-dTLI8PEXhjUC7B9Kre+u0XznO696BhXcTlOn0/6kf1fHaQW8+VjJAVHJ3eTI14ZapTxdkOmc80HblPQLaEeJdg=="], - "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.55.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.55.0", "@typescript-eslint/tsconfig-utils": "8.55.0", "@typescript-eslint/types": "8.55.0", "@typescript-eslint/visitor-keys": "8.55.0", "debug": "^4.4.3", "minimatch": "^9.0.5", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-EwrH67bSWdx/3aRQhCoxDaHM+CrZjotc2UCCpEDVqfCE+7OjKAGWNY2HsCSTEVvWH2clYQK8pdeLp42EVs+xQw=="], + "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.57.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.57.0", "@typescript-eslint/tsconfig-utils": "8.57.0", "@typescript-eslint/types": "8.57.0", "@typescript-eslint/visitor-keys": "8.57.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-m7faHcyVg0BT3VdYTlX8GdJEM7COexXxS6KqGopxdtkQRvBanK377QDHr4W/vIPAR+ah9+B/RclSW5ldVniO1Q=="], - "@typescript-eslint/utils": ["@typescript-eslint/utils@8.55.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.55.0", "@typescript-eslint/types": "8.55.0", "@typescript-eslint/typescript-estree": "8.55.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-BqZEsnPGdYpgyEIkDC1BadNY8oMwckftxBT+C8W0g1iKPdeqKZBtTfnvcq0nf60u7MkjFO8RBvpRGZBPw4L2ow=="], + "@typescript-eslint/utils": ["@typescript-eslint/utils@8.57.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.57.0", "@typescript-eslint/types": "8.57.0", "@typescript-eslint/typescript-estree": "8.57.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-5iIHvpD3CZe06riAsbNxxreP+MuYgVUsV0n4bwLH//VJmgtt54sQeY2GszntJ4BjYCpMzrfVh2SBnUQTtys2lQ=="], - "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.55.0", "", { "dependencies": { "@typescript-eslint/types": "8.55.0", "eslint-visitor-keys": "^4.2.1" } }, "sha512-AxNRwEie8Nn4eFS1FzDMJWIISMGoXMb037sgCBJ3UR6o0fQTzr2tqN9WT+DkWJPhIdQCfV7T6D387566VtnCJA=="], + "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.57.0", "", { "dependencies": { "@typescript-eslint/types": "8.57.0", "eslint-visitor-keys": "^5.0.0" } }, "sha512-zm6xx8UT/Xy2oSr2ZXD0pZo7Jx2XsCoID2IUh9YSTFRu7z+WdwYTRk6LhUftm1crwqbuoF6I8zAFeCMw0YjwDg=="], "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="], @@ -1247,11 +1299,13 @@ "accepts": ["accepts@1.3.8", "", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="], - "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], + "acorn": ["acorn@8.16.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="], "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], - "acorn-walk": ["acorn-walk@8.3.4", "", { "dependencies": { "acorn": "^8.11.0" } }, "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g=="], + "acorn-walk": ["acorn-walk@8.3.5", "", { "dependencies": { "acorn": "^8.11.0" } }, "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw=="], + + "aelis-client": ["aelis-client@workspace:apps/aelis-client"], "agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="], @@ -1269,21 +1323,21 @@ "ansicolors": ["ansicolors@0.3.2", "", {}, "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg=="], + "ansis": ["ansis@3.17.0", "", {}, "sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg=="], + "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="], "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], "arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="], - "argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], - "aris-client": ["aris-client@workspace:apps/aris-client"], - "arkregex": ["arkregex@0.0.5", "", { "dependencies": { "@ark/util": "0.56.0" } }, "sha512-ncYjBdLlh5/QnVsAA8De16Tc9EqmYM7y/WU9j+236KcyYNUXogpz3sC4ATIZYzzLxwI+0sEOaQLEmLmRleaEXw=="], - "arktype": ["arktype@2.1.29", "", { "dependencies": { "@ark/schema": "0.56.0", "@ark/util": "0.56.0", "arkregex": "0.0.5" } }, "sha512-jyfKk4xIOzvYNayqnD8ZJQqOwcrTOUbIU4293yrzAjA3O1dWh61j71ArMQ6tS/u4pD7vabSPe7nG3RCyoXW6RQ=="], + "arktype": ["arktype@2.2.0", "", { "dependencies": { "@ark/schema": "0.56.0", "@ark/util": "0.56.0", "arkregex": "0.0.5" } }, "sha512-t54MZ7ti5BhOEvzEkgKnWvqj+UbDfWig+DHr5I34xatymPusKLS0lQpNJd8M6DzmIto2QGszHfNKoFIT8tMCZQ=="], "array-buffer-byte-length": ["array-buffer-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "is-array-buffer": "^3.0.5" } }, "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw=="], @@ -1323,7 +1377,9 @@ "available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="], - "b4a": ["b4a@1.7.4", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-u20zJLDaSWpxaZ+zaAkEIB2dZZ1o+DF4T/MRbmsvGp9nletHOyiai19OzX1fF8xUBYsO1bPXxODvcd0978pnug=="], + "aws-ssl-profiles": ["aws-ssl-profiles@1.1.2", "", {}, "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g=="], + + "b4a": ["b4a@1.8.0", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg=="], "babel-dead-code-elimination": ["babel-dead-code-elimination@1.0.12", "", { "dependencies": { "@babel/core": "^7.23.7", "@babel/parser": "^7.23.6", "@babel/traverse": "^7.23.7", "@babel/types": "^7.23.6" } }, "sha512-GERT7L2TiYcYDtYk1IpD+ASAYXjKbLTDPhBtYj7X1NuRMDTMtAx9kyBenub1Ev41lo91OHCKdmP+egTDmfQ7Ig=="], @@ -1333,11 +1389,11 @@ "babel-plugin-jest-hoist": ["babel-plugin-jest-hoist@29.6.3", "", { "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", "@types/babel__core": "^7.1.14", "@types/babel__traverse": "^7.0.6" } }, "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg=="], - "babel-plugin-polyfill-corejs2": ["babel-plugin-polyfill-corejs2@0.4.15", "", { "dependencies": { "@babel/compat-data": "^7.28.6", "@babel/helper-define-polyfill-provider": "^0.6.6", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw=="], + "babel-plugin-polyfill-corejs2": ["babel-plugin-polyfill-corejs2@0.4.16", "", { "dependencies": { "@babel/compat-data": "^7.28.6", "@babel/helper-define-polyfill-provider": "^0.6.7", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-xaVwwSfebXf0ooE11BJovZYKhFjIvQo7TsyVpETuIeH2JHv0k/T6Y5j22pPTvqYqmpkxdlPAJlyJ0tfOJAoMxw=="], "babel-plugin-polyfill-corejs3": ["babel-plugin-polyfill-corejs3@0.13.0", "", { "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.5", "core-js-compat": "^3.43.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A=="], - "babel-plugin-polyfill-regenerator": ["babel-plugin-polyfill-regenerator@0.6.6", "", { "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.6" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A=="], + "babel-plugin-polyfill-regenerator": ["babel-plugin-polyfill-regenerator@0.6.7", "", { "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.7" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-OTYbUlSwXhNgr4g6efMZgsO8//jA61P7ZbRX3iTT53VON8l+WQS8IAUEVo4a4cWknrg2W8Cj4gQhRYNCJ8GkAA=="], "babel-plugin-react-compiler": ["babel-plugin-react-compiler@1.0.0", "", { "dependencies": { "@babel/types": "^7.26.0" } }, "sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw=="], @@ -1363,13 +1419,13 @@ "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], - "baseline-browser-mapping": ["baseline-browser-mapping@2.9.19", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg=="], + "baseline-browser-mapping": ["baseline-browser-mapping@2.10.0", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA=="], "basic-auth": ["basic-auth@2.0.1", "", { "dependencies": { "safe-buffer": "5.1.2" } }, "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg=="], - "better-auth": ["better-auth@1.4.18", "", { "dependencies": { "@better-auth/core": "1.4.18", "@better-auth/telemetry": "1.4.18", "@better-auth/utils": "0.3.0", "@better-fetch/fetch": "1.1.21", "@noble/ciphers": "^2.0.0", "@noble/hashes": "^2.0.0", "better-call": "1.1.8", "defu": "^6.1.4", "jose": "^6.1.0", "kysely": "^0.28.5", "nanostores": "^1.0.1", "zod": "^4.3.5" }, "peerDependencies": { "@lynx-js/react": "*", "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", "@sveltejs/kit": "^2.0.0", "@tanstack/react-start": "^1.0.0", "@tanstack/solid-start": "^1.0.0", "better-sqlite3": "^12.0.0", "drizzle-kit": ">=0.31.4", "drizzle-orm": ">=0.41.0", "mongodb": "^6.0.0 || ^7.0.0", "mysql2": "^3.0.0", "next": "^14.0.0 || ^15.0.0 || ^16.0.0", "pg": "^8.0.0", "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0", "solid-js": "^1.0.0", "svelte": "^4.0.0 || ^5.0.0", "vitest": "^2.0.0 || ^3.0.0 || ^4.0.0", "vue": "^3.0.0" }, "optionalPeers": ["@lynx-js/react", "@prisma/client", "@sveltejs/kit", "@tanstack/react-start", "@tanstack/solid-start", "better-sqlite3", "drizzle-kit", "drizzle-orm", "mongodb", "mysql2", "next", "pg", "prisma", "react", "react-dom", "solid-js", "svelte", "vitest", "vue"] }, "sha512-bnyifLWBPcYVltH3RhS7CM62MoelEqC6Q+GnZwfiDWNfepXoQZBjEvn4urcERC7NTKgKq5zNBM8rvPvRBa6xcg=="], + "better-auth": ["better-auth@1.5.4", "", { "dependencies": { "@better-auth/core": "1.5.4", "@better-auth/drizzle-adapter": "1.5.4", "@better-auth/kysely-adapter": "1.5.4", "@better-auth/memory-adapter": "1.5.4", "@better-auth/mongo-adapter": "1.5.4", "@better-auth/prisma-adapter": "1.5.4", "@better-auth/telemetry": "1.5.4", "@better-auth/utils": "0.3.1", "@better-fetch/fetch": "1.1.21", "@noble/ciphers": "^2.1.1", "@noble/hashes": "^2.0.1", "better-call": "1.3.2", "defu": "^6.1.4", "jose": "^6.1.3", "kysely": "^0.28.11", "nanostores": "^1.1.1", "zod": "^4.3.6" }, "peerDependencies": { "@lynx-js/react": "*", "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", "@sveltejs/kit": "^2.0.0", "@tanstack/react-start": "^1.0.0", "@tanstack/solid-start": "^1.0.0", "better-sqlite3": "^12.0.0", "drizzle-kit": ">=0.31.4", "drizzle-orm": ">=0.41.0", "mongodb": "^6.0.0 || ^7.0.0", "mysql2": "^3.0.0", "next": "^14.0.0 || ^15.0.0 || ^16.0.0", "pg": "^8.0.0", "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0", "solid-js": "^1.0.0", "svelte": "^4.0.0 || ^5.0.0", "vitest": "^2.0.0 || ^3.0.0 || ^4.0.0", "vue": "^3.0.0" }, "optionalPeers": ["@lynx-js/react", "@prisma/client", "@sveltejs/kit", "@tanstack/react-start", "@tanstack/solid-start", "better-sqlite3", "drizzle-kit", "drizzle-orm", "mongodb", "mysql2", "next", "pg", "prisma", "react", "react-dom", "solid-js", "svelte", "vitest", "vue"] }, "sha512-ReykcEKx6Kp9560jG1wtlDBnftA7L7xb3ZZdDWm5yGXKKe2pUf+oBjH0fqekrkRII0m4XBVQbQ0mOrFv+3FdYg=="], - "better-call": ["better-call@1.1.8", "", { "dependencies": { "@better-auth/utils": "^0.3.0", "@better-fetch/fetch": "^1.1.4", "rou3": "^0.7.10", "set-cookie-parser": "^2.7.1" }, "peerDependencies": { "zod": "^4.0.0" }, "optionalPeers": ["zod"] }, "sha512-XMQ2rs6FNXasGNfMjzbyroSwKwYbZ/T3IxruSS6U2MJRsSYh3wYtG3o6H00ZlKZ/C/UPOAD97tqgQJNsxyeTXw=="], + "better-call": ["better-call@1.3.2", "", { "dependencies": { "@better-auth/utils": "^0.3.1", "@better-fetch/fetch": "^1.1.21", "rou3": "^0.7.12", "set-cookie-parser": "^3.0.1" }, "peerDependencies": { "zod": "^4.0.0" }, "optionalPeers": ["zod"] }, "sha512-4cZIfrerDsNTn3cm+MhLbUePN0gdwkhSXEuG7r/zuQ8c/H7iU0/jSK5TD3FW7U0MgKHce/8jGpPYNO4Ve+4NBw=="], "better-opn": ["better-opn@3.0.2", "", { "dependencies": { "open": "^8.0.4" } }, "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ=="], @@ -1393,16 +1449,20 @@ "bser": ["bser@2.1.1", "", { "dependencies": { "node-int64": "^0.4.0" } }, "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ=="], + "bson": ["bson@7.2.0", "", {}, "sha512-YCEo7KjMlbNlyHhz7zAZNDpIpQbd+wOEHJYezv0nMYTn4x31eIUM2yomNNubclAt63dObUzKHWsBLJ9QcZNSnQ=="], + "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], - "bun-types": ["bun-types@1.3.9", "", { "dependencies": { "@types/node": "*" } }, "sha512-+UBWWOakIP4Tswh0Bt0QD0alpTY8cb5hvgiYeWCMet9YukHbzuruIEeXC2D7nMJPB12kbh8C7XJykSexEqGKJg=="], + "bun-types": ["bun-types@1.3.10", "", { "dependencies": { "@types/node": "*" } }, "sha512-tcpfCCl6XWo6nCVnpcVrxQ+9AYN1iqMIzgrSKYMB/fjLtV2eyAVEg7AxQJuCq/26R6HpKWykQXuSOq/21RYcbg=="], "bunyan": ["bunyan@1.8.15", "", { "optionalDependencies": { "dtrace-provider": "~0.8", "moment": "^2.19.3", "mv": "~2", "safe-json-stringify": "~1" }, "bin": { "bunyan": "bin/bunyan" } }, "sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig=="], "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], + "c12": ["c12@3.1.0", "", { "dependencies": { "chokidar": "^4.0.3", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^16.6.1", "exsolve": "^1.0.7", "giget": "^2.0.0", "jiti": "^2.4.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^1.0.0", "pkg-types": "^2.2.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "^0.3.5" }, "optionalPeers": ["magicast"] }, "sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw=="], + "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], "call-bind": ["call-bind@1.0.8", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.2" } }, "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww=="], @@ -1417,7 +1477,7 @@ "camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="], - "caniuse-lite": ["caniuse-lite@1.0.30001770", "", {}, "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw=="], + "caniuse-lite": ["caniuse-lite@1.0.30001777", "", {}, "sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ=="], "cardinal": ["cardinal@2.1.1", "", { "dependencies": { "ansicolors": "~0.3.2", "redeyed": "~2.1.0" }, "bin": { "cdl": "./bin/cdl.js" } }, "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw=="], @@ -1435,6 +1495,8 @@ "charenc": ["charenc@0.0.2", "", {}, "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="], + "chevrotain": ["chevrotain@10.5.0", "", { "dependencies": { "@chevrotain/cst-dts-gen": "10.5.0", "@chevrotain/gast": "10.5.0", "@chevrotain/types": "10.5.0", "@chevrotain/utils": "10.5.0", "lodash": "4.17.21", "regexp-to-ast": "0.5.0" } }, "sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A=="], + "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], "chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="], @@ -1445,6 +1507,8 @@ "ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], + "citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="], + "clean-stack": ["clean-stack@3.0.1", "", { "dependencies": { "escape-string-regexp": "4.0.0" } }, "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg=="], "cli-cursor": ["cli-cursor@3.1.0", "", { "dependencies": { "restore-cursor": "^3.1.0" } }, "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw=="], @@ -1487,6 +1551,8 @@ "connect": ["connect@3.7.0", "", { "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.0.1" } }, "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ=="], + "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], + "content-disposition": ["content-disposition@0.5.4", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ=="], "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], @@ -1545,6 +1611,8 @@ "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], + "deepmerge-ts": ["deepmerge-ts@7.1.5", "", {}, "sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw=="], + "defaults": ["defaults@1.0.4", "", { "dependencies": { "clone": "^1.0.2" } }, "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A=="], "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="], @@ -1557,10 +1625,14 @@ "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], + "denque": ["denque@2.1.0", "", {}, "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="], + "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], + "destr": ["destr@2.0.5", "", {}, "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="], + "destroy": ["destroy@1.2.0", "", {}, "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="], "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], @@ -1593,22 +1665,28 @@ "dotenv-expand": ["dotenv-expand@11.0.7", "", { "dependencies": { "dotenv": "^16.4.5" } }, "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA=="], + "drizzle-orm": ["drizzle-orm@0.45.1", "", { "peerDependencies": { "@aws-sdk/client-rds-data": ">=3", "@cloudflare/workers-types": ">=4", "@electric-sql/pglite": ">=0.2.0", "@libsql/client": ">=0.10.0", "@libsql/client-wasm": ">=0.10.0", "@neondatabase/serverless": ">=0.10.0", "@op-engineering/op-sqlite": ">=2", "@opentelemetry/api": "^1.4.1", "@planetscale/database": ">=1.13", "@prisma/client": "*", "@tidbcloud/serverless": "*", "@types/better-sqlite3": "*", "@types/pg": "*", "@types/sql.js": "*", "@upstash/redis": ">=1.34.7", "@vercel/postgres": ">=0.8.0", "@xata.io/client": "*", "better-sqlite3": ">=7", "bun-types": "*", "expo-sqlite": ">=14.0.0", "gel": ">=2", "knex": "*", "kysely": "*", "mysql2": ">=2", "pg": ">=8", "postgres": ">=3", "sql.js": ">=1", "sqlite3": ">=5" }, "optionalPeers": ["@aws-sdk/client-rds-data", "@cloudflare/workers-types", "@electric-sql/pglite", "@libsql/client", "@libsql/client-wasm", "@neondatabase/serverless", "@op-engineering/op-sqlite", "@opentelemetry/api", "@planetscale/database", "@prisma/client", "@tidbcloud/serverless", "@types/better-sqlite3", "@types/pg", "@types/sql.js", "@upstash/redis", "@vercel/postgres", "@xata.io/client", "better-sqlite3", "bun-types", "expo-sqlite", "gel", "knex", "kysely", "mysql2", "pg", "postgres", "sql.js", "sqlite3"] }, "sha512-Te0FOdKIistGNPMq2jscdqngBRfBpC8uMFVwqjf6gtTVJHIQ/dosgV/CLBU2N4ZJBsXL5savCba9b0YJskKdcA=="], + "dtrace-provider": ["dtrace-provider@0.8.8", "", { "dependencies": { "nan": "^2.14.0" } }, "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg=="], "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], - "eas-cli": ["eas-cli@18.0.1", "", { "dependencies": { "@expo/apple-utils": "2.1.13", "@expo/code-signing-certificates": "0.0.5", "@expo/config": "10.0.6", "@expo/config-plugins": "9.0.12", "@expo/eas-build-job": "18.0.1", "@expo/eas-json": "18.0.1", "@expo/env": "^1.0.0", "@expo/json-file": "8.3.3", "@expo/logger": "18.0.1", "@expo/multipart-body-parser": "2.0.0", "@expo/osascript": "2.1.4", "@expo/package-manager": "1.9.10", "@expo/pkcs12": "0.1.3", "@expo/plist": "0.2.0", "@expo/plugin-help": "5.1.23", "@expo/plugin-warn-if-update-available": "2.5.1", "@expo/prebuild-config": "8.0.17", "@expo/results": "1.0.0", "@expo/rudder-sdk-node": "1.1.1", "@expo/spawn-async": "1.7.2", "@expo/steps": "18.0.1", "@expo/timeago.js": "1.0.0", "@oclif/core": "^1.26.2", "@oclif/plugin-autocomplete": "^2.3.10", "@segment/ajv-human-errors": "^2.1.2", "@urql/core": "4.0.11", "@urql/exchange-retry": "1.2.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", "better-opn": "3.0.2", "bplist-parser": "^0.3.0", "chalk": "4.1.2", "cli-progress": "3.12.0", "dateformat": "4.6.3", "diff": "7.0.0", "dotenv": "16.3.1", "env-paths": "2.2.0", "envinfo": "7.11.0", "fast-deep-equal": "3.1.3", "fast-glob": "3.3.2", "figures": "3.2.0", "form-data": "^4.0.4", "fs-extra": "11.2.0", "getenv": "1.0.0", "gradle-to-js": "2.0.1", "graphql": "16.8.1", "graphql-tag": "2.12.6", "https-proxy-agent": "5.0.1", "ignore": "5.3.0", "indent-string": "4.0.0", "invariant": "^2.2.2", "jks-js": "1.1.0", "joi": "17.11.0", "keychain": "1.5.0", "log-symbols": "4.1.0", "mime": "3.0.0", "minimatch": "5.1.2", "minizlib": "3.0.1", "nanoid": "3.3.8", "node-fetch": "2.6.7", "node-forge": "1.3.1", "node-stream-zip": "1.15.0", "nullthrows": "1.1.1", "ora": "5.1.0", "pkg-dir": "4.2.0", "pngjs": "7.0.0", "promise-limit": "2.7.0", "promise-retry": "2.0.1", "prompts": "2.4.2", "qrcode-terminal": "0.12.0", "resolve-from": "5.0.0", "semver": "7.5.4", "set-interval-async": "3.0.3", "slash": "3.0.0", "tar": "7.5.7", "tar-stream": "3.1.7", "terminal-link": "2.1.1", "ts-deepmerge": "6.2.0", "tslib": "2.6.2", "turndown": "7.1.2", "untildify": "4.0.0", "uuid": "9.0.1", "wrap-ansi": "7.0.0", "yaml": "2.6.0", "zod": "^4.1.3" }, "bin": { "eas": "bin/run" } }, "sha512-iRDqyYVBaaQYHyEW/XnPATo+P3Hy6VYCpKavrFj/r/EzeJpr3JIscuAXAIf5EbhYQKdOxbYGJnp9Tylrp5mP/Q=="], + "eas-cli": ["eas-cli@18.3.0", "", { "dependencies": { "@expo/apple-utils": "2.1.13", "@expo/code-signing-certificates": "0.0.5", "@expo/config": "10.0.6", "@expo/config-plugins": "9.0.12", "@expo/eas-build-job": "18.2.0", "@expo/eas-json": "18.2.0", "@expo/env": "^1.0.0", "@expo/json-file": "8.3.3", "@expo/logger": "18.0.1", "@expo/multipart-body-parser": "2.0.0", "@expo/osascript": "2.1.4", "@expo/package-manager": "1.9.10", "@expo/pkcs12": "0.1.3", "@expo/plist": "0.2.0", "@expo/plugin-help": "5.1.23", "@expo/plugin-warn-if-update-available": "2.5.1", "@expo/prebuild-config": "8.0.17", "@expo/results": "1.0.0", "@expo/rudder-sdk-node": "1.1.1", "@expo/spawn-async": "1.7.2", "@expo/steps": "18.2.0", "@expo/timeago.js": "1.0.0", "@oclif/core": "^4.8.3", "@oclif/plugin-autocomplete": "^3.2.40", "@segment/ajv-human-errors": "^2.1.2", "@urql/core": "4.0.11", "@urql/exchange-retry": "1.2.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", "better-opn": "3.0.2", "bplist-parser": "^0.3.0", "chalk": "4.1.2", "cli-progress": "3.12.0", "dateformat": "4.6.3", "diff": "7.0.0", "dotenv": "16.3.1", "env-paths": "2.2.0", "envinfo": "7.11.0", "fast-deep-equal": "3.1.3", "fast-glob": "3.3.2", "figures": "3.2.0", "form-data": "^4.0.4", "fs-extra": "11.2.0", "getenv": "1.0.0", "gradle-to-js": "2.0.1", "graphql": "16.8.1", "graphql-tag": "2.12.6", "https-proxy-agent": "5.0.1", "ignore": "5.3.0", "indent-string": "4.0.0", "invariant": "^2.2.2", "jks-js": "1.1.0", "joi": "17.11.0", "keychain": "1.5.0", "log-symbols": "4.1.0", "mime": "3.0.0", "minimatch": "5.1.2", "minizlib": "3.0.1", "nanoid": "3.3.8", "node-fetch": "2.6.7", "node-forge": "1.3.1", "node-stream-zip": "1.15.0", "nullthrows": "1.1.1", "ora": "5.1.0", "pkg-dir": "4.2.0", "pngjs": "7.0.0", "promise-limit": "2.7.0", "promise-retry": "2.0.1", "prompts": "2.4.2", "qrcode-terminal": "0.12.0", "resolve-from": "5.0.0", "semver": "7.5.4", "set-interval-async": "3.0.3", "slash": "3.0.0", "tar": "7.5.7", "tar-stream": "3.1.7", "terminal-link": "2.1.1", "ts-deepmerge": "6.2.0", "tslib": "2.6.2", "turndown": "7.1.2", "untildify": "4.0.0", "uuid": "9.0.1", "wrap-ansi": "7.0.0", "yaml": "2.6.0", "zod": "^4.1.3" }, "bin": { "eas": "bin/run" } }, "sha512-D8sPNJn6rmR9BPxxrRbu+s2b++Iu1KrJdxCtVxTvUpSNuuXmR5udpEbyyiG0JlQbyabgvoGVlultZ9Lrg4G3Lg=="], "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], + "effect": ["effect@3.18.4", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "fast-check": "^3.23.1" } }, "sha512-b1LXQJLe9D11wfnOKAk3PKxuqYshQ0Heez+y5pnkd3jLj1yx9QhM72zZ9uUrOQyNvrs2GZZd/3maL0ZV18YuDA=="], + "ejs": ["ejs@3.1.10", "", { "dependencies": { "jake": "^10.8.5" }, "bin": { "ejs": "bin/cli.js" } }, "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA=="], - "electron-to-chromium": ["electron-to-chromium@1.5.286", "", {}, "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A=="], + "electron-to-chromium": ["electron-to-chromium@1.5.307", "", {}, "sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg=="], "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + "empathic": ["empathic@2.0.0", "", {}, "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA=="], + "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], "enhanced-resolve": ["enhanced-resolve@5.20.0", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.0" } }, "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ=="], @@ -1655,7 +1733,7 @@ "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], - "eslint": ["eslint@9.39.2", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.1", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.39.2", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw=="], + "eslint": ["eslint@9.39.4", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.2", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.5", "@eslint/js": "9.39.4", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.14.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ=="], "eslint-config-expo": ["eslint-config-expo@10.0.0", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "^8.18.2", "@typescript-eslint/parser": "^8.18.2", "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-expo": "^1.0.0", "eslint-plugin-import": "^2.30.0", "eslint-plugin-react": "^7.37.3", "eslint-plugin-react-hooks": "^5.1.0", "globals": "^16.0.0" }, "peerDependencies": { "eslint": ">=8.10" } }, "sha512-/XC/DvniUWTzU7Ypb/cLDhDD4DXqEio4lug1ObD/oQ9Hcx3OVOR8Mkp4u6U4iGoZSJyIQmIk3WVHe/P1NYUXKw=="], @@ -1761,6 +1839,8 @@ "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], + "fast-check": ["fast-check@3.23.2", "", { "dependencies": { "pure-rand": "^6.1.0" } }, "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A=="], + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="], @@ -1789,7 +1869,7 @@ "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], - "filelist": ["filelist@1.0.4", "", { "dependencies": { "minimatch": "^5.0.1" } }, "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q=="], + "filelist": ["filelist@1.0.6", "", { "dependencies": { "minimatch": "^5.0.1" } }, "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA=="], "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], @@ -1801,7 +1881,7 @@ "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], - "flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="], + "flatted": ["flatted@3.4.1", "", {}, "sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ=="], "flow-enums-runtime": ["flow-enums-runtime@0.0.6", "", {}, "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw=="], @@ -1815,7 +1895,7 @@ "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], - "framer-motion": ["framer-motion@12.35.0", "", { "dependencies": { "motion-dom": "^12.35.0", "motion-utils": "^12.29.2", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-w8hghCMQ4oq10j6aZh3U2yeEQv5K69O/seDI/41PK4HtgkLrcBovUNc0ayBC3UyyU7V1mrY2yLzvYdWJX9pGZQ=="], + "framer-motion": ["framer-motion@12.35.2", "", { "dependencies": { "motion-dom": "^12.35.2", "motion-utils": "^12.29.2", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-dhfuEMaNo0hc+AEqyHiIfiJRNb9U9UQutE9FoKm5pjf7CMitp9xPEF1iWZihR1q86LBmo6EJ7S8cN8QXEy49AA=="], "freeport-async": ["freeport-async@2.0.0", "", {}, "sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ=="], @@ -1833,6 +1913,8 @@ "functions-have-names": ["functions-have-names@1.2.3", "", {}, "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="], + "generate-function": ["generate-function@2.3.1", "", { "dependencies": { "is-property": "^1.0.2" } }, "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ=="], + "generator-function": ["generator-function@2.0.1", "", {}, "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g=="], "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], @@ -1847,6 +1929,8 @@ "get-port": ["get-port@5.1.1", "", {}, "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ=="], + "get-port-please": ["get-port-please@3.2.0", "", {}, "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A=="], + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], "get-symbol-description": ["get-symbol-description@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6" } }, "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg=="], @@ -1855,12 +1939,12 @@ "getenv": ["getenv@1.0.0", "", {}, "sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg=="], + "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], + "glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], - "global-dirs": ["global-dirs@0.1.1", "", { "dependencies": { "ini": "^1.3.4" } }, "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg=="], - "globals": ["globals@16.5.0", "", {}, "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ=="], "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ=="], @@ -1877,6 +1961,10 @@ "gradle-to-js": ["gradle-to-js@2.0.1", "", { "dependencies": { "lodash.merge": "^4.6.2" }, "bin": { "gradle-to-js": "cli.js" } }, "sha512-is3hDn9zb8XXnjbEeAEIqxTpLHUiGBqjegLmXPuyMBfKAggpadWFku4/AP8iYAGBX6qR9/5UIUIp47V0XI3aMw=="], + "grammex": ["grammex@3.1.12", "", {}, "sha512-6ufJOsSA7LcQehIJNCO7HIBykfM7DXQual0Ny780/DEcJIpBlHRvcqEBWGPYd7hrXL2GJ3oJI1MIhaXjWmLQOQ=="], + + "graphmatch": ["graphmatch@1.1.1", "", {}, "sha512-5ykVn/EXM1hF0XCaWh05VbYvEiOL2lY1kBxZtaYsyvjp7cmWOU1XsAdfQBwClraEofXDT197lFbXOEVMHpvQOg=="], + "graphql": ["graphql@16.8.1", "", {}, "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw=="], "graphql-tag": ["graphql-tag@2.12.6", "", { "dependencies": { "tslib": "^2.1.0" }, "peerDependencies": { "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg=="], @@ -1917,7 +2005,7 @@ "hoist-non-react-statics": ["hoist-non-react-statics@3.3.2", "", { "dependencies": { "react-is": "^16.7.0" } }, "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw=="], - "hono": ["hono@4.11.9", "", {}, "sha512-Eaw2YTGM6WOxA6CXbckaEvslr2Ne4NFsKrvc0v97JD5awbmeBLO5w9Ho9L9kmKonrwF9RJlW6BxT1PVv/agBHQ=="], + "hono": ["hono@4.12.7", "", {}, "sha512-jq9l1DM0zVIvsm3lv9Nw9nlJnMNPOcAtsbsgiUhWcFzPE99Gvo6yRTlszSLLYacMeQ6quHD6hMfId8crVHvexw=="], "hosted-git-info": ["hosted-git-info@7.0.2", "", { "dependencies": { "lru-cache": "^10.0.1" } }, "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w=="], @@ -1929,6 +2017,8 @@ "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="], + "http-status-codes": ["http-status-codes@2.3.0", "", {}, "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA=="], + "https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="], "hyperlinker": ["hyperlinker@1.0.0", "", {}, "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ=="], @@ -2025,6 +2115,8 @@ "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], + "is-property": ["is-property@1.0.2", "", {}, "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g=="], + "is-regex": ["is-regex@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g=="], "is-retry-allowed": ["is-retry-allowed@1.2.0", "", {}, "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg=="], @@ -2095,11 +2187,11 @@ "join-component": ["join-component@1.1.0", "", {}, "sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ=="], - "jose": ["jose@6.1.3", "", {}, "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ=="], + "jose": ["jose@6.2.1", "", {}, "sha512-jUaKr1yrbfaImV7R2TN/b3IcZzsw38/chqMpo2XJ7i2F8AfM/lA4G1goC3JVEwg0H7UldTmSt3P68nt31W7/mw=="], "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], - "js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], + "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], "jsc-safe-url": ["jsc-safe-url@0.2.4", "", {}, "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q=="], @@ -2137,29 +2229,29 @@ "lighthouse-logger": ["lighthouse-logger@1.4.2", "", { "dependencies": { "debug": "^2.6.9", "marky": "^1.2.2" } }, "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g=="], - "lightningcss": ["lightningcss@1.31.1", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.31.1", "lightningcss-darwin-arm64": "1.31.1", "lightningcss-darwin-x64": "1.31.1", "lightningcss-freebsd-x64": "1.31.1", "lightningcss-linux-arm-gnueabihf": "1.31.1", "lightningcss-linux-arm64-gnu": "1.31.1", "lightningcss-linux-arm64-musl": "1.31.1", "lightningcss-linux-x64-gnu": "1.31.1", "lightningcss-linux-x64-musl": "1.31.1", "lightningcss-win32-arm64-msvc": "1.31.1", "lightningcss-win32-x64-msvc": "1.31.1" } }, "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ=="], + "lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="], - "lightningcss-android-arm64": ["lightningcss-android-arm64@1.31.1", "", { "os": "android", "cpu": "arm64" }, "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg=="], + "lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="], - "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.31.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg=="], + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.32.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ=="], - "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.31.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA=="], + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.32.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w=="], - "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.31.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A=="], + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.32.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig=="], - "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.31.1", "", { "os": "linux", "cpu": "arm" }, "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g=="], + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.32.0", "", { "os": "linux", "cpu": "arm" }, "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw=="], - "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.31.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg=="], + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ=="], - "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.31.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg=="], + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg=="], - "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.31.1", "", { "os": "linux", "cpu": "x64" }, "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA=="], + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA=="], - "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.31.1", "", { "os": "linux", "cpu": "x64" }, "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA=="], + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg=="], - "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.31.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w=="], + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.32.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw=="], - "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.31.1", "", { "os": "win32", "cpu": "x64" }, "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw=="], + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.32.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q=="], "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], @@ -2181,6 +2273,8 @@ "log-symbols": ["log-symbols@4.1.0", "", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg=="], + "long": ["long@5.3.2", "", {}, "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="], + "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="], "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="], @@ -2191,6 +2285,8 @@ "lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="], + "lru.min": ["lru.min@1.1.4", "", {}, "sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA=="], + "lucide-react": ["lucide-react@0.577.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-4LjoFv2eEPwYDPg/CUdBJQSDfPyzXCRrVW1X7jrx/trgxnxkHFjnVZINbzvzxjN70dxychOfg+FTYwBiS3pQ5A=="], "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], @@ -2245,6 +2341,8 @@ "memoize-one": ["memoize-one@5.2.1", "", {}, "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q=="], + "memory-pager": ["memory-pager@1.5.0", "", {}, "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg=="], + "merge-descriptors": ["merge-descriptors@1.0.3", "", {}, "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ=="], "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], @@ -2271,9 +2369,9 @@ "metro-resolver": ["metro-resolver@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-0js+zwI5flFxb1ktmR///bxHYg7OLpRpWZlBBruYG8OKYxeMP7SV0xQ/o/hUelrEMdK4LJzqVtHAhBm25LVfAQ=="], - "metro-runtime": ["metro-runtime@0.83.3", "", { "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" } }, "sha512-JHCJb9ebr9rfJ+LcssFYA2x1qPYuSD/bbePupIGhpMrsla7RCwC/VL3yJ9cSU+nUhU4c9Ixxy8tBta+JbDeZWw=="], + "metro-runtime": ["metro-runtime@0.83.5", "", { "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" } }, "sha512-f+b3ue9AWTVlZe2Xrki6TAoFtKIqw30jwfk7GQ1rDUBQaE0ZQ+NkiMEtb9uwH7uAjJ87U7Tdx1Jg1OJqUfEVlA=="], - "metro-source-map": ["metro-source-map@0.83.3", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-symbolicate": "0.83.3", "nullthrows": "^1.1.1", "ob1": "0.83.3", "source-map": "^0.5.6", "vlq": "^1.0.0" } }, "sha512-xkC3qwUBh2psVZgVavo8+r2C9Igkk3DibiOXSAht1aYRRcztEZNFtAMtfSB7sdO2iFMx2Mlyu++cBxz/fhdzQg=="], + "metro-source-map": ["metro-source-map@0.83.5", "", { "dependencies": { "@babel/traverse": "^7.29.0", "@babel/types": "^7.29.0", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-symbolicate": "0.83.5", "nullthrows": "^1.1.1", "ob1": "0.83.5", "source-map": "^0.5.6", "vlq": "^1.0.0" } }, "sha512-VT9bb2KO2/4tWY9Z2yeZqTUao7CicKAOps9LUg2aQzsz+04QyuXL3qgf1cLUVRjA/D6G5u1RJAlN1w9VNHtODQ=="], "metro-symbolicate": ["metro-symbolicate@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-source-map": "0.83.3", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "bin": { "metro-symbolicate": "src/index.js" } }, "sha512-F/YChgKd6KbFK3eUR5HdUsfBqVsanf5lNTwFd4Ca7uuxnHgBC3kR/Hba/RGkenR3pZaGNp5Bu9ZqqP52Wyhomw=="], @@ -2351,7 +2449,7 @@ "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], - "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], + "minipass": ["minipass@7.1.3", "", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="], "minizlib": ["minizlib@3.0.1", "", { "dependencies": { "minipass": "^7.0.4", "rimraf": "^5.0.5" } }, "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg=="], @@ -2359,11 +2457,15 @@ "moment": ["moment@2.30.1", "", {}, "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how=="], + "mongodb": ["mongodb@7.1.0", "", { "dependencies": { "@mongodb-js/saslprep": "^1.3.0", "bson": "^7.1.1", "mongodb-connection-string-url": "^7.0.0" }, "peerDependencies": { "@aws-sdk/credential-providers": "^3.806.0", "@mongodb-js/zstd": "^7.0.0", "gcp-metadata": "^7.0.1", "kerberos": "^7.0.0", "mongodb-client-encryption": ">=7.0.0 <7.1.0", "snappy": "^7.3.2", "socks": "^2.8.6" }, "optionalPeers": ["@aws-sdk/credential-providers", "@mongodb-js/zstd", "gcp-metadata", "kerberos", "mongodb-client-encryption", "snappy", "socks"] }, "sha512-kMfnKunbolQYwCIyrkxNJFB4Ypy91pYqua5NargS/f8ODNSJxT03ZU3n1JqL4mCzbSih8tvmMEMLpKTT7x5gCg=="], + + "mongodb-connection-string-url": ["mongodb-connection-string-url@7.0.1", "", { "dependencies": { "@types/whatwg-url": "^13.0.0", "whatwg-url": "^14.1.0" } }, "sha512-h0AZ9A7IDVwwHyMxmdMXKy+9oNlF0zFoahHiX3vQ8e3KFcSP3VmsmfvtRSuLPxmyv2vjIDxqty8smTgie/SNRQ=="], + "morgan": ["morgan@1.10.1", "", { "dependencies": { "basic-auth": "~2.0.1", "debug": "2.6.9", "depd": "~2.0.0", "on-finished": "~2.3.0", "on-headers": "~1.1.0" } }, "sha512-223dMRJtI/l25dJKWpgij2cMtywuG/WiUKXdvwfbhGKBhy1puASqXwFzmWZ7+K73vUPoR7SS2Qz2cI/g9MKw0A=="], - "motion": ["motion@12.35.0", "", { "dependencies": { "framer-motion": "^12.35.0", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-BQUhNUIGvUcwXCzwmnT1JpjUqab34lIwxHnXUyWRht1WC1vAyp7/4qgMiUXxN3K6hgUhyoR+HNnLeQMwUZjVjw=="], + "motion": ["motion@12.35.2", "", { "dependencies": { "framer-motion": "^12.35.2", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-8zCi1DkNyU6a/tgEHn/GnnXZDcaMpDHbDOGORY1Rg/6lcNMSOuvwDB3i4hMSOvxqMWArc/vrGaw/Xek1OP69/A=="], - "motion-dom": ["motion-dom@12.35.0", "", { "dependencies": { "motion-utils": "^12.29.2" } }, "sha512-FFMLEnIejK/zDABn+vqGVAUN4T0+3fw+cVAY8MMT65yR+j5uMuvWdd4npACWhh94OVWQs79CrBBuwOwGRZAQiA=="], + "motion-dom": ["motion-dom@12.35.2", "", { "dependencies": { "motion-utils": "^12.29.2" } }, "sha512-pWXFMTwvGDbx1Fe9YL5HZebv2NhvGBzRtiNUv58aoK7+XrsuaydQ0JGRKK2r+bTKlwgSWwWxHbP5249Qr/BNpg=="], "motion-utils": ["motion-utils@12.29.2", "", {}, "sha512-G3kc34H2cX2gI63RqU+cZq+zWRRPSsNIOjpdl9TN4AQwC4sgwYPl/Q/Obf/d53nOm569T0fYK+tcoSV50BWx8A=="], @@ -2375,13 +2477,17 @@ "mv": ["mv@2.1.1", "", { "dependencies": { "mkdirp": "~0.5.1", "ncp": "~2.0.0", "rimraf": "~2.4.0" } }, "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg=="], + "mysql2": ["mysql2@3.15.3", "", { "dependencies": { "aws-ssl-profiles": "^1.1.1", "denque": "^2.1.0", "generate-function": "^2.3.1", "iconv-lite": "^0.7.0", "long": "^5.2.1", "lru.min": "^1.0.0", "named-placeholders": "^1.1.3", "seq-queue": "^0.0.5", "sqlstring": "^2.3.2" } }, "sha512-FBrGau0IXmuqg4haEZRBfHNWB5mUARw6hNwPDXXGg0XzVJ50mr/9hb267lvpVMnhZ1FON3qNd4Xfcez1rbFwSg=="], + "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="], + "named-placeholders": ["named-placeholders@1.1.6", "", { "dependencies": { "lru.min": "^1.1.0" } }, "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w=="], + "nan": ["nan@2.25.0", "", {}, "sha512-0M90Ag7Xn5KMLLZ7zliPWP3rT90P6PN+IzVFS0VqmnPktBk3700xUVv8Ikm9EUaUE5SDWdp/BIxdENzVznpm1g=="], "nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], - "nanostores": ["nanostores@1.1.0", "", {}, "sha512-yJBmDJr18xy47dbNVlHcgdPrulSn1nhSE6Ns9vTG+Nx9VPT6iV1MD6aQFp/t52zpf82FhLLTXAXr30NuCnxvwA=="], + "nanostores": ["nanostores@1.1.1", "", {}, "sha512-EYJqS25r2iBeTtGQCHidXl1VfZ1jXM7Q04zXJOrMlxVVmD0ptxJaNux92n1mJ7c5lN3zTq12MhH/8x59nP+qmg=="], "napi-postinstall": ["napi-postinstall@0.3.4", "", { "bin": { "napi-postinstall": "lib/cli.js" } }, "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ=="], @@ -2395,13 +2501,17 @@ "nested-error-stacks": ["nested-error-stacks@2.0.1", "", {}, "sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A=="], + "node-exports-info": ["node-exports-info@1.6.0", "", { "dependencies": { "array.prototype.flatmap": "^1.3.3", "es-errors": "^1.3.0", "object.entries": "^1.1.9", "semver": "^6.3.1" } }, "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw=="], + "node-fetch": ["node-fetch@2.6.7", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ=="], + "node-fetch-native": ["node-fetch-native@1.6.7", "", {}, "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q=="], + "node-forge": ["node-forge@1.3.1", "", {}, "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="], "node-int64": ["node-int64@0.4.0", "", {}, "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw=="], - "node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="], + "node-releases": ["node-releases@2.0.36", "", {}, "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA=="], "node-rsa": ["node-rsa@1.1.1", "", { "dependencies": { "asn1": "^0.2.4" } }, "sha512-Jd4cvbJMryN21r5HgxQOpMEqv+ooke/korixNNK3mGqfGJmy0M77WDDzo/05969+OkMy3XW1UuZsSmW9KQm7Fw=="], @@ -2415,7 +2525,9 @@ "nullthrows": ["nullthrows@1.1.1", "", {}, "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw=="], - "ob1": ["ob1@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-egUxXCDwoWG06NGCS5s5AdcpnumHKJlfd3HH06P3m9TEMwwScfcY35wpQxbm9oHof+dM/lVH9Rfyu1elTVelSA=="], + "nypm": ["nypm@0.6.5", "", { "dependencies": { "citty": "^0.2.0", "pathe": "^2.0.3", "tinyexec": "^1.0.2" }, "bin": { "nypm": "dist/cli.mjs" } }, "sha512-K6AJy1GMVyfyMXRVB88700BJqNUkByijGJM8kEHpLdcAt+vSQAVfkWWHYzuRXHSY6xA2sNc5RjTj0p9rE2izVQ=="], + + "ob1": ["ob1@0.83.5", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-vNKPYC8L5ycVANANpF/S+WZHpfnRWKx/F3AYP4QMn6ZJTh+l2HOrId0clNkEmua58NB9vmI9Qh7YOoV/4folYg=="], "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], @@ -2437,6 +2549,8 @@ "object.values": ["object.values@1.2.1", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA=="], + "ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="], + "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], "on-headers": ["on-headers@1.1.0", "", {}, "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A=="], @@ -2455,7 +2569,7 @@ "oxfmt": ["oxfmt@0.24.0", "", { "dependencies": { "tinypool": "2.0.0" }, "optionalDependencies": { "@oxfmt/darwin-arm64": "0.24.0", "@oxfmt/darwin-x64": "0.24.0", "@oxfmt/linux-arm64-gnu": "0.24.0", "@oxfmt/linux-arm64-musl": "0.24.0", "@oxfmt/linux-x64-gnu": "0.24.0", "@oxfmt/linux-x64-musl": "0.24.0", "@oxfmt/win32-arm64": "0.24.0", "@oxfmt/win32-x64": "0.24.0" }, "bin": { "oxfmt": "bin/oxfmt" } }, "sha512-UjeM3Peez8Tl7IJ9s5UwAoZSiDRMww7BEc21gDYxLq3S3/KqJnM3mjNxsoSHgmBvSeX6RBhoVc2MfC/+96RdSw=="], - "oxlint": ["oxlint@1.47.0", "", { "optionalDependencies": { "@oxlint/binding-android-arm-eabi": "1.47.0", "@oxlint/binding-android-arm64": "1.47.0", "@oxlint/binding-darwin-arm64": "1.47.0", "@oxlint/binding-darwin-x64": "1.47.0", "@oxlint/binding-freebsd-x64": "1.47.0", "@oxlint/binding-linux-arm-gnueabihf": "1.47.0", "@oxlint/binding-linux-arm-musleabihf": "1.47.0", "@oxlint/binding-linux-arm64-gnu": "1.47.0", "@oxlint/binding-linux-arm64-musl": "1.47.0", "@oxlint/binding-linux-ppc64-gnu": "1.47.0", "@oxlint/binding-linux-riscv64-gnu": "1.47.0", "@oxlint/binding-linux-riscv64-musl": "1.47.0", "@oxlint/binding-linux-s390x-gnu": "1.47.0", "@oxlint/binding-linux-x64-gnu": "1.47.0", "@oxlint/binding-linux-x64-musl": "1.47.0", "@oxlint/binding-openharmony-arm64": "1.47.0", "@oxlint/binding-win32-arm64-msvc": "1.47.0", "@oxlint/binding-win32-ia32-msvc": "1.47.0", "@oxlint/binding-win32-x64-msvc": "1.47.0" }, "peerDependencies": { "oxlint-tsgolint": ">=0.11.2" }, "optionalPeers": ["oxlint-tsgolint"], "bin": { "oxlint": "bin/oxlint" } }, "sha512-v7xkK1iv1qdvTxJGclM97QzN8hHs5816AneFAQ0NGji1BMUquhiDAhXpMwp8+ls16uRVJtzVHxP9pAAXblDeGA=="], + "oxlint": ["oxlint@1.52.0", "", { "optionalDependencies": { "@oxlint/binding-android-arm-eabi": "1.52.0", "@oxlint/binding-android-arm64": "1.52.0", "@oxlint/binding-darwin-arm64": "1.52.0", "@oxlint/binding-darwin-x64": "1.52.0", "@oxlint/binding-freebsd-x64": "1.52.0", "@oxlint/binding-linux-arm-gnueabihf": "1.52.0", "@oxlint/binding-linux-arm-musleabihf": "1.52.0", "@oxlint/binding-linux-arm64-gnu": "1.52.0", "@oxlint/binding-linux-arm64-musl": "1.52.0", "@oxlint/binding-linux-ppc64-gnu": "1.52.0", "@oxlint/binding-linux-riscv64-gnu": "1.52.0", "@oxlint/binding-linux-riscv64-musl": "1.52.0", "@oxlint/binding-linux-s390x-gnu": "1.52.0", "@oxlint/binding-linux-x64-gnu": "1.52.0", "@oxlint/binding-linux-x64-musl": "1.52.0", "@oxlint/binding-openharmony-arm64": "1.52.0", "@oxlint/binding-win32-arm64-msvc": "1.52.0", "@oxlint/binding-win32-ia32-msvc": "1.52.0", "@oxlint/binding-win32-x64-msvc": "1.52.0" }, "peerDependencies": { "oxlint-tsgolint": ">=0.15.0" }, "optionalPeers": ["oxlint-tsgolint"], "bin": { "oxlint": "bin/oxlint" } }, "sha512-InLldD+6+3iHJGIrtU1W37UIpsg+xoGCemkZCuSQhxUO3evMX+L872ONvbECyRza9k7ScMCukJIK3Al/2ZMDnQ=="], "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], @@ -2497,17 +2611,19 @@ "pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], - "pg": ["pg@8.18.0", "", { "dependencies": { "pg-connection-string": "^2.11.0", "pg-pool": "^3.11.0", "pg-protocol": "^1.11.0", "pg-types": "2.2.0", "pgpass": "1.0.5" }, "optionalDependencies": { "pg-cloudflare": "^1.3.0" }, "peerDependencies": { "pg-native": ">=3.0.1" }, "optionalPeers": ["pg-native"] }, "sha512-xqrUDL1b9MbkydY/s+VZ6v+xiMUmOUk7SS9d/1kpyQxoJ6U9AO1oIJyUWVZojbfe5Cc/oluutcgFG4L9RDP1iQ=="], + "perfect-debounce": ["perfect-debounce@1.0.0", "", {}, "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="], + + "pg": ["pg@8.20.0", "", { "dependencies": { "pg-connection-string": "^2.12.0", "pg-pool": "^3.13.0", "pg-protocol": "^1.13.0", "pg-types": "2.2.0", "pgpass": "1.0.5" }, "optionalDependencies": { "pg-cloudflare": "^1.3.0" }, "peerDependencies": { "pg-native": ">=3.0.1" }, "optionalPeers": ["pg-native"] }, "sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA=="], "pg-cloudflare": ["pg-cloudflare@1.3.0", "", {}, "sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ=="], - "pg-connection-string": ["pg-connection-string@2.11.0", "", {}, "sha512-kecgoJwhOpxYU21rZjULrmrBJ698U2RxXofKVzOn5UDj61BPj/qMb7diYUR1nLScCDbrztQFl1TaQZT0t1EtzQ=="], + "pg-connection-string": ["pg-connection-string@2.12.0", "", {}, "sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ=="], "pg-int8": ["pg-int8@1.0.1", "", {}, "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw=="], - "pg-pool": ["pg-pool@3.11.0", "", { "peerDependencies": { "pg": ">=8.0" } }, "sha512-MJYfvHwtGp870aeusDh+hg9apvOe2zmpZJpyt+BMtzUWlVqbhFmMK6bOBXLBUPd7iRtIF9fZplDc7KrPN3PN7w=="], + "pg-pool": ["pg-pool@3.13.0", "", { "peerDependencies": { "pg": ">=8.0" } }, "sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA=="], - "pg-protocol": ["pg-protocol@1.11.0", "", {}, "sha512-pfsxk2M9M3BuGgDOfuy37VNRRX3jmKgMjcvAcWqNDpZSf4cUmv8HSOl5ViRQFsfARFn0KuUQTgLxVMbNq5NW3g=="], + "pg-protocol": ["pg-protocol@1.13.0", "", {}, "sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w=="], "pg-types": ["pg-types@2.2.0", "", { "dependencies": { "pg-int8": "1.0.1", "postgres-array": "~2.0.0", "postgres-bytea": "~1.0.0", "postgres-date": "~1.0.4", "postgres-interval": "^1.1.0" } }, "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA=="], @@ -2547,6 +2663,8 @@ "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], + "postgres": ["postgres@3.4.7", "", {}, "sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw=="], + "postgres-array": ["postgres-array@2.0.0", "", {}, "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA=="], "postgres-bytea": ["postgres-bytea@1.0.1", "", {}, "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ=="], @@ -2563,6 +2681,8 @@ "pretty-format": ["pretty-format@29.7.0", "", { "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } }, "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ=="], + "prisma": ["prisma@7.4.2", "", { "dependencies": { "@prisma/config": "7.4.2", "@prisma/dev": "0.20.0", "@prisma/engines": "7.4.2", "@prisma/studio-core": "0.13.1", "mysql2": "3.15.3", "postgres": "3.4.7" }, "peerDependencies": { "better-sqlite3": ">=9.0.0", "typescript": ">=5.4.0" }, "optionalPeers": ["better-sqlite3", "typescript"], "bin": { "prisma": "build/index.js" } }, "sha512-2bP8Ruww3Q95Z2eH4Yqh4KAENRsj/SxbdknIVBfd6DmjPwmpsC4OVFMLOeHt6tM3Amh8ebjvstrUz3V/hOe1dA=="], + "proc-log": ["proc-log@4.2.0", "", {}, "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA=="], "progress": ["progress@2.0.3", "", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="], @@ -2577,12 +2697,16 @@ "prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="], + "proper-lockfile": ["proper-lockfile@4.1.2", "", { "dependencies": { "graceful-fs": "^4.2.4", "retry": "^0.12.0", "signal-exit": "^3.0.2" } }, "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA=="], + "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + "pure-rand": ["pure-rand@6.1.0", "", {}, "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA=="], + "qrcode-terminal": ["qrcode-terminal@0.12.0", "", { "bin": { "qrcode-terminal": "./bin/qrcode-terminal.js" } }, "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ=="], "qs": ["qs@6.14.2", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q=="], @@ -2599,6 +2723,8 @@ "rc": ["rc@1.2.8", "", { "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "bin": { "rc": "./cli.js" } }, "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="], + "rc9": ["rc9@2.1.2", "", { "dependencies": { "defu": "^6.1.4", "destr": "^2.0.3" } }, "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg=="], + "react": ["react@19.1.0", "", {}, "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg=="], "react-aria": ["react-aria@3.47.0", "", { "dependencies": { "@internationalized/string": "^3.2.7", "@react-aria/breadcrumbs": "^3.5.32", "@react-aria/button": "^3.14.5", "@react-aria/calendar": "^3.9.5", "@react-aria/checkbox": "^3.16.5", "@react-aria/color": "^3.1.5", "@react-aria/combobox": "^3.15.0", "@react-aria/datepicker": "^3.16.1", "@react-aria/dialog": "^3.5.34", "@react-aria/disclosure": "^3.1.3", "@react-aria/dnd": "^3.11.6", "@react-aria/focus": "^3.21.5", "@react-aria/gridlist": "^3.14.4", "@react-aria/i18n": "^3.12.16", "@react-aria/interactions": "^3.27.1", "@react-aria/label": "^3.7.25", "@react-aria/landmark": "^3.0.10", "@react-aria/link": "^3.8.9", "@react-aria/listbox": "^3.15.3", "@react-aria/menu": "^3.21.0", "@react-aria/meter": "^3.4.30", "@react-aria/numberfield": "^3.12.5", "@react-aria/overlays": "^3.31.2", "@react-aria/progress": "^3.4.30", "@react-aria/radio": "^3.12.5", "@react-aria/searchfield": "^3.8.12", "@react-aria/select": "^3.17.3", "@react-aria/selection": "^3.27.2", "@react-aria/separator": "^3.4.16", "@react-aria/slider": "^3.8.5", "@react-aria/ssr": "^3.9.10", "@react-aria/switch": "^3.7.11", "@react-aria/table": "^3.17.11", "@react-aria/tabs": "^3.11.1", "@react-aria/tag": "^3.8.1", "@react-aria/textfield": "^3.18.5", "@react-aria/toast": "^3.0.11", "@react-aria/tooltip": "^3.9.2", "@react-aria/tree": "^3.1.7", "@react-aria/utils": "^3.33.1", "@react-aria/visually-hidden": "^3.8.31", "@react-types/shared": "^3.33.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-nvahimIqdByl/PXk/xPkG30LPRzcin+/Uk0uFfwbbKRRFC9aa22a6BRULZLqVHwa9GaNyKe6CDUxO1Dde4v0kA=="], @@ -2619,7 +2745,7 @@ "react-native-gesture-handler": ["react-native-gesture-handler@2.28.0", "", { "dependencies": { "@egjs/hammerjs": "^2.0.17", "hoist-non-react-statics": "^3.3.0", "invariant": "^2.2.4" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-0msfJ1vRxXKVgTgvL+1ZOoYw3/0z1R+Ked0+udoJhyplC2jbVKIJ8Z1bzWdpQRCV3QcQ87Op0zJVE5DhKK2A0A=="], - "react-native-is-edge-to-edge": ["react-native-is-edge-to-edge@1.2.1", "", { "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q=="], + "react-native-is-edge-to-edge": ["react-native-is-edge-to-edge@1.3.1", "", { "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-NIXU/iT5+ORyCc7p0z2nnlkouYKX425vuU1OEm6bMMtWWR9yvb+Xg5AZmImTKoF9abxCPqrKC3rOZsKzUYgYZA=="], "react-native-reanimated": ["react-native-reanimated@4.1.6", "", { "dependencies": { "react-native-is-edge-to-edge": "^1.2.1", "semver": "7.7.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0", "react": "*", "react-native": "*", "react-native-worklets": ">=0.5.0" } }, "sha512-F+ZJBYiok/6Jzp1re75F/9aLzkgoQCOh4yxrnwATa8392RvM3kx+fiXXFvwcgE59v48lMwd9q0nzF1oJLXpfxQ=="], @@ -2659,6 +2785,8 @@ "regenerator-runtime": ["regenerator-runtime@0.13.11", "", {}, "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="], + "regexp-to-ast": ["regexp-to-ast@0.5.0", "", {}, "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw=="], + "regexp.prototype.flags": ["regexp.prototype.flags@1.5.4", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", "get-proto": "^1.0.1", "gopd": "^1.2.0", "set-function-name": "^2.0.2" } }, "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA=="], "regexpu-core": ["regexpu-core@6.4.0", "", { "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.2", "regjsgen": "^0.8.0", "regjsparser": "^0.13.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.2.1" } }, "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA=="], @@ -2681,6 +2809,8 @@ "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="], + "remeda": ["remeda@2.33.4", "", {}, "sha512-ygHswjlc/opg2VrtiYvUOPLjxjtdKvjGz1/plDhkG66hjNjFr1xmfrs2ClNFo/E6TyUFiwYNh53bKV26oBoMGQ=="], + "remend": ["remend@1.2.2", "", {}, "sha512-4ZJgIB9EG9fQE41mOJCRHMmnxDTKHWawQoJWZyUbZuj680wVyogu2ihnj8Edqm7vh2mo/TWHyEZpn2kqeDvS7w=="], "remove-trailing-slash": ["remove-trailing-slash@0.1.1", "", {}, "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA=="], @@ -2693,12 +2823,10 @@ "resend": ["resend@6.9.3", "", { "dependencies": { "postal-mime": "2.7.3", "svix": "1.84.1" }, "peerDependencies": { "@react-email/render": "*" }, "optionalPeers": ["@react-email/render"] }, "sha512-GRXjH9XZBJA+daH7bBVDuTShr22iWCxXA8P7t495G4dM/RC+d+3gHBK/6bz9K6Vpcq11zRQKmD+B+jECwQlyGQ=="], - "resolve": ["resolve@2.0.0-next.5", "", { "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA=="], + "resolve": ["resolve@2.0.0-next.6", "", { "dependencies": { "es-errors": "^1.3.0", "is-core-module": "^2.16.1", "node-exports-info": "^1.6.0", "object-keys": "^1.1.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA=="], "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], - "resolve-global": ["resolve-global@1.0.0", "", { "dependencies": { "global-dirs": "^0.1.1" } }, "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw=="], - "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], "resolve-workspace-root": ["resolve-workspace-root@2.0.1", "", {}, "sha512-nR23LHAvaI6aHtMg6RWoaHpdR4D881Nydkzi2CixINyg9T00KgaJdJI6Vwty+Ps8WLxZHuxsS0BseWjxSA4C+w=="], @@ -2731,7 +2859,7 @@ "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], - "sax": ["sax@1.4.4", "", {}, "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw=="], + "sax": ["sax@1.5.0", "", {}, "sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA=="], "scheduler": ["scheduler@0.26.0", "", {}, "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="], @@ -2739,6 +2867,8 @@ "send": ["send@0.19.2", "", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "~0.5.2", "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "~2.4.1", "range-parser": "~1.2.1", "statuses": "~2.0.2" } }, "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg=="], + "seq-queue": ["seq-queue@0.0.5", "", {}, "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q=="], + "serialize-error": ["serialize-error@2.1.0", "", {}, "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw=="], "serve-static": ["serve-static@1.16.3", "", { "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "~0.19.1" } }, "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA=="], @@ -2799,12 +2929,16 @@ "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="], + "sparse-bitfield": ["sparse-bitfield@3.0.3", "", { "dependencies": { "memory-pager": "^1.0.2" } }, "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ=="], + "split-on-first": ["split-on-first@1.1.0", "", {}, "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw=="], "split2": ["split2@4.2.0", "", {}, "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg=="], "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], + "sqlstring": ["sqlstring@2.3.3", "", {}, "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg=="], + "stable-hash": ["stable-hash@0.0.5", "", {}, "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA=="], "stack-utils": ["stack-utils@2.0.6", "", { "dependencies": { "escape-string-regexp": "^2.0.0" } }, "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ=="], @@ -2817,6 +2951,8 @@ "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], + "std-env": ["std-env@3.10.0", "", {}, "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg=="], + "stop-iteration-iterator": ["stop-iteration-iterator@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "internal-slot": "^1.1.0" } }, "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ=="], "stream-buffers": ["stream-buffers@2.2.0", "", {}, "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg=="], @@ -2887,7 +3023,7 @@ "test-exclude": ["test-exclude@6.0.0", "", { "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" } }, "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w=="], - "text-decoder": ["text-decoder@1.2.6", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-27FeW5GQFDfw0FpwMQhMagB7BztOOlmjcSRi97t2oplhKVTZtp0DZbSegSaXS5IIC6mxMvBG4AR1Sgc6BX3CQg=="], + "text-decoder": ["text-decoder@1.2.7", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ=="], "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="], @@ -2895,6 +3031,8 @@ "throat": ["throat@5.0.0", "", {}, "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA=="], + "tinyexec": ["tinyexec@1.0.2", "", {}, "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg=="], + "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], "tinypool": ["tinypool@2.0.0", "", {}, "sha512-/RX9RzeH2xU5ADE7n2Ykvmi9ED3FBGPAjw9u3zucrNNaEBIO0HPSYgL0NT7+3p147ojeSdaVu08F6hjpv31HJg=="], @@ -3101,6 +3239,8 @@ "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + "zeptomatch": ["zeptomatch@2.1.0", "", { "dependencies": { "grammex": "^3.1.11", "graphmatch": "^1.1.0" } }, "sha512-KiGErG2J0G82LSpniV0CtIzjlJ10E04j02VOudJsPyPwNZgGnRKQy7I1R7GMyg/QswnE4l7ohSGrQbQbjXPPDA=="], + "zod": ["zod@4.3.6", "", {}, "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg=="], "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], @@ -3131,27 +3271,21 @@ "@babel/traverse--for-generate-function-map/@babel/code-frame": ["@babel/code-frame@7.29.0", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw=="], + "@chevrotain/cst-dts-gen/lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], + + "@chevrotain/gast/lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], + "@cspotcode/source-map-support/@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.9", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ=="], - "@emnapi/core/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "@emnapi/runtime/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "@emnapi/wasi-threads/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], - "@eslint/config-array/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + "@eslint/config-array/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], - "@eslint/eslintrc/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], + "@eslint/eslintrc/ajv": ["ajv@6.14.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw=="], "@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], - "@eslint/eslintrc/ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], - - "@eslint/eslintrc/js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], - - "@eslint/eslintrc/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + "@eslint/eslintrc/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], "@expo/bunyan/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], @@ -3161,13 +3295,13 @@ "@expo/cli/@expo/config-plugins": ["@expo/config-plugins@54.0.4", "", { "dependencies": { "@expo/config-types": "^54.0.10", "@expo/json-file": "~10.0.8", "@expo/plist": "^0.4.8", "@expo/sdk-runtime-versions": "^1.0.0", "chalk": "^4.1.2", "debug": "^4.3.5", "getenv": "^2.0.0", "glob": "^13.0.0", "resolve-from": "^5.0.0", "semver": "^7.5.4", "slash": "^3.0.0", "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "sha512-g2yXGICdoOw5i3LkQSDxl2Q5AlQCrG7oniu0pCPPO+UxGb7He4AFqSvPSy8HpRUj55io17hT62FTjYRD+d6j3Q=="], - "@expo/cli/@expo/env": ["@expo/env@2.0.8", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-5VQD6GT8HIMRaSaB5JFtOXuvfDVU80YtZIuUT/GDhUF782usIXY13Tn3IdDz1Tm/lqA9qnRZQ1BF4t7LlvdJPA=="], + "@expo/cli/@expo/env": ["@expo/env@2.0.11", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-xV+ps6YCW7XIPVUwFVCRN2nox09dnRwy8uIjwHWTODu0zFw4kp4omnVkl0OOjuu2XOe7tdgAHxikrkJt9xB/7Q=="], - "@expo/cli/@expo/image-utils": ["@expo/image-utils@0.8.8", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", "getenv": "^2.0.0", "jimp-compact": "0.16.1", "parse-png": "^2.1.0", "resolve-from": "^5.0.0", "resolve-global": "^1.0.0", "semver": "^7.6.0", "temp-dir": "~2.0.0", "unique-string": "~2.0.0" } }, "sha512-HHHaG4J4nKjTtVa1GG9PCh763xlETScfEyNxxOvfTRr8IKPJckjTyqSLEtdJoFNJ1vqiABEjW7tqGhqGibZLeA=="], + "@expo/cli/@expo/image-utils": ["@expo/image-utils@0.8.12", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", "getenv": "^2.0.0", "jimp-compact": "0.16.1", "parse-png": "^2.1.0", "resolve-from": "^5.0.0", "semver": "^7.6.0" } }, "sha512-3KguH7kyKqq7pNwLb9j6BBdD/bjmNwXZG/HPWT6GWIXbwrvAJt2JNyYTP5agWJ8jbbuys1yuCzmkX+TU6rmI7A=="], - "@expo/cli/@expo/json-file": ["@expo/json-file@10.0.8", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ=="], + "@expo/cli/@expo/json-file": ["@expo/json-file@10.0.12", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "json5": "^2.2.3" } }, "sha512-inbDycp1rMAelAofg7h/mMzIe+Owx6F7pur3XdQ3EPTy00tme+4P6FWgHKUcjN8dBSrnbRNpSyh5/shzHyVCyQ=="], - "@expo/cli/@expo/osascript": ["@expo/osascript@2.3.8", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "exec-async": "^2.2.0" } }, "sha512-/TuOZvSG7Nn0I8c+FcEaoHeBO07yu6vwDgk7rZVvAXoeAK5rkA09jRyjYsZo+0tMEFaToBeywA6pj50Mb3ny9w=="], + "@expo/cli/@expo/osascript": ["@expo/osascript@2.4.2", "", { "dependencies": { "@expo/spawn-async": "^1.7.2" } }, "sha512-/XP7PSYF2hzOZzqfjgkoWtllyeTN8dW3aM4P6YgKcmmPikKL5FdoyQhti4eh6RK5a5VrUXJTOlTNIpIHsfB5Iw=="], "@expo/cli/@expo/plist": ["@expo/plist@0.4.8", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.2.3", "xmlbuilder": "^15.1.1" } }, "sha512-pfNtErGGzzRwHP+5+RqswzPDKkZrx+Cli0mzjQaus1ZWFsog5ibL+nVT3NcporW51o8ggnt7x813vtRbPiyOrQ=="], @@ -3179,9 +3313,9 @@ "@expo/cli/getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="], - "@expo/cli/glob": ["glob@13.0.3", "", { "dependencies": { "minimatch": "^10.2.0", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA=="], + "@expo/cli/glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="], - "@expo/cli/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@expo/cli/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], "@expo/cli/node-forge": ["node-forge@1.3.3", "", {}, "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg=="], @@ -3193,12 +3327,10 @@ "@expo/cli/resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], - "@expo/cli/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "@expo/cli/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "@expo/cli/ws": ["ws@8.19.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg=="], - "@expo/code-signing-certificates/node-forge": ["node-forge@1.3.3", "", {}, "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg=="], - "@expo/config/@expo/json-file": ["@expo/json-file@9.1.5", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA=="], "@expo/config/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], @@ -3229,42 +3361,44 @@ "@expo/fingerprint/getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="], - "@expo/fingerprint/glob": ["glob@13.0.3", "", { "dependencies": { "minimatch": "^10.2.0", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA=="], + "@expo/fingerprint/glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="], "@expo/fingerprint/ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], - "@expo/fingerprint/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@expo/fingerprint/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], - "@expo/fingerprint/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "@expo/fingerprint/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "@expo/image-utils/fs-extra": ["fs-extra@9.0.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^1.0.0" } }, "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g=="], "@expo/image-utils/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - "@expo/metro-config/@babel/code-frame": ["@babel/code-frame@7.29.0", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw=="], + "@expo/metro/metro-runtime": ["metro-runtime@0.83.3", "", { "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" } }, "sha512-JHCJb9ebr9rfJ+LcssFYA2x1qPYuSD/bbePupIGhpMrsla7RCwC/VL3yJ9cSU+nUhU4c9Ixxy8tBta+JbDeZWw=="], + + "@expo/metro/metro-source-map": ["metro-source-map@0.83.3", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-symbolicate": "0.83.3", "nullthrows": "^1.1.1", "ob1": "0.83.3", "source-map": "^0.5.6", "vlq": "^1.0.0" } }, "sha512-xkC3qwUBh2psVZgVavo8+r2C9Igkk3DibiOXSAht1aYRRcztEZNFtAMtfSB7sdO2iFMx2Mlyu++cBxz/fhdzQg=="], + + "@expo/metro-config/@babel/code-frame": ["@babel/code-frame@7.23.5", "", { "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" } }, "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA=="], "@expo/metro-config/@expo/config": ["@expo/config@12.0.13", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "@expo/config-plugins": "~54.0.4", "@expo/config-types": "^54.0.10", "@expo/json-file": "^10.0.8", "deepmerge": "^4.3.1", "getenv": "^2.0.0", "glob": "^13.0.0", "require-from-string": "^2.0.2", "resolve-from": "^5.0.0", "resolve-workspace-root": "^2.0.0", "semver": "^7.6.0", "slugify": "^1.3.4", "sucrase": "~3.35.1" } }, "sha512-Cu52arBa4vSaupIWsF0h7F/Cg//N374nYb7HAxV0I4KceKA7x2UXpYaHOL7EEYYvp7tZdThBjvGpVmr8ScIvaQ=="], - "@expo/metro-config/@expo/env": ["@expo/env@2.0.8", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-5VQD6GT8HIMRaSaB5JFtOXuvfDVU80YtZIuUT/GDhUF782usIXY13Tn3IdDz1Tm/lqA9qnRZQ1BF4t7LlvdJPA=="], + "@expo/metro-config/@expo/env": ["@expo/env@2.0.11", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-xV+ps6YCW7XIPVUwFVCRN2nox09dnRwy8uIjwHWTODu0zFw4kp4omnVkl0OOjuu2XOe7tdgAHxikrkJt9xB/7Q=="], - "@expo/metro-config/@expo/json-file": ["@expo/json-file@10.0.8", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ=="], + "@expo/metro-config/@expo/json-file": ["@expo/json-file@10.0.12", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "json5": "^2.2.3" } }, "sha512-inbDycp1rMAelAofg7h/mMzIe+Owx6F7pur3XdQ3EPTy00tme+4P6FWgHKUcjN8dBSrnbRNpSyh5/shzHyVCyQ=="], "@expo/metro-config/dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], "@expo/metro-config/getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="], - "@expo/metro-config/glob": ["glob@13.0.3", "", { "dependencies": { "minimatch": "^10.2.0", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA=="], + "@expo/metro-config/glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="], - "@expo/metro-config/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@expo/metro-config/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], "@expo/metro-config/postcss": ["postcss@8.4.49", "", { "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA=="], - "@expo/package-manager/@expo/json-file": ["@expo/json-file@10.0.8", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ=="], + "@expo/package-manager/@expo/json-file": ["@expo/json-file@10.0.12", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "json5": "^2.2.3" } }, "sha512-inbDycp1rMAelAofg7h/mMzIe+Owx6F7pur3XdQ3EPTy00tme+4P6FWgHKUcjN8dBSrnbRNpSyh5/shzHyVCyQ=="], "@expo/package-manager/ora": ["ora@3.4.0", "", { "dependencies": { "chalk": "^2.4.2", "cli-cursor": "^2.1.0", "cli-spinners": "^2.0.0", "log-symbols": "^2.2.0", "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" } }, "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg=="], - "@expo/pkcs12/node-forge": ["node-forge@1.3.3", "", {}, "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg=="], - "@expo/plugin-help/@oclif/core": ["@oclif/core@2.16.0", "", { "dependencies": { "@types/cli-progress": "^3.11.0", "ansi-escapes": "^4.3.2", "ansi-styles": "^4.3.0", "cardinal": "^2.1.1", "chalk": "^4.1.2", "clean-stack": "^3.0.1", "cli-progress": "^3.12.0", "debug": "^4.3.4", "ejs": "^3.1.8", "get-package-type": "^0.1.0", "globby": "^11.1.0", "hyperlinker": "^1.0.0", "indent-string": "^4.0.0", "is-wsl": "^2.2.0", "js-yaml": "^3.14.1", "natural-orderby": "^2.0.3", "object-treeify": "^1.1.33", "password-prompt": "^1.1.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "supports-color": "^8.1.1", "supports-hyperlinks": "^2.2.0", "ts-node": "^10.9.1", "tslib": "^2.5.0", "widest-line": "^3.1.0", "wordwrap": "^1.0.0", "wrap-ansi": "^7.0.0" } }, "sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw=="], "@expo/plugin-warn-if-update-available/@oclif/core": ["@oclif/core@2.16.0", "", { "dependencies": { "@types/cli-progress": "^3.11.0", "ansi-escapes": "^4.3.2", "ansi-styles": "^4.3.0", "cardinal": "^2.1.1", "chalk": "^4.1.2", "clean-stack": "^3.0.1", "cli-progress": "^3.12.0", "debug": "^4.3.4", "ejs": "^3.1.8", "get-package-type": "^0.1.0", "globby": "^11.1.0", "hyperlinker": "^1.0.0", "indent-string": "^4.0.0", "is-wsl": "^2.2.0", "js-yaml": "^3.14.1", "natural-orderby": "^2.0.3", "object-treeify": "^1.1.33", "password-prompt": "^1.1.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "supports-color": "^8.1.1", "supports-hyperlinks": "^2.2.0", "ts-node": "^10.9.1", "tslib": "^2.5.0", "widest-line": "^3.1.0", "wordwrap": "^1.0.0", "wrap-ansi": "^7.0.0" } }, "sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw=="], @@ -3273,8 +3407,6 @@ "@expo/plugin-warn-if-update-available/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - "@expo/plugin-warn-if-update-available/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "@expo/prebuild-config/@expo/json-file": ["@expo/json-file@9.1.5", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA=="], "@expo/prebuild-config/@react-native/normalize-colors": ["@react-native/normalize-colors@0.76.2", "", {}, "sha512-ICoOpaTLPsFQjNLSM00NgQr6wal300cZZonHVSDXKntX+BfkLeuCHRtr/Mn+klTtW+/1v2/2FRm9dXjvyGf9Dw=="], @@ -3289,11 +3421,7 @@ "@expo/steps/joi": ["joi@17.13.3", "", { "dependencies": { "@hapi/hoek": "^9.3.0", "@hapi/topo": "^5.1.0", "@sideway/address": "^4.1.5", "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } }, "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA=="], - "@expo/steps/yaml": ["yaml@2.8.2", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A=="], - - "@expo/xcpretty/@babel/code-frame": ["@babel/code-frame@7.29.0", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw=="], - - "@expo/xcpretty/js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], + "@expo/xcpretty/@babel/code-frame": ["@babel/code-frame@7.23.5", "", { "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" } }, "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA=="], "@formatjs/ecma402-abstract/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], @@ -3307,7 +3435,7 @@ "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], - "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + "@isaacs/cliui/strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], @@ -3315,21 +3443,25 @@ "@istanbuljs/load-nyc-config/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], - "@jest/environment/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], - - "@jest/fake-timers/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + "@istanbuljs/load-nyc-config/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], "@jest/transform/write-file-atomic": ["write-file-atomic@4.0.2", "", { "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" } }, "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg=="], - "@jest/types/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + "@mrleebo/prisma-ast/lilconfig": ["lilconfig@2.1.0", "", {}, "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="], - "@oclif/core/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="], + "@oclif/core/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], "@oclif/core/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - "@oclif/core/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@prisma/dev/hono": ["hono@4.11.4", "", {}, "sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA=="], - "@oclif/plugin-autocomplete/@oclif/core": ["@oclif/core@2.16.0", "", { "dependencies": { "@types/cli-progress": "^3.11.0", "ansi-escapes": "^4.3.2", "ansi-styles": "^4.3.0", "cardinal": "^2.1.1", "chalk": "^4.1.2", "clean-stack": "^3.0.1", "cli-progress": "^3.12.0", "debug": "^4.3.4", "ejs": "^3.1.8", "get-package-type": "^0.1.0", "globby": "^11.1.0", "hyperlinker": "^1.0.0", "indent-string": "^4.0.0", "is-wsl": "^2.2.0", "js-yaml": "^3.14.1", "natural-orderby": "^2.0.3", "object-treeify": "^1.1.33", "password-prompt": "^1.1.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "supports-color": "^8.1.1", "supports-hyperlinks": "^2.2.0", "ts-node": "^10.9.1", "tslib": "^2.5.0", "widest-line": "^3.1.0", "wordwrap": "^1.0.0", "wrap-ansi": "^7.0.0" } }, "sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw=="], + "@prisma/dev/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "@prisma/engines/@prisma/get-platform": ["@prisma/get-platform@7.4.2", "", { "dependencies": { "@prisma/debug": "7.4.2" } }, "sha512-UTnChXRwiauzl/8wT4hhe7Xmixja9WE28oCnGpBtRejaHhvekx5kudr3R4Y9mLSA0kqGnAMeyTiKwDVMjaEVsw=="], + + "@prisma/fetch-engine/@prisma/get-platform": ["@prisma/get-platform@7.4.2", "", { "dependencies": { "@prisma/debug": "7.4.2" } }, "sha512-UTnChXRwiauzl/8wT4hhe7Xmixja9WE28oCnGpBtRejaHhvekx5kudr3R4Y9mLSA0kqGnAMeyTiKwDVMjaEVsw=="], + + "@prisma/get-platform/@prisma/debug": ["@prisma/debug@7.2.0", "", {}, "sha512-YSGTiSlBAVJPzX4ONZmMotL+ozJwQjRmZweQNIq/ER0tQJKJynNkRB3kyvt37eOfsbMCXk3gnLF6J9OJ4QWftw=="], "@radix-ui/react-collection/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], @@ -3337,7 +3469,7 @@ "@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], - "@react-native/community-cli-plugin/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "@react-native/community-cli-plugin/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "@react-native/dev-middleware/open": ["open@7.4.2", "", { "dependencies": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" } }, "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q=="], @@ -3353,6 +3485,8 @@ "@tailwindcss/node/jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], + "@tailwindcss/node/lightningcss": ["lightningcss@1.31.1", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.31.1", "lightningcss-darwin-arm64": "1.31.1", "lightningcss-darwin-x64": "1.31.1", "lightningcss-freebsd-x64": "1.31.1", "lightningcss-linux-arm-gnueabihf": "1.31.1", "lightningcss-linux-arm64-gnu": "1.31.1", "lightningcss-linux-arm64-musl": "1.31.1", "lightningcss-linux-x64-gnu": "1.31.1", "lightningcss-linux-x64-musl": "1.31.1", "lightningcss-win32-arm64-msvc": "1.31.1", "lightningcss-win32-x64-msvc": "1.31.1" } }, "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], @@ -3365,25 +3499,15 @@ "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "@tybys/wasm-util/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "@types/bunyan/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], - - "@types/cli-progress/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], - - "@types/graceful-fs/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], - - "@types/pg/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], - "@types/react-dom/@types/react": ["@types/react@19.2.14", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w=="], "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], - "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@typescript-eslint/typescript-estree/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], "@typescript-eslint/typescript-estree/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - "@urql/exchange-retry/@urql/core": ["@urql/core@5.2.0", "", { "dependencies": { "@0no-co/graphql.web": "^1.0.13", "wonka": "^6.3.2" } }, "sha512-/n0ieD0mvvDnVAXEQgX/7qJiVcvYvNkOHeBvkwtylfjydar123caCXcl58PXFY11oU1oquJocVXHxLAbtv4x1A=="], + "@typescript-eslint/visitor-keys/eslint-visitor-keys": ["eslint-visitor-keys@5.0.1", "", {}, "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA=="], "accepts/negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], @@ -3391,28 +3515,28 @@ "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - "aria-hidden/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "babel-plugin-polyfill-corejs2/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "basic-auth/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], + "better-call/set-cookie-parser": ["set-cookie-parser@3.0.1", "", {}, "sha512-n7Z7dXZhJbwuAHhNzkTti6Aw9QDDjZtm3JTpTGATIdNzdQz5GuFs22w90BcvF4INfnrL5xrX3oGsuqO5Dx3A1Q=="], + "body-parser/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "bun-types/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + "c12/dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], + + "c12/jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], + + "c12/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], "chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "chrome-launcher/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], - - "chromium-edge-launcher/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + "chevrotain/lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], "chromium-edge-launcher/mkdirp": ["mkdirp@1.0.4", "", { "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="], "chromium-edge-launcher/rimraf": ["rimraf@3.0.2", "", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="], - "compressible/mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="], - "compression/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], "connect/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], @@ -3427,11 +3551,9 @@ "error-ex/is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], - "eslint/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], + "eslint/ajv": ["ajv@6.14.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw=="], - "eslint/ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], - - "eslint/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + "eslint/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], "eslint-import-resolver-node/debug": ["debug@3.2.7", "", { "dependencies": { "ms": "^2.1.1" } }, "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="], @@ -3441,11 +3563,11 @@ "eslint-plugin-import/debug": ["debug@3.2.7", "", { "dependencies": { "ms": "^2.1.1" } }, "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="], - "eslint-plugin-import/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + "eslint-plugin-import/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], "eslint-plugin-import/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "eslint-plugin-react/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + "eslint-plugin-react/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], "eslint-plugin-react/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], @@ -3453,11 +3575,11 @@ "expo/@expo/config-plugins": ["@expo/config-plugins@54.0.4", "", { "dependencies": { "@expo/config-types": "^54.0.10", "@expo/json-file": "~10.0.8", "@expo/plist": "^0.4.8", "@expo/sdk-runtime-versions": "^1.0.0", "chalk": "^4.1.2", "debug": "^4.3.5", "getenv": "^2.0.0", "glob": "^13.0.0", "resolve-from": "^5.0.0", "semver": "^7.5.4", "slash": "^3.0.0", "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "sha512-g2yXGICdoOw5i3LkQSDxl2Q5AlQCrG7oniu0pCPPO+UxGb7He4AFqSvPSy8HpRUj55io17hT62FTjYRD+d6j3Q=="], - "expo-asset/@expo/image-utils": ["@expo/image-utils@0.8.8", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", "getenv": "^2.0.0", "jimp-compact": "0.16.1", "parse-png": "^2.1.0", "resolve-from": "^5.0.0", "resolve-global": "^1.0.0", "semver": "^7.6.0", "temp-dir": "~2.0.0", "unique-string": "~2.0.0" } }, "sha512-HHHaG4J4nKjTtVa1GG9PCh763xlETScfEyNxxOvfTRr8IKPJckjTyqSLEtdJoFNJ1vqiABEjW7tqGhqGibZLeA=="], + "expo-asset/@expo/image-utils": ["@expo/image-utils@0.8.12", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", "getenv": "^2.0.0", "jimp-compact": "0.16.1", "parse-png": "^2.1.0", "resolve-from": "^5.0.0", "semver": "^7.6.0" } }, "sha512-3KguH7kyKqq7pNwLb9j6BBdD/bjmNwXZG/HPWT6GWIXbwrvAJt2JNyYTP5agWJ8jbbuys1yuCzmkX+TU6rmI7A=="], "expo-constants/@expo/config": ["@expo/config@12.0.13", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "@expo/config-plugins": "~54.0.4", "@expo/config-types": "^54.0.10", "@expo/json-file": "^10.0.8", "deepmerge": "^4.3.1", "getenv": "^2.0.0", "glob": "^13.0.0", "require-from-string": "^2.0.2", "resolve-from": "^5.0.0", "resolve-workspace-root": "^2.0.0", "semver": "^7.6.0", "slugify": "^1.3.4", "sucrase": "~3.35.1" } }, "sha512-Cu52arBa4vSaupIWsF0h7F/Cg//N374nYb7HAxV0I4KceKA7x2UXpYaHOL7EEYYvp7tZdThBjvGpVmr8ScIvaQ=="], - "expo-constants/@expo/env": ["@expo/env@2.0.8", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-5VQD6GT8HIMRaSaB5JFtOXuvfDVU80YtZIuUT/GDhUF782usIXY13Tn3IdDz1Tm/lqA9qnRZQ1BF4t7LlvdJPA=="], + "expo-constants/@expo/env": ["@expo/env@2.0.11", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-xV+ps6YCW7XIPVUwFVCRN2nox09dnRwy8uIjwHWTODu0zFw4kp4omnVkl0OOjuu2XOe7tdgAHxikrkJt9xB/7Q=="], "expo-manifests/@expo/config": ["@expo/config@12.0.13", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "@expo/config-plugins": "~54.0.4", "@expo/config-types": "^54.0.10", "@expo/json-file": "^10.0.8", "deepmerge": "^4.3.1", "getenv": "^2.0.0", "glob": "^13.0.0", "require-from-string": "^2.0.2", "resolve-from": "^5.0.0", "resolve-workspace-root": "^2.0.0", "semver": "^7.6.0", "slugify": "^1.3.4", "sucrase": "~3.35.1" } }, "sha512-Cu52arBa4vSaupIWsF0h7F/Cg//N374nYb7HAxV0I4KceKA7x2UXpYaHOL7EEYYvp7tZdThBjvGpVmr8ScIvaQ=="], @@ -3487,12 +3609,12 @@ "framer-motion/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + "giget/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "glob/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], "globby/ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], - "graphql-tag/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "hoist-non-react-statics/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], "hosted-git-info/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], @@ -3501,26 +3623,14 @@ "intl-messageformat/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "is-bun-module/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "is-bun-module/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "jest-environment-node/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], - - "jest-haste-map/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], - "jest-message-util/@babel/code-frame": ["@babel/code-frame@7.29.0", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw=="], - "jest-mock/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], - - "jest-util/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], - "jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - "jest-worker/@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], - - "jks-js/node-forge": ["node-forge@1.3.3", "", {}, "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg=="], - "lighthouse-logger/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], "lru-cache/yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="], @@ -3533,25 +3643,45 @@ "metro/hermes-parser": ["hermes-parser@0.32.0", "", { "dependencies": { "hermes-estree": "0.32.0" } }, "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw=="], + "metro/metro-runtime": ["metro-runtime@0.83.3", "", { "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" } }, "sha512-JHCJb9ebr9rfJ+LcssFYA2x1qPYuSD/bbePupIGhpMrsla7RCwC/VL3yJ9cSU+nUhU4c9Ixxy8tBta+JbDeZWw=="], + + "metro/metro-source-map": ["metro-source-map@0.83.3", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-symbolicate": "0.83.3", "nullthrows": "^1.1.1", "ob1": "0.83.3", "source-map": "^0.5.6", "vlq": "^1.0.0" } }, "sha512-xkC3qwUBh2psVZgVavo8+r2C9Igkk3DibiOXSAht1aYRRcztEZNFtAMtfSB7sdO2iFMx2Mlyu++cBxz/fhdzQg=="], + "metro/ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], "metro-babel-transformer/hermes-parser": ["hermes-parser@0.32.0", "", { "dependencies": { "hermes-estree": "0.32.0" } }, "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw=="], "metro-cache/https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], + "metro-config/metro-runtime": ["metro-runtime@0.83.3", "", { "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" } }, "sha512-JHCJb9ebr9rfJ+LcssFYA2x1qPYuSD/bbePupIGhpMrsla7RCwC/VL3yJ9cSU+nUhU4c9Ixxy8tBta+JbDeZWw=="], + "metro-config/yaml": ["yaml@2.8.2", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A=="], + "metro-source-map/metro-symbolicate": ["metro-symbolicate@0.83.5", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-source-map": "0.83.5", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "bin": { "metro-symbolicate": "src/index.js" } }, "sha512-EMIkrjNRz/hF+p0RDdxoE60+dkaTLPN3vaaGkFmX5lvFdO6HPfHA/Ywznzkev+za0VhPQ5KSdz49/MALBRteHA=="], + + "metro-symbolicate/metro-source-map": ["metro-source-map@0.83.3", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-symbolicate": "0.83.3", "nullthrows": "^1.1.1", "ob1": "0.83.3", "source-map": "^0.5.6", "vlq": "^1.0.0" } }, "sha512-xkC3qwUBh2psVZgVavo8+r2C9Igkk3DibiOXSAht1aYRRcztEZNFtAMtfSB7sdO2iFMx2Mlyu++cBxz/fhdzQg=="], + + "metro-transform-worker/metro-source-map": ["metro-source-map@0.83.3", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-symbolicate": "0.83.3", "nullthrows": "^1.1.1", "ob1": "0.83.3", "source-map": "^0.5.6", "vlq": "^1.0.0" } }, "sha512-xkC3qwUBh2psVZgVavo8+r2C9Igkk3DibiOXSAht1aYRRcztEZNFtAMtfSB7sdO2iFMx2Mlyu++cBxz/fhdzQg=="], + "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "mongodb-connection-string-url/whatwg-url": ["whatwg-url@14.2.0", "", { "dependencies": { "tr46": "^5.1.0", "webidl-conversions": "^7.0.0" } }, "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw=="], + "morgan/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], "morgan/on-finished": ["on-finished@2.3.0", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww=="], - "motion/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "mv/rimraf": ["rimraf@2.4.5", "", { "dependencies": { "glob": "^6.0.1" }, "bin": { "rimraf": "./bin.js" } }, "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ=="], - "npm-package-arg/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "mysql2/iconv-lite": ["iconv-lite@0.7.2", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw=="], + + "node-exports-info/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "npm-package-arg/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], + + "nypm/citty": ["citty@0.2.1", "", {}, "sha512-kEV95lFBhQgtogAPlQfJJ0WGVSokvLr/UEoFPiKKOXF7pl98HfUVUD0ejsuTCld/9xH9vogSywZ5KqHzXrZpqg=="], + + "nypm/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], @@ -3583,7 +3713,7 @@ "react-devtools-core/ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], - "react-native/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "react-native/semver": ["semver@7.6.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A=="], "react-native-reanimated/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], @@ -3593,12 +3723,6 @@ "react-native-worklets/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], - "react-remove-scroll/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "react-remove-scroll-bar/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "react-style-singleton/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "regjsparser/jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], "requireg/resolve": ["resolve@1.7.1", "", { "dependencies": { "path-parse": "^1.0.5" } }, "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw=="], @@ -3627,7 +3751,7 @@ "terser/commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], - "test-exclude/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + "test-exclude/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], "ts-node/arg": ["arg@4.1.3", "", {}, "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="], @@ -3637,10 +3761,6 @@ "twrnc/tailwindcss": ["tailwindcss@3.4.19", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.7", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ=="], - "use-callback-ref/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "use-sidecar/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "vite-node/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], "waitlist-website/@types/react": ["@types/react@19.2.14", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w=="], @@ -3667,8 +3787,6 @@ "@eslint/eslintrc/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], - "@eslint/eslintrc/js-yaml/argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - "@eslint/eslintrc/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], "@expo/cli/@expo/config/@expo/config-types": ["@expo/config-types@54.0.10", "", {}, "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA=="], @@ -3679,15 +3797,17 @@ "@expo/cli/@expo/env/dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], + "@expo/cli/@expo/json-file/@babel/code-frame": ["@babel/code-frame@7.23.5", "", { "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" } }, "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA=="], + "@expo/cli/@expo/plist/@xmldom/xmldom": ["@xmldom/xmldom@0.8.11", "", {}, "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw=="], "@expo/cli/@expo/plist/xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="], "@expo/cli/@expo/prebuild-config/@expo/config-types": ["@expo/config-types@54.0.10", "", {}, "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA=="], - "@expo/cli/glob/minimatch": ["minimatch@10.2.0", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w=="], + "@expo/cli/glob/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], - "@expo/cli/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "@expo/cli/glob/path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="], "@expo/cli/ora/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], @@ -3697,36 +3817,40 @@ "@expo/cli/ora/strip-ansi": ["strip-ansi@5.2.0", "", { "dependencies": { "ansi-regex": "^4.1.0" } }, "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="], - "@expo/config-plugins/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@expo/config-plugins/glob/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], - "@expo/config/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@expo/config/glob/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], "@expo/eas-json/@babel/code-frame/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], - "@expo/fingerprint/glob/minimatch": ["minimatch@10.2.0", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w=="], + "@expo/fingerprint/glob/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], - "@expo/fingerprint/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "@expo/fingerprint/glob/path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="], "@expo/image-utils/fs-extra/universalify": ["universalify@1.0.0", "", {}, "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="], + "@expo/metro-config/@babel/code-frame/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + "@expo/metro-config/@expo/config/@babel/code-frame": ["@babel/code-frame@7.10.4", "", { "dependencies": { "@babel/highlight": "^7.10.4" } }, "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg=="], "@expo/metro-config/@expo/config/@expo/config-plugins": ["@expo/config-plugins@54.0.4", "", { "dependencies": { "@expo/config-types": "^54.0.10", "@expo/json-file": "~10.0.8", "@expo/plist": "^0.4.8", "@expo/sdk-runtime-versions": "^1.0.0", "chalk": "^4.1.2", "debug": "^4.3.5", "getenv": "^2.0.0", "glob": "^13.0.0", "resolve-from": "^5.0.0", "semver": "^7.5.4", "slash": "^3.0.0", "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "sha512-g2yXGICdoOw5i3LkQSDxl2Q5AlQCrG7oniu0pCPPO+UxGb7He4AFqSvPSy8HpRUj55io17hT62FTjYRD+d6j3Q=="], "@expo/metro-config/@expo/config/@expo/config-types": ["@expo/config-types@54.0.10", "", {}, "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA=="], - "@expo/metro-config/@expo/config/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "@expo/metro-config/@expo/config/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "@expo/metro-config/@expo/config/sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], - "@expo/metro-config/@expo/json-file/@babel/code-frame": ["@babel/code-frame@7.10.4", "", { "dependencies": { "@babel/highlight": "^7.10.4" } }, "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg=="], + "@expo/metro-config/glob/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], - "@expo/metro-config/glob/minimatch": ["minimatch@10.2.0", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w=="], - - "@expo/metro-config/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "@expo/metro-config/glob/path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="], "@expo/metro-config/postcss/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + "@expo/metro/metro-source-map/ob1": ["ob1@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-egUxXCDwoWG06NGCS5s5AdcpnumHKJlfd3HH06P3m9TEMwwScfcY35wpQxbm9oHof+dM/lVH9Rfyu1elTVelSA=="], + + "@expo/package-manager/@expo/json-file/@babel/code-frame": ["@babel/code-frame@7.23.5", "", { "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" } }, "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA=="], + "@expo/package-manager/ora/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], "@expo/package-manager/ora/cli-cursor": ["cli-cursor@2.1.0", "", { "dependencies": { "restore-cursor": "^2.0.0" } }, "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw=="], @@ -3735,9 +3859,11 @@ "@expo/package-manager/ora/strip-ansi": ["strip-ansi@5.2.0", "", { "dependencies": { "ansi-regex": "^4.1.0" } }, "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="], - "@expo/plugin-help/@oclif/core/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@expo/plugin-help/@oclif/core/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], - "@expo/xcpretty/js-yaml/argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + "@expo/plugin-warn-if-update-available/@oclif/core/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], + + "@expo/xcpretty/@babel/code-frame/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], @@ -3747,30 +3873,44 @@ "@istanbuljs/load-nyc-config/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], - "@jest/environment/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "@istanbuljs/load-nyc-config/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], - "@jest/fake-timers/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "@oclif/core/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], - "@jest/types/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "@tailwindcss/node/lightningcss/lightningcss-android-arm64": ["lightningcss-android-arm64@1.31.1", "", { "os": "android", "cpu": "arm64" }, "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg=="], - "@oclif/plugin-autocomplete/@oclif/core/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@tailwindcss/node/lightningcss/lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.31.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg=="], - "@types/bunyan/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "@tailwindcss/node/lightningcss/lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.31.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA=="], - "@types/cli-progress/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "@tailwindcss/node/lightningcss/lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.31.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A=="], - "@types/graceful-fs/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "@tailwindcss/node/lightningcss/lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.31.1", "", { "os": "linux", "cpu": "arm" }, "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g=="], - "@types/pg/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "@tailwindcss/node/lightningcss/lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.31.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg=="], + + "@tailwindcss/node/lightningcss/lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.31.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg=="], + + "@tailwindcss/node/lightningcss/lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.31.1", "", { "os": "linux", "cpu": "x64" }, "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA=="], + + "@tailwindcss/node/lightningcss/lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.31.1", "", { "os": "linux", "cpu": "x64" }, "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA=="], + + "@tailwindcss/node/lightningcss/lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.31.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w=="], + + "@tailwindcss/node/lightningcss/lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.31.1", "", { "os": "win32", "cpu": "x64" }, "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core/tslib": ["tslib@2.6.2", "", {}, "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime/tslib": ["tslib@2.6.2", "", {}, "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads/tslib": ["tslib@2.6.2", "", {}, "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="], + + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util/tslib": ["tslib@2.6.2", "", {}, "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="], + + "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], "body-parser/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "bun-types/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], - - "chrome-launcher/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], - - "chromium-edge-launcher/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], - "compression/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], "connect/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], @@ -3791,19 +3931,19 @@ "expo-asset/@expo/image-utils/getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="], - "expo-asset/@expo/image-utils/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "expo-asset/@expo/image-utils/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "expo-constants/@expo/config/@expo/config-plugins": ["@expo/config-plugins@54.0.4", "", { "dependencies": { "@expo/config-types": "^54.0.10", "@expo/json-file": "~10.0.8", "@expo/plist": "^0.4.8", "@expo/sdk-runtime-versions": "^1.0.0", "chalk": "^4.1.2", "debug": "^4.3.5", "getenv": "^2.0.0", "glob": "^13.0.0", "resolve-from": "^5.0.0", "semver": "^7.5.4", "slash": "^3.0.0", "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "sha512-g2yXGICdoOw5i3LkQSDxl2Q5AlQCrG7oniu0pCPPO+UxGb7He4AFqSvPSy8HpRUj55io17hT62FTjYRD+d6j3Q=="], "expo-constants/@expo/config/@expo/config-types": ["@expo/config-types@54.0.10", "", {}, "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA=="], - "expo-constants/@expo/config/@expo/json-file": ["@expo/json-file@10.0.8", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ=="], + "expo-constants/@expo/config/@expo/json-file": ["@expo/json-file@10.0.12", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "json5": "^2.2.3" } }, "sha512-inbDycp1rMAelAofg7h/mMzIe+Owx6F7pur3XdQ3EPTy00tme+4P6FWgHKUcjN8dBSrnbRNpSyh5/shzHyVCyQ=="], "expo-constants/@expo/config/getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="], - "expo-constants/@expo/config/glob": ["glob@13.0.3", "", { "dependencies": { "minimatch": "^10.2.0", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA=="], + "expo-constants/@expo/config/glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="], - "expo-constants/@expo/config/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "expo-constants/@expo/config/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "expo-constants/@expo/config/sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], @@ -3815,13 +3955,13 @@ "expo-manifests/@expo/config/@expo/config-types": ["@expo/config-types@54.0.10", "", {}, "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA=="], - "expo-manifests/@expo/config/@expo/json-file": ["@expo/json-file@10.0.8", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ=="], + "expo-manifests/@expo/config/@expo/json-file": ["@expo/json-file@10.0.12", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "json5": "^2.2.3" } }, "sha512-inbDycp1rMAelAofg7h/mMzIe+Owx6F7pur3XdQ3EPTy00tme+4P6FWgHKUcjN8dBSrnbRNpSyh5/shzHyVCyQ=="], "expo-manifests/@expo/config/getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="], - "expo-manifests/@expo/config/glob": ["glob@13.0.3", "", { "dependencies": { "minimatch": "^10.2.0", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA=="], + "expo-manifests/@expo/config/glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="], - "expo-manifests/@expo/config/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "expo-manifests/@expo/config/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "expo-manifests/@expo/config/sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], @@ -3831,35 +3971,35 @@ "expo-splash-screen/@expo/prebuild-config/@expo/config-types": ["@expo/config-types@54.0.10", "", {}, "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA=="], - "expo-splash-screen/@expo/prebuild-config/@expo/image-utils": ["@expo/image-utils@0.8.8", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", "getenv": "^2.0.0", "jimp-compact": "0.16.1", "parse-png": "^2.1.0", "resolve-from": "^5.0.0", "resolve-global": "^1.0.0", "semver": "^7.6.0", "temp-dir": "~2.0.0", "unique-string": "~2.0.0" } }, "sha512-HHHaG4J4nKjTtVa1GG9PCh763xlETScfEyNxxOvfTRr8IKPJckjTyqSLEtdJoFNJ1vqiABEjW7tqGhqGibZLeA=="], + "expo-splash-screen/@expo/prebuild-config/@expo/image-utils": ["@expo/image-utils@0.8.12", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", "getenv": "^2.0.0", "jimp-compact": "0.16.1", "parse-png": "^2.1.0", "resolve-from": "^5.0.0", "semver": "^7.6.0" } }, "sha512-3KguH7kyKqq7pNwLb9j6BBdD/bjmNwXZG/HPWT6GWIXbwrvAJt2JNyYTP5agWJ8jbbuys1yuCzmkX+TU6rmI7A=="], - "expo-splash-screen/@expo/prebuild-config/@expo/json-file": ["@expo/json-file@10.0.8", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ=="], + "expo-splash-screen/@expo/prebuild-config/@expo/json-file": ["@expo/json-file@10.0.12", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "json5": "^2.2.3" } }, "sha512-inbDycp1rMAelAofg7h/mMzIe+Owx6F7pur3XdQ3EPTy00tme+4P6FWgHKUcjN8dBSrnbRNpSyh5/shzHyVCyQ=="], - "expo-splash-screen/@expo/prebuild-config/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "expo-splash-screen/@expo/prebuild-config/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "expo/@expo/config/@expo/config-types": ["@expo/config-types@54.0.10", "", {}, "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA=="], - "expo/@expo/config/@expo/json-file": ["@expo/json-file@10.0.8", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ=="], + "expo/@expo/config/@expo/json-file": ["@expo/json-file@10.0.12", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "json5": "^2.2.3" } }, "sha512-inbDycp1rMAelAofg7h/mMzIe+Owx6F7pur3XdQ3EPTy00tme+4P6FWgHKUcjN8dBSrnbRNpSyh5/shzHyVCyQ=="], "expo/@expo/config/getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="], - "expo/@expo/config/glob": ["glob@13.0.3", "", { "dependencies": { "minimatch": "^10.2.0", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA=="], + "expo/@expo/config/glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="], - "expo/@expo/config/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "expo/@expo/config/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "expo/@expo/config/sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], "expo/@expo/config-plugins/@expo/config-types": ["@expo/config-types@54.0.10", "", {}, "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA=="], - "expo/@expo/config-plugins/@expo/json-file": ["@expo/json-file@10.0.8", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ=="], + "expo/@expo/config-plugins/@expo/json-file": ["@expo/json-file@10.0.12", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "json5": "^2.2.3" } }, "sha512-inbDycp1rMAelAofg7h/mMzIe+Owx6F7pur3XdQ3EPTy00tme+4P6FWgHKUcjN8dBSrnbRNpSyh5/shzHyVCyQ=="], "expo/@expo/config-plugins/@expo/plist": ["@expo/plist@0.4.8", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.2.3", "xmlbuilder": "^15.1.1" } }, "sha512-pfNtErGGzzRwHP+5+RqswzPDKkZrx+Cli0mzjQaus1ZWFsog5ibL+nVT3NcporW51o8ggnt7x813vtRbPiyOrQ=="], "expo/@expo/config-plugins/getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="], - "expo/@expo/config-plugins/glob": ["glob@13.0.3", "", { "dependencies": { "minimatch": "^10.2.0", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA=="], + "expo/@expo/config-plugins/glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="], - "expo/@expo/config-plugins/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "expo/@expo/config-plugins/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "express/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], @@ -3869,35 +4009,35 @@ "glob/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], - "jest-environment-node/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], - - "jest-haste-map/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], - - "jest-mock/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], - - "jest-util/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], - - "jest-worker/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], - "lighthouse-logger/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], "metro-babel-transformer/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], "metro-cache/https-proxy-agent/agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], + "metro-symbolicate/metro-source-map/ob1": ["ob1@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-egUxXCDwoWG06NGCS5s5AdcpnumHKJlfd3HH06P3m9TEMwwScfcY35wpQxbm9oHof+dM/lVH9Rfyu1elTVelSA=="], + + "metro-transform-worker/metro-source-map/ob1": ["ob1@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-egUxXCDwoWG06NGCS5s5AdcpnumHKJlfd3HH06P3m9TEMwwScfcY35wpQxbm9oHof+dM/lVH9Rfyu1elTVelSA=="], + "metro/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], + "metro/metro-source-map/ob1": ["ob1@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-egUxXCDwoWG06NGCS5s5AdcpnumHKJlfd3HH06P3m9TEMwwScfcY35wpQxbm9oHof+dM/lVH9Rfyu1elTVelSA=="], + + "mongodb-connection-string-url/whatwg-url/tr46": ["tr46@5.1.1", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw=="], + + "mongodb-connection-string-url/whatwg-url/webidl-conversions": ["webidl-conversions@7.0.0", "", {}, "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="], + "morgan/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], "mv/rimraf/glob": ["glob@6.0.4", "", { "dependencies": { "inflight": "^1.0.4", "inherits": "2", "minimatch": "2 || 3", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A=="], "pkg-dir/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], - "rimraf/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "rimraf/glob/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], "send/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "sucrase/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "sucrase/glob/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], "test-exclude/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], @@ -3917,7 +4057,9 @@ "@expo/cli/@expo/config/sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], - "@expo/cli/glob/minimatch/brace-expansion": ["brace-expansion@5.0.2", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw=="], + "@expo/cli/@expo/json-file/@babel/code-frame/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + + "@expo/cli/glob/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], "@expo/cli/glob/path-scurry/lru-cache": ["lru-cache@11.2.6", "", {}, "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ=="], @@ -3937,18 +4079,26 @@ "@expo/eas-json/@babel/code-frame/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], - "@expo/fingerprint/glob/minimatch/brace-expansion": ["brace-expansion@5.0.2", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw=="], + "@expo/fingerprint/glob/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], "@expo/fingerprint/glob/path-scurry/lru-cache": ["lru-cache@11.2.6", "", {}, "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ=="], + "@expo/metro-config/@babel/code-frame/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], + + "@expo/metro-config/@babel/code-frame/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], + + "@expo/metro-config/@babel/code-frame/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], + "@expo/metro-config/@expo/config/@expo/config-plugins/@expo/plist": ["@expo/plist@0.4.8", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.2.3", "xmlbuilder": "^15.1.1" } }, "sha512-pfNtErGGzzRwHP+5+RqswzPDKkZrx+Cli0mzjQaus1ZWFsog5ibL+nVT3NcporW51o8ggnt7x813vtRbPiyOrQ=="], "@expo/metro-config/@expo/config/sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], - "@expo/metro-config/glob/minimatch/brace-expansion": ["brace-expansion@5.0.2", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw=="], + "@expo/metro-config/glob/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], "@expo/metro-config/glob/path-scurry/lru-cache": ["lru-cache@11.2.6", "", {}, "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ=="], + "@expo/package-manager/@expo/json-file/@babel/code-frame/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + "@expo/package-manager/ora/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], "@expo/package-manager/ora/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], @@ -3959,27 +4109,45 @@ "@expo/package-manager/ora/strip-ansi/ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="], + "@expo/plugin-help/@oclif/core/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + + "@expo/plugin-warn-if-update-available/@oclif/core/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + + "@expo/xcpretty/@babel/code-frame/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], + + "@expo/xcpretty/@babel/code-frame/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], + + "@expo/xcpretty/@babel/code-frame/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], + "@istanbuljs/load-nyc-config/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], + "@oclif/core/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], + + "@typescript-eslint/typescript-estree/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], + "expo-constants/@expo/config/@expo/config-plugins/@expo/plist": ["@expo/plist@0.4.8", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.2.3", "xmlbuilder": "^15.1.1" } }, "sha512-pfNtErGGzzRwHP+5+RqswzPDKkZrx+Cli0mzjQaus1ZWFsog5ibL+nVT3NcporW51o8ggnt7x813vtRbPiyOrQ=="], - "expo-constants/@expo/config/glob/minimatch": ["minimatch@10.2.0", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w=="], + "expo-constants/@expo/config/@expo/json-file/@babel/code-frame": ["@babel/code-frame@7.23.5", "", { "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" } }, "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA=="], - "expo-constants/@expo/config/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "expo-constants/@expo/config/glob/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], + + "expo-constants/@expo/config/glob/path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="], "expo-constants/@expo/config/sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], "expo-manifests/@expo/config/@expo/config-plugins/@expo/plist": ["@expo/plist@0.4.8", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.2.3", "xmlbuilder": "^15.1.1" } }, "sha512-pfNtErGGzzRwHP+5+RqswzPDKkZrx+Cli0mzjQaus1ZWFsog5ibL+nVT3NcporW51o8ggnt7x813vtRbPiyOrQ=="], - "expo-manifests/@expo/config/glob/minimatch": ["minimatch@10.2.0", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w=="], + "expo-manifests/@expo/config/@expo/json-file/@babel/code-frame": ["@babel/code-frame@7.23.5", "", { "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" } }, "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA=="], - "expo-manifests/@expo/config/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "expo-manifests/@expo/config/glob/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], + + "expo-manifests/@expo/config/glob/path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="], "expo-manifests/@expo/config/sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], "expo-splash-screen/@expo/prebuild-config/@expo/config/getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config/glob": ["glob@13.0.3", "", { "dependencies": { "minimatch": "^10.2.0", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA=="], + "expo-splash-screen/@expo/prebuild-config/@expo/config/glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="], "expo-splash-screen/@expo/prebuild-config/@expo/config/sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], @@ -3987,25 +4155,31 @@ "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob": ["glob@13.0.3", "", { "dependencies": { "minimatch": "^10.2.0", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA=="], + "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="], "expo-splash-screen/@expo/prebuild-config/@expo/image-utils/getenv": ["getenv@2.0.0", "", {}, "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ=="], + "expo-splash-screen/@expo/prebuild-config/@expo/json-file/@babel/code-frame": ["@babel/code-frame@7.23.5", "", { "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" } }, "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA=="], + + "expo/@expo/config-plugins/@expo/json-file/@babel/code-frame": ["@babel/code-frame@7.23.5", "", { "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" } }, "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA=="], + "expo/@expo/config-plugins/@expo/plist/@xmldom/xmldom": ["@xmldom/xmldom@0.8.11", "", {}, "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw=="], "expo/@expo/config-plugins/@expo/plist/xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="], - "expo/@expo/config-plugins/glob/minimatch": ["minimatch@10.2.0", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w=="], + "expo/@expo/config-plugins/glob/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], - "expo/@expo/config-plugins/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "expo/@expo/config-plugins/glob/path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="], - "expo/@expo/config/glob/minimatch": ["minimatch@10.2.0", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w=="], + "expo/@expo/config/@expo/json-file/@babel/code-frame": ["@babel/code-frame@7.23.5", "", { "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" } }, "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA=="], - "expo/@expo/config/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "expo/@expo/config/glob/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], + + "expo/@expo/config/glob/path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="], "expo/@expo/config/sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], - "mv/rimraf/glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + "mv/rimraf/glob/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], "pkg-dir/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], @@ -4019,7 +4193,13 @@ "@babel/highlight/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], - "@expo/cli/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.2", "", { "dependencies": { "jackspeak": "^4.2.3" } }, "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg=="], + "@expo/cli/@expo/json-file/@babel/code-frame/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], + + "@expo/cli/@expo/json-file/@babel/code-frame/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], + + "@expo/cli/@expo/json-file/@babel/code-frame/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], + + "@expo/cli/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], "@expo/cli/ora/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], @@ -4031,13 +4211,23 @@ "@expo/eas-json/@babel/code-frame/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], - "@expo/fingerprint/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.2", "", { "dependencies": { "jackspeak": "^4.2.3" } }, "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg=="], + "@expo/fingerprint/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], + + "@expo/metro-config/@babel/code-frame/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + + "@expo/metro-config/@babel/code-frame/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], "@expo/metro-config/@expo/config/@expo/config-plugins/@expo/plist/@xmldom/xmldom": ["@xmldom/xmldom@0.8.11", "", {}, "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw=="], "@expo/metro-config/@expo/config/@expo/config-plugins/@expo/plist/xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="], - "@expo/metro-config/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.2", "", { "dependencies": { "jackspeak": "^4.2.3" } }, "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg=="], + "@expo/metro-config/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], + + "@expo/package-manager/@expo/json-file/@babel/code-frame/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], + + "@expo/package-manager/@expo/json-file/@babel/code-frame/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], + + "@expo/package-manager/@expo/json-file/@babel/code-frame/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], "@expo/package-manager/ora/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], @@ -4045,13 +4235,19 @@ "@expo/package-manager/ora/cli-cursor/restore-cursor/onetime": ["onetime@2.0.1", "", { "dependencies": { "mimic-fn": "^1.0.0" } }, "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ=="], + "@expo/xcpretty/@babel/code-frame/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + + "@expo/xcpretty/@babel/code-frame/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], + "@istanbuljs/load-nyc-config/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], "expo-constants/@expo/config/@expo/config-plugins/@expo/plist/@xmldom/xmldom": ["@xmldom/xmldom@0.8.11", "", {}, "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw=="], "expo-constants/@expo/config/@expo/config-plugins/@expo/plist/xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="], - "expo-constants/@expo/config/glob/minimatch/brace-expansion": ["brace-expansion@5.0.2", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw=="], + "expo-constants/@expo/config/@expo/json-file/@babel/code-frame/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + + "expo-constants/@expo/config/glob/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], "expo-constants/@expo/config/glob/path-scurry/lru-cache": ["lru-cache@11.2.6", "", {}, "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ=="], @@ -4059,7 +4255,9 @@ "expo-manifests/@expo/config/@expo/config-plugins/@expo/plist/xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="], - "expo-manifests/@expo/config/glob/minimatch/brace-expansion": ["brace-expansion@5.0.2", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw=="], + "expo-manifests/@expo/config/@expo/json-file/@babel/code-frame/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + + "expo-manifests/@expo/config/glob/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], "expo-manifests/@expo/config/glob/path-scurry/lru-cache": ["lru-cache@11.2.6", "", {}, "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ=="], @@ -4067,21 +4265,27 @@ "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/@expo/plist/xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob/minimatch": ["minimatch@10.2.0", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w=="], + "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob/path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config/glob/minimatch": ["minimatch@10.2.0", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w=="], + "expo-splash-screen/@expo/prebuild-config/@expo/config/glob/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "expo-splash-screen/@expo/prebuild-config/@expo/config/glob/path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="], "expo-splash-screen/@expo/prebuild-config/@expo/config/sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], - "expo/@expo/config-plugins/glob/minimatch/brace-expansion": ["brace-expansion@5.0.2", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw=="], + "expo-splash-screen/@expo/prebuild-config/@expo/json-file/@babel/code-frame/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + + "expo/@expo/config-plugins/@expo/json-file/@babel/code-frame/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + + "expo/@expo/config-plugins/glob/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], "expo/@expo/config-plugins/glob/path-scurry/lru-cache": ["lru-cache@11.2.6", "", {}, "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ=="], - "expo/@expo/config/glob/minimatch/brace-expansion": ["brace-expansion@5.0.2", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw=="], + "expo/@expo/config/@expo/json-file/@babel/code-frame/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + + "expo/@expo/config/glob/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], "expo/@expo/config/glob/path-scurry/lru-cache": ["lru-cache@11.2.6", "", {}, "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ=="], @@ -4091,7 +4295,9 @@ "twrnc/tailwindcss/chokidar/readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - "@expo/cli/glob/minimatch/brace-expansion/balanced-match/jackspeak": ["jackspeak@4.2.3", "", { "dependencies": { "@isaacs/cliui": "^9.0.0" } }, "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg=="], + "@expo/cli/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + + "@expo/cli/@expo/json-file/@babel/code-frame/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], "@expo/cli/ora/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], @@ -4099,62 +4305,100 @@ "@expo/eas-json/@babel/code-frame/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], - "@expo/fingerprint/glob/minimatch/brace-expansion/balanced-match/jackspeak": ["jackspeak@4.2.3", "", { "dependencies": { "@isaacs/cliui": "^9.0.0" } }, "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg=="], + "@expo/metro-config/@babel/code-frame/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], - "@expo/metro-config/glob/minimatch/brace-expansion/balanced-match/jackspeak": ["jackspeak@4.2.3", "", { "dependencies": { "@isaacs/cliui": "^9.0.0" } }, "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg=="], + "@expo/package-manager/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + + "@expo/package-manager/@expo/json-file/@babel/code-frame/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], "@expo/package-manager/ora/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], "@expo/package-manager/ora/cli-cursor/restore-cursor/onetime/mimic-fn": ["mimic-fn@1.2.0", "", {}, "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="], - "expo-constants/@expo/config/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.2", "", { "dependencies": { "jackspeak": "^4.2.3" } }, "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg=="], + "@expo/xcpretty/@babel/code-frame/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], - "expo-manifests/@expo/config/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.2", "", { "dependencies": { "jackspeak": "^4.2.3" } }, "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg=="], + "expo-constants/@expo/config/@expo/json-file/@babel/code-frame/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob/minimatch/brace-expansion": ["brace-expansion@5.0.2", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw=="], + "expo-constants/@expo/config/@expo/json-file/@babel/code-frame/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], + + "expo-constants/@expo/config/@expo/json-file/@babel/code-frame/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], + + "expo-constants/@expo/config/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], + + "expo-manifests/@expo/config/@expo/json-file/@babel/code-frame/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], + + "expo-manifests/@expo/config/@expo/json-file/@babel/code-frame/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], + + "expo-manifests/@expo/config/@expo/json-file/@babel/code-frame/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], + + "expo-manifests/@expo/config/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], + + "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob/path-scurry/lru-cache": ["lru-cache@11.2.6", "", {}, "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config/glob/minimatch/brace-expansion": ["brace-expansion@5.0.2", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw=="], + "expo-splash-screen/@expo/prebuild-config/@expo/config/glob/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], "expo-splash-screen/@expo/prebuild-config/@expo/config/glob/path-scurry/lru-cache": ["lru-cache@11.2.6", "", {}, "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ=="], - "expo/@expo/config-plugins/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.2", "", { "dependencies": { "jackspeak": "^4.2.3" } }, "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg=="], + "expo-splash-screen/@expo/prebuild-config/@expo/json-file/@babel/code-frame/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], - "expo/@expo/config/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.2", "", { "dependencies": { "jackspeak": "^4.2.3" } }, "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg=="], + "expo-splash-screen/@expo/prebuild-config/@expo/json-file/@babel/code-frame/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], - "@expo/cli/glob/minimatch/brace-expansion/balanced-match/jackspeak/@isaacs/cliui": ["@isaacs/cliui@9.0.0", "", {}, "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg=="], + "expo-splash-screen/@expo/prebuild-config/@expo/json-file/@babel/code-frame/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], - "@expo/fingerprint/glob/minimatch/brace-expansion/balanced-match/jackspeak/@isaacs/cliui": ["@isaacs/cliui@9.0.0", "", {}, "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg=="], + "expo/@expo/config-plugins/@expo/json-file/@babel/code-frame/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], - "@expo/metro-config/glob/minimatch/brace-expansion/balanced-match/jackspeak/@isaacs/cliui": ["@isaacs/cliui@9.0.0", "", {}, "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg=="], + "expo/@expo/config-plugins/@expo/json-file/@babel/code-frame/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], - "expo-constants/@expo/config/glob/minimatch/brace-expansion/balanced-match/jackspeak": ["jackspeak@4.2.3", "", { "dependencies": { "@isaacs/cliui": "^9.0.0" } }, "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg=="], + "expo/@expo/config-plugins/@expo/json-file/@babel/code-frame/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], - "expo-manifests/@expo/config/glob/minimatch/brace-expansion/balanced-match/jackspeak": ["jackspeak@4.2.3", "", { "dependencies": { "@isaacs/cliui": "^9.0.0" } }, "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg=="], + "expo/@expo/config-plugins/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.2", "", { "dependencies": { "jackspeak": "^4.2.3" } }, "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg=="], + "expo/@expo/config/@expo/json-file/@babel/code-frame/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.2", "", { "dependencies": { "jackspeak": "^4.2.3" } }, "sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg=="], + "expo/@expo/config/@expo/json-file/@babel/code-frame/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], - "expo/@expo/config-plugins/glob/minimatch/brace-expansion/balanced-match/jackspeak": ["jackspeak@4.2.3", "", { "dependencies": { "@isaacs/cliui": "^9.0.0" } }, "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg=="], + "expo/@expo/config/@expo/json-file/@babel/code-frame/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], - "expo/@expo/config/glob/minimatch/brace-expansion/balanced-match/jackspeak": ["jackspeak@4.2.3", "", { "dependencies": { "@isaacs/cliui": "^9.0.0" } }, "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg=="], + "expo/@expo/config/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], - "expo-constants/@expo/config/glob/minimatch/brace-expansion/balanced-match/jackspeak/@isaacs/cliui": ["@isaacs/cliui@9.0.0", "", {}, "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg=="], + "@expo/cli/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], - "expo-manifests/@expo/config/glob/minimatch/brace-expansion/balanced-match/jackspeak/@isaacs/cliui": ["@isaacs/cliui@9.0.0", "", {}, "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg=="], + "@expo/package-manager/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob/minimatch/brace-expansion/balanced-match/jackspeak": ["jackspeak@4.2.3", "", { "dependencies": { "@isaacs/cliui": "^9.0.0" } }, "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg=="], + "expo-constants/@expo/config/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config/glob/minimatch/brace-expansion/balanced-match/jackspeak": ["jackspeak@4.2.3", "", { "dependencies": { "@isaacs/cliui": "^9.0.0" } }, "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg=="], + "expo-constants/@expo/config/@expo/json-file/@babel/code-frame/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], - "expo/@expo/config-plugins/glob/minimatch/brace-expansion/balanced-match/jackspeak/@isaacs/cliui": ["@isaacs/cliui@9.0.0", "", {}, "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg=="], + "expo-manifests/@expo/config/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], - "expo/@expo/config/glob/minimatch/brace-expansion/balanced-match/jackspeak/@isaacs/cliui": ["@isaacs/cliui@9.0.0", "", {}, "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg=="], + "expo-manifests/@expo/config/@expo/json-file/@babel/code-frame/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob/minimatch/brace-expansion/balanced-match/jackspeak/@isaacs/cliui": ["@isaacs/cliui@9.0.0", "", {}, "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg=="], + "expo-splash-screen/@expo/prebuild-config/@expo/config-plugins/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], - "expo-splash-screen/@expo/prebuild-config/@expo/config/glob/minimatch/brace-expansion/balanced-match/jackspeak/@isaacs/cliui": ["@isaacs/cliui@9.0.0", "", {}, "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg=="], + "expo-splash-screen/@expo/prebuild-config/@expo/config/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], + + "expo-splash-screen/@expo/prebuild-config/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + + "expo-splash-screen/@expo/prebuild-config/@expo/json-file/@babel/code-frame/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], + + "expo/@expo/config-plugins/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + + "expo/@expo/config-plugins/@expo/json-file/@babel/code-frame/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], + + "expo/@expo/config/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + + "expo/@expo/config/@expo/json-file/@babel/code-frame/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], + + "expo-constants/@expo/config/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], + + "expo-manifests/@expo/config/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], + + "expo-splash-screen/@expo/prebuild-config/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], + + "expo/@expo/config-plugins/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], + + "expo/@expo/config/@expo/json-file/@babel/code-frame/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], } } diff --git a/docs/ai-agent-ideas.md b/docs/ai-agent-ideas.md index 5437e85..140f7d4 100644 --- a/docs/ai-agent-ideas.md +++ b/docs/ai-agent-ideas.md @@ -1,4 +1,4 @@ -# ARIS Agent Vision +# AELIS Agent Vision ## What We're Building @@ -43,7 +43,7 @@ Sources → Source Graph → FeedEngine The "agents" in this doc describe *behaviors*, not separate running processes. A human PA is one person — they don't have a "calendar agent" and a "follow-up agent" in their head. They look at your whole situation and act on whatever matters. -ARIS works the same way. One LLM harness receives all feed items, all context, all user memory, and all available tools. It returns a single `FeedEnhancement`. Every behavior (preparation, follow-up, anomaly detection, tone adjustment, cross-source reasoning) is an instruction in the system prompt, not a separate agent. +AELIS works the same way. One LLM harness receives all feed items, all context, all user memory, and all available tools. It returns a single `FeedEnhancement`. Every behavior (preparation, follow-up, anomaly detection, tone adjustment, cross-source reasoning) is an instruction in the system prompt, not a separate agent. The advantage: the LLM sees everything at once. It doesn't need agent-to-agent communication because there's no separation. It naturally connects "rain at 6pm" with "dinner at 7pm" because both are in the same context window. @@ -100,9 +100,9 @@ const agentContext = new AgentContext({ }) ``` -This keeps the engine usable as a pure feed library without the AI layer — useful for testing and for anyone who wants `aris-core` without the agent features. +This keeps the engine usable as a pure feed library without the AI layer — useful for testing and for anyone who wants `aelis-core` without the agent features. -**Implementation:** `AgentContext` lives in a new package (`packages/aris-agent-context` or alongside the enhancement layer). It wraps a `FeedEngine` instance and the persistence stores. The ring buffer for recent items (last N=10 refreshes) lives here, not on the engine — `AgentContext` subscribes to the engine via `engine.subscribe()` and accumulates snapshots. The `itemsFrom(sourceId)` method filters the ring buffer by item type prefix. This is Phase 0 work. +**Implementation:** `AgentContext` lives in a new package (`packages/aelis-agent-context` or alongside the enhancement layer). It wraps a `FeedEngine` instance and the persistence stores. The ring buffer for recent items (last N=10 refreshes) lives here, not on the engine — `AgentContext` subscribes to the engine via `engine.subscribe()` and accumulates snapshots. The `itemsFrom(sourceId)` method filters the ring buffer by item type prefix. This is Phase 0 work. --- @@ -199,7 +199,7 @@ interface UserAffinityModel { } ``` -**Implementation:** Build these as individual `FeedPostProcessor` implementations in a `packages/aris-feed-enhancers` package. Each enhancer is a pure function: items in, enhancement out. Start with three: `TimeOfDayEnhancer`, `CalendarGroupingEnhancer`, `UserAffinityEnhancer`. The affinity model needs a persistence layer — a simple JSON blob per user stored in the database, updated on each dismiss/tap event sent from the client via the WebSocket `feed.interact` method (new JSON-RPC method to add). Time buckets: morning (6-12), afternoon (12-17), evening (17-22), night (22-6). +**Implementation:** Build these as individual `FeedPostProcessor` implementations in a `packages/aelis-feed-enhancers` package. Each enhancer is a pure function: items in, enhancement out. Start with three: `TimeOfDayEnhancer`, `CalendarGroupingEnhancer`, `UserAffinityEnhancer`. The affinity model needs a persistence layer — a simple JSON blob per user stored in the database, updated on each dismiss/tap event sent from the client via the WebSocket `feed.interact` method (new JSON-RPC method to add). Time buckets: morning (6-12), afternoon (12-17), evening (17-22), night (22-6). ### LLM-Powered Enhancements @@ -286,7 +286,7 @@ These enhancements are delivered via slots on source-produced feed items. Each s ## Emergent Behavior -Most of what makes ARIS feel like a person isn't hardcoded. It emerges from giving the LLM the right context and the right prompt. +Most of what makes AELIS feel like a person isn't hardcoded. It emerges from giving the LLM the right context and the right prompt. ### What's hardcoded vs. what's emergent @@ -338,10 +338,10 @@ These are ~10 small pure functions. Everything else is the LLM reading context a ### The system prompt -The core of ARIS's behavior is one prompt. Roughly: +The core of AELIS's behavior is one prompt. Roughly: ``` -You are ARIS, a personal assistant. Here is everything happening +You are AELIS, a personal assistant. Here is everything happening in the user's life right now: [serialized feed items from all sources] @@ -564,7 +564,7 @@ Surfaces things that break routine, because those are the things you miss. - "Your calendar is empty tomorrow — did you mean to block time?" - "You have 3 meetings that overlap between 2-3pm" -**Implementation:** Mostly rule-based — no LLM needed for detection. Build as a `FeedSource` (`aris.anomaly`) that depends on calendar sources. Maintain a rolling histogram of the user's meeting start times (stored in the preference/memory DB). On each refresh, compare upcoming events against the histogram. Flag events outside 2 standard deviations. Overlap detection is comparing time ranges. "First free afternoon in N weeks" requires storing daily busyness scores. The anomaly items are `FeedItem`s with type `anomaly` — the LLM is only needed to phrase the message naturally, which can be done with simple templates for v1 ("You have a meeting at {time} — that's unusual for you"). +**Implementation:** Mostly rule-based — no LLM needed for detection. Build as a `FeedSource` (`aelis.anomaly`) that depends on calendar sources. Maintain a rolling histogram of the user's meeting start times (stored in the preference/memory DB). On each refresh, compare upcoming events against the histogram. Flag events outside 2 standard deviations. Overlap detection is comparing time ranges. "First free afternoon in N weeks" requires storing daily busyness scores. The anomaly items are `FeedItem`s with type `anomaly` — the LLM is only needed to phrase the message naturally, which can be done with simple templates for v1 ("You have a meeting at {time} — that's unusual for you"). --- @@ -585,7 +585,7 @@ The key difference from task tracking: this catches things that fell through the The realistic v1 has two channels: -1. **ARIS conversations (free, no privacy concerns).** Every conversation flows through the Query Agent. When the user says "I'll send that to Sarah tomorrow," the system extracts the intent (action: send something, person: Sarah, deadline: tomorrow) and stores it. No extra permissions needed — the user is already talking to ARIS. +1. **AELIS conversations (free, no privacy concerns).** Every conversation flows through the Query Agent. When the user says "I'll send that to Sarah tomorrow," the system extracts the intent (action: send something, person: Sarah, deadline: tomorrow) and stores it. No extra permissions needed — the user is already talking to AELIS. 2. **Email scanning (opt-in).** Connect Gmail/Outlook as a source. Scan outbound emails for commitment language: "I'll get back to you," "let me check on that," "I'll send this by Friday." LLM extracts intent + deadline + person. This catches most professional commitments since email is where they're made. Privacy-sensitive — must be explicit opt-in. @@ -595,7 +595,7 @@ Later channels (harder, deferred): meeting transcripts (Otter, Fireflies, Google Surfaces gentle reminders — not nagging, more like "hey, just in case." Learns which follow-ups the user appreciates vs. dismisses. Backs off on topics the user ignores repeatedly. -**Implementation:** Two parts: extraction and surfacing. Extraction runs as a side-effect of the Query Agent — after every conversation turn, pass the user's message through an LLM with a structured output schema: `{ hasCommitment: boolean, action?: string, person?: string, deadline?: string }`. Store extracted commitments in a `commitments` table (user_id, action, person, deadline, status, created_at, dismissed_count). Surfacing is a `FeedSource` (`aris.followup`) that queries the commitments table for items past their deadline or approaching it. If the user dismisses a follow-up, increment `dismissed_count`; stop showing after 3 dismissals. Email scanning (v2) adds a second extraction path: a background job that processes new sent emails through the same LLM extraction. +**Implementation:** Two parts: extraction and surfacing. Extraction runs as a side-effect of the Query Agent — after every conversation turn, pass the user's message through an LLM with a structured output schema: `{ hasCommitment: boolean, action?: string, person?: string, deadline?: string }`. Store extracted commitments in a `commitments` table (user_id, action, person, deadline, status, created_at, dismissed_count). Surfacing is a `FeedSource` (`aelis.followup`) that queries the commitments table for items past their deadline or approaching it. If the user dismisses a follow-up, increment `dismissed_count`; stop showing after 3 dismissals. Email scanning (v2) adds a second extraction path: a background job that processes new sent emails through the same LLM extraction. #### Memory @@ -725,7 +725,7 @@ Beyond frequency, the assistant can understand relationship *dynamics*: - "You've cancelled on Tom three times — he might be feeling deprioritized." - "Your meetings with the design team have been getting longer — they averaged 30 min last month, now they're 50 min." -**Implementation:** Requires a contacts source (Apple Contacts via CardDAV, or Google People API) — build this as a new `FeedSource` that provides contact context (birthdays, anniversaries) to the graph. The social awareness agent is a `FeedSource` (`aris.social`) that depends on the contacts source and calendar sources. Birthday/anniversary detection: compare contact dates against current date, surface items 7 days before. Meeting frequency: query calendar history for events containing a contact's name, compute average interval, flag when current gap exceeds 2x the average. The "Sarah mentioned she's been sick" level requires email/message scanning — defer to v2. For v1, stick to birthdays + meeting frequency, which are purely rule-based. +**Implementation:** Requires a contacts source (Apple Contacts via CardDAV, or Google People API) — build this as a new `FeedSource` that provides contact context (birthdays, anniversaries) to the graph. The social awareness agent is a `FeedSource` (`aelis.social`) that depends on the contacts source and calendar sources. Birthday/anniversary detection: compare contact dates against current date, surface items 7 days before. Meeting frequency: query calendar history for events containing a contact's name, compute average interval, flag when current gap exceeds 2x the average. The "Sarah mentioned she's been sick" level requires email/message scanning — defer to v2. For v1, stick to birthdays + meeting frequency, which are purely rule-based. #### Ambient Context @@ -741,7 +741,7 @@ Monitors the world for things that affect you, beyond weather and location. A human assistant would flag these without being asked. You shouldn't have to go looking for problems. -**Implementation:** A collection of specialized `FeedSource` nodes, each monitoring a specific external signal. Start with what's closest to existing sources: `aris.tfl` already handles transit — extend it to check for planned strikes/closures (TfL API has this data). Package tracking: a new source (`aris.packages`) that polls tracking APIs (Royal Mail, UPS) given tracking numbers extracted from email (requires email source). News: a source (`aris.news`) that uses a news API (NewsAPI, Google News) filtered by user interests from the preference store. Each of these is independent and produces its own feed items. The cross-source connection ("train strike affects your commute") happens in the LLM enhancement layer, not in the source itself. +**Implementation:** A collection of specialized `FeedSource` nodes, each monitoring a specific external signal. Start with what's closest to existing sources: `aelis.tfl` already handles transit — extend it to check for planned strikes/closures (TfL API has this data). Package tracking: a new source (`aelis.packages`) that polls tracking APIs (Royal Mail, UPS) given tracking numbers extracted from email (requires email source). News: a source (`aelis.news`) that uses a news API (NewsAPI, Google News) filtered by user interests from the preference store. Each of these is independent and produces its own feed items. The cross-source connection ("train strike affects your commute") happens in the LLM enhancement layer, not in the source itself. #### Energy Awareness @@ -846,7 +846,7 @@ Reduces notification fatigue while ensuring important items aren't missed. The primary interface. This isn't a feed query tool — it's the person you talk to. -The user should be able to ask ARIS anything they'd ask a knowledgeable friend. Some questions are about their data. Most aren't. +The user should be able to ask AELIS anything they'd ask a knowledgeable friend. Some questions are about their data. Most aren't. **About their life (reads from the source graph):** - "What's on my calendar tomorrow?" @@ -876,7 +876,7 @@ This is also where intent extraction happens for the Gentle Follow-up Agent. Eve #### Web Search -The backbone for general knowledge. Makes ARIS a person you can ask things, not just a dashboard you look at. +The backbone for general knowledge. Makes AELIS a person you can ask things, not just a dashboard you look at. **Reactive (user asks):** - Recipe ideas, how-to questions, factual lookups, recommendations @@ -936,7 +936,7 @@ Handles practical logistics a human assistant would manage. Combines tasks, calendar, location, and business hours. Groups nearby errands. Warns about deadlines. -**Implementation:** A `FeedSource` (`aris.errands`) that depends on a task source (Todoist, Apple Reminders — needs to be built), calendar sources, and location. On each refresh, it queries tasks tagged as errands or with locations, cross-references against calendar free slots and current location, and uses a simple greedy algorithm to suggest optimal windows. Business hours: either hardcode common defaults or use Google Places API for specific venues. For v1, skip route optimization — just identify "you have a gap near this errand's location." The LLM enhancer can phrase the suggestion naturally. Requires a task source to exist first. +**Implementation:** A `FeedSource` (`aelis.errands`) that depends on a task source (Todoist, Apple Reminders — needs to be built), calendar sources, and location. On each refresh, it queries tasks tagged as errands or with locations, cross-references against calendar free slots and current location, and uses a simple greedy algorithm to suggest optimal windows. Business hours: either hardcode common defaults or use Google Places API for specific venues. For v1, skip route optimization — just identify "you have a gap near this errand's location." The LLM enhancer can phrase the suggestion naturally. Requires a task source to exist first. #### Delegation @@ -1012,7 +1012,7 @@ These aren't features — they're qualities that run through everything the assi #### Personality & Voice -A human assistant has a consistent personality. ARIS needs one too. +A human assistant has a consistent personality. AELIS needs one too. The voice should be: warm but not bubbly, concise but not robotic, occasionally witty but never trying too hard. It says "I" not "we." It has opinions when asked ("I'd skip the design sync — you've been to the last 8 and nothing changes") but defers on big decisions. @@ -1128,7 +1128,7 @@ Expose the source graph to the enhancement layer. Without this, every behavior s - Add `FeedEnhancement` type and merge logic in `refresh()` - Remove `priority` from `FeedItem` — ranking is now entirely post-processing - Add `signals` field to `FeedItem` for source-provided hints (optional urgency, time relevance) -- Create `packages/aris-feed-enhancers` for post-processor implementations +- Create `packages/aelis-feed-enhancers` for post-processor implementations - Add `feed.interact` JSON-RPC method for tap/dismiss/dwell events from client - Add `memories` table to database schema (user_id, key, value_json, confidence, updated_at, source) - Add `feed_snapshots` table for routine learning (user_id, items_json, context_json, timestamp) @@ -1139,10 +1139,10 @@ Expose the source graph to the enhancement layer. Without this, every behavior s The minimum for "this is an AI assistant." 1. **Personality spec** — write the voice/tone document included in all LLM calls. ~500 tokens. This shapes everything that follows. -2. **Rule-based post-processors** — `TimeOfDayEnhancer`, `CalendarGroupingEnhancer`, `DeduplicationEnhancer`, silence/"all clear" card logic in `aris-feed-enhancers`. Pure functions, no external dependencies. +2. **Rule-based post-processors** — `TimeOfDayEnhancer`, `CalendarGroupingEnhancer`, `DeduplicationEnhancer`, silence/"all clear" card logic in `aelis-feed-enhancers`. Pure functions, no external dependencies. 3. **Query Agent** — `query.ask` JSON-RPC method, LLM with tool use, conversation history table. Start with a single model (GPT-4.1 mini or Gemini Flash for cost). 4. **Web Search** — Tavily or Brave Search API wrapper, exposed as an LLM tool. Cache layer with TTL. -5. **Daily Briefing** — `aris.briefing` FeedSource, depends on all content sources, runs in morning/evening time windows. +5. **Daily Briefing** — `aelis.briefing` FeedSource, depends on all content sources, runs in morning/evening time windows. 6. **Graceful degradation** — ensure all post-processors and the LLM harness work with any subset of sources connected. ### Phase 2: It Feels Human @@ -1151,7 +1151,7 @@ The features that make people say "whoa." 7. **LLM Enhancement slow path** — background timer, serializes feed + context into prompt, returns `FeedEnhancement`, caches result. This enables card rewriting, cross-source synthesis, tone adjustment, and ambient personality. Include confidence/uncertainty instructions in the prompt. 8. **User Affinity model** — `UserAffinityEnhancer` post-processor + `feed.interact` event handling. Writes to `memories` table. No LLM. -9. **Contextual Preparation** — `aris.preparation` FeedSource, depends on calendar + web search tool. Includes anticipatory logistics and anticipating questions. Cache prep cards per event ID. +9. **Contextual Preparation** — `aelis.preparation` FeedSource, depends on calendar + web search tool. Includes anticipatory logistics and anticipating questions. Cache prep cards per event ID. 10. **Tone & Timing + Temporal Empathy** — post-processor that infers user state, adjusts suppression, sets `notify` flags, holds emotionally heavy items for appropriate windows. 11. **Context Switching Buffers** — rule-based detection of activity transitions, LLM-generated transition cards. @@ -1161,7 +1161,7 @@ The long-term relationship. 12. **Memory store + decay model** — `memories` table with confidence scores, `last_reinforced` timestamps, nightly decay job. Include in all LLM prompts. 13. **Learning from corrections** — correction extraction as Query Agent side-effect, writes to memory with confidence 1.0. -14. **Gentle Follow-up** — intent extraction as Query Agent side-effect, `commitments` table, `aris.followup` FeedSource. +14. **Gentle Follow-up** — intent extraction as Query Agent side-effect, `commitments` table, `aelis.followup` FeedSource. 15. **Routine Learning** — feed snapshot storage, daily summary compression, weekly LLM pattern discovery with dynamic `DiscoveredPattern[]` output. 16. **Social Awareness** — contacts source (CardDAV or Google People API), birthday detection, meeting frequency analysis. @@ -1170,9 +1170,9 @@ The long-term relationship. Background intelligence. 17. **Push notification infrastructure** — Expo push notifications, driven by `notify` flag from Tone & Timing processor. -18. **Ambient Context sources** — extend TfL for planned disruptions, add `aris.packages` (tracking APIs), add `aris.news` (news API filtered by interests). +18. **Ambient Context sources** — extend TfL for planned disruptions, add `aelis.packages` (tracking APIs), add `aelis.news` (news API filtered by interests). 19. **Energy Awareness + Health Nudges** — rule-based detection (meeting density, sedentary time, late nights), LLM-phrased nudge cards with cooldowns. -20. **Anomaly Detection** — `aris.anomaly` FeedSource, meeting time histogram, overlap detection. Mostly rule-based. +20. **Anomaly Detection** — `aelis.anomaly` FeedSource, meeting time histogram, overlap detection. Mostly rule-based. 21. **Cross-Source Reasoning** — handled by LLM enhancement layer with explicit cross-source instructions in prompt. 22. **Celebration** — positive pattern detection in LLM harness, comparison against daily summary baselines, one per day max. 23. **Seasonal Awareness** — static annual events dataset per locale + personal annual patterns from 6+ months of summaries. @@ -1181,11 +1181,11 @@ Background intelligence. The full PA experience. -24. **Task source** — new `aris.tasks` FeedSource (Todoist API or Apple Reminders). Required for Errand & Logistics. +24. **Task source** — new `aelis.tasks` FeedSource (Todoist API or Apple Reminders). Required for Errand & Logistics. 25. **Decision Support** — conflict detection (rule-based) + comparison card generation (LLM). Structured comparison data for client rendering. 26. **Micro-Moments** — gap detection post-processor + LLM micro-briefing generation for 2-10 minute windows. 27. **Financial Awareness** — financial event extraction from email, `financial_events` table, 48-hour reminder post-processor. -28. **Errand & Logistics** — `aris.errands` FeedSource, depends on tasks + calendar + location. Greedy gap-matching algorithm. +28. **Errand & Logistics** — `aelis.errands` FeedSource, depends on tasks + calendar + location. Greedy gap-matching algorithm. 29. **Actions** — extend OAuth scopes for write access, add `actions` field to `FeedItem`, `feed.action` JSON-RPC method, confirmation flow. 30. **Delegation** — extend Query Agent with write tools, `delegation.confirm` notification, confirmation UI on client. @@ -1211,7 +1211,7 @@ The full PA experience. - Feed snapshot storage cost at scale: compress after N days, or summarize and discard? - System prompt size: as behaviors accumulate, the prompt grows. When does it need to be split or dynamically composed? - Personality consistency: how to ensure the voice stays consistent across enhancement runs and query responses? -- Health nudge liability: should ARIS ever comment on health-related patterns, or is that too risky? +- Health nudge liability: should AELIS ever comment on health-related patterns, or is that too risky? - Celebration frequency: how often is encouraging vs. patronizing? - Emotional weight classification: can the LLM reliably assess how stressful a piece of information is? - Multi-device: how to sync seen-item state and hold queues across phone, laptop, watch? diff --git a/docs/architecture-draft.md b/docs/architecture-draft.md index 6429920..3feb49a 100644 --- a/docs/architecture-draft.md +++ b/docs/architecture-draft.md @@ -1,10 +1,10 @@ -# ARIS Architecture Draft +# AELIS Architecture Draft > This is a working draft from initial architecture discussions. Not final documentation. ## Overview -ARIS is an AI-powered personal assistant. The core aggregates data from various sources and compiles a feed of contextually relevant items - similar to Google Now. The feed shows users useful information based on their current context (date, time, location). +AELIS is an AI-powered personal assistant. The core aggregates data from various sources and compiles a feed of contextually relevant items - similar to Google Now. The feed shows users useful information based on their current context (date, time, location). Examples of feed items: @@ -26,7 +26,7 @@ Examples of feed items: ┌─────────────────────────────────────────────────────────────┐ │ Backend │ │ ┌─────────────┐ ┌─────────────┐ │ -│ │ aris-core │ │ Sources │ │ +│ │ aelis-core │ │ Sources │ │ │ │ │ │ (plugins) │ │ │ │ - FeedEngine│◄───│ - Calendar │ │ │ │ - Context │ │ - Weather │ │ @@ -51,7 +51,7 @@ Examples of feed items: └─────────────────────────────────────────────────────────────┘ ``` -## Core Package (`aris-core`) +## Core Package (`aelis-core`) The core is responsible for: @@ -64,7 +64,7 @@ The core is responsible for: - **Context**: Time and location (with accuracy) passed to all sources. Sources can contribute to context (e.g., location source provides coordinates, weather source provides conditions). - **FeedItem**: Has an ID (source-generated, stable), type, timestamp, JSON-serializable data, optional actions, an optional `ui` tree, and optional `slots` for LLM-fillable content. -- **FeedSource**: Interface that first and third parties implement to provide context, feed items, and actions. Uses reverse-domain IDs (e.g., `aris.weather`, `com.spotify`). +- **FeedSource**: Interface that first and third parties implement to provide context, feed items, and actions. Uses reverse-domain IDs (e.g., `aelis.weather`, `com.spotify`). - **FeedEngine**: Orchestrates sources respecting their dependency graph, runs independent sources in parallel, returns items and any errors. Routes action execution to the correct source. ## Data Sources @@ -113,7 +113,7 @@ The UI for feed items is **server-driven**. Sources describe how their items loo ### Two tiers of UI - **Server-driven (default):** Any source can return a `ui` tree. Covers most cards — weather, tasks, alerts, package tracking, news, etc. Simple interactions go through source actions. This is the default path for both first-party and third-party sources. -- **Bespoke native:** For cards that need rich client interaction (gestures, animations, real-time updates), a native React Native component is registered in the json-render component map and referenced by type. Third parties that need this level of richness work with the ARIS team to get it integrated. +- **Bespoke native:** For cards that need rich client interaction (gestures, animations, real-time updates), a native React Native component is registered in the json-render component map and referenced by type. Third parties that need this level of richness work with the AELIS team to get it integrated. ### Why server-driven diff --git a/docs/backend-service-architecture-spec.md b/docs/backend-service-architecture-spec.md index 34ed763..ed385e6 100644 --- a/docs/backend-service-architecture-spec.md +++ b/docs/backend-service-architecture-spec.md @@ -32,7 +32,7 @@ server.ts ## Scope -**Backend only** (`apps/aris-backend`). No changes to `aris-core` or source packages (`packages/aris-source-*`). The `FeedSource` interface and source implementations remain unchanged. +**Backend only** (`apps/aelis-backend`). No changes to `aelis-core` or source packages (`packages/aelis-source-*`). The `FeedSource` interface and source implementations remain unchanged. ## Architectural Options diff --git a/docs/backend-spec.md b/docs/backend-spec.md index 1ab99e4..17d5d59 100644 --- a/docs/backend-spec.md +++ b/docs/backend-spec.md @@ -1,8 +1,8 @@ -# ARIS Backend Specification +# AELIS Backend Specification ## Problem Statement -ARIS needs a backend service that manages per-user FeedEngine instances and delivers real-time feed updates to clients. The backend must handle authentication, maintain WebSocket connections for live updates, and accept context updates (like location) that trigger feed recalculations. +AELIS needs a backend service that manages per-user FeedEngine instances and delivers real-time feed updates to clients. The backend must handle authentication, maintain WebSocket connections for live updates, and accept context updates (like location) that trigger feed recalculations. ## Requirements @@ -105,7 +105,7 @@ All WebSocket communication uses JSON-RPC 2.0. ### Phase 1: Project Setup -1. Create `apps/aris-backend` with Hono +1. Create `apps/aelis-backend` with Hono 2. Configure TypeScript, add dependencies (hono, better-auth, postgres driver) 3. Set up database connection and BetterAuth @@ -152,7 +152,7 @@ All WebSocket communication uses JSON-RPC 2.0. ## Package Structure ``` -apps/aris-backend/ +apps/aelis-backend/ ├── package.json ├── src/ │ ├── index.ts # Entry point, Hono app @@ -177,10 +177,10 @@ apps/aris-backend/ "hono": "^4", "better-auth": "^1", "postgres": "^3", - "@aris/core": "workspace:*", - "@aris/source-location": "workspace:*", - "@aris/source-weatherkit": "workspace:*", - "@aris/data-source-tfl": "workspace:*" + "@aelis/core": "workspace:*", + "@aelis/source-location": "workspace:*", + "@aelis/source-weatherkit": "workspace:*", + "@aelis/data-source-tfl": "workspace:*" } } ``` diff --git a/docs/feed-source-actions-spec.md b/docs/feed-source-actions-spec.md index 66aa00a..bc01525 100644 --- a/docs/feed-source-actions-spec.md +++ b/docs/feed-source-actions-spec.md @@ -6,7 +6,7 @@ ## Scope -**`aris-core` only.** Add action support to `FeedSource` and `FeedItem`. No changes to existing fields or methods — purely additive. +**`aelis-core` only.** Add action support to `FeedSource` and `FeedItem`. No changes to existing fields or methods — purely additive. ## Design @@ -16,7 +16,7 @@ MCP was considered. It doesn't fit because: - MCP resources don't accept input context (FeedSource needs accumulated context as input) - MCP has no structured feed items (priority, timestamp, type) -- MCP's isolation model conflicts with ARIS's dependency graph +- MCP's isolation model conflicts with AELIS's dependency graph - Adding these as MCP extensions would mean the extensions are the entire protocol The interface is designed to be **protocol-compatible** — a future `RemoteFeedSource` adapter can map each field/method to a JSON-RPC operation without changing the interface: @@ -35,20 +35,20 @@ No interface changes needed when the transport layer is built. ### Source ID & Action ID Convention -Source IDs use reverse domain notation. Built-in sources use `aris.`. Third parties use their own domain. +Source IDs use reverse domain notation. Built-in sources use `aelis.`. Third parties use their own domain. Action IDs are descriptive verb-noun pairs in kebab-case, scoped to their source. The globally unique form is `/`. | Source ID | Action IDs | | --------------- | -------------------------------------------------------------- | -| `aris.location` | `update-location` (migrated from `pushLocation()`) | -| `aris.tfl` | `set-lines-of-interest` (migrated from `setLinesOfInterest()`) | -| `aris.weather` | _(none)_ | +| `aelis.location` | `update-location` (migrated from `pushLocation()`) | +| `aelis.tfl` | `set-lines-of-interest` (migrated from `setLinesOfInterest()`) | +| `aelis.weather` | _(none)_ | | `com.spotify` | `play-track`, `pause-playback`, `skip-track`, `like-track` | -| `aris.calendar` | `rsvp`, `create-event` | +| `aelis.calendar` | `rsvp`, `create-event` | | `com.todoist` | `complete-task`, `snooze-task` | -This means existing source packages need their `id` updated (e.g., `"location"` → `"aris.location"`). +This means existing source packages need their `id` updated (e.g., `"location"` → `"aelis.location"`). ### New Types @@ -270,17 +270,17 @@ class SpotifySource implements FeedSource { ## Implementation Steps -1. Create `action.ts` in `aris-core/src` with `ActionDefinition`, `ActionResult`, `ItemAction` +1. Create `action.ts` in `aelis-core/src` with `ActionDefinition`, `ActionResult`, `ItemAction` 2. Add optional `actions` and `executeAction` to `FeedSource` interface in `feed-source.ts` 3. Add optional `actions` field to `FeedItem` interface in `feed.ts` 4. Add `executeAction()` and `listActions()` to `FeedEngine` in `feed-engine.ts` -5. Export new types from `aris-core/index.ts` +5. Export new types from `aelis-core/index.ts` 6. Add tests for `FeedEngine.executeAction()` routing 7. Add tests for `FeedEngine.listActions()` aggregation 8. Add tests for error cases (unknown action, unknown source, source without actions) -9. Update source IDs to reverse-domain format (`"location"` → `"aris.location"`, etc.) across all source packages -10. Migrate `LocationSource.pushLocation()` → action `update-location` on `aris.location` -11. Migrate `TflSource.setLinesOfInterest()` → action `set-lines-of-interest` on `aris.tfl` +9. Update source IDs to reverse-domain format (`"location"` → `"aelis.location"`, etc.) across all source packages +10. Migrate `LocationSource.pushLocation()` → action `update-location` on `aelis.location` +11. Migrate `TflSource.setLinesOfInterest()` → action `set-lines-of-interest` on `aelis.tfl` 12. Add `async listActions() { return {} }` and no-op `executeAction()` to sources without actions (WeatherSource, GoogleCalendarSource, AppleCalendarSource) 13. Update any tests or code referencing old source IDs 14. Run all tests to confirm nothing breaks diff --git a/package.json b/package.json index 58a7844..51d053a 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "aris", + "name": "aelis", "private": true, "workspaces": [ "packages/*", diff --git a/packages/aris-core/README.md b/packages/aelis-core/README.md similarity index 94% rename from packages/aris-core/README.md rename to packages/aelis-core/README.md index 34df5f0..1d7e2e8 100644 --- a/packages/aris-core/README.md +++ b/packages/aelis-core/README.md @@ -1,6 +1,6 @@ -# @aris/core +# @aelis/core -Core orchestration layer for ARIS feed reconciliation. +Core orchestration layer for AELIS feed reconciliation. ## Overview @@ -63,7 +63,7 @@ A source may: Each package exports typed context keys for type-safe access: ```ts -import { contextKey, type ContextKey } from "@aris/core" +import { contextKey, type ContextKey } from "@aelis/core" interface Location { lat: number @@ -78,7 +78,7 @@ export const LocationKey: ContextKey = contextKey("location") ### Define a Context-Only Source ```ts -import type { FeedSource } from "@aris/core" +import type { FeedSource } from "@aelis/core" const locationSource: FeedSource = { id: "location", @@ -104,8 +104,8 @@ const locationSource: FeedSource = { ### Define a Source with Dependencies ```ts -import type { FeedSource, FeedItem } from "@aris/core" -import { contextValue } from "@aris/core" +import type { FeedSource, FeedItem } from "@aelis/core" +import { contextValue } from "@aelis/core" type WeatherItem = FeedItem<"weather", { temp: number; condition: string }> diff --git a/packages/aris-core/package.json b/packages/aelis-core/package.json similarity index 88% rename from packages/aris-core/package.json rename to packages/aelis-core/package.json index 4efcc73..6f970bc 100644 --- a/packages/aris-core/package.json +++ b/packages/aelis-core/package.json @@ -1,5 +1,5 @@ { - "name": "@aris/core", + "name": "@aelis/core", "version": "0.0.0", "type": "module", "main": "src/index.ts", diff --git a/packages/aris-core/src/action.ts b/packages/aelis-core/src/action.ts similarity index 92% rename from packages/aris-core/src/action.ts rename to packages/aelis-core/src/action.ts index 374f089..b26b7b1 100644 --- a/packages/aris-core/src/action.ts +++ b/packages/aelis-core/src/action.ts @@ -5,7 +5,7 @@ import type { StandardSchemaV1 } from "@standard-schema/spec" * * Action IDs use descriptive verb-noun kebab-case (e.g., "update-location", "play-track"). * Combined with the source's reverse-domain ID, they form a globally unique identifier: - * `/` (e.g., "aris.location/update-location"). + * `/` (e.g., "aelis.location/update-location"). */ export class UnknownActionError extends Error { readonly actionId: string diff --git a/packages/aris-core/src/context-bridge.ts b/packages/aelis-core/src/context-bridge.ts similarity index 100% rename from packages/aris-core/src/context-bridge.ts rename to packages/aelis-core/src/context-bridge.ts diff --git a/packages/aris-core/src/context-provider.ts b/packages/aelis-core/src/context-provider.ts similarity index 100% rename from packages/aris-core/src/context-provider.ts rename to packages/aelis-core/src/context-provider.ts diff --git a/packages/aris-core/src/context.test.ts b/packages/aelis-core/src/context.test.ts similarity index 79% rename from packages/aris-core/src/context.test.ts rename to packages/aelis-core/src/context.test.ts index 81ea212..2ef4d45 100644 --- a/packages/aris-core/src/context.test.ts +++ b/packages/aelis-core/src/context.test.ts @@ -12,8 +12,8 @@ interface NextEvent { title: string } -const WeatherKey: ContextKey = contextKey("aris.weather", "current") -const NextEventKey: ContextKey = contextKey("aris.google-calendar", "nextEvent") +const WeatherKey: ContextKey = contextKey("aelis.weather", "current") +const NextEventKey: ContextKey = contextKey("aelis.google-calendar", "nextEvent") describe("Context", () => { describe("get", () => { @@ -66,10 +66,10 @@ describe("Context", () => { }) test("prefix match returns multiple instances", () => { - const workKey = contextKey("aris.google-calendar", "nextEvent", { + const workKey = contextKey("aelis.google-calendar", "nextEvent", { account: "work", }) - const personalKey = contextKey("aris.google-calendar", "nextEvent", { + const personalKey = contextKey("aelis.google-calendar", "nextEvent", { account: "personal", }) @@ -79,7 +79,7 @@ describe("Context", () => { [personalKey, { title: "Dentist" }], ]) - const prefix = contextKey("aris.google-calendar", "nextEvent") + const prefix = contextKey("aelis.google-calendar", "nextEvent") const results = ctx.find(prefix) expect(results).toHaveLength(2) @@ -88,8 +88,8 @@ describe("Context", () => { }) test("prefix match includes exact match and longer keys", () => { - const baseKey = contextKey("aris.google-calendar", "nextEvent") - const instanceKey = contextKey("aris.google-calendar", "nextEvent", { + const baseKey = contextKey("aelis.google-calendar", "nextEvent") + const instanceKey = contextKey("aelis.google-calendar", "nextEvent", { account: "work", }) @@ -104,8 +104,8 @@ describe("Context", () => { }) test("does not match keys that share a string prefix but differ at segment boundary", () => { - const keyA = contextKey("aris.calendar", "next") - const keyB = contextKey("aris.calendar", "nextEvent") + const keyA = contextKey("aelis.calendar", "next") + const keyB = contextKey("aelis.calendar", "nextEvent") const ctx = new Context() ctx.set([ @@ -137,20 +137,20 @@ describe("Context", () => { test("single-segment prefix matches all keys starting with that segment", () => { const ctx = new Context() ctx.set([ - [contextKey("aris.weather", "current"), { temperature: 20 }], - [contextKey("aris.weather", "forecast"), { high: 25 }], - [contextKey("aris.calendar", "nextEvent"), { title: "Meeting" }], + [contextKey("aelis.weather", "current"), { temperature: 20 }], + [contextKey("aelis.weather", "forecast"), { high: 25 }], + [contextKey("aelis.calendar", "nextEvent"), { title: "Meeting" }], ]) - const results = ctx.find(contextKey("aris.weather")) + const results = ctx.find(contextKey("aelis.weather")) expect(results).toHaveLength(2) }) test("does not match shorter keys", () => { const ctx = new Context() - ctx.set([[contextKey("aris.weather"), "short"]]) + ctx.set([[contextKey("aelis.weather"), "short"]]) - const results = ctx.find(contextKey("aris.weather", "current")) + const results = ctx.find(contextKey("aelis.weather", "current")) expect(results).toHaveLength(0) }) diff --git a/packages/aris-core/src/context.ts b/packages/aelis-core/src/context.ts similarity index 98% rename from packages/aris-core/src/context.ts rename to packages/aelis-core/src/context.ts index 958a362..c2cf12d 100644 --- a/packages/aris-core/src/context.ts +++ b/packages/aelis-core/src/context.ts @@ -2,7 +2,7 @@ * Tuple-keyed context system inspired by React Query's query keys. * * Context keys are arrays that form a hierarchy. Sources write to specific - * keys (e.g., ["aris.google-calendar", "nextEvent", { account: "work" }]) + * keys (e.g., ["aelis.google-calendar", "nextEvent", { account: "work" }]) * and consumers can query by exact match or prefix match to get all values * of a given type across source instances. */ diff --git a/packages/aris-core/src/data-source.ts b/packages/aelis-core/src/data-source.ts similarity index 100% rename from packages/aris-core/src/data-source.ts rename to packages/aelis-core/src/data-source.ts diff --git a/packages/aris-core/src/feed-controller.ts b/packages/aelis-core/src/feed-controller.ts similarity index 100% rename from packages/aris-core/src/feed-controller.ts rename to packages/aelis-core/src/feed-controller.ts diff --git a/packages/aris-core/src/feed-engine.test.ts b/packages/aelis-core/src/feed-engine.test.ts similarity index 100% rename from packages/aris-core/src/feed-engine.test.ts rename to packages/aelis-core/src/feed-engine.test.ts diff --git a/packages/aris-core/src/feed-engine.ts b/packages/aelis-core/src/feed-engine.ts similarity index 100% rename from packages/aris-core/src/feed-engine.ts rename to packages/aelis-core/src/feed-engine.ts diff --git a/packages/aris-core/src/feed-post-processor.test.ts b/packages/aelis-core/src/feed-post-processor.test.ts similarity index 99% rename from packages/aris-core/src/feed-post-processor.test.ts rename to packages/aelis-core/src/feed-post-processor.test.ts index 03abd41..da0107d 100644 --- a/packages/aris-core/src/feed-post-processor.test.ts +++ b/packages/aelis-core/src/feed-post-processor.test.ts @@ -42,7 +42,7 @@ function calendarItem(id: string, title: string): CalendarItem { function createWeatherSource(items: WeatherItem[]) { return { - id: "aris.weather", + id: "aelis.weather", ...noActions, async fetchContext() { return null @@ -55,7 +55,7 @@ function createWeatherSource(items: WeatherItem[]) { function createCalendarSource(items: CalendarItem[]) { return { - id: "aris.calendar", + id: "aelis.calendar", ...noActions, async fetchContext() { return null @@ -480,7 +480,7 @@ describe("FeedPostProcessor", () => { let triggerUpdate: ((entries: readonly ContextEntry[]) => void) | null = null const source: FeedSource = { - id: "aris.reactive", + id: "aelis.reactive", ...noActions, async fetchContext() { return null @@ -522,7 +522,7 @@ describe("FeedPostProcessor", () => { let triggerItemsUpdate: ((items: FeedItem[]) => void) | null = null const source: FeedSource = { - id: "aris.reactive", + id: "aelis.reactive", ...noActions, async fetchContext() { return null diff --git a/packages/aris-core/src/feed-post-processor.ts b/packages/aelis-core/src/feed-post-processor.ts similarity index 100% rename from packages/aris-core/src/feed-post-processor.ts rename to packages/aelis-core/src/feed-post-processor.ts diff --git a/packages/aris-core/src/feed-source.test.ts b/packages/aelis-core/src/feed-source.test.ts similarity index 100% rename from packages/aris-core/src/feed-source.test.ts rename to packages/aelis-core/src/feed-source.test.ts diff --git a/packages/aris-core/src/feed-source.ts b/packages/aelis-core/src/feed-source.ts similarity index 98% rename from packages/aris-core/src/feed-source.ts rename to packages/aelis-core/src/feed-source.ts index cb95c31..eae7ed7 100644 --- a/packages/aris-core/src/feed-source.ts +++ b/packages/aelis-core/src/feed-source.ts @@ -9,7 +9,7 @@ import type { FeedItem } from "./feed" * it depends on, and the graph ensures dependencies are resolved before * dependents run. * - * Source IDs use reverse domain notation. Built-in sources use `aris.`, + * Source IDs use reverse domain notation. Built-in sources use `aelis.`, * third parties use their own domain (e.g., `com.spotify`). * * Every method maps to a protocol operation for remote source support: @@ -24,7 +24,7 @@ import type { FeedItem } from "./feed" * @example * ```ts * const locationSource: FeedSource = { - * id: "aris.location", + * id: "aelis.location", * async listActions() { return { "update-location": { id: "update-location" } } }, * async executeAction(actionId) { throw new UnknownActionError(actionId) }, * async fetchContext() { ... }, diff --git a/packages/aris-core/src/feed.test.ts b/packages/aelis-core/src/feed.test.ts similarity index 100% rename from packages/aris-core/src/feed.test.ts rename to packages/aelis-core/src/feed.test.ts diff --git a/packages/aris-core/src/feed.ts b/packages/aelis-core/src/feed.ts similarity index 100% rename from packages/aris-core/src/feed.ts rename to packages/aelis-core/src/feed.ts diff --git a/packages/aris-core/src/index.ts b/packages/aelis-core/src/index.ts similarity index 100% rename from packages/aris-core/src/index.ts rename to packages/aelis-core/src/index.ts diff --git a/packages/aris-core/src/reconciler.ts b/packages/aelis-core/src/reconciler.ts similarity index 100% rename from packages/aris-core/src/reconciler.ts rename to packages/aelis-core/src/reconciler.ts diff --git a/packages/aris-data-source-weatherkit/.env.example b/packages/aelis-data-source-weatherkit/.env.example similarity index 100% rename from packages/aris-data-source-weatherkit/.env.example rename to packages/aelis-data-source-weatherkit/.env.example diff --git a/packages/aris-data-source-weatherkit/README.md b/packages/aelis-data-source-weatherkit/README.md similarity index 93% rename from packages/aris-data-source-weatherkit/README.md rename to packages/aelis-data-source-weatherkit/README.md index 5aabe5f..64202ce 100644 --- a/packages/aris-data-source-weatherkit/README.md +++ b/packages/aelis-data-source-weatherkit/README.md @@ -1,11 +1,11 @@ -# @aris/data-source-weatherkit +# @aelis/data-source-weatherkit Weather data source using Apple WeatherKit REST API. ## Usage ```typescript -import { WeatherKitDataSource, Units } from "@aris/data-source-weatherkit" +import { WeatherKitDataSource, Units } from "@aelis/data-source-weatherkit" const dataSource = new WeatherKitDataSource({ credentials: { diff --git a/packages/aris-data-source-weatherkit/fixtures/san-francisco.json b/packages/aelis-data-source-weatherkit/fixtures/san-francisco.json similarity index 100% rename from packages/aris-data-source-weatherkit/fixtures/san-francisco.json rename to packages/aelis-data-source-weatherkit/fixtures/san-francisco.json diff --git a/packages/aris-data-source-weatherkit/package.json b/packages/aelis-data-source-weatherkit/package.json similarity index 70% rename from packages/aris-data-source-weatherkit/package.json rename to packages/aelis-data-source-weatherkit/package.json index 9e711b7..6243be0 100644 --- a/packages/aris-data-source-weatherkit/package.json +++ b/packages/aelis-data-source-weatherkit/package.json @@ -1,5 +1,5 @@ { - "name": "@aris/data-source-weatherkit", + "name": "@aelis/data-source-weatherkit", "version": "0.0.0", "type": "module", "main": "src/index.ts", @@ -8,7 +8,7 @@ "test": "bun test ." }, "dependencies": { - "@aris/core": "workspace:*", + "@aelis/core": "workspace:*", "arktype": "^2.1.0" } } diff --git a/packages/aris-data-source-weatherkit/scripts/generate-fixtures.ts b/packages/aelis-data-source-weatherkit/scripts/generate-fixtures.ts similarity index 100% rename from packages/aris-data-source-weatherkit/scripts/generate-fixtures.ts rename to packages/aelis-data-source-weatherkit/scripts/generate-fixtures.ts diff --git a/packages/aris-data-source-weatherkit/src/data-source.test.ts b/packages/aelis-data-source-weatherkit/src/data-source.test.ts similarity index 97% rename from packages/aris-data-source-weatherkit/src/data-source.test.ts rename to packages/aelis-data-source-weatherkit/src/data-source.test.ts index 58b66f1..8efd0a3 100644 --- a/packages/aris-data-source-weatherkit/src/data-source.test.ts +++ b/packages/aelis-data-source-weatherkit/src/data-source.test.ts @@ -1,6 +1,6 @@ -import type { ContextKey } from "@aris/core" +import type { ContextKey } from "@aelis/core" -import { Context, contextKey } from "@aris/core" +import { Context, contextKey } from "@aelis/core" import { describe, expect, test } from "bun:test" import type { WeatherKitClient, WeatherKitResponse } from "./weatherkit" @@ -22,7 +22,7 @@ interface LocationData { accuracy: number } -const LocationKey: ContextKey = contextKey("aris.location", "location") +const LocationKey: ContextKey = contextKey("aelis.location", "location") const createMockClient = (response: WeatherKitResponse): WeatherKitClient => ({ fetch: async () => response, diff --git a/packages/aris-data-source-weatherkit/src/data-source.ts b/packages/aelis-data-source-weatherkit/src/data-source.ts similarity index 98% rename from packages/aris-data-source-weatherkit/src/data-source.ts rename to packages/aelis-data-source-weatherkit/src/data-source.ts index b2f8de9..a0427b7 100644 --- a/packages/aris-data-source-weatherkit/src/data-source.ts +++ b/packages/aelis-data-source-weatherkit/src/data-source.ts @@ -1,6 +1,6 @@ -import type { Context, ContextKey, DataSource, FeedItemSignals } from "@aris/core" +import type { Context, ContextKey, DataSource, FeedItemSignals } from "@aelis/core" -import { TimeRelevance, contextKey } from "@aris/core" +import { TimeRelevance, contextKey } from "@aelis/core" import { WeatherFeedItemType, @@ -45,7 +45,7 @@ interface LocationData { lng: number } -const LocationKey: ContextKey = contextKey("aris.location", "location") +const LocationKey: ContextKey = contextKey("aelis.location", "location") export class WeatherKitDataSource implements DataSource { private readonly DEFAULT_HOURLY_LIMIT = 12 diff --git a/packages/aris-data-source-weatherkit/src/feed-items.ts b/packages/aelis-data-source-weatherkit/src/feed-items.ts similarity index 98% rename from packages/aris-data-source-weatherkit/src/feed-items.ts rename to packages/aelis-data-source-weatherkit/src/feed-items.ts index b118642..3b4ca10 100644 --- a/packages/aris-data-source-weatherkit/src/feed-items.ts +++ b/packages/aelis-data-source-weatherkit/src/feed-items.ts @@ -1,4 +1,4 @@ -import type { FeedItem } from "@aris/core" +import type { FeedItem } from "@aelis/core" import type { Certainty, ConditionCode, PrecipitationType, Severity, Urgency } from "./weatherkit" diff --git a/packages/aris-data-source-weatherkit/src/index.ts b/packages/aelis-data-source-weatherkit/src/index.ts similarity index 100% rename from packages/aris-data-source-weatherkit/src/index.ts rename to packages/aelis-data-source-weatherkit/src/index.ts diff --git a/packages/aris-data-source-weatherkit/src/weatherkit.ts b/packages/aelis-data-source-weatherkit/src/weatherkit.ts similarity index 100% rename from packages/aris-data-source-weatherkit/src/weatherkit.ts rename to packages/aelis-data-source-weatherkit/src/weatherkit.ts diff --git a/packages/aelis-feed-enhancers/package.json b/packages/aelis-feed-enhancers/package.json new file mode 100644 index 0000000..39a37d0 --- /dev/null +++ b/packages/aelis-feed-enhancers/package.json @@ -0,0 +1,17 @@ +{ + "name": "@aelis/feed-enhancers", + "version": "0.0.0", + "type": "module", + "main": "src/index.ts", + "types": "src/index.ts", + "scripts": { + "test": "bun test src/" + }, + "dependencies": { + "@aelis/core": "workspace:*", + "@aelis/source-caldav": "workspace:*", + "@aelis/source-google-calendar": "workspace:*", + "@aelis/source-tfl": "workspace:*", + "@aelis/source-weatherkit": "workspace:*" + } +} diff --git a/packages/aris-feed-enhancers/src/index.ts b/packages/aelis-feed-enhancers/src/index.ts similarity index 100% rename from packages/aris-feed-enhancers/src/index.ts rename to packages/aelis-feed-enhancers/src/index.ts diff --git a/packages/aris-feed-enhancers/src/time-of-day-enhancer.test.ts b/packages/aelis-feed-enhancers/src/time-of-day-enhancer.test.ts similarity index 98% rename from packages/aris-feed-enhancers/src/time-of-day-enhancer.test.ts rename to packages/aelis-feed-enhancers/src/time-of-day-enhancer.test.ts index c45b160..e040793 100644 --- a/packages/aris-feed-enhancers/src/time-of-day-enhancer.test.ts +++ b/packages/aelis-feed-enhancers/src/time-of-day-enhancer.test.ts @@ -1,10 +1,10 @@ -import type { FeedItem, FeedItemSignals } from "@aris/core" +import type { FeedItem, FeedItemSignals } from "@aelis/core" -import { Context, TimeRelevance } from "@aris/core" -import { CalDavFeedItemType } from "@aris/source-caldav" -import { CalendarFeedItemType } from "@aris/source-google-calendar" -import { TflFeedItemType } from "@aris/source-tfl" -import { WeatherFeedItemType } from "@aris/source-weatherkit" +import { Context, TimeRelevance } from "@aelis/core" +import { CalDavFeedItemType } from "@aelis/source-caldav" +import { CalendarFeedItemType } from "@aelis/source-google-calendar" +import { TflFeedItemType } from "@aelis/source-tfl" +import { WeatherFeedItemType } from "@aelis/source-weatherkit" import { describe, expect, test } from "bun:test" import { diff --git a/packages/aris-feed-enhancers/src/time-of-day-enhancer.ts b/packages/aelis-feed-enhancers/src/time-of-day-enhancer.ts similarity index 97% rename from packages/aris-feed-enhancers/src/time-of-day-enhancer.ts rename to packages/aelis-feed-enhancers/src/time-of-day-enhancer.ts index e2b3dca..79fb05a 100644 --- a/packages/aris-feed-enhancers/src/time-of-day-enhancer.ts +++ b/packages/aelis-feed-enhancers/src/time-of-day-enhancer.ts @@ -1,15 +1,15 @@ -import type { Context, FeedEnhancement, FeedItem, FeedPostProcessor } from "@aris/core" +import type { Context, FeedEnhancement, FeedItem, FeedPostProcessor } from "@aelis/core" -import { TimeRelevance } from "@aris/core" +import { TimeRelevance } from "@aelis/core" -import type { CalDavEventData } from "@aris/source-caldav" -import type { CalendarEventData } from "@aris/source-google-calendar" -import type { CurrentWeatherData } from "@aris/source-weatherkit" +import type { CalDavEventData } from "@aelis/source-caldav" +import type { CalendarEventData } from "@aelis/source-google-calendar" +import type { CurrentWeatherData } from "@aelis/source-weatherkit" -import { CalDavFeedItemType } from "@aris/source-caldav" -import { CalendarFeedItemType } from "@aris/source-google-calendar" -import { TflFeedItemType } from "@aris/source-tfl" -import { WeatherFeedItemType } from "@aris/source-weatherkit" +import { CalDavFeedItemType } from "@aelis/source-caldav" +import { CalendarFeedItemType } from "@aelis/source-google-calendar" +import { TflFeedItemType } from "@aelis/source-tfl" +import { WeatherFeedItemType } from "@aelis/source-weatherkit" export const TimePeriod = { diff --git a/packages/aris-source-caldav/README.md b/packages/aelis-source-caldav/README.md similarity index 95% rename from packages/aris-source-caldav/README.md rename to packages/aelis-source-caldav/README.md index 275ce0a..93d4800 100644 --- a/packages/aris-source-caldav/README.md +++ b/packages/aelis-source-caldav/README.md @@ -1,11 +1,11 @@ -# @aris/source-caldav +# @aelis/source-caldav A FeedSource that fetches calendar events from any CalDAV server. ## Usage ```ts -import { CalDavSource } from "@aris/source-caldav" +import { CalDavSource } from "@aelis/source-caldav" // Basic auth (Nextcloud, Radicale, Baikal, iCloud, etc.) const source = new CalDavSource({ diff --git a/packages/aris-source-caldav/fixtures/all-day-event.ics b/packages/aelis-source-caldav/fixtures/all-day-event.ics similarity index 100% rename from packages/aris-source-caldav/fixtures/all-day-event.ics rename to packages/aelis-source-caldav/fixtures/all-day-event.ics diff --git a/packages/aris-source-caldav/fixtures/cancelled-event.ics b/packages/aelis-source-caldav/fixtures/cancelled-event.ics similarity index 100% rename from packages/aris-source-caldav/fixtures/cancelled-event.ics rename to packages/aelis-source-caldav/fixtures/cancelled-event.ics diff --git a/packages/aris-source-caldav/fixtures/daily-recurring-allday.ics b/packages/aelis-source-caldav/fixtures/daily-recurring-allday.ics similarity index 100% rename from packages/aris-source-caldav/fixtures/daily-recurring-allday.ics rename to packages/aelis-source-caldav/fixtures/daily-recurring-allday.ics diff --git a/packages/aris-source-caldav/fixtures/minimal-event.ics b/packages/aelis-source-caldav/fixtures/minimal-event.ics similarity index 100% rename from packages/aris-source-caldav/fixtures/minimal-event.ics rename to packages/aelis-source-caldav/fixtures/minimal-event.ics diff --git a/packages/aris-source-caldav/fixtures/recurring-event.ics b/packages/aelis-source-caldav/fixtures/recurring-event.ics similarity index 100% rename from packages/aris-source-caldav/fixtures/recurring-event.ics rename to packages/aelis-source-caldav/fixtures/recurring-event.ics diff --git a/packages/aris-source-caldav/fixtures/single-event.ics b/packages/aelis-source-caldav/fixtures/single-event.ics similarity index 100% rename from packages/aris-source-caldav/fixtures/single-event.ics rename to packages/aelis-source-caldav/fixtures/single-event.ics diff --git a/packages/aris-source-caldav/fixtures/weekly-recurring-with-exception.ics b/packages/aelis-source-caldav/fixtures/weekly-recurring-with-exception.ics similarity index 100% rename from packages/aris-source-caldav/fixtures/weekly-recurring-with-exception.ics rename to packages/aelis-source-caldav/fixtures/weekly-recurring-with-exception.ics diff --git a/packages/aris-source-caldav/fixtures/weekly-recurring.ics b/packages/aelis-source-caldav/fixtures/weekly-recurring.ics similarity index 100% rename from packages/aris-source-caldav/fixtures/weekly-recurring.ics rename to packages/aelis-source-caldav/fixtures/weekly-recurring.ics diff --git a/packages/aris-source-caldav/package.json b/packages/aelis-source-caldav/package.json similarity index 79% rename from packages/aris-source-caldav/package.json rename to packages/aelis-source-caldav/package.json index 1e69ffa..d52c9ee 100644 --- a/packages/aris-source-caldav/package.json +++ b/packages/aelis-source-caldav/package.json @@ -1,5 +1,5 @@ { - "name": "@aris/source-caldav", + "name": "@aelis/source-caldav", "version": "0.0.0", "type": "module", "main": "src/index.ts", @@ -9,7 +9,7 @@ "test:live": "bun run scripts/test-live.ts" }, "dependencies": { - "@aris/core": "workspace:*", + "@aelis/core": "workspace:*", "ical.js": "^2.1.0", "tsdav": "^2.1.7" } diff --git a/packages/aris-source-caldav/scripts/test-live.ts b/packages/aelis-source-caldav/scripts/test-live.ts similarity index 98% rename from packages/aris-source-caldav/scripts/test-live.ts rename to packages/aelis-source-caldav/scripts/test-live.ts index 3632210..0d77d13 100644 --- a/packages/aris-source-caldav/scripts/test-live.ts +++ b/packages/aelis-source-caldav/scripts/test-live.ts @@ -10,7 +10,7 @@ import { mkdirSync, writeFileSync } from "node:fs" import { join } from "node:path" -import { Context } from "@aris/core" +import { Context } from "@aelis/core" import { CalDavSource } from "../src/index.ts" diff --git a/packages/aris-source-caldav/src/caldav-source.test.ts b/packages/aelis-source-caldav/src/caldav-source.test.ts similarity index 99% rename from packages/aris-source-caldav/src/caldav-source.test.ts rename to packages/aelis-source-caldav/src/caldav-source.test.ts index 968a3a7..d725515 100644 --- a/packages/aris-source-caldav/src/caldav-source.test.ts +++ b/packages/aelis-source-caldav/src/caldav-source.test.ts @@ -1,6 +1,6 @@ -import type { ContextEntry } from "@aris/core" +import type { ContextEntry } from "@aelis/core" -import { Context, TimeRelevance } from "@aris/core" +import { Context, TimeRelevance } from "@aelis/core" import { describe, expect, test } from "bun:test" import { readFileSync } from "node:fs" import { join } from "node:path" @@ -76,7 +76,7 @@ describe("CalDavSource", () => { test("has correct id", () => { const client = new MockDAVClient([], {}) const source = createSource(client) - expect(source.id).toBe("aris.caldav") + expect(source.id).toBe("aelis.caldav") }) test("returns empty array when no calendars exist", async () => { diff --git a/packages/aris-source-caldav/src/caldav-source.ts b/packages/aelis-source-caldav/src/caldav-source.ts similarity index 97% rename from packages/aris-source-caldav/src/caldav-source.ts rename to packages/aelis-source-caldav/src/caldav-source.ts index 6736137..12b3211 100644 --- a/packages/aris-source-caldav/src/caldav-source.ts +++ b/packages/aelis-source-caldav/src/caldav-source.ts @@ -1,6 +1,6 @@ -import type { ActionDefinition, ContextEntry, FeedItemSignals, FeedSource } from "@aris/core" +import type { ActionDefinition, ContextEntry, FeedItemSignals, FeedSource } from "@aelis/core" -import { Context, TimeRelevance, UnknownActionError } from "@aris/core" +import { Context, TimeRelevance, UnknownActionError } from "@aelis/core" import { DAVClient } from "tsdav" import type { CalDavDAVClient, CalDavEventData, CalDavFeedItem } from "./types.ts" @@ -68,7 +68,7 @@ const DEFAULT_LOOK_AHEAD_DAYS = 0 * ``` */ export class CalDavSource implements FeedSource { - readonly id = "aris.caldav" + readonly id = "aelis.caldav" private options: CalDavSourceOptions | null private readonly lookAheadDays: number @@ -177,7 +177,7 @@ export class CalDavSource implements FeedSource { const allEvents: CalDavEventData[] = [] for (const result of results) { if (result.status === "rejected") { - console.warn("[aris.caldav] Failed to fetch calendar:", result.reason) + console.warn("[aelis.caldav] Failed to fetch calendar:", result.reason) continue } const { objects, calendarName } = result.value diff --git a/packages/aris-source-caldav/src/calendar-context.ts b/packages/aelis-source-caldav/src/calendar-context.ts similarity index 83% rename from packages/aris-source-caldav/src/calendar-context.ts rename to packages/aelis-source-caldav/src/calendar-context.ts index 95e149e..6c4ef6e 100644 --- a/packages/aris-source-caldav/src/calendar-context.ts +++ b/packages/aelis-source-caldav/src/calendar-context.ts @@ -1,6 +1,6 @@ -import type { ContextKey } from "@aris/core" +import type { ContextKey } from "@aelis/core" -import { contextKey } from "@aris/core" +import { contextKey } from "@aelis/core" import type { CalDavEventData } from "./types.ts" @@ -21,4 +21,4 @@ export interface CalendarContext { todayEventCount: number } -export const CalDavCalendarKey: ContextKey = contextKey("aris.caldav", "calendar") +export const CalDavCalendarKey: ContextKey = contextKey("aelis.caldav", "calendar") diff --git a/packages/aris-source-caldav/src/ical-parser.test.ts b/packages/aelis-source-caldav/src/ical-parser.test.ts similarity index 100% rename from packages/aris-source-caldav/src/ical-parser.test.ts rename to packages/aelis-source-caldav/src/ical-parser.test.ts diff --git a/packages/aris-source-caldav/src/ical-parser.ts b/packages/aelis-source-caldav/src/ical-parser.ts similarity index 98% rename from packages/aris-source-caldav/src/ical-parser.ts rename to packages/aelis-source-caldav/src/ical-parser.ts index 67e16e8..e8244dc 100644 --- a/packages/aris-source-caldav/src/ical-parser.ts +++ b/packages/aelis-source-caldav/src/ical-parser.ts @@ -125,7 +125,7 @@ export function parseICalEvents( while (next) { if (++iterations > MAX_RECURRENCE_ITERATIONS) { console.warn( - `[aris.caldav] Recurrence expansion for "${masterEvent.uid}" hit iteration limit (${MAX_RECURRENCE_ITERATIONS}), stopping`, + `[aelis.caldav] Recurrence expansion for "${masterEvent.uid}" hit iteration limit (${MAX_RECURRENCE_ITERATIONS}), stopping`, ) break } diff --git a/packages/aris-source-caldav/src/index.ts b/packages/aelis-source-caldav/src/index.ts similarity index 100% rename from packages/aris-source-caldav/src/index.ts rename to packages/aelis-source-caldav/src/index.ts diff --git a/packages/aris-source-caldav/src/types.ts b/packages/aelis-source-caldav/src/types.ts similarity index 98% rename from packages/aris-source-caldav/src/types.ts rename to packages/aelis-source-caldav/src/types.ts index 2575065..859dd0c 100644 --- a/packages/aris-source-caldav/src/types.ts +++ b/packages/aelis-source-caldav/src/types.ts @@ -1,4 +1,4 @@ -import type { FeedItem } from "@aris/core" +import type { FeedItem } from "@aelis/core" // -- Event status -- diff --git a/packages/aris-source-google-calendar/fixtures/events.json b/packages/aelis-source-google-calendar/fixtures/events.json similarity index 100% rename from packages/aris-source-google-calendar/fixtures/events.json rename to packages/aelis-source-google-calendar/fixtures/events.json diff --git a/packages/aris-source-google-calendar/package.json b/packages/aelis-source-google-calendar/package.json similarity index 70% rename from packages/aris-source-google-calendar/package.json rename to packages/aelis-source-google-calendar/package.json index af05f32..e42a7e0 100644 --- a/packages/aris-source-google-calendar/package.json +++ b/packages/aelis-source-google-calendar/package.json @@ -1,5 +1,5 @@ { - "name": "@aris/source-google-calendar", + "name": "@aelis/source-google-calendar", "version": "0.0.0", "type": "module", "main": "src/index.ts", @@ -8,7 +8,7 @@ "test": "bun test ." }, "dependencies": { - "@aris/core": "workspace:*", + "@aelis/core": "workspace:*", "arktype": "^2.1.0" } } diff --git a/packages/aris-source-google-calendar/src/calendar-context.ts b/packages/aelis-source-google-calendar/src/calendar-context.ts similarity index 61% rename from packages/aris-source-google-calendar/src/calendar-context.ts rename to packages/aelis-source-google-calendar/src/calendar-context.ts index c8133da..9543c1c 100644 --- a/packages/aris-source-google-calendar/src/calendar-context.ts +++ b/packages/aelis-source-google-calendar/src/calendar-context.ts @@ -1,6 +1,6 @@ -import type { ContextKey } from "@aris/core" +import type { ContextKey } from "@aelis/core" -import { contextKey } from "@aris/core" +import { contextKey } from "@aelis/core" export interface NextEvent { title: string @@ -10,4 +10,4 @@ export interface NextEvent { location: string | null } -export const NextEventKey: ContextKey = contextKey("aris.google-calendar", "nextEvent") +export const NextEventKey: ContextKey = contextKey("aelis.google-calendar", "nextEvent") diff --git a/packages/aris-source-google-calendar/src/feed-items.ts b/packages/aelis-source-google-calendar/src/feed-items.ts similarity index 92% rename from packages/aris-source-google-calendar/src/feed-items.ts rename to packages/aelis-source-google-calendar/src/feed-items.ts index f040717..28fa87d 100644 --- a/packages/aris-source-google-calendar/src/feed-items.ts +++ b/packages/aelis-source-google-calendar/src/feed-items.ts @@ -1,4 +1,4 @@ -import type { FeedItem } from "@aris/core" +import type { FeedItem } from "@aelis/core" import type { CalendarEventData } from "./types" diff --git a/packages/aris-source-google-calendar/src/google-calendar-api.ts b/packages/aelis-source-google-calendar/src/google-calendar-api.ts similarity index 100% rename from packages/aris-source-google-calendar/src/google-calendar-api.ts rename to packages/aelis-source-google-calendar/src/google-calendar-api.ts diff --git a/packages/aris-source-google-calendar/src/google-calendar-source.test.ts b/packages/aelis-source-google-calendar/src/google-calendar-source.test.ts similarity index 98% rename from packages/aris-source-google-calendar/src/google-calendar-source.test.ts rename to packages/aelis-source-google-calendar/src/google-calendar-source.test.ts index 2ddfe33..b4d073f 100644 --- a/packages/aris-source-google-calendar/src/google-calendar-source.test.ts +++ b/packages/aelis-source-google-calendar/src/google-calendar-source.test.ts @@ -1,4 +1,4 @@ -import { Context, TimeRelevance } from "@aris/core" +import { Context, TimeRelevance } from "@aelis/core" import { describe, expect, test } from "bun:test" import type { ApiCalendarEvent, GoogleCalendarClient, ListEventsOptions } from "./types" @@ -45,7 +45,7 @@ describe("GoogleCalendarSource", () => { describe("constructor", () => { test("has correct id", () => { const source = new GoogleCalendarSource({ client: defaultMockClient() }) - expect(source.id).toBe("aris.google-calendar") + expect(source.id).toBe("aelis.google-calendar") }) }) diff --git a/packages/aris-source-google-calendar/src/google-calendar-source.ts b/packages/aelis-source-google-calendar/src/google-calendar-source.ts similarity index 97% rename from packages/aris-source-google-calendar/src/google-calendar-source.ts rename to packages/aelis-source-google-calendar/src/google-calendar-source.ts index 2f43c02..1722a86 100644 --- a/packages/aris-source-google-calendar/src/google-calendar-source.ts +++ b/packages/aelis-source-google-calendar/src/google-calendar-source.ts @@ -1,6 +1,6 @@ -import type { ActionDefinition, ContextEntry, FeedItemSignals, FeedSource } from "@aris/core" +import type { ActionDefinition, ContextEntry, FeedItemSignals, FeedSource } from "@aelis/core" -import { Context, TimeRelevance, UnknownActionError } from "@aris/core" +import { Context, TimeRelevance, UnknownActionError } from "@aelis/core" import type { ApiCalendarEvent, @@ -65,7 +65,7 @@ const URGENCY_ALL_DAY = 0.4 * ``` */ export class GoogleCalendarSource implements FeedSource { - readonly id = "aris.google-calendar" + readonly id = "aelis.google-calendar" private readonly client: GoogleCalendarClient private readonly calendarIds: string[] | undefined diff --git a/packages/aris-source-google-calendar/src/index.ts b/packages/aelis-source-google-calendar/src/index.ts similarity index 100% rename from packages/aris-source-google-calendar/src/index.ts rename to packages/aelis-source-google-calendar/src/index.ts diff --git a/packages/aris-source-google-calendar/src/types.ts b/packages/aelis-source-google-calendar/src/types.ts similarity index 100% rename from packages/aris-source-google-calendar/src/types.ts rename to packages/aelis-source-google-calendar/src/types.ts diff --git a/packages/aris-source-location/README.md b/packages/aelis-source-location/README.md similarity index 84% rename from packages/aris-source-location/README.md rename to packages/aelis-source-location/README.md index 6a25fb0..8b7c351 100644 --- a/packages/aris-source-location/README.md +++ b/packages/aelis-source-location/README.md @@ -1,6 +1,6 @@ -# @aris/source-location +# @aelis/source-location -A FeedSource that provides location context to the ARIS feed graph. +A FeedSource that provides location context to the AELIS feed graph. ## Overview @@ -9,14 +9,14 @@ This source accepts external location pushes and does not query location itself. ## Installation ```bash -bun add @aris/source-location +bun add @aelis/source-location ``` ## Usage ```ts -import { LocationSource, LocationKey, type Location } from "@aris/source-location" -import { contextValue } from "@aris/core" +import { LocationSource, LocationKey, type Location } from "@aelis/source-location" +import { contextValue } from "@aelis/core" // Create source with default history size (1) const locationSource = new LocationSource() @@ -42,8 +42,8 @@ locationSource.locationHistory // readonly Location[] ### With FeedController ```ts -import { FeedController } from "@aris/core" -import { LocationSource } from "@aris/source-location" +import { FeedController } from "@aelis/core" +import { LocationSource } from "@aelis/source-location" const locationSource = new LocationSource() @@ -63,8 +63,8 @@ locationSource.pushLocation({ ### Reading Location in Downstream Sources ```ts -import { contextValue, type FeedSource } from "@aris/core" -import { LocationKey } from "@aris/source-location" +import { contextValue, type FeedSource } from "@aelis/core" +import { LocationKey } from "@aelis/source-location" const weatherSource: FeedSource = { id: "weather", diff --git a/packages/aris-source-location/package.json b/packages/aelis-source-location/package.json similarity index 73% rename from packages/aris-source-location/package.json rename to packages/aelis-source-location/package.json index bd7c59c..58b56f4 100644 --- a/packages/aris-source-location/package.json +++ b/packages/aelis-source-location/package.json @@ -1,5 +1,5 @@ { - "name": "@aris/source-location", + "name": "@aelis/source-location", "version": "0.0.0", "type": "module", "main": "src/index.ts", @@ -8,7 +8,7 @@ "test": "bun test src/" }, "dependencies": { - "@aris/core": "workspace:*", + "@aelis/core": "workspace:*", "arktype": "^2.1.0" } } diff --git a/packages/aris-source-location/src/index.ts b/packages/aelis-source-location/src/index.ts similarity index 100% rename from packages/aris-source-location/src/index.ts rename to packages/aelis-source-location/src/index.ts diff --git a/packages/aris-source-location/src/location-source.test.ts b/packages/aelis-source-location/src/location-source.test.ts similarity index 99% rename from packages/aris-source-location/src/location-source.test.ts rename to packages/aelis-source-location/src/location-source.test.ts index 8e287a2..8dbcc4e 100644 --- a/packages/aris-source-location/src/location-source.test.ts +++ b/packages/aelis-source-location/src/location-source.test.ts @@ -18,7 +18,7 @@ describe("LocationSource", () => { describe("FeedSource interface", () => { test("has correct id", () => { const source = new LocationSource() - expect(source.id).toBe("aris.location") + expect(source.id).toBe("aelis.location") }) test("fetchItems always returns empty array", async () => { diff --git a/packages/aris-source-location/src/location-source.ts b/packages/aelis-source-location/src/location-source.ts similarity index 93% rename from packages/aris-source-location/src/location-source.ts rename to packages/aelis-source-location/src/location-source.ts index 78f9cfc..7d959a9 100644 --- a/packages/aris-source-location/src/location-source.ts +++ b/packages/aelis-source-location/src/location-source.ts @@ -1,11 +1,11 @@ -import type { ActionDefinition, ContextEntry, FeedSource } from "@aris/core" +import type { ActionDefinition, ContextEntry, FeedSource } from "@aelis/core" -import { Context, UnknownActionError, contextKey, type ContextKey } from "@aris/core" +import { Context, UnknownActionError, contextKey, type ContextKey } from "@aelis/core" import { type } from "arktype" import { Location, type LocationSourceOptions } from "./types.ts" -export const LocationKey: ContextKey = contextKey("aris.location", "location") +export const LocationKey: ContextKey = contextKey("aelis.location", "location") /** * A FeedSource that provides location context. @@ -16,7 +16,7 @@ export const LocationKey: ContextKey = contextKey("aris.location", "lo * Does not produce feed items - always returns empty array from `fetchItems`. */ export class LocationSource implements FeedSource { - readonly id = "aris.location" + readonly id = "aelis.location" private readonly historySize: number private locations: Location[] = [] diff --git a/packages/aris-source-location/src/types.ts b/packages/aelis-source-location/src/types.ts similarity index 100% rename from packages/aris-source-location/src/types.ts rename to packages/aelis-source-location/src/types.ts diff --git a/packages/aris-source-tfl/fixtures/tfl-responses.json b/packages/aelis-source-tfl/fixtures/tfl-responses.json similarity index 100% rename from packages/aris-source-tfl/fixtures/tfl-responses.json rename to packages/aelis-source-tfl/fixtures/tfl-responses.json diff --git a/packages/aris-source-tfl/package.json b/packages/aelis-source-tfl/package.json similarity index 69% rename from packages/aris-source-tfl/package.json rename to packages/aelis-source-tfl/package.json index 4b2c5b4..579f415 100644 --- a/packages/aris-source-tfl/package.json +++ b/packages/aelis-source-tfl/package.json @@ -1,5 +1,5 @@ { - "name": "@aris/source-tfl", + "name": "@aelis/source-tfl", "version": "0.0.0", "type": "module", "main": "src/index.ts", @@ -9,8 +9,8 @@ "fetch-fixtures": "bun run scripts/fetch-fixtures.ts" }, "dependencies": { - "@aris/core": "workspace:*", - "@aris/source-location": "workspace:*", + "@aelis/core": "workspace:*", + "@aelis/source-location": "workspace:*", "arktype": "^2.1.0" } } diff --git a/packages/aris-source-tfl/scripts/fetch-fixtures.ts b/packages/aelis-source-tfl/scripts/fetch-fixtures.ts similarity index 100% rename from packages/aris-source-tfl/scripts/fetch-fixtures.ts rename to packages/aelis-source-tfl/scripts/fetch-fixtures.ts diff --git a/packages/aris-source-tfl/src/index.ts b/packages/aelis-source-tfl/src/index.ts similarity index 100% rename from packages/aris-source-tfl/src/index.ts rename to packages/aelis-source-tfl/src/index.ts diff --git a/packages/aris-source-tfl/src/tfl-api.ts b/packages/aelis-source-tfl/src/tfl-api.ts similarity index 100% rename from packages/aris-source-tfl/src/tfl-api.ts rename to packages/aelis-source-tfl/src/tfl-api.ts diff --git a/packages/aris-source-tfl/src/tfl-source.test.ts b/packages/aelis-source-tfl/src/tfl-source.test.ts similarity index 98% rename from packages/aris-source-tfl/src/tfl-source.test.ts rename to packages/aelis-source-tfl/src/tfl-source.test.ts index cbd368a..b52d42b 100644 --- a/packages/aris-source-tfl/src/tfl-source.test.ts +++ b/packages/aelis-source-tfl/src/tfl-source.test.ts @@ -1,5 +1,5 @@ -import { Context } from "@aris/core" -import { LocationKey, type Location } from "@aris/source-location" +import { Context } from "@aelis/core" +import { LocationKey, type Location } from "@aelis/source-location" import { describe, expect, test } from "bun:test" import type { @@ -93,12 +93,12 @@ describe("TflSource", () => { describe("interface", () => { test("has correct id", () => { const source = new TflSource({ client: api }) - expect(source.id).toBe("aris.tfl") + expect(source.id).toBe("aelis.tfl") }) test("depends on location", () => { const source = new TflSource({ client: api }) - expect(source.dependencies).toEqual(["aris.location"]) + expect(source.dependencies).toEqual(["aelis.location"]) }) test("implements fetchItems", () => { diff --git a/packages/aris-source-tfl/src/tfl-source.ts b/packages/aelis-source-tfl/src/tfl-source.ts similarity index 95% rename from packages/aris-source-tfl/src/tfl-source.ts rename to packages/aelis-source-tfl/src/tfl-source.ts index aa6f1bc..3d2ecb8 100644 --- a/packages/aris-source-tfl/src/tfl-source.ts +++ b/packages/aelis-source-tfl/src/tfl-source.ts @@ -1,7 +1,7 @@ -import type { ActionDefinition, ContextEntry, FeedItemSignals, FeedSource } from "@aris/core" +import type { ActionDefinition, ContextEntry, FeedItemSignals, FeedSource } from "@aelis/core" -import { Context, TimeRelevance, UnknownActionError } from "@aris/core" -import { LocationKey } from "@aris/source-location" +import { Context, TimeRelevance, UnknownActionError } from "@aelis/core" +import { LocationKey } from "@aelis/source-location" import { type } from "arktype" import type { @@ -73,8 +73,8 @@ export class TflSource implements FeedSource { "elizabeth", ] - readonly id = "aris.tfl" - readonly dependencies = ["aris.location"] + readonly id = "aelis.tfl" + readonly dependencies = ["aelis.location"] private readonly client: ITflApi private lines: TflLineId[] diff --git a/packages/aris-source-tfl/src/types.ts b/packages/aelis-source-tfl/src/types.ts similarity index 96% rename from packages/aris-source-tfl/src/types.ts rename to packages/aelis-source-tfl/src/types.ts index 09f1246..f6f368c 100644 --- a/packages/aris-source-tfl/src/types.ts +++ b/packages/aelis-source-tfl/src/types.ts @@ -1,4 +1,4 @@ -import type { FeedItem } from "@aris/core" +import type { FeedItem } from "@aelis/core" import type { TflLineId } from "./tfl-api.ts" diff --git a/packages/aris-source-weatherkit/README.md b/packages/aelis-source-weatherkit/README.md similarity index 88% rename from packages/aris-source-weatherkit/README.md rename to packages/aelis-source-weatherkit/README.md index bd44a95..f21b96f 100644 --- a/packages/aris-source-weatherkit/README.md +++ b/packages/aelis-source-weatherkit/README.md @@ -1,4 +1,4 @@ -# @aris/source-weatherkit +# @aelis/source-weatherkit Weather feed source using Apple WeatherKit API. @@ -7,7 +7,7 @@ Weather feed source using Apple WeatherKit API. ### Basic Setup ```ts -import { WeatherSource, Units } from "@aris/source-weatherkit" +import { WeatherSource, Units } from "@aelis/source-weatherkit" const weatherSource = new WeatherSource({ credentials: { @@ -23,8 +23,8 @@ const weatherSource = new WeatherSource({ ### With Feed Source Graph ```ts -import { LocationSource } from "@aris/source-location" -import { WeatherSource } from "@aris/source-weatherkit" +import { LocationSource } from "@aelis/source-location" +import { WeatherSource } from "@aelis/source-weatherkit" const locationSource = new LocationSource() const weatherSource = new WeatherSource({ credentials }) @@ -38,8 +38,8 @@ const sources = [locationSource, weatherSource] Downstream sources can access weather data: ```ts -import { contextValue } from "@aris/core" -import { WeatherKey } from "@aris/source-weatherkit" +import { contextValue } from "@aelis/core" +import { WeatherKey } from "@aelis/source-weatherkit" async function fetchContext(context: Context) { const weather = contextValue(context, WeatherKey) diff --git a/packages/aris-source-weatherkit/fixtures/san-francisco.json b/packages/aelis-source-weatherkit/fixtures/san-francisco.json similarity index 100% rename from packages/aris-source-weatherkit/fixtures/san-francisco.json rename to packages/aelis-source-weatherkit/fixtures/san-francisco.json diff --git a/packages/aris-source-weatherkit/package.json b/packages/aelis-source-weatherkit/package.json similarity index 61% rename from packages/aris-source-weatherkit/package.json rename to packages/aelis-source-weatherkit/package.json index 56b7b80..1a7b7d3 100644 --- a/packages/aris-source-weatherkit/package.json +++ b/packages/aelis-source-weatherkit/package.json @@ -1,5 +1,5 @@ { - "name": "@aris/source-weatherkit", + "name": "@aelis/source-weatherkit", "version": "0.0.0", "type": "module", "main": "src/index.ts", @@ -8,8 +8,8 @@ "test": "bun test ." }, "dependencies": { - "@aris/core": "workspace:*", - "@aris/source-location": "workspace:*", + "@aelis/core": "workspace:*", + "@aelis/source-location": "workspace:*", "arktype": "^2.1.0" } } diff --git a/packages/aris-source-weatherkit/scripts/query.ts b/packages/aelis-source-weatherkit/scripts/query.ts similarity index 97% rename from packages/aris-source-weatherkit/scripts/query.ts rename to packages/aelis-source-weatherkit/scripts/query.ts index 54c5e75..07605d4 100644 --- a/packages/aris-source-weatherkit/scripts/query.ts +++ b/packages/aelis-source-weatherkit/scripts/query.ts @@ -6,15 +6,15 @@ * then prints the raw API response and processed feed items. * Caches credentials locally and writes response JSON to a file. * - * Usage: bun packages/aris-source-weatherkit/scripts/query.ts + * Usage: bun packages/aelis-source-weatherkit/scripts/query.ts */ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs" import { join } from "node:path" import { createInterface } from "node:readline/promises" -import { Context } from "@aris/core" -import { LocationKey } from "@aris/source-location" +import { Context } from "@aelis/core" +import { LocationKey } from "@aelis/source-location" import { DefaultWeatherKitClient } from "../src/weatherkit" import { WeatherSource, Units } from "../src/weather-source" diff --git a/packages/aris-source-weatherkit/src/feed-items.ts b/packages/aelis-source-weatherkit/src/feed-items.ts similarity index 98% rename from packages/aris-source-weatherkit/src/feed-items.ts rename to packages/aelis-source-weatherkit/src/feed-items.ts index b118642..3b4ca10 100644 --- a/packages/aris-source-weatherkit/src/feed-items.ts +++ b/packages/aelis-source-weatherkit/src/feed-items.ts @@ -1,4 +1,4 @@ -import type { FeedItem } from "@aris/core" +import type { FeedItem } from "@aelis/core" import type { Certainty, ConditionCode, PrecipitationType, Severity, Urgency } from "./weatherkit" diff --git a/packages/aris-source-weatherkit/src/index.ts b/packages/aelis-source-weatherkit/src/index.ts similarity index 100% rename from packages/aris-source-weatherkit/src/index.ts rename to packages/aelis-source-weatherkit/src/index.ts diff --git a/packages/aris-source-weatherkit/src/prompts/current-weather-insight.txt b/packages/aelis-source-weatherkit/src/prompts/current-weather-insight.txt similarity index 100% rename from packages/aris-source-weatherkit/src/prompts/current-weather-insight.txt rename to packages/aelis-source-weatherkit/src/prompts/current-weather-insight.txt diff --git a/packages/aris-source-weatherkit/src/weather-context.ts b/packages/aelis-source-weatherkit/src/weather-context.ts similarity index 73% rename from packages/aris-source-weatherkit/src/weather-context.ts rename to packages/aelis-source-weatherkit/src/weather-context.ts index eadf53e..f758160 100644 --- a/packages/aris-source-weatherkit/src/weather-context.ts +++ b/packages/aelis-source-weatherkit/src/weather-context.ts @@ -1,6 +1,6 @@ -import type { ContextKey } from "@aris/core" +import type { ContextKey } from "@aelis/core" -import { contextKey } from "@aris/core" +import { contextKey } from "@aelis/core" import type { ConditionCode } from "./weatherkit" @@ -24,4 +24,4 @@ export interface Weather { daylight: boolean } -export const WeatherKey: ContextKey = contextKey("aris.weather", "weather") +export const WeatherKey: ContextKey = contextKey("aelis.weather", "weather") diff --git a/packages/aris-source-weatherkit/src/weather-source.test.ts b/packages/aelis-source-weatherkit/src/weather-source.test.ts similarity index 96% rename from packages/aris-source-weatherkit/src/weather-source.test.ts rename to packages/aelis-source-weatherkit/src/weather-source.test.ts index 90ab54a..8d5f763 100644 --- a/packages/aris-source-weatherkit/src/weather-source.test.ts +++ b/packages/aelis-source-weatherkit/src/weather-source.test.ts @@ -1,7 +1,7 @@ -import type { FeedSource } from "@aris/core" +import type { FeedSource } from "@aelis/core" -import { Context } from "@aris/core" -import { LocationKey } from "@aris/source-location" +import { Context } from "@aelis/core" +import { LocationKey } from "@aelis/source-location" import { describe, expect, test } from "bun:test" import type { WeatherKitClient, WeatherKitResponse } from "./weatherkit" @@ -36,12 +36,12 @@ describe("WeatherSource", () => { describe("properties", () => { test("has correct id", () => { const source = new WeatherSource({ credentials: mockCredentials }) - expect(source.id).toBe("aris.weather") + expect(source.id).toBe("aelis.weather") }) test("depends on location", () => { const source = new WeatherSource({ credentials: mockCredentials }) - expect(source.dependencies).toEqual(["aris.location"]) + expect(source.dependencies).toEqual(["aelis.location"]) }) test("throws error if neither client nor credentials provided", () => { diff --git a/packages/aris-source-weatherkit/src/weather-source.ts b/packages/aelis-source-weatherkit/src/weather-source.ts similarity index 97% rename from packages/aris-source-weatherkit/src/weather-source.ts rename to packages/aelis-source-weatherkit/src/weather-source.ts index 7e820d7..bdf0237 100644 --- a/packages/aris-source-weatherkit/src/weather-source.ts +++ b/packages/aelis-source-weatherkit/src/weather-source.ts @@ -1,7 +1,7 @@ -import type { ActionDefinition, ContextEntry, FeedItemSignals, FeedSource } from "@aris/core" +import type { ActionDefinition, ContextEntry, FeedItemSignals, FeedSource } from "@aelis/core" -import { Context, TimeRelevance, UnknownActionError } from "@aris/core" -import { LocationKey } from "@aris/source-location" +import { Context, TimeRelevance, UnknownActionError } from "@aelis/core" +import { LocationKey } from "@aelis/source-location" import { WeatherFeedItemType, type WeatherFeedItem } from "./feed-items" import currentWeatherInsightPrompt from "./prompts/current-weather-insight.txt" @@ -94,8 +94,8 @@ const MODERATE_CONDITIONS = new Set([ * ``` */ export class WeatherSource implements FeedSource { - readonly id = "aris.weather" - readonly dependencies = ["aris.location"] + readonly id = "aelis.weather" + readonly dependencies = ["aelis.location"] private readonly client: WeatherKitClient private readonly hourlyLimit: number diff --git a/packages/aris-source-weatherkit/src/weatherkit.ts b/packages/aelis-source-weatherkit/src/weatherkit.ts similarity index 100% rename from packages/aris-source-weatherkit/src/weatherkit.ts rename to packages/aelis-source-weatherkit/src/weatherkit.ts diff --git a/packages/aris-feed-enhancers/package.json b/packages/aris-feed-enhancers/package.json deleted file mode 100644 index 03a838d..0000000 --- a/packages/aris-feed-enhancers/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "@aris/feed-enhancers", - "version": "0.0.0", - "type": "module", - "main": "src/index.ts", - "types": "src/index.ts", - "scripts": { - "test": "bun test src/" - }, - "dependencies": { - "@aris/core": "workspace:*", - "@aris/source-caldav": "workspace:*", - "@aris/source-google-calendar": "workspace:*", - "@aris/source-tfl": "workspace:*", - "@aris/source-weatherkit": "workspace:*" - } -}