From 9165a50a2be095c6c964b391906010323cf4034f Mon Sep 17 00:00:00 2001 From: Adrian Valentim Date: Wed, 5 Aug 2026 13:36:06 -0300 Subject: [PATCH 1/8] Add Tauri desktop app --- .gitignore | 2 + App/README.md | 127 +- App/backend/package.json | 3 +- App/backend/src/schedule.ts | 307 +- App/backend/src/search.ts | 231 +- App/backend/src/stats.ts | 124 +- App/backend/src/workspace.ts | 343 +- App/backend/test/vault.test.mjs | 96 + App/frontend/package.json | 7 +- App/frontend/pnpm-lock.yaml | 65 +- App/frontend/src/App.tsx | 191 +- App/frontend/src/lib/api.ts | 43 +- App/frontend/src/lib/desktop.ts | 183 + App/frontend/vite.config.ts | 1 + App/package.json | 9 +- App/pnpm-lock.yaml | 121 + App/scripts/tauri.mjs | 54 + App/shared/schedule.ts | 286 ++ App/shared/stats.ts | 116 + App/shared/vault.ts | 484 +++ App/src-tauri/.cargo/config.toml | 2 + App/src-tauri/Cargo.lock | 4657 +++++++++++++++++++++ App/src-tauri/Cargo.toml | 20 + App/src-tauri/build.rs | 3 + App/src-tauri/capabilities/default.json | 16 + App/src-tauri/icons/128x128.png | Bin 0 -> 6704 bytes App/src-tauri/icons/128x128@2x.png | Bin 0 -> 13171 bytes App/src-tauri/icons/32x32.png | Bin 0 -> 1567 bytes App/src-tauri/icons/64x64.png | Bin 0 -> 3261 bytes App/src-tauri/icons/Square107x107Logo.png | Bin 0 -> 5699 bytes App/src-tauri/icons/Square142x142Logo.png | Bin 0 -> 7566 bytes App/src-tauri/icons/Square150x150Logo.png | Bin 0 -> 7901 bytes App/src-tauri/icons/Square284x284Logo.png | Bin 0 -> 14932 bytes App/src-tauri/icons/Square30x30Logo.png | Bin 0 -> 1465 bytes App/src-tauri/icons/Square310x310Logo.png | Bin 0 -> 15993 bytes App/src-tauri/icons/Square44x44Logo.png | Bin 0 -> 2193 bytes App/src-tauri/icons/Square71x71Logo.png | Bin 0 -> 3641 bytes App/src-tauri/icons/Square89x89Logo.png | Bin 0 -> 4551 bytes App/src-tauri/icons/StoreLogo.png | Bin 0 -> 2615 bytes App/src-tauri/icons/app-icon.svg | 17 + App/src-tauri/icons/icon.icns | Bin 0 -> 157945 bytes App/src-tauri/icons/icon.ico | Bin 0 -> 25353 bytes App/src-tauri/icons/icon.png | Bin 0 -> 27065 bytes App/src-tauri/src/lib.rs | 10 + App/src-tauri/src/main.rs | 3 + App/src-tauri/tauri.conf.json | 38 + README.md | 20 +- 47 files changed, 6593 insertions(+), 986 deletions(-) create mode 100644 App/backend/test/vault.test.mjs create mode 100644 App/frontend/src/lib/desktop.ts create mode 100644 App/scripts/tauri.mjs create mode 100644 App/shared/schedule.ts create mode 100644 App/shared/stats.ts create mode 100644 App/shared/vault.ts create mode 100644 App/src-tauri/.cargo/config.toml create mode 100644 App/src-tauri/Cargo.lock create mode 100644 App/src-tauri/Cargo.toml create mode 100644 App/src-tauri/build.rs create mode 100644 App/src-tauri/capabilities/default.json create mode 100644 App/src-tauri/icons/128x128.png create mode 100644 App/src-tauri/icons/128x128@2x.png create mode 100644 App/src-tauri/icons/32x32.png create mode 100644 App/src-tauri/icons/64x64.png create mode 100644 App/src-tauri/icons/Square107x107Logo.png create mode 100644 App/src-tauri/icons/Square142x142Logo.png create mode 100644 App/src-tauri/icons/Square150x150Logo.png create mode 100644 App/src-tauri/icons/Square284x284Logo.png create mode 100644 App/src-tauri/icons/Square30x30Logo.png create mode 100644 App/src-tauri/icons/Square310x310Logo.png create mode 100644 App/src-tauri/icons/Square44x44Logo.png create mode 100644 App/src-tauri/icons/Square71x71Logo.png create mode 100644 App/src-tauri/icons/Square89x89Logo.png create mode 100644 App/src-tauri/icons/StoreLogo.png create mode 100644 App/src-tauri/icons/app-icon.svg create mode 100644 App/src-tauri/icons/icon.icns create mode 100644 App/src-tauri/icons/icon.ico create mode 100644 App/src-tauri/icons/icon.png create mode 100644 App/src-tauri/src/lib.rs create mode 100644 App/src-tauri/src/main.rs create mode 100644 App/src-tauri/tauri.conf.json diff --git a/.gitignore b/.gitignore index 297ea5d..4dbd05d 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,8 @@ dist/ build/ *.tsbuildinfo .vite/ +App/src-tauri/target/ +App/src-tauri/gen/schemas/ # Editor / IDE .idea/ diff --git a/App/README.md b/App/README.md index 4fb1fa2..7e87b2f 100644 --- a/App/README.md +++ b/App/README.md @@ -1,13 +1,64 @@ # Effortful Learning Tracker App -This folder contains the local read-only tracker app for an Effortful Learning -workspace. +This folder contains the read-only tracker for an Effortful Learning workspace. +The recommended interface is now a Tauri 2 desktop app; the original local +browser/server mode remains available. -The filesystem workspace remains the source of truth. In a public checkout the -app falls back to `../Learning.example`; on your own machine it can read a -private vault from `../Learning` or from `LEARNING_WORKSPACE`. +The learning vault stays outside the application and remains the source of +truth. There is no database and the app has no command that can write learning +content. -## Workspace Resolution +## Run the Desktop App + +Install Node.js, pnpm, and Rust, then from this folder run: + +```bash +pnpm install:all +pnpm desktop:dev +``` + +On first launch, choose the `Learning` folder that contains `books/`. The +folder-picker grant is remembered across launches. Access is recursive within +that selected folder, but the Tauri capability contains only read, metadata, +and watch permissions. + +An open window watches `books/` and `cross-book/`. When Codex, Claude Code, or +another process updates a valid vault file, the current views silently reload. +Changing app code during `desktop:dev` uses Vite's normal hot reload. + +Useful commands: + +```bash +pnpm desktop:check +pnpm desktop:build --no-bundle +pnpm desktop:build --bundles app --no-sign +``` + +The wrapper in `scripts/tauri.mjs` places Cargo's disposable build cache in the +operating system's temporary directory. This avoids macOS AppleDouble metadata +problems when the repository lives on an external volume. Set +`CARGO_TARGET_DIR` yourself to override that location. + +## Distribution + +`desktop:build` produces the native artifact for the operating system on which +it runs. macOS, Windows, and Linux all use the same React interface and shared +TypeScript vault core; each platform still needs its own native toolchain and +release build. + +For personal local use on macOS, an unsigned `.app` build is enough. Giving the +app to other Mac users cleanly requires an Apple Developer identity, signing, +and notarization. A future release workflow can build signed installers on each +platform and add Tauri's updater; that updater is not part of this first desktop +milestone. + +## Browser/Server Mode + +Run both the Fastify backend and Vite frontend with: + +```bash +pnpm dev +``` The backend resolves the workspace in this order: @@ -16,43 +67,53 @@ The backend resolves the workspace in this order: 3. `../Learning.example/.system/config.json` 4. `~/learning` -This lets the public repo ship a safe demo while private notes stay outside the -public history. +This mode is useful for ordinary browser development and remains behaviorally +aligned with the desktop app because both use the same shared vault core. + +## Architecture -## Shape +- `frontend/`: the React/Vite interface plus a Tauri filesystem adapter and the + original HTTP adapter. +- `shared/`: filesystem-independent parsing, search, scheduling, statistics, + and types used by both application modes. +- `backend/`: the optional Fastify file-serving API and its Node filesystem + adapter. +- `src-tauri/`: the small Rust shell, desktop capabilities, plugins, bundle + configuration, and icons. -- `backend/`: local file-serving API that reads the learning workspace and exposes JSON. -- `frontend/`: React interface for the views below, plus Book Detail and a - full-log reading panel. -- `shared/`: shared types and parsing helpers, if useful. +Rust owns the native window and operating-system permissions. Product behavior +stays in TypeScript, so most interface and learning-system changes use the same +React workflow as before. ## Views -- **Today ("The Desk")**: the landing view. A review queue of segments whose - memory is due for another retrieval pass, the next pipeline move per book, - reviews coming due within a week, and the week's effort at a glance. +- **Today ("The Desk")**: review queue, pipeline moves, upcoming reviews, and + the week's effort. - **Library**: the shelves. -- **Board**: kanban of books by status. -- **Chronicle**: the session timeline. Each entry links to the full log. -- **Ledger**: charts — weekly effort, retention over time (from `outcomes` - scores in log frontmatter), stage distribution, and a per-book difficulty - ledger. +- **Board**: books grouped by status. +- **Chronicle**: the session timeline with full-log reading. +- **Ledger**: weekly effort, retention, stage distribution, and difficulty. + +Search the whole vault with `Cmd+K` on macOS or `Ctrl+K` on Windows and Linux. + +## Validation -Search the whole vault (sources, logs, reconstructions, cards, notes) with -`⌘K` / `Ctrl+K`. +```bash +pnpm -C backend test +pnpm -C frontend build +pnpm desktop:check +``` -## The Review Schedule +The backend test exercises the public synthetic workspace end to end. Desktop +build validation checks the Tauri permission manifest and native shell. -The scheduler writes nothing. For each segment it derives, from the logs -alone: how many retrieval sessions have happened, when the segment was last -touched, and how the latest retrieval went (`outcomes` frontmatter). The next -review date is an interval ladder (3, 7, 21, 60, 120 days) scaled by segment -difficulty and by the last measured recall. Because it is derived, deleting or -editing a log automatically corrects the schedule. +## Review Schedule and Constraints -## Constraints +The scheduler writes nothing. It derives review dates from book metadata and +session logs, including retrieval count, difficulty, and recorded outcomes. +Editing or deleting a log therefore corrects the schedule on the next refresh. - No database. - No AI API calls. -- The filesystem workspace remains the source of truth. -- The app may read files and render state, but should not modify learning content. +- No learning-content write permissions. +- No private learning data in this public repository. diff --git a/App/backend/package.json b/App/backend/package.json index d4421ca..3ea7f40 100644 --- a/App/backend/package.json +++ b/App/backend/package.json @@ -6,7 +6,8 @@ "scripts": { "dev": "tsx watch src/index.ts", "build": "tsc", - "start": "node dist/index.js" + "test": "pnpm build && node --test test/vault.test.mjs", + "start": "node dist/backend/src/index.js" }, "dependencies": { "@fastify/cors": "^10.0.1", diff --git a/App/backend/src/schedule.ts b/App/backend/src/schedule.ts index 6834d82..777e999 100644 --- a/App/backend/src/schedule.ts +++ b/App/backend/src/schedule.ts @@ -1,300 +1,21 @@ -import type { - BookSummary, - PipelineItem, - ReviewItem, - Segment, - SessionLog, - TodayPayload, -} from "../../shared/types.js"; +import type { TodayPayload } from "../../shared/types.js"; +import { + buildTodayFrom, + intervalDays, + localToday, + logMatchesSegment, + parseDurationMinutes, +} from "../../shared/schedule.js"; import { readAllBooks, readAllLogs } from "./workspace.js"; -// --------------------------------------------------------------------------- -// Review scheduling, fully derived from the vault. The filesystem stays the -// source of truth: nothing here writes state, so the schedule can never -// disagree with the logs it is computed from. -// -// A segment becomes reviewable once it has at least one retrieval-type -// session. Each further retrieval pushes it up an interval ladder; the -// interval is then scaled by how hard the segment is and by how well the -// last retrieval actually went (when the log recorded outcomes). - -const RETRIEVAL_TYPES = new Set([ - "interrogation", - "reconstruction-review", - "recall", - "feynman", - "examination", -]); - -/** Days until the next review, by number of completed retrievals (1-based). */ -const BASE_INTERVALS = [3, 7, 21, 60, 120]; - -const DAY_MS = 86_400_000; - -function clamp(v: number, lo: number, hi: number): number { - return Math.min(hi, Math.max(lo, v)); -} - -function toDayNumber(iso: string): number | null { - const t = Date.parse(iso); - return Number.isNaN(t) ? null : Math.floor(t / DAY_MS); -} - -function dayNumberToISO(day: number): string { - return new Date(day * DAY_MS).toISOString().slice(0, 10); -} - -/** Local calendar date as YYYY-MM-DD (log dates are naive local dates too). */ -export function localToday(now = new Date()): string { - const y = now.getFullYear(); - const m = String(now.getMonth() + 1).padStart(2, "0"); - const d = String(now.getDate()).padStart(2, "0"); - return `${y}-${m}-${d}`; -} - -/** A log's segment field may be "01-loops", "loops", or "01". */ -export function logMatchesSegment(ref: string | undefined, seg: Segment): boolean { - if (!ref) return false; - return ref === seg.slug || ref === seg.id || ref === `${seg.id}-${seg.slug}`; -} - -function meanOutcome(outcomes: Record | undefined): number | null { - if (!outcomes) return null; - const values = Object.values(outcomes); - if (values.length === 0) return null; - return values.reduce((a, b) => a + b, 0) / values.length; -} - -export function intervalDays( - retrievalCount: number, - difficulty: number, - lastOutcome: number | null, -): number { - const base = - BASE_INTERVALS[clamp(retrievalCount, 1, BASE_INTERVALS.length) - 1]; - // Difficulty 0 stretches the interval 1.5×, difficulty 1 halves it. - let factor = clamp(1.5 - difficulty, 0.5, 1.5); - // A measured outcome refines the estimate: 0.5 is neutral, 1.0 stretches, - // 0.0 halves. Without outcomes the difficulty rating stands alone. - if (lastOutcome !== null) { - factor *= clamp(0.5 + lastOutcome, 0.5, 1.5); - } - return Math.max(1, Math.round(base * factor)); -} - -interface SegmentReviewState { - lastTouchedDay: number; - lastTouchedISO: string; - retrievalCount: number; - lastOutcome: number | null; -} - -function reviewStateFor(seg: Segment, bookLogs: SessionLog[]): SegmentReviewState | null { - let lastTouchedDay = -Infinity; - let lastTouchedISO = ""; - let retrievalCount = 0; - let lastRetrievalDay = -Infinity; - let lastOutcome: number | null = null; - - for (const log of bookLogs) { - if (!logMatchesSegment(log.segment, seg)) continue; - const day = toDayNumber(log.date); - if (day === null) continue; - if (day > lastTouchedDay) { - lastTouchedDay = day; - lastTouchedISO = log.date; - } - if (RETRIEVAL_TYPES.has(log.type)) { - retrievalCount++; - if (day >= lastRetrievalDay) { - lastRetrievalDay = day; - const mean = meanOutcome(log.outcomes); - if (mean !== null) lastOutcome = mean; - } - } - } - - if (retrievalCount === 0 || !Number.isFinite(lastTouchedDay)) return null; - return { lastTouchedDay, lastTouchedISO, retrievalCount, lastOutcome }; -} - -const STAGE_ACTION: Record< - Segment["stage"], - { action: string; prompt?: string } | null -> = { - unread: { action: "Read" }, - read: { action: "Interrogate", prompt: "interrogation" }, - interrogated: { action: "Reconstruct from memory", prompt: "reconstruction-review" }, - reconstructed: { action: "Draft cards", prompt: "card-generation" }, - carded: { action: "Edit & import cards" }, - complete: null, +export { + buildTodayFrom, + intervalDays, + localToday, + logMatchesSegment, + parseDurationMinutes, }; -function suggestedSession(seg: Segment): string { - // Segments still mid-pipeline are best reviewed by advancing the pipeline; - // finished ones come back as free recall. - switch (seg.stage) { - case "read": - return "interrogation"; - case "interrogated": - return "reconstruction"; - case "reconstructed": - return "recall"; - default: - return "recall"; - } -} - -export function buildTodayFrom( - books: BookSummary[], - logs: SessionLog[], - todayISO: string, -): TodayPayload { - const todayDay = toDayNumber(todayISO) ?? 0; - const due: ReviewItem[] = []; - const upcoming: ReviewItem[] = []; - const pipeline: PipelineItem[] = []; - - const logsByBook = new Map(); - for (const log of logs) { - const list = logsByBook.get(log.book) ?? []; - list.push(log); - logsByBook.set(log.book, list); - } - - for (const book of books) { - const bookLogs = logsByBook.get(book.slug) ?? []; - - // Review queue — anything with retrieval history gets a due date. - for (const seg of book.segments) { - if (seg.stage === "unread" || seg.stage === "read") continue; - const state = reviewStateFor(seg, bookLogs); - if (!state) continue; - const interval = intervalDays( - state.retrievalCount, - seg.difficulty, - state.lastOutcome, - ); - const nextDay = state.lastTouchedDay + interval; - const daysOverdue = todayDay - nextDay; - const item: ReviewItem = { - book: book.slug, - book_title: book.title, - segment: seg, - last_touched: state.lastTouchedISO, - next_review: dayNumberToISO(nextDay), - days_overdue: daysOverdue, - interval_days: interval, - retrieval_count: state.retrievalCount, - suggested: suggestedSession(seg), - }; - if (daysOverdue >= 0) due.push(item); - else if (daysOverdue >= -7) upcoming.push(item); - } - - // Pipeline — the next move per book, so the desk stays calm. - if (book.status === "completed") continue; - if (book.segments.length === 0) { - pipeline.push({ - book: book.slug, - book_title: book.title, - book_status: book.status, - action: "Set up the book", - prompt: "setup-book", - }); - continue; - } - const next = book.segments.find((s) => s.stage !== "complete"); - if (!next) { - pipeline.push({ - book: book.slug, - book_title: book.title, - book_status: book.status, - action: "Final examination", - prompt: "examination", - }); - continue; - } - const move = STAGE_ACTION[next.stage]; - if (move) { - pipeline.push({ - book: book.slug, - book_title: book.title, - book_status: book.status, - segment: next, - action: move.action, - prompt: move.prompt, - }); - } - } - - // Most overdue first; ties broken by difficulty so the shakiest memory wins. - due.sort( - (a, b) => - b.days_overdue - a.days_overdue || b.segment.difficulty - a.segment.difficulty, - ); - upcoming.sort((a, b) => a.next_review.localeCompare(b.next_review)); - // Active books before queued ones. - pipeline.sort((a, b) => - a.book_status === b.book_status ? 0 : a.book_status === "active" ? -1 : 1, - ); - - return { - date: todayISO, - due, - upcoming, - pipeline, - stats: computeTodayStats(logs, todayDay, due.length), - }; -} - -function computeTodayStats( - logs: SessionLog[], - todayDay: number, - dueCount: number, -): TodayPayload["stats"] { - let sessions7d = 0; - let minutes7d = 0; - const activeDays = new Set(); - - for (const log of logs) { - const day = toDayNumber(log.date); - if (day === null) continue; - activeDays.add(day); - if (todayDay - day < 7 && todayDay - day >= 0) { - sessions7d++; - minutes7d += parseDurationMinutes(log.duration_approx); - } - } - - // Streak: consecutive days with at least one session, counting back from - // today (or from yesterday, so this morning's empty log doesn't zero it). - let streak = 0; - let cursor = activeDays.has(todayDay) ? todayDay : todayDay - 1; - while (activeDays.has(cursor)) { - streak++; - cursor--; - } - - return { - due_count: dueCount, - sessions_7d: sessions7d, - minutes_7d: minutes7d, - streak_days: streak, - }; -} - -/** "35m" → 35, "1h" → 60, "1h 20m" → 80. Unparseable → 0. */ -export function parseDurationMinutes(raw: string | undefined): number { - if (!raw) return 0; - let minutes = 0; - const h = raw.match(/(\d+)\s*h/i); - const m = raw.match(/(\d+)\s*m/i); - if (h) minutes += Number(h[1]) * 60; - if (m) minutes += Number(m[1]); - return minutes; -} - export async function buildToday(workspace: string): Promise { const [books, logs] = await Promise.all([ readAllBooks(workspace), diff --git a/App/backend/src/search.ts b/App/backend/src/search.ts index 50b9f95..f4938f1 100644 --- a/App/backend/src/search.ts +++ b/App/backend/src/search.ts @@ -1,230 +1,5 @@ -import { promises as fs } from "node:fs"; -import path from "node:path"; -import matter from "gray-matter"; -import type { SearchKind, SearchResult } from "../../shared/types.js"; -import { readAllBooks } from "./workspace.js"; +import { serviceFor } from "./workspace.js"; -// --------------------------------------------------------------------------- -// Dependency-free full-text search over the vault's markdown. A personal -// vault is small (megabytes at most), so a straight scan per query is -// simpler and more trustworthy than maintaining an index that can go stale. - -const MAX_RESULTS = 20; -const MAX_FILE_BYTES = 512 * 1024; -const TITLE_WEIGHT = 6; - -interface Candidate { - kind: SearchKind; - file: string; - absPath: string; - book?: string; - book_title?: string; - title: string; - log_file?: string; -} - -function isVisibleMarkdown(name: string): boolean { - return name.endsWith(".md") && !name.startsWith(".") && !name.startsWith("._"); -} - -async function listMarkdown(dir: string): Promise { - try { - const entries = await fs.readdir(dir, { withFileTypes: true }); - return entries - .filter((e) => e.isFile() && isVisibleMarkdown(e.name)) - .map((e) => e.name); - } catch { - return []; - } -} - -function humanise(filename: string): string { - return filename - .replace(/\.md$/, "") - .replace(/^\d+[-.]?/, "") - .replace(/-/g, " ") - .replace(/(^|\s)\w/g, (c) => c.toUpperCase()) - .trim(); -} - -/** "2026-01-24-recall-loops.md" → "Recall Loops — 2026-01-24" */ -function logTitle(filename: string): string { - const m = filename.match(/^(\d{4}-\d{2}-\d{2})-(.+)\.md$/); - if (!m) return humanise(filename); - return `${humanise(`${m[2]}.md`)} — ${m[1]}`; -} - -async function collectCandidates(workspace: string): Promise { - const books = await readAllBooks(workspace); - const out: Candidate[] = []; - - for (const book of books) { - const bookDir = path.join(workspace, "books", book.slug); - const base = { book: book.slug, book_title: book.title }; - - out.push({ - ...base, - kind: "book", - file: `books/${book.slug}/book.md`, - absPath: path.join(bookDir, "book.md"), - title: book.title, - }); - - const segmentTitle = (filename: string): string => { - const stem = filename.replace(/\.md$/, ""); - const seg = book.segments.find( - (s) => stem === `${s.id}-${s.slug}` || stem === s.slug, - ); - return seg ? seg.title : humanise(filename); - }; - - for (const f of await listMarkdown(path.join(bookDir, "source"))) { - out.push({ - ...base, - kind: "source", - file: `books/${book.slug}/source/${f}`, - absPath: path.join(bookDir, "source", f), - title: segmentTitle(f), - }); - } - for (const f of await listMarkdown(path.join(bookDir, "logs"))) { - out.push({ - ...base, - kind: "log", - file: `books/${book.slug}/logs/${f}`, - absPath: path.join(bookDir, "logs", f), - title: logTitle(f), - log_file: f, - }); - } - for (const f of await listMarkdown(path.join(bookDir, "reconstructions"))) { - out.push({ - ...base, - kind: "reconstruction", - file: `books/${book.slug}/reconstructions/${f}`, - absPath: path.join(bookDir, "reconstructions", f), - title: segmentTitle(f), - }); - } - for (const f of await listMarkdown(path.join(bookDir, "cards"))) { - out.push({ - ...base, - kind: "cards", - file: `books/${book.slug}/cards/${f}`, - absPath: path.join(bookDir, "cards", f), - title: humanise(f), - }); - } - for (const special of ["thesis", "essay"] as const) { - out.push({ - ...base, - kind: special, - file: `books/${book.slug}/${special}.md`, - absPath: path.join(bookDir, `${special}.md`), - title: `${book.title} — ${special}`, - }); - } - } - - const crossDir = path.join(workspace, "cross-book"); - for (const f of await listMarkdown(crossDir)) { - out.push({ - kind: "cross-book", - file: `cross-book/${f}`, - absPath: path.join(crossDir, f), - title: humanise(f), - }); - } - - return out; -} - -function countOccurrences(haystack: string, needle: string): number { - let count = 0; - let idx = 0; - while (count < 50) { - idx = haystack.indexOf(needle, idx); - if (idx === -1) break; - count++; - idx += needle.length; - } - return count; -} - -/** Flatten markdown to plain-ish text so snippets read as prose. */ -function plainify(md: string): string { - return md - .replace(/^#{1,6}\s+/gm, "") - .replace(/\[([^\]]*)\]\([^)]*\)/g, "$1") - .replace(/[*_`>]/g, "") - .replace(/^[-+]\s+/gm, ""); -} - -function makeSnippet(content: string, terms: string[]): string { - const lower = content.toLowerCase(); - let hit = -1; - for (const term of terms) { - const idx = lower.indexOf(term); - if (idx !== -1 && (hit === -1 || idx < hit)) hit = idx; - } - if (hit === -1) hit = 0; - const start = Math.max(0, hit - 90); - const end = Math.min(content.length, hit + 170); - const raw = content.slice(start, end).replace(/\s+/g, " ").trim(); - return `${start > 0 ? "…" : ""}${raw}${end < content.length ? "…" : ""}`; -} - -export async function searchWorkspace( - workspace: string, - query: string, -): Promise { - const terms = query - .toLowerCase() - .split(/\s+/) - .filter((t) => t.length >= 2) - .slice(0, 6); - if (terms.length === 0) return []; - - const candidates = await collectCandidates(workspace); - const results: SearchResult[] = []; - - for (const cand of candidates) { - let raw: string; - try { - const stat = await fs.stat(cand.absPath); - if (!stat.isFile() || stat.size > MAX_FILE_BYTES) continue; - raw = await fs.readFile(cand.absPath, "utf8"); - } catch { - continue; - } - const content = matter(raw).content; - const contentLower = content.toLowerCase(); - const titleLower = cand.title.toLowerCase(); - - let score = 0; - let allPresent = true; - for (const term of terms) { - const hits = - countOccurrences(contentLower, term) + - TITLE_WEIGHT * countOccurrences(titleLower, term); - if (hits === 0) allPresent = false; - score += hits; - } - if (score === 0) continue; - if (allPresent && terms.length > 1) score *= 2; - - results.push({ - kind: cand.kind, - file: cand.file, - book: cand.book, - book_title: cand.book_title, - title: cand.title, - snippet: makeSnippet(plainify(content), terms), - score, - log_file: cand.log_file, - }); - } - - results.sort((a, b) => b.score - a.score); - return results.slice(0, MAX_RESULTS); +export function searchWorkspace(workspace: string, query: string) { + return serviceFor(workspace).search(query); } diff --git a/App/backend/src/stats.ts b/App/backend/src/stats.ts index 12aa910..1008e4e 100644 --- a/App/backend/src/stats.ts +++ b/App/backend/src/stats.ts @@ -1,125 +1,9 @@ -import type { - BookSummary, - RetentionPoint, - SegmentStage, - SessionLog, - StatsPayload, - WeekBucket, -} from "../../shared/types.js"; -import { localToday, parseDurationMinutes } from "./schedule.js"; +import type { StatsPayload } from "../../shared/types.js"; +import { buildStatsFrom } from "../../shared/stats.js"; +import { localToday } from "../../shared/schedule.js"; import { readAllBooks, readAllLogs } from "./workspace.js"; -const DAY_MS = 86_400_000; -const WEEKS_SHOWN = 16; - -function toDayNumber(iso: string): number | null { - const t = Date.parse(iso); - return Number.isNaN(t) ? null : Math.floor(t / DAY_MS); -} - -/** Day number of the Monday of the week containing `day`. Day 0 is a Thursday. */ -function mondayOf(day: number): number { - return day - ((day + 3) % 7); -} - -function dayNumberToISO(day: number): string { - return new Date(day * DAY_MS).toISOString().slice(0, 10); -} - -export function buildStatsFrom( - books: BookSummary[], - logs: SessionLog[], - todayISO: string, -): StatsPayload { - const todayDay = toDayNumber(todayISO) ?? 0; - let currentMonday = mondayOf(todayDay); - - // If all recorded activity predates the trailing window, anchor the window - // to the latest session instead of showing sixteen empty weeks. - let latestLogDay = -Infinity; - for (const log of logs) { - const day = toDayNumber(log.date); - if (day !== null && day > latestLogDay) latestLogDay = day; - } - if ( - Number.isFinite(latestLogDay) && - mondayOf(latestLogDay) < currentMonday - (WEEKS_SHOWN - 1) * 7 - ) { - currentMonday = mondayOf(latestLogDay); - } - - // Fixed window of trailing weeks, zero-filled so quiet weeks stay visible. - const weeks: WeekBucket[] = []; - const weekIndex = new Map(); - for (let i = WEEKS_SHOWN - 1; i >= 0; i--) { - const monday = currentMonday - i * 7; - const bucket: WeekBucket = { - week_start: dayNumberToISO(monday), - sessions: 0, - minutes: 0, - }; - weeks.push(bucket); - weekIndex.set(monday, bucket); - } - - const retention: RetentionPoint[] = []; - let totalMinutes = 0; - - for (const log of logs) { - const day = toDayNumber(log.date); - if (day === null) continue; - const minutes = parseDurationMinutes(log.duration_approx); - totalMinutes += minutes; - - const bucket = weekIndex.get(mondayOf(day)); - if (bucket) { - bucket.sessions++; - bucket.minutes += minutes; - } - - if (log.outcomes) { - const values = Object.values(log.outcomes); - if (values.length > 0) { - retention.push({ - date: log.date, - book: log.book, - segment: log.segment, - value: values.reduce((a, b) => a + b, 0) / values.length, - concepts: values.length, - }); - } - } - } - retention.sort((a, b) => a.date.localeCompare(b.date)); - - const stage_counts: Record = { - unread: 0, - read: 0, - interrogated: 0, - reconstructed: 0, - carded: 0, - complete: 0, - }; - let segmentsComplete = 0; - for (const book of books) { - for (const seg of book.segments) { - stage_counts[seg.stage] = (stage_counts[seg.stage] ?? 0) + 1; - if (seg.stage === "complete") segmentsComplete++; - } - } - - return { - weeks, - stage_counts, - retention, - totals: { - sessions: logs.length, - minutes: totalMinutes, - books: books.length, - segments_complete: segmentsComplete, - }, - }; -} +export { buildStatsFrom }; export async function buildStats(workspace: string): Promise { const [books, logs] = await Promise.all([ diff --git a/App/backend/src/workspace.ts b/App/backend/src/workspace.ts index b867e8b..a2c8ed6 100644 --- a/App/backend/src/workspace.ts +++ b/App/backend/src/workspace.ts @@ -1,61 +1,42 @@ -import { promises as fs } from "node:fs"; -import { existsSync } from "node:fs"; -import path from "node:path"; +import { existsSync, promises as fs } from "node:fs"; import os from "node:os"; +import path from "node:path"; import matter from "gray-matter"; import { marked } from "marked"; -import type { - BookDetail, - BookMeta, - BookSummary, - LogDetail, - Segment, - SegmentStage, - SessionLog, -} from "../../shared/types.js"; - -const COMPLETED_STAGES: SegmentStage[] = ["complete"]; +import { + createVaultService, + type VaultReader, + type VaultService, +} from "../../shared/vault.js"; function resolveWorkspace(rawPath: string, baseDir = process.cwd()): string { if (rawPath.startsWith("~")) { return path.join(os.homedir(), rawPath.slice(1)); } - if (!path.isAbsolute(rawPath)) { - return path.resolve(baseDir, rawPath); - } + if (!path.isAbsolute(rawPath)) return path.resolve(baseDir, rawPath); return rawPath; } -async function loadWorkspaceConfig(configPath: string): Promise<{ workspace_path: string }> { +async function loadWorkspaceConfig( + configPath: string, +): Promise<{ workspace_path: string }> { const raw = await fs.readFile(configPath, "utf8"); - const parsed = JSON.parse(raw); + const parsed = JSON.parse(raw) as { workspace_path?: unknown }; const workspaceRoot = path.resolve(path.dirname(configPath), ".."); const configuredPath = - typeof parsed.workspace_path === "string" ? parsed.workspace_path : workspaceRoot; + typeof parsed.workspace_path === "string" + ? parsed.workspace_path + : workspaceRoot; return { workspace_path: resolveWorkspace(configuredPath, workspaceRoot) }; } export async function loadConfig(): Promise<{ workspace_path: string }> { - // Workspace resolution order: - // 1. LEARNING_WORKSPACE env override - // 2. private local ./Learning config - // 3. public ./Learning.example demo config - // 4. fallback ~/learning const envPath = process.env.LEARNING_WORKSPACE; - if (envPath) { - return { workspace_path: resolveWorkspace(envPath) }; - } + if (envPath) return { workspace_path: resolveWorkspace(envPath) }; const repoRoot = path.resolve(process.cwd(), "..", ".."); - const privateConfig = path.join( - repoRoot, - "Learning", - ".system", - "config.json", - ); - if (existsSync(privateConfig)) { - return loadWorkspaceConfig(privateConfig); - } + const privateConfig = path.join(repoRoot, "Learning", ".system", "config.json"); + if (existsSync(privateConfig)) return loadWorkspaceConfig(privateConfig); const exampleConfig = path.join( repoRoot, @@ -63,255 +44,91 @@ export async function loadConfig(): Promise<{ workspace_path: string }> { ".system", "config.json", ); - if (existsSync(exampleConfig)) { - return loadWorkspaceConfig(exampleConfig); - } + if (existsSync(exampleConfig)) return loadWorkspaceConfig(exampleConfig); - // Fallback: ~/learning return { workspace_path: resolveWorkspace("~/learning") }; } -async function readMarkdown(absPath: string): Promise<{ - data: Record; - content: string; -} | null> { - try { - const raw = await fs.readFile(absPath, "utf8"); - const parsed = matter(raw); - return { data: parsed.data as Record, content: parsed.content }; - } catch { - return null; - } -} - -function asString(v: unknown, fallback = ""): string { - if (typeof v === "string") return v; - if (v instanceof Date) return v.toISOString().slice(0, 10); - return fallback; -} -function asNumber(v: unknown, fallback = 0): number { - return typeof v === "number" && Number.isFinite(v) ? v : fallback; -} - -function normaliseSegments(raw: unknown): Segment[] { - if (!Array.isArray(raw)) return []; - return raw.map((s, i) => { - const obj = (s ?? {}) as Record; - return { - id: asString(obj.id, String(i + 1).padStart(2, "0")), - slug: asString(obj.slug, `segment-${i + 1}`), - title: asString(obj.title, `Segment ${i + 1}`), - summary: asString(obj.summary), - stage: (asString(obj.stage, "unread") as SegmentStage), - difficulty: asNumber(obj.difficulty, 0), - sessions: asNumber(obj.sessions, 0), - }; - }); -} - -function normaliseDifficultyMap(raw: unknown): Record { - if (!raw || typeof raw !== "object") return {}; - const out: Record = {}; - for (const [k, v] of Object.entries(raw as Record)) { - if (typeof v === "number") out[k] = v; - } - return out; -} +function createNodeReader(workspace: string): VaultReader { + const root = path.resolve(workspace); -function normaliseOutcomes(raw: unknown): Record | undefined { - if (!raw || typeof raw !== "object") return undefined; - const out: Record = {}; - for (const [k, v] of Object.entries(raw as Record)) { - if (typeof v === "number" && Number.isFinite(v)) { - out[k] = Math.min(1, Math.max(0, v)); + function resolveRelative(relativePath: string): string { + const absolute = path.resolve(root, ...relativePath.split("/")); + if (absolute !== root && !absolute.startsWith(`${root}${path.sep}`)) { + throw new Error("Vault path escapes the selected workspace"); } + return absolute; } - return Object.keys(out).length > 0 ? out : undefined; -} -function normaliseConnections(raw: unknown): BookMeta["connections"] { - if (!Array.isArray(raw)) return []; - return raw - .map((c) => { - const obj = (c ?? {}) as Record; + return { + readText: (relativePath) => fs.readFile(resolveRelative(relativePath), "utf8"), + async readDir(relativePath) { + return (await fs.readdir(resolveRelative(relativePath), { withFileTypes: true })).map( + (entry) => ({ + name: entry.name, + isFile: entry.isFile(), + isDirectory: entry.isDirectory(), + }), + ); + }, + async exists(relativePath) { + try { + await fs.access(resolveRelative(relativePath)); + return true; + } catch { + return false; + } + }, + async size(relativePath) { + try { + const info = await fs.stat(resolveRelative(relativePath)); + return info.isFile() ? info.size : null; + } catch { + return null; + } + }, + parseMarkdown(raw) { + const parsed = matter(raw); return { - target_book: asString(obj.target_book), - description: asString(obj.description), + data: parsed.data as Record, + content: parsed.content, }; - }) - .filter((c) => c.target_book.length > 0); -} - -function parseBookMeta(data: Record, slug: string): BookMeta { - return { - title: asString(data.title, slug), - author: asString(data.author), - slug: asString(data.slug, slug), - date_added: asString(data.date_added), - date_started: asString(data.date_started) || undefined, - date_completed: asString(data.date_completed) || undefined, - status: (asString(data.status, "queued") as BookMeta["status"]), - total_segments: asNumber(data.total_segments), - segments: normaliseSegments(data.segments), - difficulty_map: normaliseDifficultyMap(data.difficulty_map), - connections: normaliseConnections(data.connections), - cover: typeof data.cover === "string" ? data.cover : undefined, + }, + async renderMarkdown(markdown) { + const html = await marked.parse(markdown); + return typeof html === "string" ? html : ""; + }, }; } -async function listBookDirs(workspace: string): Promise { - const booksDir = path.join(workspace, "books"); - try { - const entries = await fs.readdir(booksDir, { withFileTypes: true }); - return entries - .filter( - (e) => - e.isDirectory() && - !e.name.startsWith(".") && - !e.name.startsWith("._"), - ) - .map((e) => e.name); - } catch { - return []; - } -} +const services = new Map(); -async function readSessionLogs(bookDir: string, slug: string): Promise { - const logsDir = path.join(bookDir, "logs"); - try { - const entries = await fs.readdir(logsDir, { withFileTypes: true }); - const files = entries.filter( - (e) => - e.isFile() && - e.name.endsWith(".md") && - !e.name.startsWith(".") && - !e.name.startsWith("._"), - ); - const logs: SessionLog[] = []; - for (const f of files) { - const md = await readMarkdown(path.join(logsDir, f.name)); - if (!md) continue; - const data = md.data; - logs.push({ - path: `logs/${f.name}`, - date: asString(data.date), - book: asString(data.book, slug), - segment: typeof data.segment === "string" ? data.segment : undefined, - type: asString(data.type, "session"), - duration_approx: - typeof data.duration_approx === "string" ? data.duration_approx : undefined, - summary: md.content.trim().slice(0, 400), - outcomes: normaliseOutcomes(data.outcomes), - }); - } - return logs.sort((a, b) => (a.date < b.date ? 1 : -1)); - } catch { - return []; +export function serviceFor(workspace: string): VaultService { + const key = path.resolve(workspace); + let service = services.get(key); + if (!service) { + service = createVaultService(createNodeReader(key)); + services.set(key, service); } + return service; } -export async function readBookSummary( - workspace: string, - slug: string, -): Promise { - const bookDir = path.join(workspace, "books", slug); - const md = await readMarkdown(path.join(bookDir, "book.md")); - if (!md) return null; - const meta = parseBookMeta(md.data, slug); - const completed = meta.segments.filter((s) => COMPLETED_STAGES.includes(s.stage)).length; - const total = meta.total_segments || meta.segments.length; - const logs = await readSessionLogs(bookDir, slug); - return { - ...meta, - progress: { - completed, - total, - last_active: logs[0]?.date, - }, - }; +export function readBookSummary(workspace: string, slug: string) { + return serviceFor(workspace).readBookSummary(slug); } -export async function readBookDetail( - workspace: string, - slug: string, -): Promise { - const bookDir = path.join(workspace, "books", slug); - const md = await readMarkdown(path.join(bookDir, "book.md")); - if (!md) return null; - const meta = parseBookMeta(md.data, slug); - const completed = meta.segments.filter((s) => COMPLETED_STAGES.includes(s.stage)).length; - const total = meta.total_segments || meta.segments.length; - const logs = await readSessionLogs(bookDir, slug); - const body_html = await marked.parse(md.content); - const has_thesis = existsSync(path.join(bookDir, "thesis.md")); - const has_essay = existsSync(path.join(bookDir, "essay.md")); - return { - ...meta, - progress: { - completed, - total, - last_active: logs[0]?.date, - }, - body_html: typeof body_html === "string" ? body_html : "", - logs, - has_thesis, - has_essay, - }; +export function readBookDetail(workspace: string, slug: string) { + return serviceFor(workspace).readBookDetail(slug); } -export async function readAllBooks(workspace: string): Promise { - const slugs = await listBookDirs(workspace); - const out: BookSummary[] = []; - for (const slug of slugs) { - const s = await readBookSummary(workspace, slug); - if (s) out.push(s); - } - return out; +export function readAllBooks(workspace: string) { + return serviceFor(workspace).readAllBooks(); } -const SLUG_RE = /^[a-z0-9][a-z0-9-]*$/i; -const LOG_FILE_RE = /^[a-z0-9][a-z0-9._-]*\.md$/i; - -export async function readLogDetail( - workspace: string, - slug: string, - file: string, -): Promise { - // Both parts come straight from the URL — refuse anything that could - // escape the book's logs directory. - if (!SLUG_RE.test(slug) || !LOG_FILE_RE.test(file) || file.includes("..")) { - return null; - } - const logsDir = path.join(workspace, "books", slug, "logs"); - const absPath = path.resolve(logsDir, file); - if (!absPath.startsWith(path.resolve(logsDir) + path.sep)) return null; - - const md = await readMarkdown(absPath); - if (!md) return null; - const data = md.data; - const body_html = await marked.parse(md.content); - const bookMd = await readMarkdown(path.join(workspace, "books", slug, "book.md")); - return { - path: `logs/${file}`, - date: asString(data.date), - book: asString(data.book, slug), - book_title: bookMd ? asString(bookMd.data.title, slug) : undefined, - segment: typeof data.segment === "string" ? data.segment : undefined, - type: asString(data.type, "session"), - duration_approx: - typeof data.duration_approx === "string" ? data.duration_approx : undefined, - summary: md.content.trim().slice(0, 400), - outcomes: normaliseOutcomes(data.outcomes), - body_html: typeof body_html === "string" ? body_html : "", - }; +export function readLogDetail(workspace: string, slug: string, file: string) { + return serviceFor(workspace).readLogDetail(slug, file); } -export async function readAllLogs(workspace: string): Promise { - const slugs = await listBookDirs(workspace); - const all: SessionLog[] = []; - for (const slug of slugs) { - const logs = await readSessionLogs(path.join(workspace, "books", slug), slug); - all.push(...logs); - } - return all.sort((a, b) => (a.date < b.date ? 1 : -1)); +export function readAllLogs(workspace: string) { + return serviceFor(workspace).readAllLogs(); } diff --git a/App/backend/test/vault.test.mjs b/App/backend/test/vault.test.mjs new file mode 100644 index 0000000..0c842af --- /dev/null +++ b/App/backend/test/vault.test.mjs @@ -0,0 +1,96 @@ +import assert from "node:assert/strict"; +import path from "node:path"; +import test from "node:test"; +import { fileURLToPath } from "node:url"; +import { buildStats } from "../dist/backend/src/stats.js"; +import { buildToday } from "../dist/backend/src/schedule.js"; +import { searchWorkspace } from "../dist/backend/src/search.js"; +import { createVaultService } from "../dist/shared/vault.js"; +import { + readAllBooks, + readAllLogs, + readBookDetail, + readLogDetail, +} from "../dist/backend/src/workspace.js"; + +const here = path.dirname(fileURLToPath(import.meta.url)); +const workspace = path.resolve(here, "../../../Learning.example"); + +test("the shared vault core reads the public workspace end to end", async () => { + const books = await readAllBooks(workspace); + const logs = await readAllLogs(workspace); + const detail = await readBookDetail(workspace, books[0].slug); + const firstLog = logs[0]; + const logDetail = await readLogDetail( + workspace, + firstLog.book, + firstLog.path.replace("logs/", ""), + ); + const [today, stats, search] = await Promise.all([ + buildToday(workspace), + buildStats(workspace), + searchWorkspace(workspace, "feedback"), + ]); + + assert.equal(books.length, 2); + assert.equal(logs.length, 5); + assert.ok(detail?.body_html.includes("<")); + assert.ok(logDetail?.body_html.includes("<")); + assert.equal(today.pipeline.length, 2); + assert.equal(stats.totals.sessions, logs.length); + assert.ok(search.length > 0); +}); + +test("log paths cannot escape the selected workspace", async () => { + assert.equal( + await readLogDetail(workspace, "clear-thinking-primer", "../book.md"), + null, + ); +}); + +test("book shelves ignore folders that do not contain book metadata", async () => { + const reader = { + async readText(relativePath) { + if (relativePath === "books/real-book/book.md") { + return [ + "---", + "title: Real Book", + "slug: real-book", + "status: queued", + "---", + "", + ].join("\n"); + } + throw new Error(`Unexpected read: ${relativePath}`); + }, + async readDir(relativePath) { + if (relativePath === "books") { + return [ + { name: "real-book", isFile: false, isDirectory: true }, + { name: "research-notes", isFile: false, isDirectory: true }, + ]; + } + throw new Error(`Missing directory: ${relativePath}`); + }, + async exists(relativePath) { + return relativePath === "books/real-book/book.md"; + }, + async size() { + return null; + }, + parseMarkdown(raw) { + return { + data: { title: "Real Book", slug: "real-book", status: "queued" }, + content: raw, + }; + }, + async renderMarkdown(markdown) { + return markdown; + }, + }; + + const service = createVaultService(reader, { strict: true }); + const books = await service.readAllBooks(); + + assert.deepEqual(books.map((book) => book.slug), ["real-book"]); +}); diff --git a/App/frontend/package.json b/App/frontend/package.json index dc12a62..0a5e5c2 100644 --- a/App/frontend/package.json +++ b/App/frontend/package.json @@ -9,8 +9,13 @@ "preview": "vite preview" }, "dependencies": { + "@tauri-apps/api": "^2.0.0", + "@tauri-apps/plugin-dialog": "^2.0.0", + "@tauri-apps/plugin-fs": "^2.0.0", + "marked": "^15.0.4", "react": "^19.0.0", - "react-dom": "^19.0.0" + "react-dom": "^19.0.0", + "yaml": "^2.0.0" }, "devDependencies": { "@tailwindcss/vite": "^4.0.0", diff --git a/App/frontend/pnpm-lock.yaml b/App/frontend/pnpm-lock.yaml index e08e051..6ce667a 100644 --- a/App/frontend/pnpm-lock.yaml +++ b/App/frontend/pnpm-lock.yaml @@ -8,16 +8,31 @@ importers: .: dependencies: + '@tauri-apps/api': + specifier: ^2.0.0 + version: 2.11.1 + '@tauri-apps/plugin-dialog': + specifier: ^2.0.0 + version: 2.7.2 + '@tauri-apps/plugin-fs': + specifier: ^2.0.0 + version: 2.5.1 + marked: + specifier: ^15.0.4 + version: 15.0.12 react: specifier: ^19.0.0 version: 19.2.6 react-dom: specifier: ^19.0.0 version: 19.2.6(react@19.2.6) + yaml: + specifier: ^2.0.0 + version: 2.9.0 devDependencies: '@tailwindcss/vite': specifier: ^4.0.0 - version: 4.3.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)) + version: 4.3.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0)) '@types/react': specifier: ^19.0.0 version: 19.2.14 @@ -26,7 +41,7 @@ importers: version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.7.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)) + version: 4.7.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0)) tailwindcss: specifier: ^4.0.0 version: 4.3.0 @@ -35,7 +50,7 @@ importers: version: 5.9.3 vite: specifier: ^6.0.3 - version: 6.4.2(jiti@2.7.0)(lightningcss@1.32.0) + version: 6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0) packages: @@ -512,6 +527,15 @@ packages: peerDependencies: vite: ^5.2.0 || ^6 || ^7 || ^8 + '@tauri-apps/api@2.11.1': + resolution: {integrity: sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==} + + '@tauri-apps/plugin-dialog@2.7.2': + resolution: {integrity: sha512-pX0IGm1I3I6wc+zeKYcq1GSqogK6okCNX5fOdaNU5ab1AjGS6l1E5wFNjEb7meg7ZFSp0JUs+0jQGQNyOvLrsg==} + + '@tauri-apps/plugin-fs@2.5.1': + resolution: {integrity: sha512-9Lz+Jopp6QyeEWhlpkMx4R/+P9HgR+AVAI4vOZhlT8Xaymtz8iVI/Ov984/XTqgJz/5gz5NretqPB/XEMS3NhQ==} + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -703,6 +727,11 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + marked@15.0.12: + resolution: {integrity: sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==} + engines: {node: '>= 18'} + hasBin: true + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -819,6 +848,11 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} + engines: {node: '>= 14.6'} + hasBin: true + snapshots: '@babel/code-frame@7.29.0': @@ -1168,12 +1202,22 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0 '@tailwindcss/oxide-win32-x64-msvc': 4.3.0 - '@tailwindcss/vite@4.3.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0))': + '@tailwindcss/vite@4.3.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0))': dependencies: '@tailwindcss/node': 4.3.0 '@tailwindcss/oxide': 4.3.0 tailwindcss: 4.3.0 - vite: 6.4.2(jiti@2.7.0)(lightningcss@1.32.0) + vite: 6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0) + + '@tauri-apps/api@2.11.1': {} + + '@tauri-apps/plugin-dialog@2.7.2': + dependencies: + '@tauri-apps/api': 2.11.1 + + '@tauri-apps/plugin-fs@2.5.1': + dependencies: + '@tauri-apps/api': 2.11.1 '@types/babel__core@7.20.5': dependencies: @@ -1206,7 +1250,7 @@ snapshots: dependencies: csstype: 3.2.3 - '@vitejs/plugin-react@4.7.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0))': + '@vitejs/plugin-react@4.7.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) @@ -1214,7 +1258,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.27 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.4.2(jiti@2.7.0)(lightningcss@1.32.0) + vite: 6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0) transitivePeerDependencies: - supports-color @@ -1354,6 +1398,8 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + marked@15.0.12: {} + ms@2.1.3: {} nanoid@3.3.12: {} @@ -1433,7 +1479,7 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0): + vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.4) @@ -1445,5 +1491,8 @@ snapshots: fsevents: 2.3.3 jiti: 2.7.0 lightningcss: 1.32.0 + yaml: 2.9.0 yallist@3.1.1: {} + + yaml@2.9.0: {} diff --git a/App/frontend/src/App.tsx b/App/frontend/src/App.tsx index c005ce8..e27a305 100644 --- a/App/frontend/src/App.tsx +++ b/App/frontend/src/App.tsx @@ -6,6 +6,11 @@ import type { TodayPayload, } from "../../shared/types"; import { api, subscribeWorkspace } from "./lib/api"; +import { + chooseWorkspace, + currentWorkspace, + isDesktopApp, +} from "./lib/desktop"; import { useTheme } from "./lib/theme"; import { persistView, readInitialView, type View } from "./lib/view"; import { Today } from "./components/Today"; @@ -20,6 +25,12 @@ import { ThemeToggle } from "./components/ThemeToggle"; import { ViewSwitcher } from "./components/ViewSwitcher"; export default function App() { + const desktop = isDesktopApp(); + const [workspacePath, setWorkspacePath] = useState(() => + currentWorkspace(), + ); + const [choosingWorkspace, setChoosingWorkspace] = useState(false); + const [workspaceError, setWorkspaceError] = useState(null); const [books, setBooks] = useState(null); const [logs, setLogs] = useState([]); const [today, setToday] = useState(null); @@ -36,22 +47,56 @@ export default function App() { persistView(next); }, []); - const load = useCallback(() => { - Promise.all([api.books(), api.timeline(), api.today(), api.stats()]) - .then(([b, l, t, s]) => { - setBooks(b); - setLogs(l); - setToday(t); - setStats(s); - }) - .catch((e) => setError(String(e))); + const load = useCallback(async () => { + setError(null); + try { + const [nextBooks, nextLogs, nextToday, nextStats] = await Promise.all([ + api.books(), + api.timeline(), + api.today(), + api.stats(), + ]); + setBooks(nextBooks); + setLogs(nextLogs); + setToday(nextToday); + setStats(nextStats); + } catch (loadError) { + setError(String(loadError)); + } + }, []); + + const selectWorkspace = useCallback(async () => { + setChoosingWorkspace(true); + setWorkspaceError(null); + try { + const selected = await chooseWorkspace(); + if (selected) { + setBooks(null); + setLogs([]); + setToday(null); + setStats(null); + setError(null); + setWorkspacePath(selected); + } + } catch (selectionError) { + setWorkspaceError(String(selectionError)); + } finally { + setChoosingWorkspace(false); + } }, []); useEffect(() => { - load(); - const off = subscribeWorkspace(load); - return off; - }, [load]); + if (desktop && !workspacePath) return undefined; + let active = true; + let unsubscribe: (() => void) | null = null; + void load().then(() => { + if (active) unsubscribe = subscribeWorkspace(load); + }); + return () => { + active = false; + unsubscribe?.(); + }; + }, [desktop, load, workspacePath]); const openLogFile = useCallback((book: string, file: string) => { setOpenLog({ book, file }); @@ -69,6 +114,19 @@ export default function App() { return () => document.removeEventListener("keydown", onKey); }, []); + if (desktop && !workspacePath) { + return ( + <> + + + + ); + } + return ( <> setSearchOpen(true)} /> + {desktop && workspacePath && ( + + )} {error ? ( - + ) : !books ? ( ) : ( @@ -122,6 +187,72 @@ export default function App() { ); } +function WorkspaceSetup({ + choosing, + error, + onChoose, +}: { + choosing: boolean; + error: string | null; + onChoose: () => void; +}) { + return ( +
+
+
+

+ First launch +

+

+ Open your Learning workspace. +

+

+ Choose the folder that contains your books. The app receives read-only + access, keeps the vault outside the application, and refreshes when an + agent updates its files. +

+ + {error && ( +

+ {error} +

+ )} +
+
+
+ ); +} + +function WorkspaceControl({ + path, + onChoose, +}: { + path: string; + onChoose: () => void; +}) { + const name = path.replaceAll("\\", "/").split("/").filter(Boolean).at(-1); + return ( + + ); +} + function FullLoading() { return (
@@ -132,7 +263,15 @@ function FullLoading() { ); } -function FullError({ error }: { error: string }) { +function FullError({ + error, + desktop, + onChoose, +}: { + error: string; + desktop: boolean; + onChoose?: () => void; +}) { return (

- The backend could not be reached. Start it with{" "} - pnpm -C backend dev. + {desktop ? ( + "The selected workspace could not be read. You can choose it again without changing any learning files." + ) : ( + <> + The backend could not be reached. Start it with{" "} + + pnpm -C backend dev + + . + + )}

+ {onChoose && ( + + )}
         {error}
       
diff --git a/App/frontend/src/lib/api.ts b/App/frontend/src/lib/api.ts index 06f409f..7d021d4 100644 --- a/App/frontend/src/lib/api.ts +++ b/App/frontend/src/lib/api.ts @@ -6,34 +6,49 @@ import type { SessionLog, StatsPayload, TodayPayload, -} from "../../../shared/types"; +} from "@shared/types"; +import { + desktopApi, + isDesktopApp, + subscribeDesktopWorkspace, +} from "./desktop"; -const base = ""; // proxied through Vite at /api/* +interface TrackerApi { + books(): Promise; + book(slug: string): Promise; + timeline(): Promise; + today(): Promise; + stats(): Promise; + log(book: string, file: string): Promise; + search(query: string): Promise; +} async function get(url: string): Promise { - const res = await fetch(base + url); - if (!res.ok) throw new Error(`${res.status} ${url}`); - return (await res.json()) as T; + const response = await fetch(url); + if (!response.ok) throw new Error(`${response.status} ${url}`); + return (await response.json()) as T; } -export const api = { +const browserApi: TrackerApi = { books: () => get<{ books: BookSummary[] }>("/api/books").then((r) => r.books), - book: (slug: string) => get(`/api/books/${slug}`), + book: (slug) => get(`/api/books/${slug}`), timeline: () => get<{ logs: SessionLog[] }>("/api/timeline").then((r) => r.logs), today: () => get("/api/today"), stats: () => get("/api/stats"), - log: (book: string, file: string) => + log: (book, file) => get(`/api/books/${book}/logs/${encodeURIComponent(file)}`), - search: (q: string) => + search: (query) => get<{ results: SearchResult[] }>( - `/api/search?q=${encodeURIComponent(q)}`, + `/api/search?q=${encodeURIComponent(query)}`, ).then((r) => r.results), }; -// Server-sent events: silent live reload when the workspace changes on disk. +export const api: TrackerApi = isDesktopApp() ? desktopApi : browserApi; + export function subscribeWorkspace(onChange: () => void): () => void { - const es = new EventSource("/api/events"); - es.addEventListener("workspace-changed", onChange); - return () => es.close(); + if (isDesktopApp()) return subscribeDesktopWorkspace(onChange); + const events = new EventSource("/api/events"); + events.addEventListener("workspace-changed", onChange); + return () => events.close(); } diff --git a/App/frontend/src/lib/desktop.ts b/App/frontend/src/lib/desktop.ts new file mode 100644 index 0000000..2dbc2b1 --- /dev/null +++ b/App/frontend/src/lib/desktop.ts @@ -0,0 +1,183 @@ +import { isTauri } from "@tauri-apps/api/core"; +import { join } from "@tauri-apps/api/path"; +import { open } from "@tauri-apps/plugin-dialog"; +import { + exists, + readDir, + readTextFile, + stat, + watch, + type UnwatchFn, + type WatchEvent, +} from "@tauri-apps/plugin-fs"; +import { marked } from "marked"; +import { parse as parseYaml } from "yaml"; +import { buildTodayFrom, localToday } from "@shared/schedule"; +import { buildStatsFrom } from "@shared/stats"; +import { + createVaultService, + type VaultReader, + type VaultService, +} from "@shared/vault"; + +const WORKSPACE_KEY = "effortful-learning.workspace"; +const FRONTMATTER = /^---\s*\r?\n([\s\S]*?)\r?\n---\s*(?:\r?\n|$)/; + +export const isDesktopApp = (): boolean => isTauri(); + +export function currentWorkspace(): string | null { + if (!isDesktopApp()) return null; + return localStorage.getItem(WORKSPACE_KEY); +} + +let cachedRoot: string | null = null; +let cachedService: VaultService | null = null; + +function parseMarkdownFile(raw: string) { + const match = raw.match(FRONTMATTER); + if (!match) return { data: {}, content: raw }; + const parsed = parseYaml(match[1]); + return { + data: + parsed && typeof parsed === "object" + ? (parsed as Record) + : {}, + content: raw.slice(match[0].length), + }; +} + +function safeSegments(relativePath: string): string[] { + if (relativePath.startsWith("/") || relativePath.includes("\\")) { + throw new Error("Vault paths must be relative"); + } + const segments = relativePath.split("/").filter(Boolean); + if (segments.some((segment) => segment === "." || segment === "..")) { + throw new Error("Vault path escapes the selected workspace"); + } + return segments; +} + +function createDesktopReader(root: string): VaultReader { + async function resolveRelative(relativePath: string): Promise { + return join(root, ...safeSegments(relativePath)); + } + + return { + async readText(relativePath) { + return readTextFile(await resolveRelative(relativePath)); + }, + async readDir(relativePath) { + return (await readDir(await resolveRelative(relativePath))).map((entry) => ({ + name: entry.name, + isFile: entry.isFile, + isDirectory: entry.isDirectory, + })); + }, + async exists(relativePath) { + return exists(await resolveRelative(relativePath)); + }, + async size(relativePath) { + try { + const info = await stat(await resolveRelative(relativePath)); + return info.isFile ? info.size : null; + } catch { + return null; + } + }, + parseMarkdown(raw) { + return parseMarkdownFile(raw); + }, + async renderMarkdown(markdown) { + const html = await marked.parse(markdown); + return typeof html === "string" ? html : ""; + }, + }; +} + +function service(): VaultService { + const root = currentWorkspace(); + if (!root) throw new Error("Choose a Learning workspace to continue."); + if (root !== cachedRoot || !cachedService) { + cachedRoot = root; + cachedService = createVaultService(createDesktopReader(root), { strict: true }); + } + return cachedService; +} + +export async function chooseWorkspace(): Promise { + const selection = await open({ + title: "Choose your Learning workspace", + directory: true, + multiple: false, + recursive: true, + }); + if (typeof selection !== "string") return null; + + const reader = createDesktopReader(selection); + if (!(await reader.exists("books"))) { + throw new Error("That folder is not a Learning workspace: the books folder is missing."); + } + + localStorage.setItem(WORKSPACE_KEY, selection); + cachedRoot = null; + cachedService = null; + return selection; +} + +export const desktopApi = { + books: () => service().readAllBooks(), + book: (slug: string) => service().readBookDetail(slug), + timeline: () => service().readAllLogs(), + async today() { + const [books, logs] = await Promise.all([ + service().readAllBooks(), + service().readAllLogs(), + ]); + return buildTodayFrom(books, logs, localToday()); + }, + async stats() { + const [books, logs] = await Promise.all([ + service().readAllBooks(), + service().readAllLogs(), + ]); + return buildStatsFrom(books, logs, localToday()); + }, + log: (book: string, file: string) => service().readLogDetail(book, file), + search: (query: string) => service().search(query), +}; + +function concernsLearningData(event: WatchEvent): boolean { + return event.paths.some((path) => { + const normalised = path.replaceAll("\\", "/"); + return normalised.includes("/books/") || normalised.includes("/cross-book/"); + }); +} + +export function subscribeDesktopWorkspace(onChange: () => void): () => void { + const root = currentWorkspace(); + if (!root) return () => undefined; + + let disposed = false; + let unwatch: UnwatchFn | null = null; + let debounce: number | null = null; + void watch( + root, + (event) => { + if (!concernsLearningData(event)) return; + if (debounce !== null) window.clearTimeout(debounce); + debounce = window.setTimeout(onChange, 120); + }, + { recursive: true, delayMs: 200 }, + ).then((stop) => { + if (disposed) void stop(); + else unwatch = stop; + }).catch((error: unknown) => { + console.error("Could not watch the Learning workspace", error); + }); + + return () => { + disposed = true; + if (debounce !== null) window.clearTimeout(debounce); + if (unwatch) void unwatch(); + }; +} diff --git a/App/frontend/vite.config.ts b/App/frontend/vite.config.ts index c9d7d6e..c08039b 100644 --- a/App/frontend/vite.config.ts +++ b/App/frontend/vite.config.ts @@ -4,6 +4,7 @@ import tailwindcss from "@tailwindcss/vite"; import path from "node:path"; export default defineConfig({ + base: "./", plugins: [react(), tailwindcss()], resolve: { alias: { diff --git a/App/package.json b/App/package.json index 06920d8..2cd76f1 100644 --- a/App/package.json +++ b/App/package.json @@ -4,11 +4,16 @@ "version": "0.1.0", "description": "Local viewer for the Effortful Learning workspace.", "scripts": { - "install:all": "pnpm -C backend install && pnpm -C frontend install", + "install:all": "pnpm install && pnpm -C backend install && pnpm -C frontend install", "dev": "concurrently -n bk,fe -c yellow,cyan \"pnpm -C backend dev\" \"pnpm -C frontend dev\"", - "build": "pnpm -C frontend build" + "build": "pnpm -C frontend build", + "desktop:dev": "node scripts/tauri.mjs dev", + "desktop:build": "node scripts/tauri.mjs build", + "desktop:check": "node scripts/tauri.mjs check", + "desktop:info": "node scripts/tauri.mjs info" }, "devDependencies": { + "@tauri-apps/cli": "^2.0.0", "concurrently": "^9.1.0" } } diff --git a/App/pnpm-lock.yaml b/App/pnpm-lock.yaml index f6a0d67..fd67e92 100644 --- a/App/pnpm-lock.yaml +++ b/App/pnpm-lock.yaml @@ -8,12 +8,86 @@ importers: .: devDependencies: + '@tauri-apps/cli': + specifier: ^2.0.0 + version: 2.11.4 concurrently: specifier: ^9.1.0 version: 9.2.1 packages: + '@tauri-apps/cli-darwin-arm64@2.11.4': + resolution: {integrity: sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tauri-apps/cli-darwin-x64@2.11.4': + resolution: {integrity: sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tauri-apps/cli-linux-arm-gnueabihf@2.11.4': + resolution: {integrity: sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tauri-apps/cli-linux-arm64-gnu@2.11.4': + resolution: {integrity: sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-arm64-musl@2.11.4': + resolution: {integrity: sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-riscv64-gnu@2.11.4': + resolution: {integrity: sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + + '@tauri-apps/cli-linux-x64-gnu@2.11.4': + resolution: {integrity: sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-linux-x64-musl@2.11.4': + resolution: {integrity: sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-win32-arm64-msvc@2.11.4': + resolution: {integrity: sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tauri-apps/cli-win32-ia32-msvc@2.11.4': + resolution: {integrity: sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@tauri-apps/cli-win32-x64-msvc@2.11.4': + resolution: {integrity: sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tauri-apps/cli@2.11.4': + resolution: {integrity: sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ==} + engines: {node: '>= 10'} + hasBin: true + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -113,6 +187,53 @@ packages: snapshots: + '@tauri-apps/cli-darwin-arm64@2.11.4': + optional: true + + '@tauri-apps/cli-darwin-x64@2.11.4': + optional: true + + '@tauri-apps/cli-linux-arm-gnueabihf@2.11.4': + optional: true + + '@tauri-apps/cli-linux-arm64-gnu@2.11.4': + optional: true + + '@tauri-apps/cli-linux-arm64-musl@2.11.4': + optional: true + + '@tauri-apps/cli-linux-riscv64-gnu@2.11.4': + optional: true + + '@tauri-apps/cli-linux-x64-gnu@2.11.4': + optional: true + + '@tauri-apps/cli-linux-x64-musl@2.11.4': + optional: true + + '@tauri-apps/cli-win32-arm64-msvc@2.11.4': + optional: true + + '@tauri-apps/cli-win32-ia32-msvc@2.11.4': + optional: true + + '@tauri-apps/cli-win32-x64-msvc@2.11.4': + optional: true + + '@tauri-apps/cli@2.11.4': + optionalDependencies: + '@tauri-apps/cli-darwin-arm64': 2.11.4 + '@tauri-apps/cli-darwin-x64': 2.11.4 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.11.4 + '@tauri-apps/cli-linux-arm64-gnu': 2.11.4 + '@tauri-apps/cli-linux-arm64-musl': 2.11.4 + '@tauri-apps/cli-linux-riscv64-gnu': 2.11.4 + '@tauri-apps/cli-linux-x64-gnu': 2.11.4 + '@tauri-apps/cli-linux-x64-musl': 2.11.4 + '@tauri-apps/cli-win32-arm64-msvc': 2.11.4 + '@tauri-apps/cli-win32-ia32-msvc': 2.11.4 + '@tauri-apps/cli-win32-x64-msvc': 2.11.4 + ansi-regex@5.0.1: {} ansi-styles@4.3.0: diff --git a/App/scripts/tauri.mjs b/App/scripts/tauri.mjs new file mode 100644 index 0000000..4fe258d --- /dev/null +++ b/App/scripts/tauri.mjs @@ -0,0 +1,54 @@ +import { spawn } from "node:child_process"; +import { readdirSync, unlinkSync } from "node:fs"; +import os from "node:os"; +import path from "node:path"; + +const [command, ...args] = process.argv.slice(2); +if (!command) { + console.error("Usage: node scripts/tauri.mjs "); + process.exit(2); +} + +// The repository may live on a filesystem that stores macOS metadata as +// AppleDouble files. Tauri scans generated permission directories, so keep +// Cargo's disposable cache on the native temporary filesystem. +const environment = { + ...process.env, + CARGO_TARGET_DIR: + process.env.CARGO_TARGET_DIR ?? + path.join(os.tmpdir(), "effortful-learning-tauri-target"), +}; + +function removeAppleDoubleFiles(directory) { + for (const entry of readdirSync(directory, { withFileTypes: true })) { + const entryPath = path.join(directory, entry.name); + if (entry.isDirectory()) removeAppleDoubleFiles(entryPath); + else if (entry.name.startsWith("._")) unlinkSync(entryPath); + } +} + +if (process.platform === "darwin") { + removeAppleDoubleFiles(path.join(process.cwd(), "src-tauri", "capabilities")); +} + +const executable = command === "check" ? "cargo" : "tauri"; +const executableArgs = + command === "check" + ? ["check", "--manifest-path", "src-tauri/Cargo.toml", ...args] + : [command, ...args]; + +const child = spawn(executable, executableArgs, { + cwd: process.cwd(), + env: environment, + stdio: "inherit", +}); + +child.on("error", (error) => { + console.error(error); + process.exit(1); +}); + +child.on("exit", (code, signal) => { + if (signal) process.kill(process.pid, signal); + else process.exit(code ?? 1); +}); diff --git a/App/shared/schedule.ts b/App/shared/schedule.ts new file mode 100644 index 0000000..1d31a38 --- /dev/null +++ b/App/shared/schedule.ts @@ -0,0 +1,286 @@ +import type { + BookSummary, + PipelineItem, + ReviewItem, + Segment, + SessionLog, + TodayPayload, +} from "./types.js"; + +const RETRIEVAL_TYPES = new Set([ + "interrogation", + "reconstruction-review", + "recall", + "feynman", + "examination", +]); + +const BASE_INTERVALS = [3, 7, 21, 60, 120]; +const DAY_MS = 86_400_000; + +function clamp(value: number, low: number, high: number): number { + return Math.min(high, Math.max(low, value)); +} + +function toDayNumber(iso: string): number | null { + const timestamp = Date.parse(iso); + return Number.isNaN(timestamp) ? null : Math.floor(timestamp / DAY_MS); +} + +function dayNumberToISO(day: number): string { + return new Date(day * DAY_MS).toISOString().slice(0, 10); +} + +/** Local calendar date as YYYY-MM-DD (log dates are naive local dates too). */ +export function localToday(now = new Date()): string { + const year = now.getFullYear(); + const month = String(now.getMonth() + 1).padStart(2, "0"); + const day = String(now.getDate()).padStart(2, "0"); + return `${year}-${month}-${day}`; +} + +/** A log's segment field may be "01-loops", "loops", or "01". */ +export function logMatchesSegment(reference: string | undefined, segment: Segment): boolean { + if (!reference) return false; + return ( + reference === segment.slug || + reference === segment.id || + reference === `${segment.id}-${segment.slug}` + ); +} + +function meanOutcome(outcomes: Record | undefined): number | null { + if (!outcomes) return null; + const values = Object.values(outcomes); + if (values.length === 0) return null; + return values.reduce((total, value) => total + value, 0) / values.length; +} + +export function intervalDays( + retrievalCount: number, + difficulty: number, + lastOutcome: number | null, +): number { + const base = + BASE_INTERVALS[clamp(retrievalCount, 1, BASE_INTERVALS.length) - 1]; + let factor = clamp(1.5 - difficulty, 0.5, 1.5); + if (lastOutcome !== null) { + factor *= clamp(0.5 + lastOutcome, 0.5, 1.5); + } + return Math.max(1, Math.round(base * factor)); +} + +interface SegmentReviewState { + lastTouchedDay: number; + lastTouchedISO: string; + retrievalCount: number; + lastOutcome: number | null; +} + +function reviewStateFor( + segment: Segment, + bookLogs: SessionLog[], +): SegmentReviewState | null { + let lastTouchedDay = -Infinity; + let lastTouchedISO = ""; + let retrievalCount = 0; + let lastRetrievalDay = -Infinity; + let lastOutcome: number | null = null; + + for (const log of bookLogs) { + if (!logMatchesSegment(log.segment, segment)) continue; + const day = toDayNumber(log.date); + if (day === null) continue; + if (day > lastTouchedDay) { + lastTouchedDay = day; + lastTouchedISO = log.date; + } + if (RETRIEVAL_TYPES.has(log.type)) { + retrievalCount++; + if (day >= lastRetrievalDay) { + lastRetrievalDay = day; + const outcome = meanOutcome(log.outcomes); + if (outcome !== null) lastOutcome = outcome; + } + } + } + + if (retrievalCount === 0 || !Number.isFinite(lastTouchedDay)) return null; + return { lastTouchedDay, lastTouchedISO, retrievalCount, lastOutcome }; +} + +const STAGE_ACTION: Record< + Segment["stage"], + { action: string; prompt?: string } | null +> = { + unread: { action: "Read" }, + read: { action: "Interrogate", prompt: "interrogation" }, + interrogated: { + action: "Reconstruct from memory", + prompt: "reconstruction-review", + }, + reconstructed: { action: "Draft cards", prompt: "card-generation" }, + carded: { action: "Edit & import cards" }, + complete: null, +}; + +function suggestedSession(segment: Segment): string { + switch (segment.stage) { + case "read": + return "interrogation"; + case "interrogated": + return "reconstruction"; + case "reconstructed": + return "recall"; + default: + return "recall"; + } +} + +export function buildTodayFrom( + books: BookSummary[], + logs: SessionLog[], + todayISO: string, +): TodayPayload { + const todayDay = toDayNumber(todayISO) ?? 0; + const due: ReviewItem[] = []; + const upcoming: ReviewItem[] = []; + const pipeline: PipelineItem[] = []; + + const logsByBook = new Map(); + for (const log of logs) { + const list = logsByBook.get(log.book) ?? []; + list.push(log); + logsByBook.set(log.book, list); + } + + for (const book of books) { + const bookLogs = logsByBook.get(book.slug) ?? []; + for (const segment of book.segments) { + if (segment.stage === "unread" || segment.stage === "read") continue; + const state = reviewStateFor(segment, bookLogs); + if (!state) continue; + const interval = intervalDays( + state.retrievalCount, + segment.difficulty, + state.lastOutcome, + ); + const nextDay = state.lastTouchedDay + interval; + const daysOverdue = todayDay - nextDay; + const item: ReviewItem = { + book: book.slug, + book_title: book.title, + segment, + last_touched: state.lastTouchedISO, + next_review: dayNumberToISO(nextDay), + days_overdue: daysOverdue, + interval_days: interval, + retrieval_count: state.retrievalCount, + suggested: suggestedSession(segment), + }; + if (daysOverdue >= 0) due.push(item); + else if (daysOverdue >= -7) upcoming.push(item); + } + + if (book.status === "completed") continue; + if (book.segments.length === 0) { + pipeline.push({ + book: book.slug, + book_title: book.title, + book_status: book.status, + action: "Set up the book", + prompt: "setup-book", + }); + continue; + } + const next = book.segments.find((segment) => segment.stage !== "complete"); + if (!next) { + pipeline.push({ + book: book.slug, + book_title: book.title, + book_status: book.status, + action: "Final examination", + prompt: "examination", + }); + continue; + } + const move = STAGE_ACTION[next.stage]; + if (move) { + pipeline.push({ + book: book.slug, + book_title: book.title, + book_status: book.status, + segment: next, + action: move.action, + prompt: move.prompt, + }); + } + } + + due.sort( + (a, b) => + b.days_overdue - a.days_overdue || + b.segment.difficulty - a.segment.difficulty, + ); + upcoming.sort((a, b) => a.next_review.localeCompare(b.next_review)); + pipeline.sort((a, b) => + a.book_status === b.book_status + ? 0 + : a.book_status === "active" + ? -1 + : 1, + ); + + return { + date: todayISO, + due, + upcoming, + pipeline, + stats: computeTodayStats(logs, todayDay, due.length), + }; +} + +function computeTodayStats( + logs: SessionLog[], + todayDay: number, + dueCount: number, +): TodayPayload["stats"] { + let sessions7d = 0; + let minutes7d = 0; + const activeDays = new Set(); + + for (const log of logs) { + const day = toDayNumber(log.date); + if (day === null) continue; + activeDays.add(day); + if (todayDay - day < 7 && todayDay - day >= 0) { + sessions7d++; + minutes7d += parseDurationMinutes(log.duration_approx); + } + } + + let streak = 0; + let cursor = activeDays.has(todayDay) ? todayDay : todayDay - 1; + while (activeDays.has(cursor)) { + streak++; + cursor--; + } + + return { + due_count: dueCount, + sessions_7d: sessions7d, + minutes_7d: minutes7d, + streak_days: streak, + }; +} + +/** "35m" -> 35, "1h" -> 60, "1h 20m" -> 80. Unparseable -> 0. */ +export function parseDurationMinutes(raw: string | undefined): number { + if (!raw) return 0; + let minutes = 0; + const hours = raw.match(/(\d+)\s*h/i); + const remainder = raw.match(/(\d+)\s*m/i); + if (hours) minutes += Number(hours[1]) * 60; + if (remainder) minutes += Number(remainder[1]); + return minutes; +} diff --git a/App/shared/stats.ts b/App/shared/stats.ts new file mode 100644 index 0000000..84895ea --- /dev/null +++ b/App/shared/stats.ts @@ -0,0 +1,116 @@ +import type { + BookSummary, + RetentionPoint, + SegmentStage, + SessionLog, + StatsPayload, + WeekBucket, +} from "./types.js"; +import { parseDurationMinutes } from "./schedule.js"; + +const DAY_MS = 86_400_000; +const WEEKS_SHOWN = 16; + +function toDayNumber(iso: string): number | null { + const timestamp = Date.parse(iso); + return Number.isNaN(timestamp) ? null : Math.floor(timestamp / DAY_MS); +} + +function mondayOf(day: number): number { + return day - ((day + 3) % 7); +} + +function dayNumberToISO(day: number): string { + return new Date(day * DAY_MS).toISOString().slice(0, 10); +} + +export function buildStatsFrom( + books: BookSummary[], + logs: SessionLog[], + todayISO: string, +): StatsPayload { + const todayDay = toDayNumber(todayISO) ?? 0; + let currentMonday = mondayOf(todayDay); + + let latestLogDay = -Infinity; + for (const log of logs) { + const day = toDayNumber(log.date); + if (day !== null && day > latestLogDay) latestLogDay = day; + } + if ( + Number.isFinite(latestLogDay) && + mondayOf(latestLogDay) < currentMonday - (WEEKS_SHOWN - 1) * 7 + ) { + currentMonday = mondayOf(latestLogDay); + } + + const weeks: WeekBucket[] = []; + const weekIndex = new Map(); + for (let index = WEEKS_SHOWN - 1; index >= 0; index--) { + const monday = currentMonday - index * 7; + const bucket: WeekBucket = { + week_start: dayNumberToISO(monday), + sessions: 0, + minutes: 0, + }; + weeks.push(bucket); + weekIndex.set(monday, bucket); + } + + const retention: RetentionPoint[] = []; + let totalMinutes = 0; + for (const log of logs) { + const day = toDayNumber(log.date); + if (day === null) continue; + const minutes = parseDurationMinutes(log.duration_approx); + totalMinutes += minutes; + + const bucket = weekIndex.get(mondayOf(day)); + if (bucket) { + bucket.sessions++; + bucket.minutes += minutes; + } + + if (log.outcomes) { + const values = Object.values(log.outcomes); + if (values.length > 0) { + retention.push({ + date: log.date, + book: log.book, + segment: log.segment, + value: values.reduce((total, value) => total + value, 0) / values.length, + concepts: values.length, + }); + } + } + } + retention.sort((a, b) => a.date.localeCompare(b.date)); + + const stageCounts: Record = { + unread: 0, + read: 0, + interrogated: 0, + reconstructed: 0, + carded: 0, + complete: 0, + }; + let segmentsComplete = 0; + for (const book of books) { + for (const segment of book.segments) { + stageCounts[segment.stage] = (stageCounts[segment.stage] ?? 0) + 1; + if (segment.stage === "complete") segmentsComplete++; + } + } + + return { + weeks, + stage_counts: stageCounts, + retention, + totals: { + sessions: logs.length, + minutes: totalMinutes, + books: books.length, + segments_complete: segmentsComplete, + }, + }; +} diff --git a/App/shared/vault.ts b/App/shared/vault.ts new file mode 100644 index 0000000..d728eed --- /dev/null +++ b/App/shared/vault.ts @@ -0,0 +1,484 @@ +import type { + BookDetail, + BookMeta, + BookSummary, + LogDetail, + SearchKind, + SearchResult, + Segment, + SegmentStage, + SessionLog, +} from "./types.js"; + +export interface VaultEntry { + name: string; + isFile: boolean; + isDirectory: boolean; +} + +export interface MarkdownDocument { + data: Record; + content: string; +} + +/** + * The only filesystem boundary used by the tracker. Implementations may use + * Node (browser/server mode) or Tauri's scoped filesystem plugin (desktop). + */ +export interface VaultReader { + readText(relativePath: string): Promise; + readDir(relativePath: string): Promise; + exists(relativePath: string): Promise; + size(relativePath: string): Promise; + parseMarkdown(raw: string): MarkdownDocument; + renderMarkdown(markdown: string): Promise; +} + +export interface VaultService { + readBookSummary(slug: string): Promise; + readBookDetail(slug: string): Promise; + readAllBooks(): Promise; + readLogDetail(slug: string, file: string): Promise; + readAllLogs(): Promise; + search(query: string): Promise; +} + +export interface VaultServiceOptions { + /** Surface filesystem/parser errors instead of treating the vault as empty. */ + strict?: boolean; +} + +const COMPLETED_STAGES: SegmentStage[] = ["complete"]; +const MAX_RESULTS = 20; +const MAX_FILE_BYTES = 512 * 1024; +const TITLE_WEIGHT = 6; +const SLUG_RE = /^[a-z0-9][a-z0-9-]*$/i; +const LOG_FILE_RE = /^[a-z0-9][a-z0-9._-]*\.md$/i; + +function vaultPath(...parts: string[]): string { + return parts.filter(Boolean).join("/"); +} + +function asString(value: unknown, fallback = ""): string { + if (typeof value === "string") return value; + if (value instanceof Date) return value.toISOString().slice(0, 10); + return fallback; +} + +function asNumber(value: unknown, fallback = 0): number { + return typeof value === "number" && Number.isFinite(value) ? value : fallback; +} + +function normaliseSegments(raw: unknown): Segment[] { + if (!Array.isArray(raw)) return []; + return raw.map((segment, index) => { + const value = (segment ?? {}) as Record; + return { + id: asString(value.id, String(index + 1).padStart(2, "0")), + slug: asString(value.slug, `segment-${index + 1}`), + title: asString(value.title, `Segment ${index + 1}`), + summary: asString(value.summary), + stage: asString(value.stage, "unread") as SegmentStage, + difficulty: asNumber(value.difficulty, 0), + sessions: asNumber(value.sessions, 0), + }; + }); +} + +function normaliseDifficultyMap(raw: unknown): Record { + if (!raw || typeof raw !== "object") return {}; + const result: Record = {}; + for (const [key, value] of Object.entries(raw as Record)) { + if (typeof value === "number") result[key] = value; + } + return result; +} + +function normaliseOutcomes(raw: unknown): Record | undefined { + if (!raw || typeof raw !== "object") return undefined; + const result: Record = {}; + for (const [key, value] of Object.entries(raw as Record)) { + if (typeof value === "number" && Number.isFinite(value)) { + result[key] = Math.min(1, Math.max(0, value)); + } + } + return Object.keys(result).length > 0 ? result : undefined; +} + +function normaliseConnections(raw: unknown): BookMeta["connections"] { + if (!Array.isArray(raw)) return []; + return raw + .map((connection) => { + const value = (connection ?? {}) as Record; + return { + target_book: asString(value.target_book), + description: asString(value.description), + }; + }) + .filter((connection) => connection.target_book.length > 0); +} + +function parseBookMeta(data: Record, slug: string): BookMeta { + return { + title: asString(data.title, slug), + author: asString(data.author), + slug: asString(data.slug, slug), + date_added: asString(data.date_added), + date_started: asString(data.date_started) || undefined, + date_completed: asString(data.date_completed) || undefined, + status: asString(data.status, "queued") as BookMeta["status"], + total_segments: asNumber(data.total_segments), + segments: normaliseSegments(data.segments), + difficulty_map: normaliseDifficultyMap(data.difficulty_map), + connections: normaliseConnections(data.connections), + cover: typeof data.cover === "string" ? data.cover : undefined, + }; +} + +function isVisibleMarkdown(name: string): boolean { + return name.endsWith(".md") && !name.startsWith(".") && !name.startsWith("._"); +} + +function humanise(filename: string): string { + return filename + .replace(/\.md$/, "") + .replace(/^\d+[-.]?/, "") + .replace(/-/g, " ") + .replace(/(^|\s)\w/g, (character) => character.toUpperCase()) + .trim(); +} + +function logTitle(filename: string): string { + const match = filename.match(/^(\d{4}-\d{2}-\d{2})-(.+)\.md$/); + if (!match) return humanise(filename); + return `${humanise(`${match[2]}.md`)} — ${match[1]}`; +} + +function countOccurrences(haystack: string, needle: string): number { + let count = 0; + let index = 0; + while (count < 50) { + index = haystack.indexOf(needle, index); + if (index === -1) break; + count++; + index += needle.length; + } + return count; +} + +function plainify(markdown: string): string { + return markdown + .replace(/^#{1,6}\s+/gm, "") + .replace(/\[([^\]]*)\]\([^)]*\)/g, "$1") + .replace(/[*_`>]/g, "") + .replace(/^[-+]\s+/gm, ""); +} + +function makeSnippet(content: string, terms: string[]): string { + const lower = content.toLowerCase(); + let hit = -1; + for (const term of terms) { + const index = lower.indexOf(term); + if (index !== -1 && (hit === -1 || index < hit)) hit = index; + } + if (hit === -1) hit = 0; + const start = Math.max(0, hit - 90); + const end = Math.min(content.length, hit + 170); + const raw = content.slice(start, end).replace(/\s+/g, " ").trim(); + return `${start > 0 ? "…" : ""}${raw}${end < content.length ? "…" : ""}`; +} + +interface SearchCandidate { + kind: SearchKind; + file: string; + book?: string; + book_title?: string; + title: string; + log_file?: string; +} + +export function createVaultService( + reader: VaultReader, + options: VaultServiceOptions = {}, +): VaultService { + async function readMarkdown(relativePath: string): Promise { + try { + return reader.parseMarkdown(await reader.readText(relativePath)); + } catch (error) { + if (options.strict) throw error; + return null; + } + } + + async function listBookDirs(): Promise { + try { + const entries = await reader.readDir("books"); + const directories = entries + .filter( + (entry) => + entry.isDirectory && + !entry.name.startsWith(".") && + !entry.name.startsWith("._"), + ) + .map((entry) => entry.name); + const recognised = await Promise.all( + directories.map(async (name) => ({ + name, + hasMetadata: await reader.exists(vaultPath("books", name, "book.md")), + })), + ); + return recognised + .filter((entry) => entry.hasMetadata) + .map((entry) => entry.name); + } catch (error) { + if (options.strict) throw error; + return []; + } + } + + async function listMarkdown(relativeDir: string): Promise { + try { + return (await reader.readDir(relativeDir)) + .filter((entry) => entry.isFile && isVisibleMarkdown(entry.name)) + .map((entry) => entry.name); + } catch { + return []; + } + } + + async function readSessionLogs(bookDir: string, slug: string): Promise { + const files = await listMarkdown(vaultPath(bookDir, "logs")); + const logs: SessionLog[] = []; + for (const file of files) { + const markdown = await readMarkdown(vaultPath(bookDir, "logs", file)); + if (!markdown) continue; + logs.push({ + path: `logs/${file}`, + date: asString(markdown.data.date), + book: asString(markdown.data.book, slug), + segment: + typeof markdown.data.segment === "string" ? markdown.data.segment : undefined, + type: asString(markdown.data.type, "session"), + duration_approx: + typeof markdown.data.duration_approx === "string" + ? markdown.data.duration_approx + : undefined, + summary: markdown.content.trim().slice(0, 400), + outcomes: normaliseOutcomes(markdown.data.outcomes), + }); + } + return logs.sort((a, b) => (a.date < b.date ? 1 : -1)); + } + + async function readBookSummary(slug: string): Promise { + const bookDir = vaultPath("books", slug); + const markdown = await readMarkdown(vaultPath(bookDir, "book.md")); + if (!markdown) return null; + const meta = parseBookMeta(markdown.data, slug); + const completed = meta.segments.filter((segment) => + COMPLETED_STAGES.includes(segment.stage), + ).length; + const total = meta.total_segments || meta.segments.length; + const logs = await readSessionLogs(bookDir, slug); + return { + ...meta, + progress: { completed, total, last_active: logs[0]?.date }, + }; + } + + async function readBookDetail(slug: string): Promise { + if (!SLUG_RE.test(slug)) return null; + const bookDir = vaultPath("books", slug); + const markdown = await readMarkdown(vaultPath(bookDir, "book.md")); + if (!markdown) return null; + const meta = parseBookMeta(markdown.data, slug); + const completed = meta.segments.filter((segment) => + COMPLETED_STAGES.includes(segment.stage), + ).length; + const total = meta.total_segments || meta.segments.length; + const logs = await readSessionLogs(bookDir, slug); + return { + ...meta, + progress: { completed, total, last_active: logs[0]?.date }, + body_html: await reader.renderMarkdown(markdown.content), + logs, + has_thesis: await reader.exists(vaultPath(bookDir, "thesis.md")), + has_essay: await reader.exists(vaultPath(bookDir, "essay.md")), + }; + } + + async function readAllBooks(): Promise { + const books: BookSummary[] = []; + for (const slug of await listBookDirs()) { + const book = await readBookSummary(slug); + if (book) books.push(book); + } + return books; + } + + async function readLogDetail(slug: string, file: string): Promise { + if (!SLUG_RE.test(slug) || !LOG_FILE_RE.test(file) || file.includes("..")) { + return null; + } + const relativePath = vaultPath("books", slug, "logs", file); + const markdown = await readMarkdown(relativePath); + if (!markdown) return null; + const bookMarkdown = await readMarkdown(vaultPath("books", slug, "book.md")); + return { + path: `logs/${file}`, + date: asString(markdown.data.date), + book: asString(markdown.data.book, slug), + book_title: bookMarkdown + ? asString(bookMarkdown.data.title, slug) + : undefined, + segment: + typeof markdown.data.segment === "string" ? markdown.data.segment : undefined, + type: asString(markdown.data.type, "session"), + duration_approx: + typeof markdown.data.duration_approx === "string" + ? markdown.data.duration_approx + : undefined, + summary: markdown.content.trim().slice(0, 400), + outcomes: normaliseOutcomes(markdown.data.outcomes), + body_html: await reader.renderMarkdown(markdown.content), + }; + } + + async function readAllLogs(): Promise { + const logs: SessionLog[] = []; + for (const slug of await listBookDirs()) { + logs.push(...(await readSessionLogs(vaultPath("books", slug), slug))); + } + return logs.sort((a, b) => (a.date < b.date ? 1 : -1)); + } + + async function collectCandidates(): Promise { + const books = await readAllBooks(); + const candidates: SearchCandidate[] = []; + + for (const book of books) { + const bookDir = vaultPath("books", book.slug); + const base = { book: book.slug, book_title: book.title }; + candidates.push({ + ...base, + kind: "book", + file: vaultPath(bookDir, "book.md"), + title: book.title, + }); + + const segmentTitle = (filename: string): string => { + const stem = filename.replace(/\.md$/, ""); + const segment = book.segments.find( + (item) => stem === `${item.id}-${item.slug}` || stem === item.slug, + ); + return segment ? segment.title : humanise(filename); + }; + + for (const file of await listMarkdown(vaultPath(bookDir, "source"))) { + candidates.push({ + ...base, + kind: "source", + file: vaultPath(bookDir, "source", file), + title: segmentTitle(file), + }); + } + for (const file of await listMarkdown(vaultPath(bookDir, "logs"))) { + candidates.push({ + ...base, + kind: "log", + file: vaultPath(bookDir, "logs", file), + title: logTitle(file), + log_file: file, + }); + } + for (const file of await listMarkdown(vaultPath(bookDir, "reconstructions"))) { + candidates.push({ + ...base, + kind: "reconstruction", + file: vaultPath(bookDir, "reconstructions", file), + title: segmentTitle(file), + }); + } + for (const file of await listMarkdown(vaultPath(bookDir, "cards"))) { + candidates.push({ + ...base, + kind: "cards", + file: vaultPath(bookDir, "cards", file), + title: humanise(file), + }); + } + for (const special of ["thesis", "essay"] as const) { + candidates.push({ + ...base, + kind: special, + file: vaultPath(bookDir, `${special}.md`), + title: `${book.title} — ${special}`, + }); + } + } + + for (const file of await listMarkdown("cross-book")) { + candidates.push({ + kind: "cross-book", + file: vaultPath("cross-book", file), + title: humanise(file), + }); + } + return candidates; + } + + async function search(query: string): Promise { + const terms = query + .toLowerCase() + .split(/\s+/) + .filter((term) => term.length >= 2) + .slice(0, 6); + if (terms.length === 0) return []; + + const results: SearchResult[] = []; + for (const candidate of await collectCandidates()) { + let raw: string; + try { + const size = await reader.size(candidate.file); + if (size === null || size > MAX_FILE_BYTES) continue; + raw = await reader.readText(candidate.file); + } catch { + continue; + } + const content = reader.parseMarkdown(raw).content; + const contentLower = content.toLowerCase(); + const titleLower = candidate.title.toLowerCase(); + let score = 0; + let allPresent = true; + for (const term of terms) { + const hits = + countOccurrences(contentLower, term) + + TITLE_WEIGHT * countOccurrences(titleLower, term); + if (hits === 0) allPresent = false; + score += hits; + } + if (score === 0) continue; + if (allPresent && terms.length > 1) score *= 2; + results.push({ + kind: candidate.kind, + file: candidate.file, + book: candidate.book, + book_title: candidate.book_title, + title: candidate.title, + snippet: makeSnippet(plainify(content), terms), + score, + log_file: candidate.log_file, + }); + } + return results.sort((a, b) => b.score - a.score).slice(0, MAX_RESULTS); + } + + return { + readBookSummary, + readBookDetail, + readAllBooks, + readLogDetail, + readAllLogs, + search, + }; +} diff --git a/App/src-tauri/.cargo/config.toml b/App/src-tauri/.cargo/config.toml new file mode 100644 index 0000000..4a6a1ab --- /dev/null +++ b/App/src-tauri/.cargo/config.toml @@ -0,0 +1,2 @@ +[resolver] +incompatible-rust-versions = "fallback" diff --git a/App/src-tauri/Cargo.lock b/App/src-tauri/Cargo.lock new file mode 100644 index 0000000..2831289 --- /dev/null +++ b/App/src-tauri/Cargo.lock @@ -0,0 +1,4657 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" + +[[package]] +name = "atk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" +dependencies = [ + "atk-sys", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" +dependencies = [ + "serde_core", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + +[[package]] +name = "brotli" +version = "8.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "5.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bumpalo" +version = "3.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" + +[[package]] +name = "bytemuck" +version = "1.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" +dependencies = [ + "serde", +] + +[[package]] +name = "cairo-rs" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" +dependencies = [ + "bitflags 2.13.1", + "cairo-sys-rs", + "glib", + "libc", + "once_cell", + "thiserror 1.0.69", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "camino" +version = "1.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb1307f12aa967b5a58416e87b3653360e0fd614a016b6e970db08fecbb1b80d" +dependencies = [ + "serde_core", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.19", +] + +[[package]] +name = "cargo_toml" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" +dependencies = [ + "serde", + "toml 0.9.12+spec-1.1.0", +] + +[[package]] +name = "cc" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfb" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" +dependencies = [ + "byteorder", + "fnv", + "uuid", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "chrono" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" +dependencies = [ + "iana-time-zone", + "num-traits", + "serde", + "windows-link 0.2.1", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "cookie" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "time", + "version_check", +] + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064badf302c3194842cf2c5d61f56cc88e54a759313879cdf03abdd27d0c3b97" +dependencies = [ + "bitflags 2.13.1", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.13.1", + "core-foundation", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d85363c37faeca707aef026efa9f3b34d077bce547e48f770770625c6013679e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa", + "phf", + "smallvec", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" +dependencies = [ + "quote", + "syn 2.0.119", +] + +[[package]] +name = "ctor" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "352d39c2f7bef1d6ad73db6f5160efcaed66d94ef8c6c573a8410c00bf909a98" +dependencies = [ + "ctor-proc-macro", + "dtor", +] + +[[package]] +name = "ctor-proc-macro" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" + +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.119", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "dbus" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab69f03cc8c4340c9c8e315114e1658e6775a9b16a04357973aa21cec22b32e" +dependencies = [ + "libc", + "libdbus-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "deranged" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +dependencies = [ + "powerfmt", + "serde_core", +] + +[[package]] +name = "derive_more" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.119", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.61.2", +] + +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags 2.13.1", + "block2", + "libc", + "objc2", +] + +[[package]] +name = "displaydoc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "dlopen2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "dom_query" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521e380c0c8afb8d9a1e83a1822ee03556fc3e3e7dbc1fd30be14e37f9cb3f89" +dependencies = [ + "bit-set", + "cssparser", + "foldhash", + "html5ever", + "precomputed-hash", + "selectors", + "tendril", +] + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" +dependencies = [ + "serde", +] + +[[package]] +name = "dtoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" + +[[package]] +name = "dtoa-short" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" +dependencies = [ + "dtoa", +] + +[[package]] +name = "dtor" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1057d6c64987086ff8ed0fd3fbf377a6b7d205cc7715868cd401705f715cbe4" +dependencies = [ + "dtor-proc-macro", +] + +[[package]] +name = "dtor-proc-macro" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "effortful-learning" +version = "0.1.0" +dependencies = [ + "tauri", + "tauri-build", + "tauri-plugin-dialog", + "tauri-plugin-fs", + "tauri-plugin-persisted-scope", +] + +[[package]] +name = "embed-resource" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbfdaacccebec3b28e4866b8973543c7647797db5ada1bdab552e48fe665fbbd" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 1.1.4+spec-1.1.0", + "vswhom", + "winreg", +] + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "erased-serde" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" +dependencies = [ + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "field-offset" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" +dependencies = [ + "memoffset", + "rustc_version", +] + +[[package]] +name = "file-id" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1fc6a637b6dc58414714eddd9170ff187ecb0933d4c7024d1abbd23a3cc26e9" +dependencies = [ + "windows-sys 0.60.2", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "flate2" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fsevent-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +dependencies = [ + "libc", +] + +[[package]] +name = "futures-channel" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "262590f4fe6afeb0bc83be1daa64e52657fe185690a958af7f3ad0e92085c5ae" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7" + +[[package]] +name = "futures-executor" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6754879cc9f2c66f88c6e5c35344bb0bdb0708b0352b1201815667c7eabc7458" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4577ecaa3c4f96589d473f679a71b596316f6641bc350038b962a5daf0085d7a" + +[[package]] +name = "futures-macro" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d6d3cde68c518367be28956066ddfef33813991b77a55005a69dae04bf3b10b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "futures-sink" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e34418ac499d6305c2fb5ad0ed2f6ac998c5f8ca209b4510f7f94242c647e307" + +[[package]] +name = "futures-task" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109" + +[[package]] +name = "futures-util" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "slab", +] + +[[package]] +name = "gdk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" +dependencies = [ + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" +dependencies = [ + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", + "once_cell", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkwayland-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" +dependencies = [ + "gdk-sys", + "glib-sys", + "gobject-sys", + "libc", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkx11" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" +dependencies = [ + "gdk", + "gdkx11-sys", + "gio", + "glib", + "libc", + "x11", +] + +[[package]] +name = "gdkx11-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" +dependencies = [ + "gdk-sys", + "glib-sys", + "libc", + "system-deps", + "x11", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi 5.3.0", + "wasip2", +] + +[[package]] +name = "getrandom" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", +] + +[[package]] +name = "gio" +version = "0.18.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "gio-sys", + "glib", + "libc", + "once_cell", + "pin-project-lite", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gio-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", + "winapi", +] + +[[package]] +name = "glib" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" +dependencies = [ + "bitflags 2.13.1", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "futures-util", + "gio-sys", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "memchr", + "once_cell", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "glib-macros" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" +dependencies = [ + "heck 0.4.1", + "proc-macro-crate 2.0.2", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "glib-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "glob" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" + +[[package]] +name = "gobject-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gtk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" +dependencies = [ + "atk", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "gtk3-macros" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "html5ever" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1054432bae2f14e0061e33d23402fbaa67a921d319d56adc6bcf887ddad1cbc2" +dependencies = [ + "log", + "markup5ever", +] + +[[package]] +name = "http" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9f41fd6a08e4d4ec69df65976da761afd5ad5e58a9d4acb46bd1c953a9e3ff2" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "hyper" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d22053281f852e11534f5198498373cbb59295120a20771d90f7ed1897490a72" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-util" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core 0.62.2", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ico" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e795dff5605e0f04bff85ca41b51a96b83e80b281e96231bcaaf1ac35103371" +dependencies = [ + "byteorder", + "png 0.17.16", +] + +[[package]] +name = "icu_collections" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" +dependencies = [ + "displaydoc", + "potential_utf", + "utf8_iter", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" + +[[package]] +name = "icu_properties" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" + +[[package]] +name = "icu_provider" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +dependencies = [ + "equivalent", + "hashbrown 0.17.1", + "serde", + "serde_core", +] + +[[package]] +name = "infer" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" +dependencies = [ + "cfb", +] + +[[package]] +name = "inotify" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "153be1941a183ec9ccd095ddbe17a8b8d435ef6c76e9e02451b933c3999af2c8" +dependencies = [ + "bitflags 2.13.1", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c033f80b2c113cdf91ab7a33faa9cbc014726dcad99880c8609af2a370edf37d" +dependencies = [ + "libc", +] + +[[package]] +name = "ipnet" +version = "2.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a756c3fac73139e83f14c2d742155dd2b78d3ee56597b419a0579b7bdd6dd78" + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "javascriptcore-rs" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" +dependencies = [ + "bitflags 1.3.2", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys 0.3.1", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" +dependencies = [ + "jni-sys 0.4.1", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.119", +] + +[[package]] +name = "js-sys" +version = "0.3.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102" +dependencies = [ + "cfg-if", + "futures-util", + "wasm-bindgen", +] + +[[package]] +name = "json-patch" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" +dependencies = [ + "jsonptr", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "jsonptr" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "keyboard-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" +dependencies = [ + "bitflags 2.13.1", + "serde", + "unicode-segmentation", +] + +[[package]] +name = "kqueue" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d763e5b24120b4ddf50de6c92308156765aabfbbccebf401da7cff2d70a41ea" +dependencies = [ + "kqueue-sys", + "libc", +] + +[[package]] +name = "kqueue-sys" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07293a4e297ac234359b510362495713f75ea345d5307140414f20c69ffeb087" +dependencies = [ + "bitflags 2.13.1", + "libc", +] + +[[package]] +name = "libappindicator" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" +dependencies = [ + "glib", + "gtk", + "gtk-sys", + "libappindicator-sys", + "log", +] + +[[package]] +name = "libappindicator-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" +dependencies = [ + "gtk-sys", + "libloading", + "once_cell", +] + +[[package]] +name = "libc" +version = "0.2.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" + +[[package]] +name = "libdbus-sys" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "328c4789d42200f1eeec05bd86c9c13c7f091d2ba9a6ea35acdf51f31bc0f043" +dependencies = [ + "pkg-config", +] + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libredox" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2026a5056764a10b2bf5d56488cba40da507f5493a6a429340e2004d9ed085fa" +dependencies = [ + "libc", +] + +[[package]] +name = "litemap" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" + +[[package]] +name = "markup5ever" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8983d30f2915feeaaab2d6babdd6bc7e9ed1a00b66b5e6d74df19aa9c0e91862" +dependencies = [ + "log", + "tendril", + "web_atoms", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "muda" +version = "0.19.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd04e60bc0b07438a6771710ee1698f98f6ebbc7f89b61264af1563b8aeb878" +dependencies = [ + "crossbeam-channel", + "dpi", + "gtk", + "keyboard-types", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "once_cell", + "png 0.18.1", + "serde", + "thiserror 2.0.19", + "windows-sys 0.61.2", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.13.1", + "jni-sys 0.3.1", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys 0.3.1", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "notify" +version = "8.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" +dependencies = [ + "bitflags 2.13.1", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "log", + "mio", + "notify-types", + "walkdir", + "windows-sys 0.60.2", +] + +[[package]] +name = "notify-debouncer-full" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "375bd3a138be7bfeff3480e4a623df4cbfb55b79df617c055cd810ba466fa078" +dependencies = [ + "file-id", + "log", + "notify", + "notify-types", + "walkdir", +] + +[[package]] +name = "notify-types" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" +dependencies = [ + "bitflags 2.13.1", + "serde", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_enum" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", + "objc2-exception-helper", +] + +[[package]] +name = "objc2-app-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" +dependencies = [ + "bitflags 2.13.1", + "block2", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.13.1", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +dependencies = [ + "bitflags 2.13.1", + "dispatch2", + "objc2", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-core-image" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-location" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca347214e24bc973fc025fd0d36ebb179ff30536ed1f80252706db19ee452009" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-text" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-exception-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" +dependencies = [ + "cc", +] + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags 2.13.1", + "block2", + "libc", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" +dependencies = [ + "bitflags 2.13.1", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-core-image", + "objc2-core-location", + "objc2-core-text", + "objc2-foundation", + "objc2-quartz-core", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9df9128cbbfef73cda168416ccf7f837b62737d748333bfe9ab71c245d76613e" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-web-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" +dependencies = [ + "bitflags 2.13.1", + "block2", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "pango" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" +dependencies = [ + "gio", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link 0.2.1", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "phf" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" +dependencies = [ + "phf_macros", + "phf_shared", + "serde", +] + +[[package]] +name = "phf_codegen" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_macros" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "phf_shared" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "pkg-config" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" + +[[package]] +name = "plist" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" +dependencies = [ + "base64 0.22.1", + "indexmap 2.14.0", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "png" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" +dependencies = [ + "bitflags 2.13.1", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "potential_utf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "proc-macro-crate" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit 0.25.13+spec-1.1.0", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.38.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.13.1", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.17", + "libredox", + "thiserror 2.0.19", +] + +[[package]] +name = "ref-cast" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216e8f773d7923bcba9ceb86a86c93cabb3903a11872fc3f138c49630e50b96d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9283685feec7d69af75fb0e858d5e7378f33fe4fc699383b2916ab9273e03c" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "reqwest" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "sync_wrapper", + "tokio", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + +[[package]] +name = "rfd" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15ad77d9e70a92437d8f74c35d99b4e4691128df018833e99f90bcd36152672" +dependencies = [ + "block2", + "dispatch2", + "glib-sys", + "gobject-sys", + "gtk-sys", + "js-sys", + "log", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-sys 0.60.2", +] + +[[package]] +name = "rustc-hash" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustversion" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schemars" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +dependencies = [ + "dyn-clone", + "indexmap 1.9.3", + "schemars_derive", + "serde", + "serde_json", + "url", + "uuid", +] + +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "687274d293b6cdc6e73e0fee520bf2049650090d7164f87672d212a3c530cf4a" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.119", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "selectors" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5d9c0c92a92d33f08817311cf3f2c29a3538a8240e94a6a3c622ce652d7e00c" +dependencies = [ + "bitflags 2.13.1", + "cssparser", + "derive_more", + "log", + "new_debug_unreachable", + "phf", + "phf_codegen", + "precomputed-hash", + "rustc-hash", + "servo_arc", + "smallvec", +] + +[[package]] +name = "semver" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" +dependencies = [ + "serde", + "serde_core", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde-untagged" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" +dependencies = [ + "erased-serde", + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_repr" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "serde_spanned" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_spanned" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_with" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "381b283ce7bc6b476d903296fb59d0d36633652b633b27f64db4fb46dcbfc3b9" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.14.0", + "schemars 0.9.0", + "schemars 1.2.2", + "serde_core", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6d4e30573c8cb306ed6ab1dca8423eec9a463ea0e155f45399455e0368b27e0" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "servo_arc" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170fb83ab34de17dc69aa7c67482b22218ddb85da56546f9bd6b929e32a05930" +dependencies = [ + "stable_deref_trait", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "simd-adler32" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" + +[[package]] +name = "siphasher" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" + +[[package]] +name = "socket2" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "softbuffer" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac18da81ebbf05109ab275b157c22a653bb3c12cf884450179942f81bcbf6c3" +dependencies = [ + "bytemuck", + "js-sys", + "ndk", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "objc2-quartz-core", + "raw-window-handle", + "redox_syscall", + "tracing", + "wasm-bindgen", + "web-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "soup3" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" +dependencies = [ + "futures-channel", + "gio", + "glib", + "libc", + "soup3-sys", +] + +[[package]] +name = "soup3-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "string_cache" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901" +dependencies = [ + "new_debug_unreachable", + "parking_lot", + "phf_shared", + "precomputed-hash", +] + +[[package]] +name = "string_cache_codegen" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "swift-rs" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4057c98e2e852d51fdcfca832aac7b571f6b351ad159f9eda5db1655f8d0c4d7" +dependencies = [ + "base64 0.21.7", + "serde", + "serde_json", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr", + "heck 0.5.0", + "pkg-config", + "toml 0.8.2", + "version-compare", +] + +[[package]] +name = "tao" +version = "0.35.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1c93047acf68669466a34690ac58cca7010bd1b201e1ec86f1fd0a75d3dd4a9" +dependencies = [ + "bitflags 2.13.1", + "block2", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dbus", + "dispatch2", + "dlopen2", + "dpi", + "gdkwayland-sys", + "gdkx11-sys", + "gtk", + "jni", + "libc", + "log", + "ndk", + "ndk-sys", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "once_cell", + "parking_lot", + "percent-encoding", + "raw-window-handle", + "tao-macros", + "unicode-segmentation", + "url", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "tao-macros" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f7eeb6d99155545da6150a1795945f16ac9c178deb2a5f2e74d776107bd5849" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + +[[package]] +name = "tauri" +version = "2.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "667b20e2726d572dea2de7370da16e188eb06008faf9a92fab7cdc46791190b5" +dependencies = [ + "anyhow", + "bytes", + "cookie", + "dirs", + "dunce", + "embed_plist", + "getrandom 0.3.4", + "glob", + "gtk", + "heck 0.5.0", + "http", + "jni", + "libc", + "log", + "mime", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "percent-encoding", + "plist", + "raw-window-handle", + "reqwest", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "swift-rs", + "tauri-build", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "thiserror 2.0.19", + "tokio", + "tray-icon", + "url", + "webkit2gtk", + "webview2-com", + "window-vibrancy", + "windows", +] + +[[package]] +name = "tauri-build" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc9ce40b16101cb6ea63d3e221567affd1c3a9205f95d7bc574941a10636b632" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs", + "glob", + "heck 0.5.0", + "json-patch", + "schemars 0.8.22", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08279169ff42f8fc45a1dbc9dcae888893ba95288142e5880c59b93a26d2cfc5" +dependencies = [ + "base64 0.22.1", + "brotli", + "ico", + "json-patch", + "plist", + "png 0.17.16", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "sha2", + "syn 2.0.119", + "tauri-utils", + "thiserror 2.0.19", + "time", + "url", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8b394794f399a421811d06966343e7933fcae92d59f5180b9388d1174497a45" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.119", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-plugin" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74be5dd4bed9afbd145e5716b5fa2ec28cbc29c34ffa61c258c9273d896c8020" +dependencies = [ + "anyhow", + "glob", + "plist", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri-utils", + "walkdir", +] + +[[package]] +name = "tauri-plugin-dialog" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2d3c1dbe38037e7f590cdf2492594d5ceebe031e7bc7e827509b22a999d2940" +dependencies = [ + "log", + "raw-window-handle", + "rfd", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "tauri-plugin-fs", + "thiserror 2.0.19", + "url", +] + +[[package]] +name = "tauri-plugin-fs" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7ecc274121aca0c036a2b42d1cbe83d368d348f54e0bb8a735c2b1548e8f371" +dependencies = [ + "anyhow", + "dunce", + "glob", + "log", + "notify", + "notify-debouncer-full", + "objc2-foundation", + "percent-encoding", + "schemars 0.8.22", + "serde", + "serde_json", + "serde_repr", + "tauri", + "tauri-plugin", + "tauri-utils", + "thiserror 2.0.19", + "toml 1.1.4+spec-1.1.0", + "url", +] + +[[package]] +name = "tauri-plugin-persisted-scope" +version = "2.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b560a5962bf975d38fb4ec98a0e64e52929992ec708acb812add9c1ab8d186d" +dependencies = [ + "aho-corasick", + "bincode", + "log", + "serde", + "serde_json", + "tauri", + "tauri-plugin-fs", + "thiserror 2.0.19", +] + +[[package]] +name = "tauri-runtime" +version = "2.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0b4bc95aed361b0019067d189a1174a603d460d0f6c72606512d59fc9c12ec8" +dependencies = [ + "cookie", + "dpi", + "gtk", + "http", + "jni", + "objc2", + "objc2-ui-kit", + "objc2-web-kit", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror 2.0.19", + "url", + "webkit2gtk", + "webview2-com", + "windows", +] + +[[package]] +name = "tauri-runtime-wry" +version = "2.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e6fac707727b7a2f48e4ded90976324267371073edbb415ffb73bb0458d203f" +dependencies = [ + "gtk", + "http", + "jni", + "log", + "objc2", + "objc2-app-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "softbuffer", + "tao", + "tauri-runtime", + "tauri-utils", + "url", + "webkit2gtk", + "webview2-com", + "windows", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "2.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e176a18e67764923c4f1ce66f25ae4abe5f688384d5eb1a0fa6c77f3d90f887" +dependencies = [ + "anyhow", + "brotli", + "cargo_metadata", + "ctor", + "dom_query", + "dunce", + "glob", + "http", + "infer", + "json-patch", + "log", + "memchr", + "phf", + "plist", + "proc-macro2", + "quote", + "regex", + "schemars 0.8.22", + "semver", + "serde", + "serde-untagged", + "serde_json", + "serde_with", + "swift-rs", + "thiserror 2.0.19", + "toml 1.1.4+spec-1.1.0", + "url", + "urlpattern", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-winres" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc65d45c68858bfe420dd29e834b5d15dbecf8a07a8a16cf4d532c7b1f69d4b6" +dependencies = [ + "dunce", + "embed-resource", + "toml 1.1.4+spec-1.1.0", +] + +[[package]] +name = "tendril" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fed54709c5b3a53d09bb1c113ea4f5ceafd1e772ddcb0030a82e1d56c087b08" +dependencies = [ + "new_debug_unreachable", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9" +dependencies = [ + "thiserror-impl 2.0.19", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43cbfe0cf76104d42a574802844187e84a305e531ed54455f11fbde0f10541cd" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.3", +] + +[[package]] +name = "time" +version = "0.3.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9e442fc33d7fdb45aa9bfeb312c095964abdf596f7567261062b2a7107aaabd" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b36ee98fd31ec7426d599183e8fe26932a8dc1fb76ddb6214d05493377d34ca" + +[[package]] +name = "time-macros" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e552d1249bf61ac2a52db88179fd0673def1e1ad8243a00d9ec9ed71fee3dd" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tokio" +version = "1.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed" +dependencies = [ + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-util" +version = "0.7.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "494815d09bf52b5548659851081238f0ca39ff638363907596da739561c62c52" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +dependencies = [ + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "toml" +version = "0.9.12+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" +dependencies = [ + "indexmap 2.14.0", + "serde_core", + "serde_spanned 1.1.1", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 0.7.15", +] + +[[package]] +name = "toml" +version = "1.1.4+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5" +dependencies = [ + "indexmap 2.14.0", + "serde_core", + "serde_spanned 1.1.1", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 1.0.4", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.14.0", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.14.0", + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.25.13+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b" +dependencies = [ + "indexmap 2.14.0", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "winnow 1.0.4", +] + +[[package]] +name = "toml_parser" +version = "1.1.3+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56" +dependencies = [ + "winnow 1.0.4", +] + +[[package]] +name = "toml_writer" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2" + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" +dependencies = [ + "bitflags 2.13.1", + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", + "url", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tray-icon" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "045979e3f037cd18ad1cb2a419dfda133c5c29c9f3453370079f2255d46c257e" +dependencies = [ + "crossbeam-channel", + "dirs", + "libappindicator", + "muda", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "once_cell", + "png 0.18.1", + "serde", + "thiserror 2.0.19", + "windows-sys 0.61.2", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + +[[package]] +name = "typenum" +version = "1.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" + +[[package]] +name = "unic-char-property" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" +dependencies = [ + "unic-char-range", +] + +[[package]] +name = "unic-char-range" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" + +[[package]] +name = "unic-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" + +[[package]] +name = "unic-ucd-ident" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" +dependencies = [ + "unic-char-property", + "unic-char-range", + "unic-ucd-version", +] + +[[package]] +name = "unic-ucd-version" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" +dependencies = [ + "unic-common", +] + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-segmentation" +version = "1.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", + "serde_derive", +] + +[[package]] +name = "urlpattern" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" +dependencies = [ + "regex", + "serde", + "unic-ucd-ident", + "url", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239" +dependencies = [ + "getrandom 0.4.3", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "version-compare" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c62df1340f32221cb9c54d6a27b030e3dba64361d4a95bed55f9aacb44da291d" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn 2.0.119", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-streams" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8622dcb61c0bcc9fffa6938bed81210af2da9a7e4a1a834b2e37a59b6dfb6141" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web_atoms" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "075474b12bcb3d2e3d4546580e9de478eeeead668a1761e2a8860c836b7ef297" +dependencies = [ + "phf", + "phf_codegen", + "string_cache", + "string_cache_codegen", +] + +[[package]] +name = "webkit2gtk" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1027150013530fb2eaf806408df88461ae4815a45c541c8975e61d6f2fc4793" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "gdk", + "gdk-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "gtk", + "gtk-sys", + "javascriptcore-rs", + "libc", + "once_cell", + "soup3", + "webkit2gtk-sys", +] + +[[package]] +name = "webkit2gtk-sys" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "916a5f65c2ef0dfe12fff695960a2ec3d4565359fdbb2e9943c974e06c734ea5" +dependencies = [ + "bitflags 1.3.2", + "cairo-sys-rs", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "javascriptcore-rs-sys", + "libc", + "pkg-config", + "soup3-sys", + "system-deps", +] + +[[package]] +name = "webview2-com" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows", + "windows-core 0.61.2", + "windows-implement", + "windows-interface", +] + +[[package]] +name = "webview2-com-macros" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "webview2-com-sys" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" +dependencies = [ + "thiserror 2.0.19", + "windows", + "windows-core 0.61.2", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "window-vibrancy" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" +dependencies = [ + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "raw-window-handle", + "windows-sys 0.59.0", + "windows-version", +] + +[[package]] +name = "windows" +version = "0.61.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link 0.2.1", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-version" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" + +[[package]] +name = "winnow" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" +dependencies = [ + "cfg-if", + "windows-sys 0.59.0", +] + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + +[[package]] +name = "writeable" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" + +[[package]] +name = "wry" +version = "0.55.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "186f9871daa55fd9c016578b810d149de58367113db7fb72b462d2323ce19514" +dependencies = [ + "base64 0.22.1", + "block2", + "cookie", + "crossbeam-channel", + "dirs", + "dom_query", + "dpi", + "dunce", + "gdkx11", + "gtk", + "http", + "javascriptcore-rs", + "jni", + "libc", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "sha2", + "soup3", + "tao-macros", + "thiserror 2.0.19", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "x11" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "yoke" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", + "synstructure", +] + +[[package]] +name = "zerofrom" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/App/src-tauri/Cargo.toml b/App/src-tauri/Cargo.toml new file mode 100644 index 0000000..65ead42 --- /dev/null +++ b/App/src-tauri/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "effortful-learning" +version = "0.1.0" +description = "Read-only desktop tracker for an Effortful Learning workspace" +authors = ["Adrian Valentim"] +edition = "2021" +rust-version = "1.86" + +[lib] +name = "effortful_learning_lib" +crate-type = ["staticlib", "cdylib", "rlib"] + +[build-dependencies] +tauri-build = { version = "2", features = [] } + +[dependencies] +tauri = { version = "2", features = [] } +tauri-plugin-dialog = "2" +tauri-plugin-fs = { version = "2", features = ["watch"] } +tauri-plugin-persisted-scope = "2" diff --git a/App/src-tauri/build.rs b/App/src-tauri/build.rs new file mode 100644 index 0000000..d860e1e --- /dev/null +++ b/App/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/App/src-tauri/capabilities/default.json b/App/src-tauri/capabilities/default.json new file mode 100644 index 0000000..9550986 --- /dev/null +++ b/App/src-tauri/capabilities/default.json @@ -0,0 +1,16 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "desktop-capability", + "description": "Read-only access to a Learning workspace selected by the user", + "windows": ["main"], + "permissions": [ + "core:default", + "dialog:allow-open", + "fs:allow-exists", + "fs:allow-read-dir", + "fs:allow-read-text-file", + "fs:allow-stat", + "fs:allow-watch", + "fs:allow-unwatch" + ] +} diff --git a/App/src-tauri/icons/128x128.png b/App/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..12f799c2c009e9d69cf65a9666fc20625ba1d4be GIT binary patch literal 6704 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 DZWRe5 literal 0 HcmV?d00001 diff --git a/App/src-tauri/icons/32x32.png b/App/src-tauri/icons/32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8482eb3674312d77762b79622dc69781c8db57 GIT binary patch literal 1567 zcmV+)2H^RLP)QYC~#3POr3i1hp?1Lp%DOp>NYhuD6>jj)VFe+V&M5%aFwSXERy z14US|;=(LAC|A8b!TA~wOm)BDlOtiMiiE9g7i(q>p2xb}&e!@46{$oRj_YG7S9vUW zb8lRlIyA%{2d>Bx<|YlSN4&=$l>}gD_G3f zU5cht2Hre9iDNS(&_fKqHUw6Agl*fyssWNJg z-y80nf}MFj*cU>bIA_d*nO#O^`98FW!A*i59YAty3VL!H&z(Lm~aC-!$nj| zMFLh(tCour{*<;EO$$nStjzIC7k4jND~Rbz`$#(0akU zDd>pCDg}+$Kwx%p6V^snSfFqU28NIr85e-%4PR_BqA@XFCfSme7a2o!p5kW|66xUf z@HprN=OnHxnt&T&kUIEK2V|;o}P$Xi2-qrhmi2Uy#9EKX| zhfA`;yClQ=gk5!afCm(!#-LF4MBZ`^BN3faP#5zNdSme+RP8clL#`PE48?qw;$jkE zJ&N9^M!I-iv21S#c!Pp~+MeHbsMj| zeoRcyB6esNvSzenga@l%Ct9-eSX-Q@@iyw73L~N-9*?2UFD?P#d@PL*53rynVQ30w z#&of{V7stN9&}B{F}fSP{pu8^=T6WeVnUYHOIZ5rPh9)?Z`@t7DTsXx#Z*KM1!3ZU ze$A#J^mc&rUvYrF?r@_+Vf0ZcT{o-k>(;rKM)1zrv^e;Wx0dnK?>QkHC96|OjoPq_ zhg&@D6V{4wdkAy0Vq{LH7V} zP>_sU1U#_U1+w*oLj)8JiGHCr%a}t&#->2yS2oeab_uv%aDp$W{Bwyocz-|OTxXR4 zvecl08cR@~?+V^Xl4~+~@alfSdoL6J2VA7FEL~NKc6FJ5Ch^aug9N8flFL@1{H3^2 z@NYDJ2wFRJVBp2_#rDT(>k#p%ev5xD5j#`7^gmT_3OK5!-!VnL#4T?r_!oTAB9ugt R5y1ce002ovPDHLkV1icQ^2`7L literal 0 HcmV?d00001 diff --git a/App/src-tauri/icons/64x64.png b/App/src-tauri/icons/64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..269ccb9689adfd71bd964b0271e53774b5472ca3 GIT binary patch literal 3261 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 literal 0 HcmV?d00001 diff --git a/App/src-tauri/icons/Square107x107Logo.png b/App/src-tauri/icons/Square107x107Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d32148fe4a2504d282574c7970e7442e18246146 GIT binary patch literal 5699 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 literal 0 HcmV?d00001 diff --git a/App/src-tauri/icons/Square150x150Logo.png b/App/src-tauri/icons/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e44b3e950d9fdc808e9849f10b08345ca3b79edc GIT binary patch literal 7901 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

rYfzJEG$m*EwJ=TD&A1!#BsxiDxt~16>x*Z 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 ScNLN?ilVBhsZcLx75RTWKX{-3 literal 0 HcmV?d00001 diff --git a/App/src-tauri/icons/Square30x30Logo.png b/App/src-tauri/icons/Square30x30Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..45007e96300f0beff5586d0c85e589306549b301 GIT binary patch literal 1465 zcmV;q1xEUbP)m;oc+evE2@B2E;Id&4inxv@o%0Bn{o|*a1%zQKFSVh})bSyjv zhA$adlI}^iJ40{S&ePt-Si8jDB-?usPZFe?vV{4SeBs+2d5I6R$z-V9C|z^FF0?DW z2+($UNs{hre(BwGx=@h$%a;M#y3aPs?3(cSmGSUp+hJG!Z_su-4DzQ+$nWJV2ptx5 zz@s4OQxTxA->bmml10KyiyaPBB;C=asnH>J7|`KC72!dR031{ehwjbyssec3GE`#E z=C+A^(cB-j^-G$H4YB<|RYgKF>Or|?Ay+VAIjnDZ6_SgDH26I#me#7UZT3u1KC1hH z%H+kdxEJ?Vn}+twsYUZ^n+6ow#EFCtf2B!hmsFjge2|Wi$NfN~As5b_3L+96C1XHt zV;g@it{odU8?8$F;RlKntknvAbLdmXc9KY%+J zC3hUyRt?$J2UxlPJFfn`h}(D8h5WfQQCzw>jl|4bh{UI$s$L!{7^N)U`}GDs|N6Ed zUT3s;sQVB}52!>IVsGNL_Qr;(=y4>^T*UONzv26RhlW8ejA2SLm~GB z)lv~mq6SH_lhd<;7kWU$`j*iF%0Fs1sHVyyrw*~#aV&&m6Hr}l*rp*2rx)%ZI+21q zFeK#5+Z&XEhZxi&2#+O%tktLsU206C%v4os);acSUF|M*7YT8O@>$2W!AQAUDv+`Z zdSpy|%Y`j^?+6{sFv+{qLcUrlpjN6w)!agtzvQ;ue46 z3vhdU6wU@}nn>WY-HdW7$jLQ8np@%t;IAFu`^U@zlu<(iAsy$Y&nWoGq#$mw5=6*MrolH#+2asJRW^SRA{HM;)PV4LmQL z9Na1oSLV?_WW?cH8hPZ0K0GR(^DCPII24YFu;(*rib$!|cw~$nIo{k3cprDVH&Z+}?7@EsVVK+sn(+l@7nn=-H)8l%jgxupt@P~BDe~j|$g3+i6U2fCs zR#2_m9iZ54nO$wLShmGV8RghF5D@P)O@)URqz}i4$xU)`BW9zDiPTI-m{m0(ba`nP z%T^C)Gt_;0Z>~T+SAp=V-^J^>vXyC(EBH(~A~UjNs~dEW)m^>Uu$d@+qp}6NUZURN zKvq3aygDSMNekvQS23HH75n4tHrB6S z!SY%K`K@gnos424>ceRKD8^^r6og|U)Fou7e?M7S!s>bj50(YqZ6gDA9qST6gfphf`b~-&}hDpG$$?ryxdK z=^AYaJg@!2%i7o^jT7*JXQWm=4wK;^owIm}7_AU$G*LBd6f3qMr6}10K*d2IJ{-D9 zKhGa@M(W;AHB}N1f;?T#;UG}DZtzsjKQAaBP0IU!1m!8ZF8)bSxbG79>BEBdkn#CI zZxu?F3*y*7e=9Cf1HSh%K%r=JyZ@bbu2?v9nYM|`Bys-5f=ajOHcy_;?r{5Jrt2rF2S(fW!b{bc=#? zN!L65{(S%7!#>-&_nvd^x%b?A&-27U47ABfSV#Z>0J+Y64MP9`NBYkn5drp_%};G5 z0DzK;j)to7^O@}|Vo$co7sy322T$^ZPI4+P;=Q8#F-VQXWZrb-kFUDrU-SdrJ{c6) z8^sva3A!}EWLipQ;@{2K-+9#H(jrs>-oD5CVx?|{%|$46g}a`}yjsIBnMk+b{@&-e z0FBHqOKCWF@$`3Z+S3Wver2!kthd})kALsf8SG;?fe3T;G2iqO5u%N!NcP(wXMM&m?yjZi8NfUFmnGJ)qIQQEThW3^|*k zx`Y9PLj8G z*$!`A^_`NVaJ_16UGDzzonP)N@WYEE=)GG+Fd(Q{9n9iORIgeLA6mPcmIX-5syvF| zLQ!KfDL^`qQ-kxMtsmR#zb1)YpY|tYPvG3*RUqYCC1xtDq~!M;IcIGW((G5I#hp<~QmMK@ z=3jNc{ZW$$MiBwcj@e)gY=2TnIpk=*V}ASWX)5C~&woEgLnm}_EFY6hT-<l`mgh92=jfjuCdzuj`k*EF4rZ86~HZ!QzWrDFB?Oy|Y*f9s? zMvFF;Lni|c&K^pK2j2`A6ZPNu_*m;lMYh`wi-T4KJTvFK(TYdui+xUXyuGj-eFE_l%k1!WpN9K8D9mk#(Ci5!|JiGHJbx8-05 z?aDvS!Ttu7^W1bMr=04i`_Eh;h~1O!Xx%>b{I7>uRM9XLF*6!G(kFcMzb1%r$N;5) z@x;Y>e@yE6fX@2;!ijcu$bZ(pd`yCwqtW{;sG>jRTPecFU~MnK?*6~NDl&7!Tfyh1 z?<02aO6ryRxx#vi-dg`>D-eXY=H;P|>L>hZ8b0X6IeQEisjP~X()nLo@NRC|-r1Wn zk<61452|$82Uhp~bBFn%nciL1ls9f}ptIY5UCND0mwO|ghMZV5$^CQ%IXv{V{r^Eo zSG_!fP!7R@ZQf8BBjX|9KeKD14B~Y*CSh=z{~UuzKTKO|5GiWQi|gT|$Nwi*wp#U0 zpv1aU?Ns7_V@=y~bg_Ocj$j;+(De6fQ0T2LCH<=z)_1z7ryRfiK+!pq_OZ4izrJsL zenIW}Z$=a`(j)XuKK^YF>UszQ7!)4-&xOa~P^inMJF#-HuHDKE)bJximL%^*|C6`IDnQ((Yz(YtSFFH;>*xFz zB3h6da*Rd=*p@a8w^DU@f9;>b*O1xJ2_MaHLNi)~8Td8T|9ruXOf9+9>f@iQV`7Jg z%KA5Iu?o2S7Mk+*>EXzU@c-N)hYvF^S|ipmqVt(#FkxK%*Ru|Uwy-%jPsi1{Hn&Q| zcIQu|YGEywqk;+CiQD8S0Y41;|Bm_9MC?K-UcJFJf4{@@PmmUN`5@uv>C|08nY!$I zn%K4_i4&f@Wn`yjvUCE^D@53geGSLH*?0PUn_|%`C*Fg?u_GAqr_cw{(tab#Nd(jd zV;2Zm_wzFx2C`H00K2#2CZ?5;I^`?N$OrFFJhTA}iC>_xn(rsfTzR{{-`RA9DK+i0 zVaGS&>U$=oZT;Qm@GS5O&P9b$ps1q?Eh7g^5FnUv`Hg=zJkKSy&y13gAJr#+}Cm%IY@ zxyFW!7esyA(MT^v=K0ZCNhA}s`o)Tl6Q6rg0#1Z!x-o67Ge{HSRb7!e+3(C-L?l9oKg2eDfI_NjW7 zYN?mu>+rKA*Ta=Kp)cN-GL>GlB0|88#SiT1+h7cn=-X#m4zp>yS3g+S$Xn4#2uB1V z3BKzUo^vo3|5*cHN#p>n!-sa}c(5B_Su*G5MD`O%K! zfm*sTFArlrUrSjr!{8*zBWrv#CN41zCzKn-Oi}M6UKEKxgAk@F< z?X%5)&Ly5UN=S%6!eeWxuK?PR8V2k}FstIWI6-CoRyQowjIq%qY9<{q$}L7;E2Fmb zM8?T$zGB@b!muNka%aOV6X{@zqQ_@dMKeIuIlpzau+rg?UpY+ny!T<-1lEm;J;~xQ9h?U^AgA+6lanUVuvkb?;^%}m{ zYKO(2muyE{s=dxj)um-7Se!lEj01vd+RM1`u*zdsS}G-WP?RMe9HD!Do>`kXz_7(o2r>N;`u6^qFYV4t7iS>I$AU8V_;~7C zi{f5W5+a-~OGb1kgLe8@03+Rj9g+Z+M)+(?r4h9rqf<{*XFHEg`$NJNc)+UyxkCy2 zr7Tz3$}!_-N*{?xWDTdnWL9O+`7Lx;kUb1YdgsO*zayMh1gtwCP{N8oFuFqkBBQaP z4|~YG1_Z6SCGww-QtY7KlL^^(#UqQZj4!dGgTuBE)=yM_(l*a>)C*T{9G-~TC(IRC zw=rRj6s8prz_0UWRi(kq5rR@5g>eze1QOtpcONVf!J6Um$Q}tncJFTw=2{MO7SsP6 zZRk3;qt|v;jk$-CPr^P(YLCw!rUm;}`rAtbQ&?zm-8xezpg@lcF8KJM>-TPyQeVM;QWz+7M zHH8kZ`CzQlQUH5*~Ju!~o( zLO?a1zU1ah-#n2+r|#|Ud$}4~$Yqay=X1lBYk&JH5H9J)OZRT!6NK zLx*M^!q6>{uD&*Z7m-;)s|TD5Rvyjf&Z*KTt&;vtTJNRZKH-6+#J%`S9207%Ozzy7 z4D8N!XVmV{h-96{SbiRZ4B%$?=N@kvWo^-FBhpQQjGfcV_}SUsf-A*dcQ6oc)=($u zd*A1u*St&GZ37KlZxH$`kk*k+A%Gv%wk3OKrW}=KdOis;1u5c(UM!@WU(v>iz*%69 zsC4#S$~y@r%@3~~JY$14G0FV7MNF>lMnb7_WmFZGQTb@FcZ z>y?IVvo?Qpag?O;M;7U#oSTpD6^KEB^*mE^YyzjVH@?>99`q5!k7;+7lb}Fzt6ujm z1H~#S(zhAQajFr>Y*KZ`j&w3merVK+;Aav}((Zqb}dpbD1Bu=415z$jbMe! z9rP&&E+#?llvFh-o|h1~2B$57m_wH%K8EMer_|Nom0#_RI)%UL{B9P8|Acu-KLW9! zQWnK(OysUB+ZL~QRnKJlDN!W6h<~9Yb=gs<$yL5`njEItxf-cZXK2&aw*W}`l-rV{ zjwY_oepSP31|(fkcf|=UcDVHwXUD@jqnaM0E_E!pK}v-fM(Nui0zkgYFt zw{-|bCqR<$GZ>L3B(6aZE-jRnvqVv7P3;AEw`W)it^H|S2%DJXY}Pu>&&$c2Ezvsy zBO^hfkry0Q@g^pzXCyL}iKaKvPi<=MVA6~$P^L(Svlr<+mMal>pe8v0o0>sIQ!Lk6 zzV$BJ$z!Z(wS*X(h7M(v7W%S7?-!d$(mt60Mx)Z3p14-f$*WfYTpz;`$X|nVl2_ul zXPYmGgOPHQ0Y{HQ=bRtyc8&>9NL48lZpZHy*yCdE5|Ys_v0I z#zq($_M&Hru45|+OODL$8m>ML8m=sf`&jApqn2d5Z#ej-CZkh0zNY>83(IO_y^)gN z#9{UArmeeo<^q!Ic0;0ypEg1jX_-_j{_L6ybe5-z+Sxy;Af&Rup^%HL?X6*Jj>#a- zL4M>e6CxW{SBr~Gd`<&nbA22M_2@&WGM2gGhq@4ST-{SyrUf+a3KFnQE+{pmw|c)! zZ9VNGw)!yPfje^ddkKeA&R1N7sk?P|yQ8%!IcrnRmK=)SLu%a{OisE$>{8CP+{g-u zZY$ZByou&r@u$CHhZD6ty_{~)e%ky>KvI$V9V`|jE-><9Z;Z9?+hf*`hKnb`Otgv} zt5PWO>4_!LXqH`9i=U=Nl`r;)>b7lLvd_fI-4^-jtb>80A%tVbdUv=kSuZU>kS?Fu zYYgX}&(VPy{Wz*B!^bp!4arwg^`fKLMAzc*!%%9m=Jo~t-NS^+{hAQ;_pwR3^rDbU zSFwxZC8>-0cLk4A4eGDvLJzcnb#C(JC(G6YX<3g?(o(Ole>%AtL_%*(DFEtrCQ3(V zScnHG?*3*E;qYEEsENsKH#P1HMe1f0H9Xa;zALkRqTHbAg`vHJfA2z>yva%18DdNX zb8}iPdqyqG3~MSvY3Jp5%Qq&`F#`KPJh&8}OiR`RV^ii#6>(12WU?B$GOcn3vPa6) z^*J%@q+^vD^@JcOzz*_L2C1%ax36LM^u5{P5Ka+hHwvI0zr5fBx|A!tu9dzUy)U_6 z<4k5OJ5^l}zFY8Uof%aKen|PVWWE7Zu)z(~eVIfjMf@=Cd~e$$Sqj{Z{2X%qGU7(Q zqWg?KJv)Qr8u#ONftNr#l&Y@YG@2$m6dDtxIgbxI!diUip?<CvU=N@XMxOWn#TCUcv@if5govR*M zg2Xbsa0hqCn_`r~m(cO3nVJn6Swc0i(i`+sNLP@`czC=#P+StX4T@#^}Xf==yA0ve^4a@m8*Lc zLbM1qpBp7-WT+axKm7>GOmLqluaHP6#G$vS@VVN-*JzfQYY9H_Uh!94DHgx@P$?Bv za=AwkkLX%vmUPQHp6687udA8Z1p2;^WaKm@9lrE_7KvXr%HmL28U?ENE#fpasqu6v z=4LPkX@IEBP)+lV!t>eZd*8a2j4s|^`e)gOXgTtorsWO}e_k2?2^XIod2G>gn&ve% z8Ex(sH1&H42j-wC@(4d9Z1vZk(_9_o4ymibdhx`pxta4@GsdaY!O~pIj5gY3T8>Wo zNX@sQns*PMXuKZ?k0T0WggM!|WxO=EFwIdVEhcLO`PH=X-zdtT41LsTYdgwse{axS z$2_*zBN^lv0q!#EW>}Q~SbY20YVo98XxV{2s%m8^+{<-y1EgQW6fT!-_Moaic241P zUa>CH#)lds6^<5!kWS+BY^r&H%bEPniK-fc_rPr`uW2luh;$U(t>lJt)GMEzY)5vF z^*-T;kq&9=n#CnxfxqT$}F?W%iyC8{0o@1677TdY{CEj!f z>m}t(9VV#ZvtOsgemltk&z8@sk$}EuEdH=4-Fvb3IyI~pq)sD83TU{W=>q)E=E{)W zt=)b~p2=?bqw7Rf%!{0&c;_lO`JlAZOEu?cmSx2&4 z7Fs=>!>N?g!G|6s8zj;#Dq!lV%;pT^42=v1I$eEpr1dK5a>1crApEw z)n-U9J%8OqOMFtbf@do8lV-ND;RkOwv^ktqJV4yLSJug=LB+!Su@J{kb-+^9%C+_s z9_Ndhs!0F{Ij}~csu!U5ZFdqAiL-H49%PjBv_sseXq5(E6 z?n{X@gcrp@B)?m3K@CClU|lWkfuovfYFM?6&$&a7chF?fI2lr}nIV^xoD%bWL?c7g zw)8er@WDw)-wxiGFD09SXO&gh?r$76UMpG~SYBUiZdOyS@FU1|K-#dM#_i2wHsuVf zTs~rHnXQop7Ez#uRDBPP%YsOC5B}9@(ORQlSAN9Xb1r_OSW51$ty~QEM zJU5~3eoHWA&C+`_y?rTuedut5`vPZ76A298#s?2mc>*;O;L5GweH2_I&kB~V_w}^d zR`h*+QQ&UX%2n2S^}9vP%g3+xn!Da``h&GX*Kn(u)bq^`c$af7o1aB@R0|Vur|cy- zUBS;(7xKwF*BDSgL($}rq`0Wni%FCm#R}30HJ z2#H;ID8i_I7t%`>i{ri^>X?5z03&sIN`p((@)E}DqtxqQVuc6ds~7Pm#U!6j0<|)X zpK@ARoKzNv9O+#a&+XbkmXCIW6|KlVOls*0EfOlT4&w|LX6}CP1ebc_5*dzuGhP=$ zdBvl_kd-16E0u|MK9mDO#pM>g9BJ}V2p@H=dPc5L$z?-Bm=e| zRj6JWZu|id;MS0zpQ*)q=p9_|Y1Q!vG8Qz9SC-2sbN`n$_hC&f7gP4>?_HJZ4U=>~ zorz~Z-d?yWOuh-Z)?xezTJ$aTJEQvuBB9)tI6|dW$+PFb^stLV{Hu=q_b0<8=exr6JYN@= zy4SHU53USq6;`*=c*;IdOn9U7zM+T{Pf@F7Fig@3fP%-xKwm z`rfo}6ZQU)mq>8EoEd4W{=>WvM!7}GQ^FA}lhOw-o8oeqEp)_b+!DvOqY7R+y%%}g zqnc;+WAq*zC&vX@BsL`+#j=v6di5?x(EL<%MD&rt?30*+OBY%GvAD_-rOL#EWnYx| zJe*KElx4shPV$2K;fz>v1dj{&eg`@2vw2)lkd$(PA8-Ho%)7!Humd(W2d7enw$O4m~=908@m0eHjdn6sO#;~hPjrV-n z$0g=K#$}b1(0fpAuf}D-eFFEX=8(DU@hZ#0bI-w@IgVAksEYBQ?g|?lUS((TB)w#Z zcxP$&Wv4z4)?ISbpk)eF30?*|m(O(9!Our0Vsbj?GD|crtk2y{VwiHP>iNY+04o${ z0{ngX{)jnQb^2gp1$a~Nxq8=d-)>xtOi9;+;39>N61sI7^{~iIyr0|9r?e-J0^uefsG}o)^47N+u^})-?Ac zD|}VD#?Q3kg_0x3MWk4oH+fv4FE&Sh2t`O#%8gvs8kRp6m|hF(P4Ty0o0&Vl;B?6F zS6Fi1cKv-G0GYd~e*#UPUwfT#fa%A}h|cAsyE(6hv(Uis%6}YtkmIvEzo-OUijw*l zOE<$j+bz9QQp(V+7c+M%_xmTy1& zDqr#o1GbWLLCrA_<>shl$;$*6m}r!>!7kf}%2%SY)i>#Gi~ebDvnQ32p|oU#GiW^z zpD|0lj-o;z(p@LGT~DJ}`K4C|0a}>6gP6iRkVBbp?RBDjC+WKkfsa-9(&rvvORlZi{^ZXr0`BJkUw!JHxRp5?EuwUGWdXn9VX z01BlYgfUG-cgo?%nr|+2joyjacw-R@) zeDT!9l*OqDQ6@hcJ&wrn*4Z%#|8vtx3EUhqd^i}tG50Bs^MW$u^~L)SpDwg?I>^=E z;;25~+jo>66f5>5M;{!1Z2!#Qz)z3kHXQzjp1?5kt3+o;UxTiaqzc5xpE!_G*hb+l z((Ca1tZUJ$lGvf$&ZLm;W6mqN`t3ILgr%ABT$$%T8j@?_B~5NOU2_k2>*AMM3F-o{ z4{S|sE!u0TS(hCcI4kETG@rXw($#!i@eT81PJ-=iT7vV1i0UBcHR~G=nWnhl-3s~X z;|q?Vv<>$%Lwce=DVG>yJFxlAEe=JNp>w`MMYfxBRwcYd#S|{q{`JaT%f$osbCqzd zQ8|9s2MTmL;XF$l*l>w&4g2aqElUQ|Je-5@}`n)R?aN764>n1COgmq$}?J6lmptSG_72qlYmDPNG{ip{{Ex%fA zcyUXX3Wh2_n|BS?)qa7gA9;52t?4P@#gt>n2?vpVZG+6sdIlhs-eKHi?{xY(MK>~P z@z#}<-*bn{+St4U!DzL39T38|;X!66NN$NMNK<-MPd{93#gyF?80wtF?{_O{!r@m$d= zTena@!_n)IIL3K-;}Nr0-xbLzUCfjZ4%_>+8pE$0S=(d=-C7*Kr?(65*X*<1bp&HZ zv9XlgmF5SZ)IPm#5e=Oon3_YD=^)O>vDz-=-gh1O&N7B3mTzW(^YoAv8=salX1FR{rxu6w5h$VMg7c~0 z0lxc!momA2I?X8LatHhD-$MJTD+osCiX3{$vlEI~w~?fQHT6ZR84P$Im?|(W(1(KFc7wf-yzgJ1!r>5Vtx0q=VujwrUbOSlqkyy$wDBX_DA)M-w%&w(r{Lyd{z_RgiO%Ef9z`T+9PV4u}}AK zv?x73lgd{@ivU?C=+@HC7nBHtST-StY4pMm=-ev%h1qa@P`1fbkNaad+D&xY;kEbb zYwFoplI|p*NSbF829XGNn;N5ZjImVT%%S%*mG3ktU+Y7g!(F^xxO2V+B&q)-9#pSF z7&l!aT;rp!{MG7t()PW*S6~2t8cA&#40o?BwBaiiV zKNEZ_Lv&ybabf5{$ji7$$rMks)SCB-TbTC)Q}*O!#V#}P-YB{)DeXs3RMDHsSqQTP93>-k*N9FmB^2&ZVsJoHN zLc*shG>K5)=O5dwTe)G@650W@zh4U*)SN6_-f}7{Gy;`&iiA$$8`*i=tR7@7dF|+> z7{(8kH&eji43%=ZIV`K?+lx?(`W*B+oV0;ZAFR;RAr)sSXYISc;_|WmfSkkT*SyaN z^&)jUEdc@KLf9Qvf4Cbl34c+!SK0!ec@InOalqd3U0e;EX<}lUr+NfJ;>4c?OZ$(< z9=o=`;bd}Eq56u?PDRD3@^~D0x=j)ILlCb{CfC(^CQ>HESmGI8)*;bGz(akHZJ^k7 zl(FC=8Yn$;Vwwx+&%=RvmdCAoB*FDNsdJrM?vWvscNSxMbhn z6BgcHDwc-_UZva&9CMtbZb1#?CK>962iAf~SkdKlNAe3NdmRL6^RlV1(Wx)k=T=!K z8$y&ILB<%8?|k~8Gm3>x?3K0UVIW>?lqYMzuPL#8wvPiI?LGeHVvYHDvI}?>PO#s6 z0f5?u&~EuoI~(9IVV#bNy>$d3$Cd1fxFIdI*W^j)4}!jz;b>8a5m1_6ZTs=iS^5W}}ofAKuFD?s^zIwR|y^aE<1eNK_e{0Bk0+Kt4exqj!`H;~%Yn!;8> zBp+hm4&X=jn(#%6)k@xrM#cvt%UY^7ViHp{wdk_vm0} zLMU=x>C@BR-#hDsix}zSp`|->gpTD5WjjIeloSalw4t|FDuv~ROI-o;OCQ_mx=(B1q3MFSt(vsXFMrgsU5O>_;%|h!Ybs3Y+xwcV|U@hEa>5d(x2=--7)WV zLw#RJ3HIaM>l1Hth2D%Bb5qTCC`t#87J<;VFlfA=xMlM;BW-HZygTZ{1#`?NuDf>? z?YDXeKTSL;cdax`xST6~PRHmXvOo8A%bwRie%IrBo+^;0VPGd4+PBtQWNJlTM_$=P4}0xVkonzn(;e+LZCEXkO(#7w*u6Yi zS<*HV8B81K(#SVQ2BMIbQ3ulr=c`o`*IscXqE{v%W%a8(s1$>dXE>NIdC$w)$#o-I ziCrQEYdnp_Mb5TANhB~ZDR>=q8#3;$O- z-Yj&@q~~*~9b%MDI64wym!4Vw^^1^(df6+NFQ8#7but!IpB46{28%y>uLe$zOJouu zpn1^Woya?^B4TRiBZtAj+?*rhF(fNdZ$4C*b3yVens8tzQqq(vZe7E78H(vu)n*WJ zxv3LV3V&*~j$dQ~9#*^13)26v^Jx^QAbm!Q@tq}J5QNbFG~^kYxnLE1sbcSQ1quw| zS(QUAvl4zH09Cb!!rXXx+$Se=>u&tGF}@>HnS^z&6&1-o8EkWO3Z4fb;lc{6JDo9>v_h zf8VG^24f6I+d;S^k`Nf8mqRW_6$fK@gA z&qrZY3Ls-LSIa=!ySnL=rI`t)*`bAC@rrL;opJf)jq1Zz!L=;8KQtY)yad2#u!rrG zxcZ|M{Q9=$wCg_3;*ix(hciMJao{xt(}(jNmygKthacHzmyw-xth~Ht%S8uL_kyU| z^=>R|Esbb~@zvZ08By=pOs|uaC+>Z~RjrW17M@@{O;Y5Zh~?1Fy@pB9qtAU87e6jr zd#h%f;_w+ix8_s`n@ws7y-rw(wM$InO!`DzLS531<}fYEU`^mnsQ9q5aSQb{3|p?> zD)8ot>b*=WERMupFE_U01LANQHS8$MerPvbf#f@t5N5W)nd)S{^dND)IyKpYHO2&& zyT$}t3Iy0VuwK`#!feiXL^36R;5KUF$v%OzC&_lM(TMM7z1pzQ#wr!k@rtX5TOW*BuLH3Zn| z91yg^BT@DFL?SEVioW39aYDzYKv34W+;DX19qH_W;PQs@h1R||Q`SG*3!}IN4^U&E9RADvQ zO!|UKTtxxEW}tFdGE7SwvH?lqe#g&wxn)Lef0GQ0%_+2dQT>2XC{s3y-jrvjt>pLBI0)UrLcgZCvA21B)vPyhkdlXSMV!R zoZ%J5H}$2>vyOP~%l*n#HtI5Ei~A8n4~^Y^!r~^apY}!WOGqv9TwwESW}8I&6B8jt zUP)}CJy4^-K=uOp*LJEo+XEP{LH&#B5p!2Tx$zm|YTFf*tBRx`I_n1(`AeFppQPty zv0?fKSY%)|p+Bat?PzaGLY`7d#^*y7#P`;%B`RO&;G@CFvh{l%Y8jj+NB+v!Wy)^@ zukCI&9*n2Q=6lrqlxLLsiCnhTetT=g9;{EBdpt7qvOd74VrvsyAhGYt_Zq*#>}i<* zTqxDRobhOUh@Okd077XSi<;w|G-P8k^k{7;(3#RY1qid6K8)O-wfOjZs)u%S&G z0GH}N0_q0-7S;=8Hfvwec|6mluT#$MSoM|lQvo=xbPaIDjJyK z;!&4DnewodH(59+_D%K*6v2QDI>hjtzKLe&xaDcGn^4&^|G;HzA>#X9Cg*k7#!{#d z5{tsXyc5q-*L|mhW2nyX+&&puH0(i01Urvs{Y-v1GcuS2XIef7hvx!92Gm;Lgb|#CiW)hc4F$~omZEdwQzNJK<_zH)oTv7Ns2ef+a1q1Kvz}VKGw*?(Ve3hV}*nKXC@(pd78KPz4ZVHw0nE?%jw57EskDr|6-)Y^se8MW_>kNlp8Dr2bQT=)y*FAhfuxsC){1idJw>L^IAuG5 zW3>2(W5MUa$;0GW$fKhf3l?cry?9P>I(HW}GH%JMxE>i$B=}jRiEj!QmWOnRpg5Q8 zic{Dq(+IG5Gwj_MzsQmp*jmxqYocml1Y^mcj!}VB6s7|}TbTXRt8Vav-^Ev3qqsb- zy^8JWRm_fNe=^Jb!pmE2qTBwo-rzB8Q8)d=txZ?At`i4#jJLi(s3gooH^_sip^w>_ zwx-S`y@qpB_U5+*^>$w|ff_kz|Drx>O8eGEjMY8e^lV8|9XLYAQGgPQYuoXNN0=oz z3w>=6m>GT8ogYlP4|2$00I5L(0e{Y%1OwgSwVUj)^H=f zFHz1jJe(kUM#K6Sh$I%av(Em)QFathY` z=m=ZaKhJx~o|`Jx{`>x&i;A4xQTy27BYC^R7SA*y5N5=47_Nwn7mC4Mj0mDwi1brG zTTz8ba$>O~STJv21XZI>w82>sWL;w6%gb2#;*V;>G9sap-&yRcPTmJMY12<_0YN|( z#Kdy}K|%Ez+AwLshohQ*jvUUFb^S639#lH%pWQ36`&SBmusXo;2S}^&YGT+!XnKT( zyUaQqRm_eoVsLWuYaOxS_HiV%DU?>CNQmLBofQ2o$KR1uubVf7kg1|KrJ~SYbI}p33>->< z6&(tNDlOf8!8k?}i_aW!8!?Bmggc&>!7xsCsO8lz_Vg%R7)Uaem}Cyf$&1+6BPqk8 zfREuUhi9ueuFI+&1LAN*4KmfkVS7VIzGJggNGimX+86Z=ostN2<-^R>s7!povCsR` zA!UFEw%Q<5MLR(BlD0u{*m;)Jz1trhkd;TwP`>99%xO7CBvbBvpU23uEH0cNA3bb* zeWGPE32&#k6?LH_HI9F_DqzcFG{BGalO~}Oqo=}>6Nq7{*u%Di$$JV{k%+{;om3&K z#Q=A~KD{VNOBYcw(=+<#>1INdH1OL@c0V=iW8xF_Fg-$YUvQff?wm7!3rV#?8bEwV zF{3u5ceM}**4!ROPrmzHTEK6dj1>63BP8LhM`gNVL-s}Tp4zfbeT}w}0O=PRC}wCB zHcmeUr|)l{1iBIh?=z{Qtsnz3cf=jH_~_>15D<9)!IdHGps`<$wl&OTqd#xhRf3id zi;veSu77}~(Ws*d^+`L#w1{Clk{R&EuC3y6nN`u|kb(QaAXmK5 zEF&Q3L_J>6wLkz)aqIo=O*I~dX6d)K^5Up&KjbYnhK(3x@^D#sXLFnEM9sRA`VToP zWy*x2jHpt9B*+!VbA$1G>i5;clq*fZ#H}yS-{RI*6K5T66Tx=iEV_?0pK`uQ@n>A$ zQ^hh}=mRXs^b7J+)gA|@OXSR8EUTB|#Y=^LE;Zba$^3IkE5y_EvgTTGYXRW-h9a@F zmy2{FWZ$n+`|6ML$5%Y4CQcZjhV(S#+Y1SeKdhVF<3DKRJM`4^0M<*7x7g2rK+c(e z?&7!55+V0uk%ZVd{7WN3&&aWr6M3h))sk(ylWQ+oHT{L4~v$dR+OrdBWq)PL2G!Y!Q} z_}98a?$VowC7vNvBni*^-9N>oqpt@2B_!Be(LK;wtY z{r{2X(4Hu?WJsk9V!T_urYDLf{zJJ`1k7Y9Kb!9_HxUTZTdf>E;mkjb3)eTlLV1T3 z%&V$WCH!OhHTg`PumH&j(!NV;3GtY%$>Rue9sV;puSj}W2+p5YdhII2gDWBwq_jx< zKgA@sB~F9*lTXLfpq#7&aqlLgOGhHu|IxL{`xR^G%+D~gA}CR(IfF~ zwEx~BVC3{4%PvW`4U0>z&d<^R_)e%0UXhUcy-W;*5^lf!w<(7}67;ol1FkKG>U1!z zQL$nlfCAvMh8!{wZGv;SQTUaJXb^#8 z0}&OS^*FM7o#MCf-`b7HY4m=6`L|V3B9qb}Og8=C;&Jt8^r}Lc7(!H)$;U**Nf>EsK#8~-o6C*=5MT;F|P>Ga(YIyYS&tPjhLU@7GQ N9Zds`4{A2>{{zhgZJYoA literal 0 HcmV?d00001 diff --git a/App/src-tauri/icons/Square44x44Logo.png b/App/src-tauri/icons/Square44x44Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5764173bb82f634fc3c30eb41f19333da0dd2067 GIT binary patch literal 2193 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 LNkvXXu0mjf?rqap literal 0 HcmV?d00001 diff --git a/App/src-tauri/icons/Square89x89Logo.png b/App/src-tauri/icons/Square89x89Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a91a88d736e5de3ef662ab3b8b35f55a47863ad9 GIT binary patch literal 4551 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 + + + + + + + + + + + + + + + + diff --git a/App/src-tauri/icons/icon.icns b/App/src-tauri/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..3cd988979bce93de48ba5f92ac663160f49702a0 GIT binary patch literal 157945 zcmd41hgXwN&^8=G@4a`VcSMQ`gd$C(DAGZC?@f@BgpML29RvXpK{`kmApxXG?;R3R z=@5E=5Z>tTIq!L&^Zf%~&LQlzGdnvwyV-kp?#tcLClCO1yKr}uxeWkN^u9DQ(556~ zBLe^cl)5?(p5Xqg{{15%!hKh``>*1ZVs#&=Jq=y_ZDrxb-p`5^Sv`M3teKke=*JfU z?lgh^1c%m_>3`H0;UbetCB#3ARPz#wb+|5#8day5ylu(&sUzL4(wN*PfD$zKbruP9 z?e0^0_1|?G%96N9b9$dD;NPpkC-Q3PhC5);=5Sn6^V3T?c-rzpF7oF3nEUufwlYTU zp*EaeM=(uWj%|b%FBU*Dp3E$!uI9;mV}Y(SXEY`2-TAaf_@dgVSZ2mkHINJzit&F~ z7Ds<;3Zrv3;#~kdJADYmOn@|(spw2Z=qcUv8Fzms-kVrV;dVUB=NGCgtTvNP98qAG zO!O=_hZ1Ia0%B`LQC2P*yMqFosc1#j*4 zD|~0Gez0rXO*OXGfe19=q^f*OZ}BMqM>$;HRwLwI$7BmBeB;$)TYCN;^B%6!DJfq; z)YDXJre`j6Z%>bV@<=0UQqQA!ync<#Xt7dU!%Q%TBYkV#D)HNWpdT}P3lcu3Vvbp zYx{N*HTvQ*2m;IGd8=eg6yI_4)yOUuW5+KfV1g%gR5W8O_LThFj5+?*;+_{1v6iD> zWJI~>J=lFa=hq}3zDFpsjOvbub&>PoSKt*icp$OL9HY;HlFP4)v1BH4p+q*6K`j=! z58v;S%eYiAD<#oJTacPlqg6lBp82-)TzIAeBdeR6sEcjx&Li#8r1P(9A9gW+2WCRo z{>XNXN|-9njD36~>DyX)Yy6i8)xq;-yE#ku9-Fcp}8yH1cE$2F=(Q%8}OpW7(e_%kWjI$j-5jUl#-|UkLxRt); z{F;42%%=W;fX}IAm)8IYMsLui9+a!w15tSw6KK|5(dEjDpqq}qIZnAx6DpW#_w!ws zT{V7s<=yiL=NGg;KggKp!zk57KbCEzlGb)AzYlc&1aJ56I$8e6H60ipuUbti9xUM% zQN5bxdizb`>k+klZpZVamv@wo^YBa%gcC%cPmc)-$XChrl?`KN?L_j7t<}{pkPUuD z;qkg7x=)!M9(cKH%Bzeh;z8>29E&_#xEyZmv!t8NEp#QjpRR!>6!T3e3sizDy7F!p z`_xVUe4QhlA+A@HdmPoak%w44RUD@HMoJCW-CRM&u3;k?BtM2Fg0VttWKdSK{@^8U zc(d)0?DOQqmqf*yPJC9kgb4}{fuh+h?ak%^Uj?hw@*AglJ{0Vi6+K^~WqEN!jT&;5 zLtW9Q?=DcMgsJ)ZM#Ce=WP^WT-XGO#b_i*ug+C?hOk@|QE>L{5b7lRW2fA3?zu*yx z(#*kZ){-b0yPiLf3b_gKn;l_HCS6de=8{dXa9hYM=BXSnf4Tkblqko-eAJXYLub(Z z*Pwk48*A+N?o%!0*Di={C8GoK=$XE#-qFENYOVw~9cwYUv@72KpZOn7+pCR13@Y?Ytt9aXiXZyEjat3~p^UM2QBHB0#BhfWVbqw^kXBlYsZ0?=XdAQ9+ug0Rx~t*b3FLK@wM*l$uH|Pt=I-G!ePL^2xLfE8z@?o&zln<>c>P_URmDRAX5+`V&Xe?5|kK(E4zf;Uv$4({d) zSv%;(U#i&cZQgA%_MwhdS7(H}(iIUYy@(#VeQna|LB8KgjPY*I<=VI!Tq!DZW+w>Q z!|z!A?BS*MRy$qxLkS;h`f(Y9(iX@$+*!qtVh}DqIRhziHZ|&1KJ@OewmA@b#6w{ZcRmXyu z4gi+=uBqOq)1sE`>oX9Ltu$g=T5Bf%gt+_!Ix0MqfFR$qC{|>P|evRFuL=rkt9G)<+x(22bo$#SBS+pS)-**V(n`7 zs55DeO+Pv5zSs%bxA(29AIg^`Z(6;VktFO46*uBb(6;`hI*>imr7Hk;s;}2$u)S~A zFWCaioEd@0Q_V>g#M$5Rvq|7`hQHDUH0^+n<#Vd3S~mvh)1JR@{H!S#Ab06h!FRiR z$#f&L1pM;X!w(8PPB$diX(JWB&Ri)&}Cv|qGOoIssDqk_j}^5 zxvvdwL9JPgB?72t?AJHYExZx!}s+^_R{=AN58V7bFXmv49-yx-CMW? z5K}v}y$AtvUgvVphj$XUe4BjgIFLJ>Ld=xKXzd0O839C6$@kgOr71xHj_P5`EHa1L z`)_ns+A8f$5N0p%ob#9*CLep>F@J~Jmbopu6vf0)av4Bj1aoY-$5!<;sIuarXqRh; zssKXvfsmgu-(X75Lp}@PsfRDY*fDu7K^CWL&loS?)ZWIjaleY~Sb zvZBgHwyY5$da@oG-SKsPk9r|L+I}Xi$nmc;JonyRCOP;;fAIZohNW z46|h>Ca-5q6q*`ebV{o-%8YTf^2HLB)vZpMx6hMOk%uKp-=8w}%5Ii*i#Y)8$1t_v zoltSlFLB4D>T#>Od9Z|WT}YzLu#{W#4EWf7g??6)17xdKLG8eRm?F8i2%>0uIGiLf z1`RIgBMW;}*D^wtohrQ8AeHGHTGvkqQq{^C)X~E6)cphR27Bv*XwUWBK;X;W zTu}YIwAb}%VD&Hndm`0CV`G_`tYP8SqDQ?47Mm^}ovIr0Qe%Y6lA>nr$0aMq>Lk3| zbYhl?dGjsx&iE6PI~hR+s@oka3)U*Eirm{TZbg?#1TF5dvROIMK5Ob~(0I~Gv=5|e zE!$3@5lHbK0B{qDGF1Cl29QmvKT)N)q{!8XG7CC24aw}fg_#O{%H%yk6wMs-`9rXs`1?f6T}|=Qx#i3WHSja$T}yxOPc^OaC6kkAS}Lsrrj?ss zqT0LqVoH|3-WEy`T8rP{qc2Tb&X{_KaMu!muBO3*8g;v9_dr?PB?fo{0SNH%^73$V zb8&KVu(NXj`2SzX#>V;&@{3DLi*mE$AnRXc;oCyD_ynYGv9YqS@bd6Hf(9#buqy?E zby!)LankbLZDdRga(DMLFEbN2w`B28^Qf$q$C4_#3XQ1I=a7Jvas;*^K&u$g|zH{Au|&b4$o z|A7R5D_Ee+g74Qy!x7z7Kd*oPEL%Dj0{grCUVizFf$3p z5B(S$92g%Oj^m@DVPX=99T^$z?uL#&h~>dyMqV85@9yp!8IIwgp=M-ci5(uDgu^CB zhGQA1sTmoVY#p59+S+36?QChOsc_?>XX59xvgYN*NvWt9p*W}LSlHQ^Y5qb=oER4d zS||3 zY3UefaCRwi1%U@@Y}C{&D(d|IFoShxd%3n&`L|AM8cGUUT1M;ox~k7*RrU4ObQBb{ zG)$JC%W6J+s3|MAq^F?34b`mTbH%&d^3RoKI5`asgX!n;qMV$f^3Nu;6y!A2v`;^N zs?Nx$E-5jgBFDK;qsV+u#VjGgROOxm#or2?ll1g*a&&Z*P;xvn8YmSJB_(bYR1{Eh z0y1)(mr%;6e`PXq0L_18d@^!!K%kzW#Hj93p~KTT!wYPXBV8(z5j9w2y;rXWl2%*HG=|%j{zBoO3B3>;~ty#-y)jp~|iC zGfU(deP;xJdr>_e4BHF!bR5j0-m|20bJyJF4_*8I7NA2zEYm6@3lCbo8i~65)iuoJ zYxvjj)!GVDn*I~S9Bl0TeD$hh?W(Oy-P_pp*gjFGlSC(y$}cE}VCC>YmxojL!d@3E zS5mwd_Y`fYvv?9y;#~GH4SOzKmBRo2QfEKu4fcBrCn7{Aw9O9A7-fY$ghNeo0&-51 zPlH3Q{-`%3+)7&~QRLG`@t!c=|H=Z6x2;sjJLaP5htd~u=Z_y$MAL&IJaFLKkKTJe z2ULU_W61V-)5nvnpnI(BZ^Cv*nHhH3!tkDSPM9&BV6D~( z&58@~eRR5|K$wxM0sa%|zunieVzv-m+`0KL>VGi-aQ0*| zecjxik*70^D-B6qb9#b+f8AsgfJYv{dvRh4m;f>b_Vh6y!r^ZZYhO^z-lVN$I;a<{ z2N=447D}NYULYl56_w&q{zb}9_?66m)zKhQw~g%mM?}x2tO3PKp=PUH?N_*EP>59E z#yl?K#H;PEH}mc*GWMR~(zSdMhYLR|__&)pT&QzApfvN@Q;MR}zSD!l%#?r8_kD&N zT)0NC<}D&Zh(#kg&C=u*)xVyyppf9_A&T5%O_}q#Qzt3=8-Fduuc@PqdyZwXfsZ9s zy_=4$(8#|NB#W7i2JMsCN#GIB(ru0{5z@$EqCcqpi@gLXgu##0jPTo!O5iI=023-A z_n%Wc-G);9ri9(8*~ec1X|9le%GIQhfJ)T8@LyE`3v#==Ea3kJ5DqugA0+b|aKUJr z8sOrGTg=pGdRr|qyE`Lf19bq@bV2sNAhfVzPHJB>BHrHp9Qf*AH+fy$o|&gLeZTN^ zjl}`6H!T0$J&P?|oZS5};Ux)Iz>TU9*&>9gKZ~vc7@?@s-k|=QmglIc?3BiqtFN*I zcAA!VfBc)dWMoQ<(XX6*aumluOY#Za4}RUWWtaedV8{i2U;pQwA)41)4lW@cZMP}h zW2=Iid)iv`^>*;B&F)FE;q_kB5;wRDBhJx9UEAg;lyat<_8n!#f_?Wxc)F8KA#{bx z?d-+(xyU9o#LQj@ZtpHaGAw~RVBy=7NNL-7fGrYx^F{0J&?6*}69v9XAk?Nl0og)@ zkx-Fpln*6X4s~ioTc^OHVoT%%`Kwhz`p)}}7=H4}sBre(B(Q+V;oMhEJug|{@lBrm z@oV2u^qUft&+r_{pDnlq4bJPR$M>ohtIl@M2MOCNOJf9MK(ks0WA`|o9!sT}9;YCs zBrr~+wVoA5gx@R>V*(`Da6R-5Nsliby1dQ0ro$%|mV#6u#;kZ}j!#(Qaq6!Y-w@p% zBvov)P?T=r!(9CO<9~l*(r?g``xjYbNgJz&P2#9aZR?p&MHKQS&Fe=*U67EMNGTc2 zPZPfJJuM-4_VFnTcm+{r(OFqd)^+}evx;3~U>&aw9>L)8&Y%2xT}v=P`^riNtLjfo zM`Wq*_B|z_n|F@Rp{}0kfDw4J`Gn60j$$VVJqW>`-IcHL-tOPOJB(r{293PVyI=94 zy@QT7;13~25lBzj8mHehYS^v1Pey9#$u--Jc|zb*Ok>Ud>`^c+3)lvkuz9prxj+a- z&M|62t$C9x^@Ezqz1W`eZ5t|{l2l$rNSiVHreWCybFbX$MELp@wB8Ok3bWIcysl!o~ zjDVNOIbv`Vg8qa6!=v>hQ1ZQnQb)D}vGV3+m4=!Q6TWvG6e(p5V8Iq6g-}=0^7jUZrTUk#ttK>v@{?L5EZ7L2JW&7zWCC>nXNAa8ZF|v1T9VyD{l;7dEYE8k z0_lL3q*3B`37IkEe!-zp$T?JVB@m8cCIk_FJ3~~hnXj8-OdiI!`FVceS!?EaewzBb zv7w#FOgqD-6ux^qzf(pk{rND8Ibi8CKpI2XW2hI_t}yF-dYps@<7hdlpalky6V;6M zW>K+X)qQv7$0cFZP~;dTsCs>>s@7?L>h@}anTrYG84LLBh`Lf;(=&h8)aB@?od&)X z+z@xKhsXdug`D7br{_3ts-<@lOvi0I9G^)3 zb@6a*Z^`_l+de(|LhFnbJaE6~tvpjI%}^UbS?!2JgxyP|+1)pExZsHO7z*C>SZy=T zoi@EYWd#Q-oPMvudnlaNUSFjLM-72Ba0Y8BKqGfjcHQ2tG-`CJL>q5`6A@$u@UFc}45B(C7Q=%zatIK9BDj)#(Jj|f)pgQ_c@*|&AsmH_6N!Io=l zb5=rEj@-}Q&kX-^MK`U?YXDVW;0NsC2N8cEBp#v#d-%lLa$B6|j+E|SW zFrVzT($@xFHf9|UfBU!eQ2}ub#KD?azTM=F(^DQz(2rGMSZ6 zb&pKY^?l#2T0FN?3bB+G`rMx9C9*|(%ZKdpG0IR|xE&-b z7lOt!@L-E>pk9g!vD@TNm%p}T$h5M6BN1h<)B@DL5f0{lah$yL+6+}cJuhVo>mPbwJhJ`}gF2v9~o`k|N*ySO+ zBs1EX0KSSk*sNd*z9iixx;I6Y6lNqdwkVp-5~L;fL+h4W(UUo5lR2_RZp;bCbDqun zhq*K;WlM>XayRlW+;gQSQ5nd<&NGx!(Br%o*Ik3RLMNp zmiKcJX-*wdU3v|{c3sa?$?xMiIkfjB6<0+OcMCJCu4Nd2;)xjj-^be&S1!F&LJ8!duQ=LI= zGXdt_e{MExZKPZxm90McDz|>Cydq*Mi|3(xHho%ffFSElF?e0MIQQ%!+P(Q^8_D## z@hWJKx~z<>f^AL+3!}4){RDqob6(>79dv#8)*DfF^B$MX?S%WrBUj-t*>f9urEXf(wp?gc|)ZmR4H*#3I! zYhANd^&)yqZ?vK83vW-UX*HX?d@$-oC|K)pVNiV;=i)_55lgSTVVsGddG@ zCf0O=&V-!2#M72-XI)&LXXGW3?ZGFcRHutJTjdz(%=nCt`Lzy12ZgI4(h;*EXD>G% zFMaK07>g2*%}vFN;4a;X%UT2O=Uvm~z*6 z{Rr3suMQuR_FKTNX(nW!mYJ}+Zxn_X)n$Aak^sk~gXT$m5tGQ2%lLwY#fG~ST)VMh;Wi~zK0~V@w z2`Zv_`%?L+>n0x6eZ5;BRa?#6bckiHVfZx#roM%7I@*W;&3Jyl`j7~|`v~0#LGDGp zl|W=O1CqK8@BZ0ZitsK6__tbxeK=o$kUKJiiPl4%Jqd2_eZ88iy$sw}Dq(%|KqGl@ z?aMlAkbZ%Pm@!P>>+$FqnY0+@?PJ=3ZWWOC@yK<}Zb;KU8t4W7lT!56InW>*5x%xN z@)bX&^Sp4}dw>wMlC-aT-s}nc^98sIfK&j?S+MyHuo3o)73CBd!Cs{8AS(~%BlA~H z&HNKB+m8pokIuKaf@)1{VHnG0vbuYiN=az%$LluNo1?nNd0{Dt-EXAv*!{7FJ|f`? zYKOp~r$8)v?#sm`?u7wy&iARo50Q-Z05Lc>BOs~AkWgi282cpmwZ+4R6;zvV*ZUMK z(B&Y1L=-47?|Wx`gY0akdWmx9>>58+MMCC^R17-#;kSdRX%sB6M{T5GbS+Qd$kvBR z_1lE$@6*ByZ59s9-Pg95xSwN@dpdgiQJott<6lDa(_b)DL8&JvYpV%B*A-JgP{wh# zqKku+48fA!f)8B3A9!CPa84bf_$?q-ZW8 z9+i3kA>U6-GZl9ZDb;aeU#y)0AHd4 zCvKX|fnb}KKL`F!9R2fI)3ll|jW;mISur4AJZW;w#I3JSMs89E?apMck0Op;*KP>W zwfR|uN*k&L7MxY|h%p8d258nBE*aHiCIV*0Kl3P77FO)zA9GutC(5@LQt%Cd_f>8S zV+(yhZpg}fS?muXl5!?_aGupsca=Kkc~r2qS!d7T$*EsSZ#1@8VS-mjgL$F?v=c;& z9M=l&@pIpF6uCgUP8)=fiwoz$9B5;|o!d5ruWl6XRL7Yz#JVuV2CrCsxRdupK*I%l zA3G!+1yA8cO{Iqf!)z5>g$ta6z45&kBX!c}_zOW601s4^&b>fCkLL?dP?gPqVFJiB zrgm6y$=8YR^THYp1uMHA56vbWKBGJpl)@q5;^^eRj;e|Az+vY)Rfhzw0oakP2Z&IV>tV=su)kcAi;=d zdz_&yqwE5E-W*>^Zha!0|FTAA&YpH;@nXKHuyx1GnKJ@&c7v~Q*^uYox7fH-bf#|i z7HD*10}3IF+v68cn4VKC0l(=t{295YX}mf&Eg6`?^GJVLe{1IiT#EhZTJd{L;dMQ< zfM4P1$SR#zCGN@xmETRp&F&(nPF5kCw ze=A=S41Y>lV?qU;c*S{BbIS0T^0@z5vb`+f)*_Os1j6vT1e3~wZ475SjXgZuTLxZH z6S}X)~M|iDKf`O`Cw_D@wRt{~W6W(x01o-KZDL)P6PJJ6WdBgS&@gp_jHd3Kj zZ>s6j*paT~2fqg#A_jRAX)#j@$hd_ zfxB}cWvZnKf%#Y2tV+;8p*4n|CFtStG9hL`UQ1I$>5QMIs>1q!Z&}f{*KGj7D4dzG zEUf3u3Up-WE22JF%I@f~YR+^^jY|QgA1z^Y)->0>qkPl{y$=9}9(2h~ux8Sy%8(R4 ziwe)kvjzQ}6QSiiGBsb<;4XjYlb+grYd|`j+Tl1wq4LJJWjGj^FdS(~`W8PKdoyc$ z(~=|SH$Q&<{34xRJvQS}q<7q4eszu_logSHeumq*3x{sZf+eAvwefO$sQCsdc zLU}iC^eQfYES}*JQiO1ZvCTgBjxsd(_D0WpN@T4J@G~X>_Bmi#hld;ZbWS^{cGx7H zD0CAQ*gYmyW)o{1h|Ew_J=$2XK3i5$pH%XCr?v7KhQJ%K|L~yCHswcbV zySIOVCT3OYG_BuVCyPR0_WF5=x+s4bj}^n6wnsU+NU3K4ifCJNfLzV%xv|X%(pEmB zmvm7-ng%5cnCXgo z<8)h4em+*r-^4E|1HY~sz~BB^&fRgQ3dJl45P;gE-@B{9zawAMp>RuQiPGFBIeKEy z9bS&-dE8wH17whZ!y;>ky4ExEMA!ugqP%Fvmr)x+xSyV_kGILGAWw1(bSnLvhl5H` z#WqWf?3J#}p*oYC`Kt;tslburUIAc~eP){J)w@@bB|@N=c#kyI>cRMODP??zZK>W~ zWc>~y+jAa=15MGM_$&mlFg#&i%%QP&a5Ny9?VXnsR_233VeS)SPXmhxuNIPn@n(Zh*_P+havI6#0E6?|>+<(8 zpF%a?y;!}vI48suxyy{ZwzEX*66sEC)R8^E}%3ZVkVBB?uon zm95;SGrgiaVN&Kcm>5sm~^(C4Ipbg|ywS~nHnb);|Z z7`#~>^ZoV2YF_tQ5{| z@R2Eo3gr>I&_Ju zC4;UYTgH9h@{MGh#m-+o>}uAuDJ=+c`kY(NA&1$lu0nm4jC+y03noJ)6lb1| zgZad7ABzmcqNaWwG$t(6J_pqW*PiA*?@rx#_MPG9=@(BVfzzRY@62^49p+?pQ@I&b zH+XdI{k=#^4s*#x@dSt#$h%LR>1M#)oeQSZZ)X1i7MC6 zkgk@vQ=(7rvwU|#EsZekEnwf~ID^7=`nx&Gw3wnVVfBjK(0#d}Yo!NM*;e*z>9(&f zE?;+MA`D5OGas+%GHk2KUr|P!CH2z{#WfDQWRQ-ZZ!$YX)3-|*US-AFUd5;dMT3q> z1V!pK%|(wr6!c%_K%F*^vYOAEo>!Ltcw_<-3UumNK+Nr1L+Ns^XIO*hTK#bpoX?-l z?6uIrjDTunNqOr5?-^Cmy1Ag$rW){q<*%mJ0k{Nxijt3A--9BV1r4=fV%Q%hXn_hO z>|Wj6o*g-KC_3-U&}Y*)M#S7xz{#_X!Zdy2vzh|xB1a0lqg9&y&^+4qRhQB}UWO&K zdf||FB;(bj=Qe%tO@(7&Qpfh*dk4}n(R#dFOFxxn57{{lyj~jY@AO`urGJ!$By z7q}<#^Z_Vkmhf{zY4hn+v z)t&Wnq9mbB)oX5^Nf)c*$-*b0Baf1!u!L$cKP}QW&%DBo0?EpcQr^{jXrYss03WBq z`%8Pq7ZJL56KtsQRd>A={BD;NX9ZC{`yOR!M%@w46?Jx+_kdIVJ`3P!p>NRUJ!|D- z6)u#FF&%PZH}_$#kK0jpf2n#_6igUTSknil7$czzuw+yE+6u^UH8fTIdI2k~rmyf9 ze0kvSYd*zCE^<+Gn0&9;$a%Q21LCXL5)6grzc|SD!_%LmT;gVE$nsGy3Z!`pF9Uyj zaX9tOT4dXm7NooFx#-7memZp^6A4lJR6BK*y9}M-e6`rzchB%g<+eRm?;erQvgzWy zhF(+$r-_Id-Y+78r$J#VzSUI3i;l31b`rs#JaPp%GV}t_H;*uni;nRJf$t?eNYm^unb<`NY8w(wE6#3Nkq;9BlOT^R{zh)!y;#dln&rwTczRXnh?Es(Zk?RN(xKUFZFg7{Pn}jTEosc z7-BMtR~ZOynP)jg+cErN>w6y(bm|pOB7e>~4d)xz25ug-$@_`AVoK;-pVKwD(KO2L z9ZZxKu5i_Ex+-TYTCsIhoB?tevEK-bPOQRY*8xviH@EBLvRha7$=r69g=_YxIiry5 z%y7s><4-ka0;Y?}aIP0*Bfm~dj{w4SkU!V3$5kF2Ae~R)JI^+kTYHYSh|{cr;~7ne z>?2x$ESx(8pDYPK2a*x&vn(ljWM5lMD#0wv12?!Hu_ev6JKm2eHG=AK7t(ZsOkE zO3mCzuIQ11!%|XIj)M;i_N*C#G{Q4Wu@Di&m?*#{uJ9csNW}4OY3U^4a~}qgH7v?r z5#3fhAW8hAjWkTIEqo%p_+0B?V!xWH-_p^h;xHmGXfWXK%_bK~T+fkH-n_Dx*(^!U z1)FUQhC7a74dUexw0iD+8HDF05*m}?AI={fj7VPRS9@F7z885#SaXw22VP)-E+7-k zYfcB8NbbEey{_Y8fRbY`zI-P6)&0B2n>vzdZsNZ5CD<~;n|<_~$BmXIvFh)GgPY}S z&0n@BSIr&ci*5B)6_UZtPo3blI#@_K(hMRAeThhE>1x*#0jdTsL|B{?&HDy5Klh7S*~;I$XK@-~t0>-u z`kp3$9E+5M>LLx_5S}!e@ptB%09xlMvk9h)PD@DPMg>a~BLtAMK)gp(pr*r+hF@dwhzv@TW%I!ZQ)<)Wsa558sI0@)` z0I-His{75p2iHm!Aiim+=Qt|?f)kN}_@kqe#+NKIXUGsAMyQ}!4L6w|G>3ZrWx{F~ z$q*AGWJSo`LW$!sQ53TU<2(nd%nGjxPzCsue~n9Ab-Z1oLJ3*nEw^TRoVBoF2rU7B zVnC}z4PJx4_?Zm|CW}Qzu%@vv0G_lIhKI`8+MXK9j2Gk`&;T<*j^VELl%N!!H+VS) zviejIE}$JQ)#UGp{!nKE$b*knbQ9s;g&nj3&T=pA!av1B_CE$hgAxegE+7S;=kcH< zz&tHDi{%XOWcSHVS1k`f{{6)ZuRv}Y%-dTeZnh1!VmI$vt}Usc9$t`S=K zh0B`p6mc4yLrwCVCmbCxmBQ7KL*dm&|a;XJQga@YwIcG2RH*@8D#fIciR7}CJzM(0-i_PUd*@y#PwGh@S|O_p2)Lp21zWxIlkKY(fN z&Q#wcxtHNhey#vbw985Aa+SRS`6 zL6%gK2Y;0DV4)kY|CB1D9Fhc4t{`S8GQn%e>br(o~GGTk~2mTg2jG7F#=LTisr97FD8+57oo3;IIJoh+LOXpIN3i zoOw$~)XqO%^pY@8KqG!y{aPQpS`#CQ*q$=ZF754N+xRKlZm^!{auc(3Tl45>9QZ9b zj4Zky$lYWjiD@I6PabnHGpw$gpIj=uiTG}cG7b!CzN6DDbM?t2v~bh&(eU>mN*9@R zU4jDT`HX=5yo@{Ph38{CC*viryB;3o)kHXuHI~}6Y>|F8Z%|tqMsHd99iLd0Xw;0b!T*qtl6YmkDMohP}DG zS|@Ddb%}>5;z^5OjJ~%Wq}&SS2c`|b*3612K$R)HOD<3yiv9k``*=Epgm>UK6N4zg zX@Be)guPpK+qK(x-j_gm1g-Vv);5gNQ_LB8GqZK&2U^Mn%Uf;Zj|@dGQGh*y2G;Yq z*Alctp)>r<#~zP*rM(RpJ^L4J#R^*c4H;r2SE<^ zEoK_9R`|xKn2`OKfP#s29a3!hf^#VII-tSAQ#*?qGi`k;mnoHfAM;iiE!^czK~ZC~ z9`~?Twnx3_vr08p)dPMTq@h&M!|vnJT)YLezm@v*S0E(w_(<|id4qT8E3LQ1FOZ02*nGUEzY zr__bJQOx21`FIfa34y{(RpSnAaaI9^OUV6KJ=eL?;v$s%lt?Kp59u zc*6K-UR{ELgKR6=8ucMW)a*lEKvWRui4gjCETX%b&|3NP2u=Akd#$S5(LIA@UVBO> zdT8Gryqx13PH}{0E#BR%J}gVu4Jpw~Ky>YtVliUN_4(xkeo&x@pRV|gglog%4+iil z&`1j<)ROwLsEVXDpDNW{eeL6KO(Y!)03sU7i{27hra$n5*X+Nm0<|lJP`d_#N*R2C z2~(8DAG5nW8$a>NJ@UTetB~lWQF}C&rssFS z7rJd}@8SU@gck||R*bBS@urv|z|?WCQT{StSO7iporuM*u+P!Z#TCQW&E|I1fQ%iw zp=Ean>P!W>gnkrgJ7ENdeV}nkf8VK+M5>|}-(9%c8Ty$OjN6I+U{2ivtzQyjpK(!8%w2;%%E#YYRsNigMstqaOa*@a2d5ztwT9vJKg9$+Q=v zS!A?jZ#@Iad2?)aY{qJG}^7axQQNkt#_6^Ljw4{KUG!uEoM{)J-7_8xB#5O7# zHIoblSrBwyd@`Vge*<*@&hg1b)@;`+vzyW!mP1WU58_Z^ibk9I( zrFy5G^{=m^L85?>qe>iE$etDKR5OXix=9qAISvcJ4Xyj8>S0%moHkjFgrG`T4)lA&4 zu4*%Gk(ba^RJzU+qm&0vBtt-v?gvWUAffepGML`>x2!lak!RjgttrW8%8w-DpUh*7 zdQ>j2rK)0t95s!>(Jz%DFWo!BsCPrXRX!zlTB2CNdq1^BaIJP)>b0wB#>Em$`J|P& z7)K*;@t2M_$tC! zzF<39K_D7NNS@R9(qmvXAFRwTaAeI@z+65Zc-K^y1?+A1#t0B`ow#8izt$?z;SXxX zch#iBw^SM4$Xt(BT}s`0XWZ8KSq{_aw4uRW5Wx9>G$<3UF&VI`|62KN6a9~7vqI#Y z`@+0`H>J`sI~6F=t3#()UD|?>v%bh&KTF_&&a3>EPXgSJrBlD0_Bm{Qb&`lZKP=Wdj~e%eBQEvJ-es{b&l-O)#Q-ItnTO@)+C~Q z`@ei$SOh|QbL>Gi;IRVH?8)K{9j9E_kB`LO@oR>3rl^&dBTO$$X%zqUlLb95ss z4xO>%`Sw2~T|~+#7JG6qIO{Gb1~`B5AJyC!AI<0ju^{L1AyiDO2K+}jCWm$J)(Qir zl_WQYsQe!NN8fcvmvwEuu-MvQ@H8U+lLZW(VGM#U)BeY2CV@;3-cUzvS@hny$#<2j z_ViGlQrrHIGVFj_FD-=cMsPbBQv6uWr|OsauNNZF!ugx*fNO(MM>iLyEDVkt9`qVV zk^4)JmjJ?g4$GppE)ITQDkm(m+absCbkolM3tIr%BnMkz0}VZH<<#!2_>W%hQgBh$ z_4_W_wgPdvX9hbWcKPtX(dfw?(@%^#KJ>&A_5z;##7ol4-tnyTL29V{7neZ0a3H(UTW97}CnS=Okp!gn1|O-{6S|CZ5r)Yve$ z*soLTxX#p85*_!f|2&z6;xcb<8wmcJJ1UGOIaH7j{ x`>2`EWC!M`{}a%`34(F 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 literal 0 HcmV?d00001 diff --git a/App/src-tauri/icons/icon.png b/App/src-tauri/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..761e9000fd14243e70973782fe752360846337b8 GIT binary patch literal 27065 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 literal 0 HcmV?d00001 diff --git a/App/src-tauri/src/lib.rs b/App/src-tauri/src/lib.rs new file mode 100644 index 0000000..6ff1024 --- /dev/null +++ b/App/src-tauri/src/lib.rs @@ -0,0 +1,10 @@ +#[cfg_attr(mobile, tauri::mobile_entry_point)] +pub fn run() { + tauri::Builder::default() + .plugin(tauri_plugin_fs::init()) + // Restore paths granted by the folder picker before the UI reads them. + .plugin(tauri_plugin_persisted_scope::init()) + .plugin(tauri_plugin_dialog::init()) + .run(tauri::generate_context!()) + .expect("error while running Effortful Learning"); +} diff --git a/App/src-tauri/src/main.rs b/App/src-tauri/src/main.rs new file mode 100644 index 0000000..95c1d22 --- /dev/null +++ b/App/src-tauri/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + effortful_learning_lib::run(); +} diff --git a/App/src-tauri/tauri.conf.json b/App/src-tauri/tauri.conf.json new file mode 100644 index 0000000..47f43a3 --- /dev/null +++ b/App/src-tauri/tauri.conf.json @@ -0,0 +1,38 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "Effortful Learning", + "version": "0.1.0", + "identifier": "com.adrianvalentim.effortful-learning", + "build": { + "beforeDevCommand": "pnpm -C frontend dev", + "devUrl": "http://localhost:5173", + "beforeBuildCommand": "pnpm -C frontend build", + "frontendDist": "../frontend/dist" + }, + "app": { + "windows": [ + { + "label": "main", + "title": "Effortful Learning", + "width": 1280, + "height": 840, + "minWidth": 900, + "minHeight": 600, + "resizable": true, + "fullscreen": false + } + ], + "security": { + "csp": "default-src 'self'; connect-src 'self' ipc: http://ipc.localhost; img-src 'self' asset: http://asset.localhost data: https:; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com" + } + }, + "bundle": { + "active": true, + "targets": "all", + "category": "Education", + "shortDescription": "A read-only view of your Effortful Learning workspace", + "macOS": { + "minimumSystemVersion": "10.15" + } + } +} diff --git a/README.md b/README.md index 32f53e7..d389085 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,21 @@ and review. This repository is designed to be shareable without publishing a personal learning vault. -- `App/` contains the local tracker app. +- `App/` contains the Tauri desktop tracker and its optional browser mode. - `Learning.example/` contains a small synthetic demo workspace. - `Learning/` is reserved for a real private vault and is ignored by git. - `AGENTS.md` and `Learning.example/.system/prompts/` contain the AI operating instructions and session workflows. For personal use, keep your private learning data in a separate private repo or -local folder, then point the app at it: +local folder. Start the desktop app and choose that vault on first launch: + +```bash +pnpm -C App install:all +pnpm -C App desktop:dev +``` + +The browser/server mode remains available when it is useful for development: ```bash LEARNING_WORKSPACE="/path/to/private/Learning" pnpm -C App dev @@ -31,16 +38,17 @@ Maintain application improvements in this public repository. A private learning repository should contain the real vault, not another maintained copy of `App/`. -Run this checkout against a private vault with: +Run the browser/server mode against a private vault with: ```bash cd /path/to/effortful-learning-system LEARNING_WORKSPACE="/path/to/private-repo/Learning" pnpm -C App dev ``` -The app reads the external vault directly, so a local app improvement applies -to personal use immediately. Other users receive it after the public change is -committed, pushed, and pulled into their checkout. +The app reads the external vault directly. Changes made by a learning agent are +reflected in an open desktop window automatically. Application-code changes +appear immediately in `desktop:dev`; packaged copies must be rebuilt until a +signed update channel is added. ## Demo Data From 00ce6048bbe12b5ab90bc0b163dcac2cc53dcd12 Mon Sep 17 00:00:00 2001 From: Adrian Valentim Date: Wed, 12 Aug 2026 14:00:56 -0300 Subject: [PATCH 2/8] Improve app refresh reliability and packaging --- App/README.md | 20 +- App/backend/pnpm-lock.yaml | 819 ----- App/backend/src/index.ts | 3 + App/backend/src/schedule.ts | 7 +- App/backend/src/snapshot.ts | 11 + App/backend/src/stats.ts | 7 +- App/backend/src/workspace.ts | 4 + App/backend/test/vault.test.mjs | 195 ++ App/frontend/index.html | 7 +- App/frontend/pnpm-lock.yaml | 1498 --------- App/frontend/public/favicon.ico | Bin 0 -> 25353 bytes App/frontend/public/licenses/Fraunces-OFL.txt | 93 + App/frontend/public/licenses/Inter-OFL.txt | 92 + .../public/licenses/JetBrainsMono-OFL.txt | 93 + App/frontend/src/App.tsx | 101 +- .../src/assets/fonts/Fraunces-OFL.txt | 93 + .../fonts/Fraunces[SOFT,WONK,opsz,wght].woff2 | Bin 0 -> 205500 bytes App/frontend/src/assets/fonts/Inter-OFL.txt | 92 + .../src/assets/fonts/InterVariable.woff2 | Bin 0 -> 352240 bytes .../src/assets/fonts/JetBrainsMono-OFL.txt | 93 + .../assets/fonts/JetBrainsMono[wght].woff2 | Bin 0 -> 113672 bytes App/frontend/src/assets/fonts/README.md | 16 + App/frontend/src/assets/fonts/fonts.css | 23 + App/frontend/src/lib/api.ts | 45 +- App/frontend/src/lib/desktop.ts | 63 +- App/frontend/src/styles.css | 1 + App/package.json | 4 +- App/pnpm-lock.yaml | 2822 ++++++++++++++++- App/pnpm-workspace.yaml | 3 + App/shared/refresh.ts | 53 + App/shared/snapshot.ts | 16 + App/shared/types.ts | 13 + App/shared/vault.ts | 54 +- App/src-tauri/tauri.conf.json | 2 +- 34 files changed, 3786 insertions(+), 2557 deletions(-) delete mode 100644 App/backend/pnpm-lock.yaml create mode 100644 App/backend/src/snapshot.ts delete mode 100644 App/frontend/pnpm-lock.yaml create mode 100644 App/frontend/public/favicon.ico create mode 100644 App/frontend/public/licenses/Fraunces-OFL.txt create mode 100644 App/frontend/public/licenses/Inter-OFL.txt create mode 100644 App/frontend/public/licenses/JetBrainsMono-OFL.txt create mode 100644 App/frontend/src/assets/fonts/Fraunces-OFL.txt create mode 100644 App/frontend/src/assets/fonts/Fraunces[SOFT,WONK,opsz,wght].woff2 create mode 100644 App/frontend/src/assets/fonts/Inter-OFL.txt create mode 100644 App/frontend/src/assets/fonts/InterVariable.woff2 create mode 100644 App/frontend/src/assets/fonts/JetBrainsMono-OFL.txt create mode 100644 App/frontend/src/assets/fonts/JetBrainsMono[wght].woff2 create mode 100644 App/frontend/src/assets/fonts/README.md create mode 100644 App/frontend/src/assets/fonts/fonts.css create mode 100644 App/pnpm-workspace.yaml create mode 100644 App/shared/refresh.ts create mode 100644 App/shared/snapshot.ts diff --git a/App/README.md b/App/README.md index 7e87b2f..3d10bc7 100644 --- a/App/README.md +++ b/App/README.md @@ -13,7 +13,7 @@ content. Install Node.js, pnpm, and Rust, then from this folder run: ```bash -pnpm install:all +pnpm install pnpm desktop:dev ``` @@ -85,6 +85,16 @@ Rust owns the native window and operating-system permissions. Product behavior stays in TypeScript, so most interface and learning-system changes use the same React workflow as before. +Each top-level refresh reads book metadata and session logs once into a shared +workspace snapshot. Today, Library, Board, Chronicle, and Ledger are derived +from that same immutable in-memory value in both desktop and browser modes. +Filesystem notifications are serialized and coalesced so refresh reads never +overlap. + +Fraunces, Inter, and JetBrains Mono are bundled locally as variable WOFF2 +assets with their licenses. The interface therefore keeps its typography when +offline and does not contact Google Fonts at runtime. + ## Views - **Today ("The Desk")**: review queue, pipeline moves, upcoming reviews, and @@ -99,13 +109,11 @@ Search the whole vault with `Cmd+K` on macOS or `Ctrl+K` on Windows and Linux. ## Validation ```bash -pnpm -C backend test -pnpm -C frontend build -pnpm desktop:check +pnpm check ``` -The backend test exercises the public synthetic workspace end to end. Desktop -build validation checks the Tauri permission manifest and native shell. +The check runs the backend tests against the public synthetic workspace, builds +the frontend, and validates the Tauri permission manifest and native shell. ## Review Schedule and Constraints diff --git a/App/backend/pnpm-lock.yaml b/App/backend/pnpm-lock.yaml deleted file mode 100644 index c2f0093..0000000 --- a/App/backend/pnpm-lock.yaml +++ /dev/null @@ -1,819 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@fastify/cors': - specifier: ^10.0.1 - version: 10.1.0 - chokidar: - specifier: ^4.0.1 - version: 4.0.3 - fastify: - specifier: ^5.1.0 - version: 5.8.5 - gray-matter: - specifier: ^4.0.3 - version: 4.0.3 - marked: - specifier: ^15.0.4 - version: 15.0.12 - devDependencies: - '@types/node': - specifier: ^22.10.0 - version: 22.19.18 - tsx: - specifier: ^4.19.2 - version: 4.21.0 - typescript: - specifier: ^5.7.2 - version: 5.9.3 - -packages: - - '@esbuild/aix-ppc64@0.27.7': - resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.27.7': - resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.27.7': - resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.27.7': - resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.27.7': - resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.27.7': - resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.27.7': - resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.27.7': - resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.27.7': - resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.27.7': - resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.27.7': - resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.27.7': - resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.27.7': - resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.27.7': - resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.27.7': - resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.27.7': - resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.27.7': - resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-arm64@0.27.7': - resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.27.7': - resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.27.7': - resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.27.7': - resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openharmony-arm64@0.27.7': - resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/sunos-x64@0.27.7': - resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.27.7': - resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.27.7': - resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.27.7': - resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@fastify/ajv-compiler@4.0.5': - resolution: {integrity: sha512-KoWKW+MhvfTRWL4qrhUwAAZoaChluo0m0vbiJlGMt2GXvL4LVPQEjt8kSpHI3IBq5Rez8fg+XeH3cneztq+C7A==} - - '@fastify/cors@10.1.0': - resolution: {integrity: sha512-MZyBCBJtII60CU9Xme/iE4aEy8G7QpzGR8zkdXZkDFt7ElEMachbE61tfhAG/bvSaULlqlf0huMT12T7iqEmdQ==} - - '@fastify/error@4.2.0': - resolution: {integrity: sha512-RSo3sVDXfHskiBZKBPRgnQTtIqpi/7zhJOEmAxCiBcM7d0uwdGdxLlsCaLzGs8v8NnxIRlfG0N51p5yFaOentQ==} - - '@fastify/fast-json-stringify-compiler@5.0.3': - resolution: {integrity: sha512-uik7yYHkLr6fxd8hJSZ8c+xF4WafPK+XzneQDPU+D10r5X19GW8lJcom2YijX2+qtFF1ENJlHXKFM9ouXNJYgQ==} - - '@fastify/forwarded@3.0.1': - resolution: {integrity: sha512-JqDochHFqXs3C3Ml3gOY58zM7OqO9ENqPo0UqAjAjH8L01fRZqwX9iLeX34//kiJubF7r2ZQHtBRU36vONbLlw==} - - '@fastify/merge-json-schemas@0.2.1': - resolution: {integrity: sha512-OA3KGBCy6KtIvLf8DINC5880o5iBlDX4SxzLQS8HorJAbqluzLRn80UXU0bxZn7UOFhFgpRJDasfwn9nG4FG4A==} - - '@fastify/proxy-addr@5.1.0': - resolution: {integrity: sha512-INS+6gh91cLUjB+PVHfu1UqcB76Sqtpyp7bnL+FYojhjygvOPA9ctiD/JDKsyD9Xgu4hUhCSJBPig/w7duNajw==} - - '@pinojs/redact@0.4.0': - resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} - - '@types/node@22.19.18': - resolution: {integrity: sha512-9v00a+dn2yWVsYDEunWC4g/TcRKVq3r8N5FuZp7u0SGrPvdN9c2yXI9bBuf5Fl0hNCb+QTIePTn5pJs2pwBOQQ==} - - abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - - ajv-formats@3.0.1: - resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - - ajv@8.20.0: - resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - - avvio@9.2.0: - resolution: {integrity: sha512-2t/sy01ArdHHE0vRH5Hsay+RtCZt3dLPji7W7/MMOCEgze5b7SNDC4j5H6FnVgPkI1MTNFGzHdHrVXDDl7QSSQ==} - - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} - - cookie@1.1.1: - resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} - engines: {node: '>=18'} - - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - - esbuild@0.27.7: - resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} - engines: {node: '>=18'} - hasBin: true - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - - fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-json-stringify@6.4.0: - resolution: {integrity: sha512-ibRCQ0GZKJIQ+P3Et1h0LhPgp3PMTYk0MH8O+kW3lNYsvmaQww5Nn3f1jf73Q0jR1Yz3a1CDP4/NZD3vOajWJQ==} - - fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - - fast-uri@3.1.2: - resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} - - fastify-plugin@5.1.0: - resolution: {integrity: sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==} - - fastify@5.8.5: - resolution: {integrity: sha512-Yqptv59pQzPgQUSIm87hMqHJmdkb1+GPxdE6vW6FRyVE9G86mt7rOghitiU4JHRaTyDUk9pfeKmDeu70lAwM4Q==} - - fastq@1.20.1: - resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} - - find-my-way@9.6.0: - resolution: {integrity: sha512-Zf4Xve4RymLl7NgaavNebZ01joJ8MfVerOG43wy7SHLO+r+K0C6d/SE0BiR7AV5V1VOCFlOP7ecdo+I4qmiHrQ==} - engines: {node: '>=20'} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - get-tsconfig@4.14.0: - resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} - - gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - - ipaddr.js@2.4.0: - resolution: {integrity: sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==} - engines: {node: '>= 10'} - - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - - js-yaml@3.14.2: - resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} - hasBin: true - - json-schema-ref-resolver@3.0.0: - resolution: {integrity: sha512-hOrZIVL5jyYFjzk7+y7n5JDzGlU8rfWDuYyHwGa2WA8/pcmMHezp2xsVwxrebD/Q9t8Nc5DboieySDpCp4WG4A==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - light-my-request@6.6.0: - resolution: {integrity: sha512-CHYbu8RtboSIoVsHZ6Ye4cj4Aw/yg2oAFimlF7mNvfDV192LR7nDiKtSIfCuLT7KokPSTn/9kfVLm5OGN0A28A==} - - marked@15.0.12: - resolution: {integrity: sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==} - engines: {node: '>= 18'} - hasBin: true - - mnemonist@0.40.0: - resolution: {integrity: sha512-kdd8AFNig2AD5Rkih7EPCXhu/iMvwevQFX/uEiGhZyPZi7fHqOoF4V4kHLpCfysxXMgQ4B52kdPMCwARshKvEg==} - - obliterator@2.0.5: - resolution: {integrity: sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==} - - on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - - pino-abstract-transport@3.0.0: - resolution: {integrity: sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==} - - pino-std-serializers@7.1.0: - resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} - - pino@10.3.1: - resolution: {integrity: sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==} - hasBin: true - - process-warning@4.0.1: - resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==} - - process-warning@5.0.0: - resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} - - quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - - readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} - - real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - - real-require@1.0.0: - resolution: {integrity: sha512-P4nbQYQfePJxRSmY+v/KINxVucm4NF3p3s7pJveMTtom52FR4YGltUQLB8idDXwDDWW+eYrWDFbuzUnjoWHF7g==} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - - ret@0.5.0: - resolution: {integrity: sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==} - engines: {node: '>=10'} - - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rfdc@1.4.1: - resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - - safe-regex2@5.1.1: - resolution: {integrity: sha512-mOSBvHGDZMuIEZMdOz/aCEYDCv0E7nfcNsIhUF+/P+xC7Hyf3FkvymqgPbg9D1EdSGu+uKbJgy09K/RKKc7kJA==} - hasBin: true - - safe-stable-stringify@2.5.0: - resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} - engines: {node: '>=10'} - - section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - - secure-json-parse@4.1.0: - resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==} - - semver@7.8.0: - resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} - engines: {node: '>=10'} - hasBin: true - - set-cookie-parser@2.7.2: - resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==} - - sonic-boom@4.2.1: - resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} - - split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - - thread-stream@4.1.0: - resolution: {integrity: sha512-Bw6h2iBDt16v6iHLChBIoVYU8CBo9GPsW8TG7h1hRVhqKhIkH6N8qkxNSmiOZTKsCLPbtWG4ViWLkU6KeKXpig==} - engines: {node: '>=20'} - - toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - - tsx@4.21.0: - resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} - engines: {node: '>=18.0.0'} - hasBin: true - - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} - hasBin: true - - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - -snapshots: - - '@esbuild/aix-ppc64@0.27.7': - optional: true - - '@esbuild/android-arm64@0.27.7': - optional: true - - '@esbuild/android-arm@0.27.7': - optional: true - - '@esbuild/android-x64@0.27.7': - optional: true - - '@esbuild/darwin-arm64@0.27.7': - optional: true - - '@esbuild/darwin-x64@0.27.7': - optional: true - - '@esbuild/freebsd-arm64@0.27.7': - optional: true - - '@esbuild/freebsd-x64@0.27.7': - optional: true - - '@esbuild/linux-arm64@0.27.7': - optional: true - - '@esbuild/linux-arm@0.27.7': - optional: true - - '@esbuild/linux-ia32@0.27.7': - optional: true - - '@esbuild/linux-loong64@0.27.7': - optional: true - - '@esbuild/linux-mips64el@0.27.7': - optional: true - - '@esbuild/linux-ppc64@0.27.7': - optional: true - - '@esbuild/linux-riscv64@0.27.7': - optional: true - - '@esbuild/linux-s390x@0.27.7': - optional: true - - '@esbuild/linux-x64@0.27.7': - optional: true - - '@esbuild/netbsd-arm64@0.27.7': - optional: true - - '@esbuild/netbsd-x64@0.27.7': - optional: true - - '@esbuild/openbsd-arm64@0.27.7': - optional: true - - '@esbuild/openbsd-x64@0.27.7': - optional: true - - '@esbuild/openharmony-arm64@0.27.7': - optional: true - - '@esbuild/sunos-x64@0.27.7': - optional: true - - '@esbuild/win32-arm64@0.27.7': - optional: true - - '@esbuild/win32-ia32@0.27.7': - optional: true - - '@esbuild/win32-x64@0.27.7': - optional: true - - '@fastify/ajv-compiler@4.0.5': - dependencies: - ajv: 8.20.0 - ajv-formats: 3.0.1(ajv@8.20.0) - fast-uri: 3.1.2 - - '@fastify/cors@10.1.0': - dependencies: - fastify-plugin: 5.1.0 - mnemonist: 0.40.0 - - '@fastify/error@4.2.0': {} - - '@fastify/fast-json-stringify-compiler@5.0.3': - dependencies: - fast-json-stringify: 6.4.0 - - '@fastify/forwarded@3.0.1': {} - - '@fastify/merge-json-schemas@0.2.1': - dependencies: - dequal: 2.0.3 - - '@fastify/proxy-addr@5.1.0': - dependencies: - '@fastify/forwarded': 3.0.1 - ipaddr.js: 2.4.0 - - '@pinojs/redact@0.4.0': {} - - '@types/node@22.19.18': - dependencies: - undici-types: 6.21.0 - - abstract-logging@2.0.1: {} - - ajv-formats@3.0.1(ajv@8.20.0): - optionalDependencies: - ajv: 8.20.0 - - ajv@8.20.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.1.2 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - atomic-sleep@1.0.0: {} - - avvio@9.2.0: - dependencies: - '@fastify/error': 4.2.0 - fastq: 1.20.1 - - chokidar@4.0.3: - dependencies: - readdirp: 4.1.2 - - cookie@1.1.1: {} - - dequal@2.0.3: {} - - esbuild@0.27.7: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.7 - '@esbuild/android-arm': 0.27.7 - '@esbuild/android-arm64': 0.27.7 - '@esbuild/android-x64': 0.27.7 - '@esbuild/darwin-arm64': 0.27.7 - '@esbuild/darwin-x64': 0.27.7 - '@esbuild/freebsd-arm64': 0.27.7 - '@esbuild/freebsd-x64': 0.27.7 - '@esbuild/linux-arm': 0.27.7 - '@esbuild/linux-arm64': 0.27.7 - '@esbuild/linux-ia32': 0.27.7 - '@esbuild/linux-loong64': 0.27.7 - '@esbuild/linux-mips64el': 0.27.7 - '@esbuild/linux-ppc64': 0.27.7 - '@esbuild/linux-riscv64': 0.27.7 - '@esbuild/linux-s390x': 0.27.7 - '@esbuild/linux-x64': 0.27.7 - '@esbuild/netbsd-arm64': 0.27.7 - '@esbuild/netbsd-x64': 0.27.7 - '@esbuild/openbsd-arm64': 0.27.7 - '@esbuild/openbsd-x64': 0.27.7 - '@esbuild/openharmony-arm64': 0.27.7 - '@esbuild/sunos-x64': 0.27.7 - '@esbuild/win32-arm64': 0.27.7 - '@esbuild/win32-ia32': 0.27.7 - '@esbuild/win32-x64': 0.27.7 - - esprima@4.0.1: {} - - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - - fast-decode-uri-component@1.0.1: {} - - fast-deep-equal@3.1.3: {} - - fast-json-stringify@6.4.0: - dependencies: - '@fastify/merge-json-schemas': 0.2.1 - ajv: 8.20.0 - ajv-formats: 3.0.1(ajv@8.20.0) - fast-uri: 3.1.2 - json-schema-ref-resolver: 3.0.0 - rfdc: 1.4.1 - - fast-querystring@1.1.2: - dependencies: - fast-decode-uri-component: 1.0.1 - - fast-uri@3.1.2: {} - - fastify-plugin@5.1.0: {} - - fastify@5.8.5: - dependencies: - '@fastify/ajv-compiler': 4.0.5 - '@fastify/error': 4.2.0 - '@fastify/fast-json-stringify-compiler': 5.0.3 - '@fastify/proxy-addr': 5.1.0 - abstract-logging: 2.0.1 - avvio: 9.2.0 - fast-json-stringify: 6.4.0 - find-my-way: 9.6.0 - light-my-request: 6.6.0 - pino: 10.3.1 - process-warning: 5.0.0 - rfdc: 1.4.1 - secure-json-parse: 4.1.0 - semver: 7.8.0 - toad-cache: 3.7.0 - - fastq@1.20.1: - dependencies: - reusify: 1.1.0 - - find-my-way@9.6.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 5.1.1 - - fsevents@2.3.3: - optional: true - - get-tsconfig@4.14.0: - dependencies: - resolve-pkg-maps: 1.0.0 - - gray-matter@4.0.3: - dependencies: - js-yaml: 3.14.2 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - - ipaddr.js@2.4.0: {} - - is-extendable@0.1.1: {} - - js-yaml@3.14.2: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - - json-schema-ref-resolver@3.0.0: - dependencies: - dequal: 2.0.3 - - json-schema-traverse@1.0.0: {} - - kind-of@6.0.3: {} - - light-my-request@6.6.0: - dependencies: - cookie: 1.1.1 - process-warning: 4.0.1 - set-cookie-parser: 2.7.2 - - marked@15.0.12: {} - - mnemonist@0.40.0: - dependencies: - obliterator: 2.0.5 - - obliterator@2.0.5: {} - - on-exit-leak-free@2.1.2: {} - - pino-abstract-transport@3.0.0: - dependencies: - split2: 4.2.0 - - pino-std-serializers@7.1.0: {} - - pino@10.3.1: - dependencies: - '@pinojs/redact': 0.4.0 - atomic-sleep: 1.0.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 3.0.0 - pino-std-serializers: 7.1.0 - process-warning: 5.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.5.0 - sonic-boom: 4.2.1 - thread-stream: 4.1.0 - - process-warning@4.0.1: {} - - process-warning@5.0.0: {} - - quick-format-unescaped@4.0.4: {} - - readdirp@4.1.2: {} - - real-require@0.2.0: {} - - real-require@1.0.0: {} - - require-from-string@2.0.2: {} - - resolve-pkg-maps@1.0.0: {} - - ret@0.5.0: {} - - reusify@1.1.0: {} - - rfdc@1.4.1: {} - - safe-regex2@5.1.1: - dependencies: - ret: 0.5.0 - - safe-stable-stringify@2.5.0: {} - - section-matter@1.0.0: - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 - - secure-json-parse@4.1.0: {} - - semver@7.8.0: {} - - set-cookie-parser@2.7.2: {} - - sonic-boom@4.2.1: - dependencies: - atomic-sleep: 1.0.0 - - split2@4.2.0: {} - - sprintf-js@1.0.3: {} - - strip-bom-string@1.0.0: {} - - thread-stream@4.1.0: - dependencies: - real-require: 1.0.0 - - toad-cache@3.7.0: {} - - tsx@4.21.0: - dependencies: - esbuild: 0.27.7 - get-tsconfig: 4.14.0 - optionalDependencies: - fsevents: 2.3.3 - - typescript@5.9.3: {} - - undici-types@6.21.0: {} diff --git a/App/backend/src/index.ts b/App/backend/src/index.ts index ed46bff..aefd1cb 100644 --- a/App/backend/src/index.ts +++ b/App/backend/src/index.ts @@ -11,6 +11,7 @@ import { } from "./workspace.js"; import { buildToday } from "./schedule.js"; import { buildStats } from "./stats.js"; +import { buildSnapshot } from "./snapshot.js"; import { searchWorkspace } from "./search.js"; const PORT = Number(process.env.PORT) || 3333; @@ -42,6 +43,8 @@ app.get("/api/timeline", async () => { return { logs }; }); +app.get("/api/snapshot", async () => buildSnapshot(config.workspace_path)); + app.get<{ Params: { slug: string; file: string } }>( "/api/books/:slug/logs/:file", async (req, reply) => { diff --git a/App/backend/src/schedule.ts b/App/backend/src/schedule.ts index 777e999..651799c 100644 --- a/App/backend/src/schedule.ts +++ b/App/backend/src/schedule.ts @@ -6,7 +6,7 @@ import { logMatchesSegment, parseDurationMinutes, } from "../../shared/schedule.js"; -import { readAllBooks, readAllLogs } from "./workspace.js"; +import { readWorkspaceData } from "./workspace.js"; export { buildTodayFrom, @@ -17,9 +17,6 @@ export { }; export async function buildToday(workspace: string): Promise { - const [books, logs] = await Promise.all([ - readAllBooks(workspace), - readAllLogs(workspace), - ]); + const { books, logs } = await readWorkspaceData(workspace); return buildTodayFrom(books, logs, localToday()); } diff --git a/App/backend/src/snapshot.ts b/App/backend/src/snapshot.ts new file mode 100644 index 0000000..c194bad --- /dev/null +++ b/App/backend/src/snapshot.ts @@ -0,0 +1,11 @@ +import { localToday } from "../../shared/schedule.js"; +import { buildWorkspaceSnapshot } from "../../shared/snapshot.js"; +import type { WorkspaceSnapshot } from "../../shared/types.js"; +import { readWorkspaceData } from "./workspace.js"; + +export async function buildSnapshot( + workspace: string, + todayISO = localToday(), +): Promise { + return buildWorkspaceSnapshot(await readWorkspaceData(workspace), todayISO); +} diff --git a/App/backend/src/stats.ts b/App/backend/src/stats.ts index 1008e4e..17fd8c6 100644 --- a/App/backend/src/stats.ts +++ b/App/backend/src/stats.ts @@ -1,14 +1,11 @@ import type { StatsPayload } from "../../shared/types.js"; import { buildStatsFrom } from "../../shared/stats.js"; import { localToday } from "../../shared/schedule.js"; -import { readAllBooks, readAllLogs } from "./workspace.js"; +import { readWorkspaceData } from "./workspace.js"; export { buildStatsFrom }; export async function buildStats(workspace: string): Promise { - const [books, logs] = await Promise.all([ - readAllBooks(workspace), - readAllLogs(workspace), - ]); + const { books, logs } = await readWorkspaceData(workspace); return buildStatsFrom(books, logs, localToday()); } diff --git a/App/backend/src/workspace.ts b/App/backend/src/workspace.ts index a2c8ed6..4569297 100644 --- a/App/backend/src/workspace.ts +++ b/App/backend/src/workspace.ts @@ -125,6 +125,10 @@ export function readAllBooks(workspace: string) { return serviceFor(workspace).readAllBooks(); } +export function readWorkspaceData(workspace: string) { + return serviceFor(workspace).readWorkspaceData(); +} + export function readLogDetail(workspace: string, slug: string, file: string) { return serviceFor(workspace).readLogDetail(slug, file); } diff --git a/App/backend/test/vault.test.mjs b/App/backend/test/vault.test.mjs index 0c842af..4fd058e 100644 --- a/App/backend/test/vault.test.mjs +++ b/App/backend/test/vault.test.mjs @@ -3,14 +3,19 @@ import path from "node:path"; import test from "node:test"; import { fileURLToPath } from "node:url"; import { buildStats } from "../dist/backend/src/stats.js"; +import { buildSnapshot } from "../dist/backend/src/snapshot.js"; import { buildToday } from "../dist/backend/src/schedule.js"; import { searchWorkspace } from "../dist/backend/src/search.js"; +import { createRefreshCoordinator } from "../dist/shared/refresh.js"; +import { buildTodayFrom } from "../dist/shared/schedule.js"; +import { buildStatsFrom } from "../dist/shared/stats.js"; import { createVaultService } from "../dist/shared/vault.js"; import { readAllBooks, readAllLogs, readBookDetail, readLogDetail, + readWorkspaceData, } from "../dist/backend/src/workspace.js"; const here = path.dirname(fileURLToPath(import.meta.url)); @@ -48,6 +53,194 @@ test("log paths cannot escape the selected workspace", async () => { ); }); +test("one workspace snapshot matches the focused readers", async () => { + const todayISO = "2026-02-01"; + const [data, books, logs, snapshot] = await Promise.all([ + readWorkspaceData(workspace), + readAllBooks(workspace), + readAllLogs(workspace), + buildSnapshot(workspace, todayISO), + ]); + + assert.deepEqual(data.books, books); + assert.deepEqual(data.logs, logs); + assert.deepEqual(snapshot.books, books); + assert.deepEqual(snapshot.logs, logs); + assert.deepEqual(snapshot.today, buildTodayFrom(books, logs, todayISO)); + assert.deepEqual(snapshot.stats, buildStatsFrom(books, logs, todayISO)); +}); + +test("a workspace snapshot reads each metadata and log file once", async () => { + const files = new Map([ + [ + "books/real-book/book.md", + JSON.stringify({ + data: { + title: "Real Book", + slug: "real-book", + status: "active", + segments: [], + }, + content: "", + }), + ], + [ + "books/real-book/logs/2026-01-01-session.md", + JSON.stringify({ + data: { date: "2026-01-01", book: "real-book", type: "reading" }, + content: "One session.", + }), + ], + ]); + const reads = new Map(); + const reader = { + async readText(relativePath) { + reads.set(relativePath, (reads.get(relativePath) ?? 0) + 1); + const raw = files.get(relativePath); + if (!raw) throw new Error(`Unexpected read: ${relativePath}`); + return raw; + }, + async readDir(relativePath) { + if (relativePath === "books") { + return [ + { name: "real-book", isFile: false, isDirectory: true }, + { name: "notes", isFile: false, isDirectory: true }, + ]; + } + if (relativePath === "books/real-book/logs") { + return [ + { + name: "2026-01-01-session.md", + isFile: true, + isDirectory: false, + }, + ]; + } + throw new Error(`Missing optional directory: ${relativePath}`); + }, + async exists(relativePath) { + return relativePath === "books/real-book/book.md"; + }, + async size() { + return null; + }, + parseMarkdown(raw) { + return JSON.parse(raw); + }, + async renderMarkdown(markdown) { + return markdown; + }, + }; + + const data = await createVaultService(reader, { strict: true }).readWorkspaceData(); + + assert.deepEqual(data.books.map((book) => book.slug), ["real-book"]); + assert.equal(data.logs.length, 1); + assert.deepEqual(Object.fromEntries(reads), { + "books/real-book/book.md": 1, + "books/real-book/logs/2026-01-01-session.md": 1, + }); +}); + +test("refreshes are serialized and notifications coalesce into one trailing load", async () => { + const gates = []; + const successes = []; + let calls = 0; + let active = 0; + let maxActive = 0; + const coordinator = createRefreshCoordinator({ + async load() { + const value = ++calls; + active++; + maxActive = Math.max(maxActive, active); + let release; + const waiting = new Promise((resolve) => { + release = resolve; + }); + gates.push(release); + await waiting; + active--; + return value; + }, + onSuccess(value) { + successes.push(value); + }, + onError(error) { + assert.fail(String(error)); + }, + }); + + coordinator.request(); + coordinator.request(); + coordinator.request(); + assert.equal(calls, 1); + gates[0](); + await new Promise((resolve) => setImmediate(resolve)); + assert.equal(calls, 2); + gates[1](); + await new Promise((resolve) => setImmediate(resolve)); + + assert.equal(maxActive, 1); + assert.equal(calls, 2); + assert.deepEqual(successes, [1, 2]); +}); + +test("a failed refresh preserves the last complete snapshot", async () => { + const initial = { books: ["complete"], logs: [], today: {}, stats: {} }; + let displayed = null; + let error = null; + let call = 0; + const coordinator = createRefreshCoordinator({ + async load() { + call++; + if (call === 1) return initial; + throw new Error("snapshot failed"); + }, + onSuccess(value) { + displayed = value; + }, + onError(nextError) { + error = nextError; + }, + }); + + coordinator.request(); + await new Promise((resolve) => setImmediate(resolve)); + coordinator.request(); + await new Promise((resolve) => setImmediate(resolve)); + + assert.equal(displayed, initial); + assert.match(String(error), /snapshot failed/); +}); + +test("disposing a refresh coordinator suppresses stale state updates", async () => { + let release; + const waiting = new Promise((resolve) => { + release = resolve; + }); + const successes = []; + const coordinator = createRefreshCoordinator({ + async load() { + await waiting; + return "stale"; + }, + onSuccess(value) { + successes.push(value); + }, + onError(error) { + assert.fail(String(error)); + }, + }); + + coordinator.request(); + coordinator.dispose(); + release(); + await new Promise((resolve) => setImmediate(resolve)); + coordinator.request(); + + assert.deepEqual(successes, []); +}); + test("book shelves ignore folders that do not contain book metadata", async () => { const reader = { async readText(relativePath) { @@ -91,6 +284,8 @@ test("book shelves ignore folders that do not contain book metadata", async () = const service = createVaultService(reader, { strict: true }); const books = await service.readAllBooks(); + const search = await service.search("real"); assert.deepEqual(books.map((book) => book.slug), ["real-book"]); + assert.deepEqual(search, []); }); diff --git a/App/frontend/index.html b/App/frontend/index.html index 4ddb64b..e26560f 100644 --- a/App/frontend/index.html +++ b/App/frontend/index.html @@ -4,13 +4,8 @@ + Effortful Learning - - -

diff --git a/App/frontend/pnpm-lock.yaml b/App/frontend/pnpm-lock.yaml deleted file mode 100644 index 6ce667a..0000000 --- a/App/frontend/pnpm-lock.yaml +++ /dev/null @@ -1,1498 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@tauri-apps/api': - specifier: ^2.0.0 - version: 2.11.1 - '@tauri-apps/plugin-dialog': - specifier: ^2.0.0 - version: 2.7.2 - '@tauri-apps/plugin-fs': - specifier: ^2.0.0 - version: 2.5.1 - marked: - specifier: ^15.0.4 - version: 15.0.12 - react: - specifier: ^19.0.0 - version: 19.2.6 - react-dom: - specifier: ^19.0.0 - version: 19.2.6(react@19.2.6) - yaml: - specifier: ^2.0.0 - version: 2.9.0 - devDependencies: - '@tailwindcss/vite': - specifier: ^4.0.0 - version: 4.3.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0)) - '@types/react': - specifier: ^19.0.0 - version: 19.2.14 - '@types/react-dom': - specifier: ^19.0.0 - version: 19.2.3(@types/react@19.2.14) - '@vitejs/plugin-react': - specifier: ^4.3.4 - version: 4.7.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0)) - tailwindcss: - specifier: ^4.0.0 - version: 4.3.0 - typescript: - specifier: ^5.7.2 - version: 5.9.3 - vite: - specifier: ^6.0.3 - version: 6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0) - -packages: - - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.29.3': - resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.29.0': - resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.29.1': - resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.28.6': - resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.28.6': - resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.28.6': - resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-plugin-utils@7.28.6': - resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.29.2': - resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.29.3': - resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-transform-react-jsx-self@7.27.1': - resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-source@7.27.1': - resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/template@7.28.6': - resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} - engines: {node: '>=6.9.0'} - - '@esbuild/aix-ppc64@0.25.12': - resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.25.12': - resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.25.12': - resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.25.12': - resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.25.12': - resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.25.12': - resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.25.12': - resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.25.12': - resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.25.12': - resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.25.12': - resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.25.12': - resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.25.12': - resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.25.12': - resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.25.12': - resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.25.12': - resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.25.12': - resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.25.12': - resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-arm64@0.25.12': - resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.25.12': - resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.25.12': - resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.25.12': - resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openharmony-arm64@0.25.12': - resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/sunos-x64@0.25.12': - resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.25.12': - resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.25.12': - resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.25.12': - resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - - '@jridgewell/remapping@2.3.5': - resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - - '@jridgewell/trace-mapping@0.3.31': - resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - - '@rolldown/pluginutils@1.0.0-beta.27': - resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} - - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - - '@tailwindcss/node@4.3.0': - resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==} - - '@tailwindcss/oxide-android-arm64@4.3.0': - resolution: {integrity: sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [android] - - '@tailwindcss/oxide-darwin-arm64@4.3.0': - resolution: {integrity: sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [darwin] - - '@tailwindcss/oxide-darwin-x64@4.3.0': - resolution: {integrity: sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==} - engines: {node: '>= 20'} - cpu: [x64] - os: [darwin] - - '@tailwindcss/oxide-freebsd-x64@4.3.0': - resolution: {integrity: sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==} - engines: {node: '>= 20'} - cpu: [x64] - os: [freebsd] - - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': - resolution: {integrity: sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==} - engines: {node: '>= 20'} - cpu: [arm] - os: [linux] - - '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': - resolution: {integrity: sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [linux] - - '@tailwindcss/oxide-linux-arm64-musl@4.3.0': - resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [linux] - - '@tailwindcss/oxide-linux-x64-gnu@4.3.0': - resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==} - engines: {node: '>= 20'} - cpu: [x64] - os: [linux] - - '@tailwindcss/oxide-linux-x64-musl@4.3.0': - resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==} - engines: {node: '>= 20'} - cpu: [x64] - os: [linux] - - '@tailwindcss/oxide-wasm32-wasi@4.3.0': - resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - bundledDependencies: - - '@napi-rs/wasm-runtime' - - '@emnapi/core' - - '@emnapi/runtime' - - '@tybys/wasm-util' - - '@emnapi/wasi-threads' - - tslib - - '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': - resolution: {integrity: sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [win32] - - '@tailwindcss/oxide-win32-x64-msvc@4.3.0': - resolution: {integrity: sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==} - engines: {node: '>= 20'} - cpu: [x64] - os: [win32] - - '@tailwindcss/oxide@4.3.0': - resolution: {integrity: sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==} - engines: {node: '>= 20'} - - '@tailwindcss/vite@4.3.0': - resolution: {integrity: sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==} - peerDependencies: - vite: ^5.2.0 || ^6 || ^7 || ^8 - - '@tauri-apps/api@2.11.1': - resolution: {integrity: sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==} - - '@tauri-apps/plugin-dialog@2.7.2': - resolution: {integrity: sha512-pX0IGm1I3I6wc+zeKYcq1GSqogK6okCNX5fOdaNU5ab1AjGS6l1E5wFNjEb7meg7ZFSp0JUs+0jQGQNyOvLrsg==} - - '@tauri-apps/plugin-fs@2.5.1': - resolution: {integrity: sha512-9Lz+Jopp6QyeEWhlpkMx4R/+P9HgR+AVAI4vOZhlT8Xaymtz8iVI/Ov984/XTqgJz/5gz5NretqPB/XEMS3NhQ==} - - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - - '@types/babel__generator@7.27.0': - resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.28.0': - resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} - - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - - '@types/react-dom@19.2.3': - resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} - peerDependencies: - '@types/react': ^19.2.0 - - '@types/react@19.2.14': - resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} - - '@vitejs/plugin-react@4.7.0': - resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} - engines: {node: '>=6.0.0'} - hasBin: true - - browserslist@4.28.2: - resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - - debug@4.4.3: - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - detect-libc@2.1.2: - resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} - engines: {node: '>=8'} - - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} - - enhanced-resolve@5.21.2: - resolution: {integrity: sha512-xe9vQb5kReirPUxgQrXA3ihgbCqssmTiM7cOZ+Gzu+VeGWgpV98lLZvp0dl4yriyAePcewxGUs9UpKD8PET9KQ==} - engines: {node: '>=10.13.0'} - - esbuild@0.25.12: - resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} - engines: {node: '>=18'} - hasBin: true - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - fdir@6.5.0: - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} - engines: {node: '>=12.0.0'} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - jiti@2.7.0: - resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} - hasBin: true - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - lightningcss-android-arm64@1.32.0: - resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [android] - - lightningcss-darwin-arm64@1.32.0: - resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - - lightningcss-darwin-x64@1.32.0: - resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - - lightningcss-freebsd-x64@1.32.0: - resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - - lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - - lightningcss-linux-arm64-gnu@1.32.0: - resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - - lightningcss-linux-arm64-musl@1.32.0: - resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - - lightningcss-linux-x64-gnu@1.32.0: - resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - - lightningcss-linux-x64-musl@1.32.0: - resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - - lightningcss-win32-arm64-msvc@1.32.0: - resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - - lightningcss-win32-x64-msvc@1.32.0: - resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - - lightningcss@1.32.0: - resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} - engines: {node: '>= 12.0.0'} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - magic-string@0.30.21: - resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - - marked@15.0.12: - resolution: {integrity: sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==} - engines: {node: '>= 18'} - hasBin: true - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - nanoid@3.3.12: - resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} - engines: {node: '>=12'} - - postcss@8.5.14: - resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} - engines: {node: ^10 || ^12 || >=14} - - react-dom@19.2.6: - resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} - peerDependencies: - react: ^19.2.6 - - react-refresh@0.17.0: - resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} - engines: {node: '>=0.10.0'} - - react@19.2.6: - resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} - engines: {node: '>=0.10.0'} - - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - - tailwindcss@4.3.0: - resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==} - - tapable@2.3.3: - resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} - engines: {node: '>=6'} - - tinyglobby@0.2.16: - resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} - engines: {node: '>=12.0.0'} - - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} - hasBin: true - - update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - vite@6.4.2: - resolution: {integrity: sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: '>=1.21.0' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yaml@2.9.0: - resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} - engines: {node: '>= 14.6'} - hasBin: true - -snapshots: - - '@babel/code-frame@7.29.0': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.29.3': {} - - '@babel/core@7.29.0': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helpers': 7.29.2 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.29.1': - dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/helper-compilation-targets@7.28.6': - dependencies: - '@babel/compat-data': 7.29.3 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.2 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-globals@7.28.0': {} - - '@babel/helper-module-imports@7.28.6': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-plugin-utils@7.28.6': {} - - '@babel/helper-string-parser@7.27.1': {} - - '@babel/helper-validator-identifier@7.28.5': {} - - '@babel/helper-validator-option@7.27.1': {} - - '@babel/helpers@7.29.2': - dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - - '@babel/parser@7.29.3': - dependencies: - '@babel/types': 7.29.0 - - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/template@7.28.6': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 - - '@babel/traverse@7.29.0': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.29.0': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - - '@esbuild/aix-ppc64@0.25.12': - optional: true - - '@esbuild/android-arm64@0.25.12': - optional: true - - '@esbuild/android-arm@0.25.12': - optional: true - - '@esbuild/android-x64@0.25.12': - optional: true - - '@esbuild/darwin-arm64@0.25.12': - optional: true - - '@esbuild/darwin-x64@0.25.12': - optional: true - - '@esbuild/freebsd-arm64@0.25.12': - optional: true - - '@esbuild/freebsd-x64@0.25.12': - optional: true - - '@esbuild/linux-arm64@0.25.12': - optional: true - - '@esbuild/linux-arm@0.25.12': - optional: true - - '@esbuild/linux-ia32@0.25.12': - optional: true - - '@esbuild/linux-loong64@0.25.12': - optional: true - - '@esbuild/linux-mips64el@0.25.12': - optional: true - - '@esbuild/linux-ppc64@0.25.12': - optional: true - - '@esbuild/linux-riscv64@0.25.12': - optional: true - - '@esbuild/linux-s390x@0.25.12': - optional: true - - '@esbuild/linux-x64@0.25.12': - optional: true - - '@esbuild/netbsd-arm64@0.25.12': - optional: true - - '@esbuild/netbsd-x64@0.25.12': - optional: true - - '@esbuild/openbsd-arm64@0.25.12': - optional: true - - '@esbuild/openbsd-x64@0.25.12': - optional: true - - '@esbuild/openharmony-arm64@0.25.12': - optional: true - - '@esbuild/sunos-x64@0.25.12': - optional: true - - '@esbuild/win32-arm64@0.25.12': - optional: true - - '@esbuild/win32-ia32@0.25.12': - optional: true - - '@esbuild/win32-x64@0.25.12': - optional: true - - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/remapping@2.3.5': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/sourcemap-codec@1.5.5': {} - - '@jridgewell/trace-mapping@0.3.31': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - - '@rolldown/pluginutils@1.0.0-beta.27': {} - - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - - '@rollup/rollup-android-arm64@4.60.3': - optional: true - - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - - '@tailwindcss/node@4.3.0': - dependencies: - '@jridgewell/remapping': 2.3.5 - enhanced-resolve: 5.21.2 - jiti: 2.7.0 - lightningcss: 1.32.0 - magic-string: 0.30.21 - source-map-js: 1.2.1 - tailwindcss: 4.3.0 - - '@tailwindcss/oxide-android-arm64@4.3.0': - optional: true - - '@tailwindcss/oxide-darwin-arm64@4.3.0': - optional: true - - '@tailwindcss/oxide-darwin-x64@4.3.0': - optional: true - - '@tailwindcss/oxide-freebsd-x64@4.3.0': - optional: true - - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': - optional: true - - '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': - optional: true - - '@tailwindcss/oxide-linux-arm64-musl@4.3.0': - optional: true - - '@tailwindcss/oxide-linux-x64-gnu@4.3.0': - optional: true - - '@tailwindcss/oxide-linux-x64-musl@4.3.0': - optional: true - - '@tailwindcss/oxide-wasm32-wasi@4.3.0': - optional: true - - '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': - optional: true - - '@tailwindcss/oxide-win32-x64-msvc@4.3.0': - optional: true - - '@tailwindcss/oxide@4.3.0': - optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.3.0 - '@tailwindcss/oxide-darwin-arm64': 4.3.0 - '@tailwindcss/oxide-darwin-x64': 4.3.0 - '@tailwindcss/oxide-freebsd-x64': 4.3.0 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.0 - '@tailwindcss/oxide-linux-arm64-gnu': 4.3.0 - '@tailwindcss/oxide-linux-arm64-musl': 4.3.0 - '@tailwindcss/oxide-linux-x64-gnu': 4.3.0 - '@tailwindcss/oxide-linux-x64-musl': 4.3.0 - '@tailwindcss/oxide-wasm32-wasi': 4.3.0 - '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0 - '@tailwindcss/oxide-win32-x64-msvc': 4.3.0 - - '@tailwindcss/vite@4.3.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0))': - dependencies: - '@tailwindcss/node': 4.3.0 - '@tailwindcss/oxide': 4.3.0 - tailwindcss: 4.3.0 - vite: 6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0) - - '@tauri-apps/api@2.11.1': {} - - '@tauri-apps/plugin-dialog@2.7.2': - dependencies: - '@tauri-apps/api': 2.11.1 - - '@tauri-apps/plugin-fs@2.5.1': - dependencies: - '@tauri-apps/api': 2.11.1 - - '@types/babel__core@7.20.5': - dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 - '@types/babel__generator': 7.27.0 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.28.0 - - '@types/babel__generator@7.27.0': - dependencies: - '@babel/types': 7.29.0 - - '@types/babel__template@7.4.4': - dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 - - '@types/babel__traverse@7.28.0': - dependencies: - '@babel/types': 7.29.0 - - '@types/estree@1.0.8': {} - - '@types/react-dom@19.2.3(@types/react@19.2.14)': - dependencies: - '@types/react': 19.2.14 - - '@types/react@19.2.14': - dependencies: - csstype: 3.2.3 - - '@vitejs/plugin-react@4.7.0(vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0))': - dependencies: - '@babel/core': 7.29.0 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0) - '@rolldown/pluginutils': 1.0.0-beta.27 - '@types/babel__core': 7.20.5 - react-refresh: 0.17.0 - vite: 6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0) - transitivePeerDependencies: - - supports-color - - baseline-browser-mapping@2.10.29: {} - - browserslist@4.28.2: - dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 - update-browserslist-db: 1.2.3(browserslist@4.28.2) - - caniuse-lite@1.0.30001792: {} - - convert-source-map@2.0.0: {} - - csstype@3.2.3: {} - - debug@4.4.3: - dependencies: - ms: 2.1.3 - - detect-libc@2.1.2: {} - - electron-to-chromium@1.5.353: {} - - enhanced-resolve@5.21.2: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.3.3 - - esbuild@0.25.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.12 - '@esbuild/android-arm': 0.25.12 - '@esbuild/android-arm64': 0.25.12 - '@esbuild/android-x64': 0.25.12 - '@esbuild/darwin-arm64': 0.25.12 - '@esbuild/darwin-x64': 0.25.12 - '@esbuild/freebsd-arm64': 0.25.12 - '@esbuild/freebsd-x64': 0.25.12 - '@esbuild/linux-arm': 0.25.12 - '@esbuild/linux-arm64': 0.25.12 - '@esbuild/linux-ia32': 0.25.12 - '@esbuild/linux-loong64': 0.25.12 - '@esbuild/linux-mips64el': 0.25.12 - '@esbuild/linux-ppc64': 0.25.12 - '@esbuild/linux-riscv64': 0.25.12 - '@esbuild/linux-s390x': 0.25.12 - '@esbuild/linux-x64': 0.25.12 - '@esbuild/netbsd-arm64': 0.25.12 - '@esbuild/netbsd-x64': 0.25.12 - '@esbuild/openbsd-arm64': 0.25.12 - '@esbuild/openbsd-x64': 0.25.12 - '@esbuild/openharmony-arm64': 0.25.12 - '@esbuild/sunos-x64': 0.25.12 - '@esbuild/win32-arm64': 0.25.12 - '@esbuild/win32-ia32': 0.25.12 - '@esbuild/win32-x64': 0.25.12 - - escalade@3.2.0: {} - - fdir@6.5.0(picomatch@4.0.4): - optionalDependencies: - picomatch: 4.0.4 - - fsevents@2.3.3: - optional: true - - gensync@1.0.0-beta.2: {} - - graceful-fs@4.2.11: {} - - jiti@2.7.0: {} - - js-tokens@4.0.0: {} - - jsesc@3.1.0: {} - - json5@2.2.3: {} - - lightningcss-android-arm64@1.32.0: - optional: true - - lightningcss-darwin-arm64@1.32.0: - optional: true - - lightningcss-darwin-x64@1.32.0: - optional: true - - lightningcss-freebsd-x64@1.32.0: - optional: true - - lightningcss-linux-arm-gnueabihf@1.32.0: - optional: true - - lightningcss-linux-arm64-gnu@1.32.0: - optional: true - - lightningcss-linux-arm64-musl@1.32.0: - optional: true - - lightningcss-linux-x64-gnu@1.32.0: - optional: true - - lightningcss-linux-x64-musl@1.32.0: - optional: true - - lightningcss-win32-arm64-msvc@1.32.0: - optional: true - - lightningcss-win32-x64-msvc@1.32.0: - optional: true - - lightningcss@1.32.0: - dependencies: - detect-libc: 2.1.2 - 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 - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - magic-string@0.30.21: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - - marked@15.0.12: {} - - ms@2.1.3: {} - - nanoid@3.3.12: {} - - node-releases@2.0.38: {} - - picocolors@1.1.1: {} - - picomatch@4.0.4: {} - - postcss@8.5.14: - dependencies: - nanoid: 3.3.12 - picocolors: 1.1.1 - source-map-js: 1.2.1 - - react-dom@19.2.6(react@19.2.6): - dependencies: - react: 19.2.6 - scheduler: 0.27.0 - - react-refresh@0.17.0: {} - - react@19.2.6: {} - - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - - scheduler@0.27.0: {} - - semver@6.3.1: {} - - source-map-js@1.2.1: {} - - tailwindcss@4.3.0: {} - - tapable@2.3.3: {} - - tinyglobby@0.2.16: - dependencies: - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - - typescript@5.9.3: {} - - update-browserslist-db@1.2.3(browserslist@4.28.2): - dependencies: - browserslist: 4.28.2 - escalade: 3.2.0 - picocolors: 1.1.1 - - vite@6.4.2(jiti@2.7.0)(lightningcss@1.32.0)(yaml@2.9.0): - dependencies: - esbuild: 0.25.12 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 - tinyglobby: 0.2.16 - optionalDependencies: - fsevents: 2.3.3 - jiti: 2.7.0 - lightningcss: 1.32.0 - yaml: 2.9.0 - - yallist@3.1.1: {} - - yaml@2.9.0: {} diff --git a/App/frontend/public/favicon.ico b/App/frontend/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..516032b1826035c4fa30fd1d58aa7ac64c38179e GIT binary patch literal 25353 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 literal 0 HcmV?d00001 diff --git a/App/frontend/public/licenses/Fraunces-OFL.txt b/App/frontend/public/licenses/Fraunces-OFL.txt new file mode 100644 index 0000000..e0a3ac7 --- /dev/null +++ b/App/frontend/public/licenses/Fraunces-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2018 The Fraunces Project Authors (https://github.com/undercasetype/Fraunces) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/App/frontend/public/licenses/Inter-OFL.txt b/App/frontend/public/licenses/Inter-OFL.txt new file mode 100644 index 0000000..9b2ca37 --- /dev/null +++ b/App/frontend/public/licenses/Inter-OFL.txt @@ -0,0 +1,92 @@ +Copyright (c) 2016 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION AND CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/App/frontend/public/licenses/JetBrainsMono-OFL.txt b/App/frontend/public/licenses/JetBrainsMono-OFL.txt new file mode 100644 index 0000000..675d198 --- /dev/null +++ b/App/frontend/public/licenses/JetBrainsMono-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/App/frontend/src/App.tsx b/App/frontend/src/App.tsx index e27a305..0c3216b 100644 --- a/App/frontend/src/App.tsx +++ b/App/frontend/src/App.tsx @@ -1,10 +1,6 @@ import { useCallback, useEffect, useState } from "react"; -import type { - BookSummary, - SessionLog, - StatsPayload, - TodayPayload, -} from "../../shared/types"; +import type { WorkspaceSnapshot } from "../../shared/types"; +import { createRefreshCoordinator } from "../../shared/refresh"; import { api, subscribeWorkspace } from "./lib/api"; import { chooseWorkspace, @@ -31,10 +27,7 @@ export default function App() { ); const [choosingWorkspace, setChoosingWorkspace] = useState(false); const [workspaceError, setWorkspaceError] = useState(null); - const [books, setBooks] = useState(null); - const [logs, setLogs] = useState([]); - const [today, setToday] = useState(null); - const [stats, setStats] = useState(null); + const [snapshot, setSnapshot] = useState(null); const [error, setError] = useState(null); const [openSlug, setOpenSlug] = useState(null); const [openLog, setOpenLog] = useState(null); @@ -47,34 +40,13 @@ export default function App() { persistView(next); }, []); - const load = useCallback(async () => { - setError(null); - try { - const [nextBooks, nextLogs, nextToday, nextStats] = await Promise.all([ - api.books(), - api.timeline(), - api.today(), - api.stats(), - ]); - setBooks(nextBooks); - setLogs(nextLogs); - setToday(nextToday); - setStats(nextStats); - } catch (loadError) { - setError(String(loadError)); - } - }, []); - const selectWorkspace = useCallback(async () => { setChoosingWorkspace(true); setWorkspaceError(null); try { const selected = await chooseWorkspace(); if (selected) { - setBooks(null); - setLogs([]); - setToday(null); - setStats(null); + setSnapshot(null); setError(null); setWorkspacePath(selected); } @@ -87,16 +59,39 @@ export default function App() { useEffect(() => { if (desktop && !workspacePath) return undefined; - let active = true; + let disposed = false; let unsubscribe: (() => void) | null = null; - void load().then(() => { - if (active) unsubscribe = subscribeWorkspace(load); + const subscriptionAbort = new AbortController(); + const refresh = createRefreshCoordinator({ + load: () => api.snapshot(), + onSuccess: (nextSnapshot) => { + setError(null); + setSnapshot(nextSnapshot); + }, + onError: (loadError) => setError(String(loadError)), }); + + void subscribeWorkspace(refresh.request, subscriptionAbort.signal) + .then((stop) => { + if (disposed) { + stop(); + return; + } + unsubscribe = stop; + refresh.request(); + }) + .catch((subscriptionError: unknown) => { + console.error("Could not subscribe to workspace changes", subscriptionError); + if (!disposed) refresh.request(); + }); + return () => { - active = false; + disposed = true; + subscriptionAbort.abort(); + refresh.dispose(); unsubscribe?.(); }; - }, [desktop, load, workspacePath]); + }, [desktop, workspacePath]); const openLogFile = useCallback((book: string, file: string) => { setOpenLog({ book, file }); @@ -144,28 +139,34 @@ export default function App() { desktop={desktop} onChoose={desktop ? selectWorkspace : undefined} /> - ) : !books ? ( + ) : !snapshot ? ( ) : ( <> - {view === "today" && - (today ? : )} - {view === "library" && } - {view === "kanban" && } + {view === "today" && ( + + )} + {view === "library" && ( + + )} + {view === "kanban" && ( + + )} {view === "timeline" && ( )} - {view === "stats" && - (stats ? ( - - ) : ( - - ))} + {view === "stats" && ( + + )} {openSlug && ( JxE10q2H0RY7S00000000000000000000 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%0D_ghuJDXtg!&Y={cN4U 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%0DJ+F#C#r{*c7=-Odv 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 literal 0 HcmV?d00001 diff --git a/App/frontend/src/assets/fonts/JetBrainsMono-OFL.txt b/App/frontend/src/assets/fonts/JetBrainsMono-OFL.txt new file mode 100644 index 0000000..675d198 --- /dev/null +++ b/App/frontend/src/assets/fonts/JetBrainsMono-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/App/frontend/src/assets/fonts/JetBrainsMono[wght].woff2 b/App/frontend/src/assets/fonts/JetBrainsMono[wght].woff2 new file mode 100644 index 0000000000000000000000000000000000000000..856547f84b0365f4db7bfee3ac88f558a117410e GIT binary patch literal 113672 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
)^?MxX)2RaE3y3j>VMmM_2N$5cjIgDQP5|@pLy) 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 literal 0 HcmV?d00001 diff --git a/App/frontend/src/assets/fonts/README.md b/App/frontend/src/assets/fonts/README.md new file mode 100644 index 0000000..a6c7d8c --- /dev/null +++ b/App/frontend/src/assets/fonts/README.md @@ -0,0 +1,16 @@ +# Local fonts + +These WOFF2 files replace the app's former runtime Google Fonts request. They +are kept beside their SIL Open Font License files. + +Vite also copies the distributable license files from `public/licenses/` into +the production artifact so every packaged font ships with its license. + +- `Fraunces[SOFT,WONK,opsz,wght].woff2`: official Fraunces variable webfont, + pinned to upstream commit `7ccdec31c6028118dce3e47fe864e3744460371d`. +- `InterVariable.woff2`: official Inter 4.1 variable webfont. +- `JetBrainsMono[wght].woff2`: official JetBrains Mono variable webfont, + pinned to upstream commit `19371302b95d218af43299bce79ddbddd0bc364d`. + +The `@font-face` declarations in `fonts.css` expose only the ranges used by the +interface. Fraunces retains its `opsz`, `wght`, `SOFT`, and `WONK` axes. diff --git a/App/frontend/src/assets/fonts/fonts.css b/App/frontend/src/assets/fonts/fonts.css new file mode 100644 index 0000000..2228a57 --- /dev/null +++ b/App/frontend/src/assets/fonts/fonts.css @@ -0,0 +1,23 @@ +@font-face { + font-family: "Fraunces"; + src: url("./Fraunces[SOFT,WONK,opsz,wght].woff2") format("woff2"); + font-style: normal; + font-weight: 300 900; + font-display: swap; +} + +@font-face { + font-family: "Inter"; + src: url("./InterVariable.woff2") format("woff2"); + font-style: normal; + font-weight: 300 700; + font-display: swap; +} + +@font-face { + font-family: "JetBrains Mono"; + src: url("./JetBrainsMono[wght].woff2") format("woff2"); + font-style: normal; + font-weight: 400 500; + font-display: swap; +} diff --git a/App/frontend/src/lib/api.ts b/App/frontend/src/lib/api.ts index 7d021d4..b17a0f4 100644 --- a/App/frontend/src/lib/api.ts +++ b/App/frontend/src/lib/api.ts @@ -6,6 +6,7 @@ import type { SessionLog, StatsPayload, TodayPayload, + WorkspaceSnapshot, } from "@shared/types"; import { desktopApi, @@ -14,6 +15,7 @@ import { } from "./desktop"; interface TrackerApi { + snapshot(): Promise; books(): Promise; book(slug: string): Promise; timeline(): Promise; @@ -30,6 +32,7 @@ async function get(url: string): Promise { } const browserApi: TrackerApi = { + snapshot: () => get("/api/snapshot"), books: () => get<{ books: BookSummary[] }>("/api/books").then((r) => r.books), book: (slug) => get(`/api/books/${slug}`), timeline: () => @@ -46,9 +49,47 @@ const browserApi: TrackerApi = { export const api: TrackerApi = isDesktopApp() ? desktopApi : browserApi; -export function subscribeWorkspace(onChange: () => void): () => void { +export async function subscribeWorkspace( + onChange: () => void, + signal?: AbortSignal, +): Promise<() => void> { if (isDesktopApp()) return subscribeDesktopWorkspace(onChange); const events = new EventSource("/api/events"); events.addEventListener("workspace-changed", onChange); - return () => events.close(); + + const stop = () => { + events.removeEventListener("workspace-changed", onChange); + events.close(); + }; + + if (signal?.aborted) { + stop(); + return () => undefined; + } + + return new Promise((resolve, reject) => { + const removeStartupListeners = () => { + events.removeEventListener("open", handleOpen); + events.removeEventListener("error", handleError); + signal?.removeEventListener("abort", handleAbort); + }; + const handleOpen = () => { + removeStartupListeners(); + resolve(stop); + }; + const handleError = () => { + removeStartupListeners(); + stop(); + reject(new Error("Could not connect to workspace events")); + }; + const handleAbort = () => { + removeStartupListeners(); + stop(); + resolve(() => undefined); + }; + + events.addEventListener("open", handleOpen, { once: true }); + events.addEventListener("error", handleError, { once: true }); + signal?.addEventListener("abort", handleAbort, { once: true }); + }); } diff --git a/App/frontend/src/lib/desktop.ts b/App/frontend/src/lib/desktop.ts index 2dbc2b1..16d98d6 100644 --- a/App/frontend/src/lib/desktop.ts +++ b/App/frontend/src/lib/desktop.ts @@ -19,6 +19,7 @@ import { type VaultReader, type VaultService, } from "@shared/vault"; +import { buildWorkspaceSnapshot } from "@shared/snapshot"; const WORKSPACE_KEY = "effortful-learning.workspace"; const FRONTMATTER = /^---\s*\r?\n([\s\S]*?)\r?\n---\s*(?:\r?\n|$)/; @@ -125,6 +126,10 @@ export async function chooseWorkspace(): Promise { } export const desktopApi = { + async snapshot() { + const data = await service().readWorkspaceData(); + return buildWorkspaceSnapshot(data, localToday()); + }, books: () => service().readAllBooks(), book: (slug: string) => service().readBookDetail(slug), timeline: () => service().readAllLogs(), @@ -146,38 +151,38 @@ export const desktopApi = { search: (query: string) => service().search(query), }; -function concernsLearningData(event: WatchEvent): boolean { - return event.paths.some((path) => { - const normalised = path.replaceAll("\\", "/"); - return normalised.includes("/books/") || normalised.includes("/cross-book/"); - }); -} - -export function subscribeDesktopWorkspace(onChange: () => void): () => void { +export async function subscribeDesktopWorkspace( + onChange: () => void, +): Promise<() => void> { const root = currentWorkspace(); if (!root) return () => undefined; - let disposed = false; - let unwatch: UnwatchFn | null = null; - let debounce: number | null = null; - void watch( - root, - (event) => { - if (!concernsLearningData(event)) return; + try { + const candidates = await Promise.all( + ["books", "cross-book"].map(async (relativePath) => { + const absolutePath = await join(root, relativePath); + return (await exists(absolutePath)) ? absolutePath : null; + }), + ); + const roots = candidates.filter((path): path is string => path !== null); + if (roots.length === 0) return () => undefined; + + let debounce: number | null = null; + const unwatch: UnwatchFn = await watch( + roots, + (_event: WatchEvent) => { + if (debounce !== null) window.clearTimeout(debounce); + debounce = window.setTimeout(onChange, 120); + }, + { recursive: true, delayMs: 200 }, + ); + + return () => { if (debounce !== null) window.clearTimeout(debounce); - debounce = window.setTimeout(onChange, 120); - }, - { recursive: true, delayMs: 200 }, - ).then((stop) => { - if (disposed) void stop(); - else unwatch = stop; - }).catch((error: unknown) => { + void unwatch(); + }; + } catch (error: unknown) { console.error("Could not watch the Learning workspace", error); - }); - - return () => { - disposed = true; - if (debounce !== null) window.clearTimeout(debounce); - if (unwatch) void unwatch(); - }; + return () => undefined; + } } diff --git a/App/frontend/src/styles.css b/App/frontend/src/styles.css index 1388b7f..26c4b6a 100644 --- a/App/frontend/src/styles.css +++ b/App/frontend/src/styles.css @@ -1,3 +1,4 @@ +@import "./assets/fonts/fonts.css"; @import "tailwindcss"; /* ------------------------------------------------------------------ diff --git a/App/package.json b/App/package.json index 2cd76f1..8c9380d 100644 --- a/App/package.json +++ b/App/package.json @@ -2,11 +2,13 @@ "name": "effortful-learning-app", "private": true, "version": "0.1.0", + "type": "module", "description": "Local viewer for the Effortful Learning workspace.", "scripts": { - "install:all": "pnpm install && pnpm -C backend install && pnpm -C frontend install", + "install:all": "pnpm install", "dev": "concurrently -n bk,fe -c yellow,cyan \"pnpm -C backend dev\" \"pnpm -C frontend dev\"", "build": "pnpm -C frontend build", + "check": "pnpm -C backend test && pnpm -C frontend build && pnpm desktop:check", "desktop:dev": "node scripts/tauri.mjs dev", "desktop:build": "node scripts/tauri.mjs build", "desktop:check": "node scripts/tauri.mjs check", diff --git a/App/pnpm-lock.yaml b/App/pnpm-lock.yaml index fd67e92..ed2a4e4 100644 --- a/App/pnpm-lock.yaml +++ b/App/pnpm-lock.yaml @@ -15,177 +15,2177 @@ importers: specifier: ^9.1.0 version: 9.2.1 + backend: + dependencies: + '@fastify/cors': + specifier: ^10.0.1 + version: 10.1.0 + chokidar: + specifier: ^4.0.1 + version: 4.0.3 + fastify: + specifier: ^5.1.0 + version: 5.8.5 + gray-matter: + specifier: ^4.0.3 + version: 4.0.3 + marked: + specifier: ^15.0.4 + version: 15.0.12 + devDependencies: + '@types/node': + specifier: ^22.10.0 + version: 22.19.18 + tsx: + specifier: ^4.19.2 + version: 4.21.0 + typescript: + specifier: ^5.7.2 + version: 5.9.3 + + frontend: + dependencies: + '@tauri-apps/api': + specifier: ^2.0.0 + version: 2.11.1 + '@tauri-apps/plugin-dialog': + specifier: ^2.0.0 + version: 2.7.2 + '@tauri-apps/plugin-fs': + specifier: ^2.0.0 + version: 2.5.1 + marked: + specifier: ^15.0.4 + version: 15.0.12 + react: + specifier: ^19.0.0 + version: 19.2.6 + react-dom: + specifier: ^19.0.0 + version: 19.2.6(react@19.2.6) + yaml: + specifier: ^2.0.0 + version: 2.9.0 + devDependencies: + '@tailwindcss/vite': + specifier: ^4.0.0 + version: 4.3.0(vite@6.4.2(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)(yaml@2.9.0)) + '@types/react': + specifier: ^19.0.0 + version: 19.2.14 + '@types/react-dom': + specifier: ^19.0.0 + version: 19.2.3(@types/react@19.2.14) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.7.0(vite@6.4.2(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)(yaml@2.9.0)) + tailwindcss: + specifier: ^4.0.0 + version: 4.3.0 + typescript: + specifier: ^5.7.2 + version: 5.9.3 + vite: + specifier: ^6.0.3 + version: 6.4.2(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)(yaml@2.9.0) + packages: - '@tauri-apps/cli-darwin-arm64@2.11.4': - resolution: {integrity: sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ==} - engines: {node: '>= 10'} + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.8': + resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.8': + resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-transform-react-jsx-self@7.29.7': + resolution: {integrity: sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.29.7': + resolution: {integrity: sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.8': + resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} + engines: {node: '>=6.9.0'} + + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.27.7': + resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.28.2': + resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.27.7': + resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.28.2': + resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.27.7': + resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.28.2': + resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.27.7': + resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.28.2': + resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@tauri-apps/cli-darwin-x64@2.11.4': - resolution: {integrity: sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A==} - engines: {node: '>= 10'} + '@esbuild/darwin-arm64@0.27.7': + resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.28.2': + resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@tauri-apps/cli-linux-arm-gnueabihf@2.11.4': - resolution: {integrity: sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ==} - engines: {node: '>= 10'} - cpu: [arm] + '@esbuild/darwin-x64@0.27.7': + resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.28.2': + resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.27.7': + resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.28.2': + resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.7': + resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.28.2': + resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} + cpu: [arm64] os: [linux] - '@tauri-apps/cli-linux-arm64-gnu@2.11.4': - resolution: {integrity: sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA==} - engines: {node: '>= 10'} + '@esbuild/linux-arm64@0.27.7': + resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@tauri-apps/cli-linux-arm64-musl@2.11.4': - resolution: {integrity: sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw==} - engines: {node: '>= 10'} + '@esbuild/linux-arm64@0.28.2': + resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@tauri-apps/cli-linux-riscv64-gnu@2.11.4': - resolution: {integrity: sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ==} - engines: {node: '>= 10'} - cpu: [riscv64] + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} + cpu: [arm] os: [linux] - '@tauri-apps/cli-linux-x64-gnu@2.11.4': - resolution: {integrity: sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ==} - engines: {node: '>= 10'} - cpu: [x64] + '@esbuild/linux-arm@0.27.7': + resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} + engines: {node: '>=18'} + cpu: [arm] os: [linux] - '@tauri-apps/cli-linux-x64-musl@2.11.4': - resolution: {integrity: sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A==} - engines: {node: '>= 10'} - cpu: [x64] + '@esbuild/linux-arm@0.28.2': + resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==} + engines: {node: '>=18'} + cpu: [arm] os: [linux] - '@tauri-apps/cli-win32-arm64-msvc@2.11.4': - resolution: {integrity: sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] - '@tauri-apps/cli-win32-ia32-msvc@2.11.4': - resolution: {integrity: sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA==} - engines: {node: '>= 10'} + '@esbuild/linux-ia32@0.27.7': + resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} + engines: {node: '>=18'} cpu: [ia32] - os: [win32] + os: [linux] - '@tauri-apps/cli-win32-x64-msvc@2.11.4': - resolution: {integrity: sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] + '@esbuild/linux-ia32@0.28.2': + resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] - '@tauri-apps/cli@2.11.4': - resolution: {integrity: sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ==} - engines: {node: '>= 10'} - hasBin: true + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + '@esbuild/linux-loong64@0.27.7': + resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + '@esbuild/linux-loong64@0.28.2': + resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.27.7': + resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + '@esbuild/linux-mips64el@0.28.2': + resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] - concurrently@9.2.1: - resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==} + '@esbuild/linux-ppc64@0.27.7': + resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} engines: {node: '>=18'} - hasBin: true + cpu: [ppc64] + os: [linux] - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + '@esbuild/linux-ppc64@0.28.2': + resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + '@esbuild/linux-riscv64@0.27.7': + resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + '@esbuild/linux-riscv64@0.28.2': + resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.27.7': + resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.28.2': + resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.27.7': + resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.28.2': + resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-arm64@0.27.7': + resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-arm64@0.28.2': + resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.7': + resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.28.2': + resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.27.7': + resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.28.2': + resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.7': + resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.28.2': + resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/openharmony-arm64@0.27.7': + resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/openharmony-arm64@0.28.2': + resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.27.7': + resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.28.2': + resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.27.7': + resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.28.2': + resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.27.7': + resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.28.2': + resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.27.7': + resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.28.2': + resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@fastify/ajv-compiler@4.0.6': + resolution: {integrity: sha512-NtuzM0SfaMJbGlnjr9LWQUN5LzgSrbB8tf/wRZNas+4E1O/Nmzl53e7ruT61HDZyRCJGC6FxIogmNZO1c5ETBA==} + + '@fastify/cors@10.1.0': + resolution: {integrity: sha512-MZyBCBJtII60CU9Xme/iE4aEy8G7QpzGR8zkdXZkDFt7ElEMachbE61tfhAG/bvSaULlqlf0huMT12T7iqEmdQ==} + + '@fastify/error@4.2.0': + resolution: {integrity: sha512-RSo3sVDXfHskiBZKBPRgnQTtIqpi/7zhJOEmAxCiBcM7d0uwdGdxLlsCaLzGs8v8NnxIRlfG0N51p5yFaOentQ==} + + '@fastify/fast-json-stringify-compiler@5.1.0': + resolution: {integrity: sha512-PxcYtKLbQ8Z+yApiqjK8FwxIwvEj38k2OiLc17u8dkJSlmfi2wHHPaSnaoqBPQqtvF8YVsDgDpP2snDCfFrpfw==} + + '@fastify/forwarded@3.0.2': + resolution: {integrity: sha512-NE8HgKLgYejV9lDpqkEFaDKMLYelJBVfHekhB0UKvX0ghagXRJqg68feg8er1NPXxG4N9i6vPxzt8E+3wHfcmA==} + + '@fastify/merge-json-schemas@0.2.1': + resolution: {integrity: sha512-OA3KGBCy6KtIvLf8DINC5880o5iBlDX4SxzLQS8HorJAbqluzLRn80UXU0bxZn7UOFhFgpRJDasfwn9nG4FG4A==} + + '@fastify/proxy-addr@5.1.0': + resolution: {integrity: sha512-INS+6gh91cLUjB+PVHfu1UqcB76Sqtpyp7bnL+FYojhjygvOPA9ctiD/JDKsyD9Xgu4hUhCSJBPig/w7duNajw==} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@napi-rs/lzma-linux-x64-gnu@1.5.1': + resolution: {integrity: sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==} + engines: {node: ^22.20 || ^24.12 || >=25} + cpu: [x64] + os: [linux] + + '@pinojs/redact@0.4.0': + resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} + + '@rolldown/pluginutils@1.0.0-beta.27': + resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} + + '@rollup/rollup-android-arm-eabi@4.62.4': + resolution: {integrity: sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.62.4': + resolution: {integrity: sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.62.4': + resolution: {integrity: sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.62.4': + resolution: {integrity: sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.62.4': + resolution: {integrity: sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.62.4': + resolution: {integrity: sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.62.4': + resolution: {integrity: sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.62.4': + resolution: {integrity: sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.62.4': + resolution: {integrity: sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.62.4': + resolution: {integrity: sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.62.4': + resolution: {integrity: sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.62.4': + resolution: {integrity: sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.62.4': + resolution: {integrity: sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-ppc64-musl@4.62.4': + resolution: {integrity: sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.62.4': + resolution: {integrity: sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.62.4': + resolution: {integrity: sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.62.4': + resolution: {integrity: sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.62.4': + resolution: {integrity: sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.62.4': + resolution: {integrity: sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openbsd-x64@4.62.4': + resolution: {integrity: sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.62.4': + resolution: {integrity: sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.62.4': + resolution: {integrity: sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.62.4': + resolution: {integrity: sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.62.4': + resolution: {integrity: sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.62.4': + resolution: {integrity: sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==} + cpu: [x64] + os: [win32] + + '@tailwindcss/node@4.3.0': + resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==} + + '@tailwindcss/oxide-android-arm64@4.3.0': + resolution: {integrity: sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.3.0': + resolution: {integrity: sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.3.0': + resolution: {integrity: sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.3.0': + resolution: {integrity: sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': + resolution: {integrity: sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': + resolution: {integrity: sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.3.0': + resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.3.0': + resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.3.0': + resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.3.0': + resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': + resolution: {integrity: sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.3.0': + resolution: {integrity: sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.3.0': + resolution: {integrity: sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==} + engines: {node: '>= 20'} + + '@tailwindcss/vite@4.3.0': + resolution: {integrity: sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==} + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 || ^8 + + '@tauri-apps/api@2.11.1': + resolution: {integrity: sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==} + + '@tauri-apps/cli-darwin-arm64@2.11.4': + resolution: {integrity: sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tauri-apps/cli-darwin-x64@2.11.4': + resolution: {integrity: sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tauri-apps/cli-linux-arm-gnueabihf@2.11.4': + resolution: {integrity: sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tauri-apps/cli-linux-arm64-gnu@2.11.4': + resolution: {integrity: sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-arm64-musl@2.11.4': + resolution: {integrity: sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-riscv64-gnu@2.11.4': + resolution: {integrity: sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + + '@tauri-apps/cli-linux-x64-gnu@2.11.4': + resolution: {integrity: sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-linux-x64-musl@2.11.4': + resolution: {integrity: sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-win32-arm64-msvc@2.11.4': + resolution: {integrity: sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tauri-apps/cli-win32-ia32-msvc@2.11.4': + resolution: {integrity: sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@tauri-apps/cli-win32-x64-msvc@2.11.4': + resolution: {integrity: sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tauri-apps/cli@2.11.4': + resolution: {integrity: sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ==} + engines: {node: '>= 10'} + hasBin: true + + '@tauri-apps/plugin-dialog@2.7.2': + resolution: {integrity: sha512-pX0IGm1I3I6wc+zeKYcq1GSqogK6okCNX5fOdaNU5ab1AjGS6l1E5wFNjEb7meg7ZFSp0JUs+0jQGQNyOvLrsg==} + + '@tauri-apps/plugin-fs@2.5.1': + resolution: {integrity: sha512-9Lz+Jopp6QyeEWhlpkMx4R/+P9HgR+AVAI4vOZhlT8Xaymtz8iVI/Ov984/XTqgJz/5gz5NretqPB/XEMS3NhQ==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/node@22.19.18': + resolution: {integrity: sha512-9v00a+dn2yWVsYDEunWC4g/TcRKVq3r8N5FuZp7u0SGrPvdN9c2yXI9bBuf5Fl0hNCb+QTIePTn5pJs2pwBOQQ==} + + '@types/node@22.20.1': + resolution: {integrity: sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==} + + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + peerDependencies: + '@types/react': ^19.2.0 + + '@types/react@19.2.14': + resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} + + '@vitejs/plugin-react@4.7.0': + resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + + abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + + avvio@9.3.0: + resolution: {integrity: sha512-g2tQ7LE7oOSqDfwEm3M+ZCMTJc7KiZCdJ4UwyZJb5ckTKyYu50OYmvv0mCFXPuYXoM4zkSt8zM9XQ9KCvxA74A==} + + baseline-browser-mapping@2.11.13: + resolution: {integrity: sha512-k9HNuUVMlqVjQ9UHzfPjIqiDbWw7WqT1AoT7GL8VwvF3r0ZfArtgiSPAlmupyNquNgOJHTuH4CKYf8ttMTWBTQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + browserslist@4.28.8: + resolution: {integrity: sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + caniuse-lite@1.0.30001809: + resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + concurrently@9.2.1: + resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==} + engines: {node: '>=18'} + hasBin: true + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie@1.1.1: + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} + engines: {node: '>=18'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + electron-to-chromium@1.5.405: + resolution: {integrity: sha512-bNglH7lPH5l+yHOes7Zr4VqxhOy4BQ9ZBUX4VdoFgxMpzJk7W1ZoO3Vgd9Pxa9PyjQ76sfm2aKH/nzEcCNRlew==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + enhanced-resolve@5.24.5: + resolution: {integrity: sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==} + engines: {node: '>=10.13.0'} + + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.27.7: + resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.28.2: + resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-json-stringify@6.4.0: + resolution: {integrity: sha512-ibRCQ0GZKJIQ+P3Et1h0LhPgp3PMTYk0MH8O+kW3lNYsvmaQww5Nn3f1jf73Q0jR1Yz3a1CDP4/NZD3vOajWJQ==} + + fast-json-stringify@7.0.1: + resolution: {integrity: sha512-eRSayARSbbwlBjpP4vnTTIRD5QPcIrmihPxDeN1DtKnHPg66UuJLx+8hlK1kaFdjvzyQ/dzALoi4vwAQ+T+iZA==} + + fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + + fast-uri@3.1.5: + resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==} + + fast-uri@4.1.2: + resolution: {integrity: sha512-TyGmBcbDTZXcb2cj5MV89DrF42DKvb3y5DDUNh95iO+IMeAzMkVSxK1PZRrRIpc9yg8U2GhGdbofNa0LS/a4Bw==} + + fastify-plugin@5.1.0: + resolution: {integrity: sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==} + + fastify@5.8.5: + resolution: {integrity: sha512-Yqptv59pQzPgQUSIm87hMqHJmdkb1+GPxdE6vW6FRyVE9G86mt7rOghitiU4JHRaTyDUk9pfeKmDeu70lAwM4Q==} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + find-my-way@9.7.0: + resolution: {integrity: sha512-f2JHn75x2JlwUwLenZypgczR7YWMb/uO9BvUXtus+JMgkbIkLADd38cI4EiV+OQqrGo1Zlq6V8wnqMJ8e62wUQ==} + engines: {node: '>=20'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-tsconfig@4.14.2: + resolution: {integrity: sha512-XpwZALwwl/BaKTAyC6+c5T8y6kCg2jk+XGqOVrKIQmW49pNypYLMRjCUXqa28tQgJlhS2RlzP7sc+Rx7W6qsfw==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + ipaddr.js@2.5.0: + resolution: {integrity: sha512-aq+t5NAc+cS6rZQQVWC2x98CPqGtKKTMDd4Gaodv0wShnItdKg/51djkGJ1hqH+Oy0ivDftCbSLCQob8zso01w==} + engines: {node: '>= 10'} + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.15.1: + resolution: {integrity: sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-schema-ref-resolver@3.0.0: + resolution: {integrity: sha512-hOrZIVL5jyYFjzk7+y7n5JDzGlU8rfWDuYyHwGa2WA8/pcmMHezp2xsVwxrebD/Q9t8Nc5DboieySDpCp4WG4A==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + light-my-request@6.6.0: + resolution: {integrity: sha512-CHYbu8RtboSIoVsHZ6Ye4cj4Aw/yg2oAFimlF7mNvfDV192LR7nDiKtSIfCuLT7KokPSTn/9kfVLm5OGN0A28A==} + + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + marked@15.0.12: + resolution: {integrity: sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==} + engines: {node: '>= 18'} + hasBin: true + + mnemonist@0.40.0: + resolution: {integrity: sha512-kdd8AFNig2AD5Rkih7EPCXhu/iMvwevQFX/uEiGhZyPZi7fHqOoF4V4kHLpCfysxXMgQ4B52kdPMCwARshKvEg==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.18: + resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + node-releases@2.0.53: + resolution: {integrity: sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==} + engines: {node: '>=18'} + + obliterator@2.0.5: + resolution: {integrity: sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==} + + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} + + pino-abstract-transport@3.0.0: + resolution: {integrity: sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==} + + pino-std-serializers@7.1.0: + resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} + + pino@10.3.1: + resolution: {integrity: sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==} + hasBin: true + + postcss@8.5.26: + resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} + engines: {node: ^10 || ^12 || >=14} + + process-warning@4.0.1: + resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==} + + process-warning@5.1.0: + resolution: {integrity: sha512-jQSaVHsPgtyw60e1rQ/A+/ArPEj/S8pS/vFnyGa/gYFXrKk/6RuDkoqVDQ5NI5MmS01698ltlAk0NoDBNLujRw==} + + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + + react-dom@19.2.6: + resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} + peerDependencies: + react: ^19.2.6 + + react-refresh@0.17.0: + resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} + engines: {node: '>=0.10.0'} + + react@19.2.6: + resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} + engines: {node: '>=0.10.0'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + + real-require@1.0.0: + resolution: {integrity: sha512-P4nbQYQfePJxRSmY+v/KINxVucm4NF3p3s7pJveMTtom52FR4YGltUQLB8idDXwDDWW+eYrWDFbuzUnjoWHF7g==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + ret@0.5.0: + resolution: {integrity: sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==} + engines: {node: '>=10'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rollup@4.62.4: + resolution: {integrity: sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + + safe-regex2@5.1.1: + resolution: {integrity: sha512-mOSBvHGDZMuIEZMdOz/aCEYDCv0E7nfcNsIhUF+/P+xC7Hyf3FkvymqgPbg9D1EdSGu+uKbJgy09K/RKKc7kJA==} + hasBin: true + + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + secure-json-parse@4.1.0: + resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + + set-cookie-parser@2.7.2: + resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==} + + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} + + sonic-boom@4.2.1: + resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + tailwindcss@4.3.0: + resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==} + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + + thread-stream@4.2.0: + resolution: {integrity: sha512-e2zZ96wSChazBsbENf/Pcm/4swHt2cEKQ92rhUjkL9GCKiTDJIaTBenjE/m9DXi0QBmTMDkFDdOomUy20A1tDQ==} + engines: {node: '>=20'} + + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} + + toad-cache@3.7.4: + resolution: {integrity: sha512-m1TdR/rvT7kgGJZhspNtXdsdYk0fddFpJJFlG5s+UkPFo6lkLoZ3YLOaovPYjq1R75NP5JfeTlSHaOsE09peCg==} + engines: {node: '>=20'} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsx@4.21.0: + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} + engines: {node: '>=18.0.0'} + hasBin: true + + tsx@4.23.12: + resolution: {integrity: sha512-FDf4L4sYzKtzWYhU/Xm0AQFdTjdIxNo9ElTf2mxXM6k8YMHXzYUe4yODVaXP4V9uMFbVg8c0qyBccK2OOxb45Q==} + engines: {node: '>=18.0.0'} + hasBin: true + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + update-browserslist-db@1.3.1: + resolution: {integrity: sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + vite@6.4.2: + resolution: {integrity: sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + +snapshots: + + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.7': {} + + '@babel/core@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.8': + dependencies: + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.8 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.29.7': {} + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + + '@babel/parser@7.29.8': + dependencies: + '@babel/types': 7.29.8 + + '@babel/plugin-transform-react-jsx-self@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-jsx-source@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + + '@babel/traverse@7.29.8': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.8': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@esbuild/aix-ppc64@0.25.12': + optional: true + + '@esbuild/aix-ppc64@0.27.7': + optional: true + + '@esbuild/aix-ppc64@0.28.2': + optional: true + + '@esbuild/android-arm64@0.25.12': + optional: true + + '@esbuild/android-arm64@0.27.7': + optional: true + + '@esbuild/android-arm64@0.28.2': + optional: true + + '@esbuild/android-arm@0.25.12': + optional: true + + '@esbuild/android-arm@0.27.7': + optional: true + + '@esbuild/android-arm@0.28.2': + optional: true + + '@esbuild/android-x64@0.25.12': + optional: true + + '@esbuild/android-x64@0.27.7': + optional: true + + '@esbuild/android-x64@0.28.2': + optional: true + + '@esbuild/darwin-arm64@0.25.12': + optional: true + + '@esbuild/darwin-arm64@0.27.7': + optional: true + + '@esbuild/darwin-arm64@0.28.2': + optional: true + + '@esbuild/darwin-x64@0.25.12': + optional: true + + '@esbuild/darwin-x64@0.27.7': + optional: true + + '@esbuild/darwin-x64@0.28.2': + optional: true + + '@esbuild/freebsd-arm64@0.25.12': + optional: true + + '@esbuild/freebsd-arm64@0.27.7': + optional: true + + '@esbuild/freebsd-arm64@0.28.2': + optional: true + + '@esbuild/freebsd-x64@0.25.12': + optional: true + + '@esbuild/freebsd-x64@0.27.7': + optional: true + + '@esbuild/freebsd-x64@0.28.2': + optional: true + + '@esbuild/linux-arm64@0.25.12': + optional: true + + '@esbuild/linux-arm64@0.27.7': + optional: true + + '@esbuild/linux-arm64@0.28.2': + optional: true + + '@esbuild/linux-arm@0.25.12': + optional: true + + '@esbuild/linux-arm@0.27.7': + optional: true + + '@esbuild/linux-arm@0.28.2': + optional: true + + '@esbuild/linux-ia32@0.25.12': + optional: true + + '@esbuild/linux-ia32@0.27.7': + optional: true + + '@esbuild/linux-ia32@0.28.2': + optional: true + + '@esbuild/linux-loong64@0.25.12': + optional: true + + '@esbuild/linux-loong64@0.27.7': + optional: true + + '@esbuild/linux-loong64@0.28.2': + optional: true + + '@esbuild/linux-mips64el@0.25.12': + optional: true + + '@esbuild/linux-mips64el@0.27.7': + optional: true + + '@esbuild/linux-mips64el@0.28.2': + optional: true + + '@esbuild/linux-ppc64@0.25.12': + optional: true + + '@esbuild/linux-ppc64@0.27.7': + optional: true + + '@esbuild/linux-ppc64@0.28.2': + optional: true + + '@esbuild/linux-riscv64@0.25.12': + optional: true + + '@esbuild/linux-riscv64@0.27.7': + optional: true + + '@esbuild/linux-riscv64@0.28.2': + optional: true + + '@esbuild/linux-s390x@0.25.12': + optional: true + + '@esbuild/linux-s390x@0.27.7': + optional: true + + '@esbuild/linux-s390x@0.28.2': + optional: true + + '@esbuild/linux-x64@0.25.12': + optional: true + + '@esbuild/linux-x64@0.27.7': + optional: true + + '@esbuild/linux-x64@0.28.2': + optional: true + + '@esbuild/netbsd-arm64@0.25.12': + optional: true + + '@esbuild/netbsd-arm64@0.27.7': + optional: true + + '@esbuild/netbsd-arm64@0.28.2': + optional: true + + '@esbuild/netbsd-x64@0.25.12': + optional: true + + '@esbuild/netbsd-x64@0.27.7': + optional: true + + '@esbuild/netbsd-x64@0.28.2': + optional: true + + '@esbuild/openbsd-arm64@0.25.12': + optional: true + + '@esbuild/openbsd-arm64@0.27.7': + optional: true + + '@esbuild/openbsd-arm64@0.28.2': + optional: true + + '@esbuild/openbsd-x64@0.25.12': + optional: true + + '@esbuild/openbsd-x64@0.27.7': + optional: true + + '@esbuild/openbsd-x64@0.28.2': + optional: true + + '@esbuild/openharmony-arm64@0.25.12': + optional: true + + '@esbuild/openharmony-arm64@0.27.7': + optional: true + + '@esbuild/openharmony-arm64@0.28.2': + optional: true + + '@esbuild/sunos-x64@0.25.12': + optional: true + + '@esbuild/sunos-x64@0.27.7': + optional: true + + '@esbuild/sunos-x64@0.28.2': + optional: true + + '@esbuild/win32-arm64@0.25.12': + optional: true + + '@esbuild/win32-arm64@0.27.7': + optional: true + + '@esbuild/win32-arm64@0.28.2': + optional: true + + '@esbuild/win32-ia32@0.25.12': + optional: true + + '@esbuild/win32-ia32@0.27.7': + optional: true + + '@esbuild/win32-ia32@0.28.2': + optional: true + + '@esbuild/win32-x64@0.25.12': + optional: true + + '@esbuild/win32-x64@0.27.7': + optional: true + + '@esbuild/win32-x64@0.28.2': + optional: true + + '@fastify/ajv-compiler@4.0.6': + dependencies: + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) + fast-uri: 4.1.2 + + '@fastify/cors@10.1.0': + dependencies: + fastify-plugin: 5.1.0 + mnemonist: 0.40.0 + + '@fastify/error@4.2.0': {} + + '@fastify/fast-json-stringify-compiler@5.1.0': + dependencies: + fast-json-stringify: 7.0.1 + + '@fastify/forwarded@3.0.2': {} + + '@fastify/merge-json-schemas@0.2.1': + dependencies: + dequal: 2.0.3 + + '@fastify/proxy-addr@5.1.0': + dependencies: + '@fastify/forwarded': 3.0.2 + ipaddr.js: 2.5.0 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@napi-rs/lzma-linux-x64-gnu@1.5.1': + optional: true + + '@pinojs/redact@0.4.0': {} + + '@rolldown/pluginutils@1.0.0-beta.27': {} + + '@rollup/rollup-android-arm-eabi@4.62.4': + optional: true + + '@rollup/rollup-android-arm64@4.62.4': + optional: true + + '@rollup/rollup-darwin-arm64@4.62.4': + optional: true + + '@rollup/rollup-darwin-x64@4.62.4': + optional: true + + '@rollup/rollup-freebsd-arm64@4.62.4': + optional: true + + '@rollup/rollup-freebsd-x64@4.62.4': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.62.4': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.62.4': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.62.4': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.62.4': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.62.4': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.62.4': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-x64-musl@4.62.4': + optional: true + + '@rollup/rollup-openbsd-x64@4.62.4': + optional: true + + '@rollup/rollup-openharmony-arm64@4.62.4': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.62.4': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.62.4': + optional: true - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + '@rollup/rollup-win32-x64-gnu@4.62.4': + optional: true - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + '@rollup/rollup-win32-x64-msvc@4.62.4': + optional: true - rxjs@7.8.2: - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + '@tailwindcss/node@4.3.0': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.24.5 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.3.0 + + '@tailwindcss/oxide-android-arm64@4.3.0': + optional: true - shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} - engines: {node: '>= 0.4'} + '@tailwindcss/oxide-darwin-arm64@4.3.0': + optional: true - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + '@tailwindcss/oxide-darwin-x64@4.3.0': + optional: true - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + '@tailwindcss/oxide-freebsd-x64@4.3.0': + optional: true - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': + optional: true - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': + optional: true - tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true + '@tailwindcss/oxide-linux-arm64-musl@4.3.0': + optional: true - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + '@tailwindcss/oxide-linux-x64-gnu@4.3.0': + optional: true - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + '@tailwindcss/oxide-linux-x64-musl@4.3.0': + optional: true - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + '@tailwindcss/oxide-wasm32-wasi@4.3.0': + optional: true - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': + optional: true - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + '@tailwindcss/oxide-win32-x64-msvc@4.3.0': + optional: true -snapshots: + '@tailwindcss/oxide@4.3.0': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.3.0 + '@tailwindcss/oxide-darwin-arm64': 4.3.0 + '@tailwindcss/oxide-darwin-x64': 4.3.0 + '@tailwindcss/oxide-freebsd-x64': 4.3.0 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.0 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.0 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.0 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.0 + '@tailwindcss/oxide-linux-x64-musl': 4.3.0 + '@tailwindcss/oxide-wasm32-wasi': 4.3.0 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.0 + + '@tailwindcss/vite@4.3.0(vite@6.4.2(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)(yaml@2.9.0))': + dependencies: + '@tailwindcss/node': 4.3.0 + '@tailwindcss/oxide': 4.3.0 + tailwindcss: 4.3.0 + vite: 6.4.2(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)(yaml@2.9.0) + + '@tauri-apps/api@2.11.1': {} '@tauri-apps/cli-darwin-arm64@2.11.4': optional: true @@ -234,17 +2234,117 @@ snapshots: '@tauri-apps/cli-win32-ia32-msvc': 2.11.4 '@tauri-apps/cli-win32-x64-msvc': 2.11.4 + '@tauri-apps/plugin-dialog@2.7.2': + dependencies: + '@tauri-apps/api': 2.11.1 + + '@tauri-apps/plugin-fs@2.5.1': + dependencies: + '@tauri-apps/api': 2.11.1 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.29.8 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.29.8 + + '@types/estree@1.0.9': {} + + '@types/node@22.19.18': + dependencies: + undici-types: 6.21.0 + + '@types/node@22.20.1': + dependencies: + undici-types: 6.21.0 + optional: true + + '@types/react-dom@19.2.3(@types/react@19.2.14)': + dependencies: + '@types/react': 19.2.14 + + '@types/react@19.2.14': + dependencies: + csstype: 3.2.3 + + '@vitejs/plugin-react@4.7.0(vite@6.4.2(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)(yaml@2.9.0))': + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-transform-react-jsx-self': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx-source': 7.29.7(@babel/core@7.29.7) + '@rolldown/pluginutils': 1.0.0-beta.27 + '@types/babel__core': 7.20.5 + react-refresh: 0.17.0 + vite: 6.4.2(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)(yaml@2.9.0) + transitivePeerDependencies: + - supports-color + + abstract-logging@2.0.1: {} + + ajv-formats@3.0.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 + + ajv@8.20.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.5 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + ansi-regex@5.0.1: {} ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + atomic-sleep@1.0.0: {} + + avvio@9.3.0: + dependencies: + '@fastify/error': 4.2.0 + fastq: 1.20.1 + + baseline-browser-mapping@2.11.13: {} + + browserslist@4.28.8: + dependencies: + baseline-browser-mapping: 2.11.13 + caniuse-lite: 1.0.30001809 + electron-to-chromium: 1.5.405 + node-releases: 2.0.53 + update-browserslist-db: 1.3.1(browserslist@4.28.8) + + caniuse-lite@1.0.30001809: {} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -266,24 +2366,449 @@ snapshots: tree-kill: 1.2.2 yargs: 17.7.2 + convert-source-map@2.0.0: {} + + cookie@1.1.1: {} + + csstype@3.2.3: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + dequal@2.0.3: {} + + detect-libc@2.1.2: {} + + electron-to-chromium@1.5.405: {} + emoji-regex@8.0.0: {} + enhanced-resolve@5.24.5: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + + esbuild@0.25.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 + + esbuild@0.27.7: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.7 + '@esbuild/android-arm': 0.27.7 + '@esbuild/android-arm64': 0.27.7 + '@esbuild/android-x64': 0.27.7 + '@esbuild/darwin-arm64': 0.27.7 + '@esbuild/darwin-x64': 0.27.7 + '@esbuild/freebsd-arm64': 0.27.7 + '@esbuild/freebsd-x64': 0.27.7 + '@esbuild/linux-arm': 0.27.7 + '@esbuild/linux-arm64': 0.27.7 + '@esbuild/linux-ia32': 0.27.7 + '@esbuild/linux-loong64': 0.27.7 + '@esbuild/linux-mips64el': 0.27.7 + '@esbuild/linux-ppc64': 0.27.7 + '@esbuild/linux-riscv64': 0.27.7 + '@esbuild/linux-s390x': 0.27.7 + '@esbuild/linux-x64': 0.27.7 + '@esbuild/netbsd-arm64': 0.27.7 + '@esbuild/netbsd-x64': 0.27.7 + '@esbuild/openbsd-arm64': 0.27.7 + '@esbuild/openbsd-x64': 0.27.7 + '@esbuild/openharmony-arm64': 0.27.7 + '@esbuild/sunos-x64': 0.27.7 + '@esbuild/win32-arm64': 0.27.7 + '@esbuild/win32-ia32': 0.27.7 + '@esbuild/win32-x64': 0.27.7 + + esbuild@0.28.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.2 + '@esbuild/android-arm': 0.28.2 + '@esbuild/android-arm64': 0.28.2 + '@esbuild/android-x64': 0.28.2 + '@esbuild/darwin-arm64': 0.28.2 + '@esbuild/darwin-x64': 0.28.2 + '@esbuild/freebsd-arm64': 0.28.2 + '@esbuild/freebsd-x64': 0.28.2 + '@esbuild/linux-arm': 0.28.2 + '@esbuild/linux-arm64': 0.28.2 + '@esbuild/linux-ia32': 0.28.2 + '@esbuild/linux-loong64': 0.28.2 + '@esbuild/linux-mips64el': 0.28.2 + '@esbuild/linux-ppc64': 0.28.2 + '@esbuild/linux-riscv64': 0.28.2 + '@esbuild/linux-s390x': 0.28.2 + '@esbuild/linux-x64': 0.28.2 + '@esbuild/netbsd-arm64': 0.28.2 + '@esbuild/netbsd-x64': 0.28.2 + '@esbuild/openbsd-arm64': 0.28.2 + '@esbuild/openbsd-x64': 0.28.2 + '@esbuild/openharmony-arm64': 0.28.2 + '@esbuild/sunos-x64': 0.28.2 + '@esbuild/win32-arm64': 0.28.2 + '@esbuild/win32-ia32': 0.28.2 + '@esbuild/win32-x64': 0.28.2 + optional: true + escalade@3.2.0: {} + esprima@4.0.1: {} + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + fast-decode-uri-component@1.0.1: {} + + fast-deep-equal@3.1.3: {} + + fast-json-stringify@6.4.0: + dependencies: + '@fastify/merge-json-schemas': 0.2.1 + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) + fast-uri: 3.1.5 + json-schema-ref-resolver: 3.0.0 + rfdc: 1.4.1 + + fast-json-stringify@7.0.1: + dependencies: + '@fastify/merge-json-schemas': 0.2.1 + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) + fast-uri: 4.1.2 + json-schema-ref-resolver: 3.0.0 + rfdc: 1.4.1 + + fast-querystring@1.1.2: + dependencies: + fast-decode-uri-component: 1.0.1 + + fast-uri@3.1.5: {} + + fast-uri@4.1.2: {} + + fastify-plugin@5.1.0: {} + + fastify@5.8.5: + dependencies: + '@fastify/ajv-compiler': 4.0.6 + '@fastify/error': 4.2.0 + '@fastify/fast-json-stringify-compiler': 5.1.0 + '@fastify/proxy-addr': 5.1.0 + abstract-logging: 2.0.1 + avvio: 9.3.0 + fast-json-stringify: 6.4.0 + find-my-way: 9.7.0 + light-my-request: 6.6.0 + pino: 10.3.1 + process-warning: 5.1.0 + rfdc: 1.4.1 + secure-json-parse: 4.1.0 + semver: 7.8.5 + toad-cache: 3.7.4 + + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + + fdir@6.5.0(picomatch@4.0.5): + optionalDependencies: + picomatch: 4.0.5 + + find-my-way@9.7.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 5.1.1 + + fsevents@2.3.3: + optional: true + + gensync@1.0.0-beta.2: {} + get-caller-file@2.0.5: {} + get-tsconfig@4.14.2: + dependencies: + resolve-pkg-maps: 1.0.0 + + graceful-fs@4.2.11: {} + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.15.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + has-flag@4.0.0: {} + ipaddr.js@2.5.0: {} + + is-extendable@0.1.1: {} + is-fullwidth-code-point@3.0.0: {} + jiti@2.7.0: {} + + js-tokens@4.0.0: {} + + js-yaml@3.15.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + jsesc@3.1.0: {} + + json-schema-ref-resolver@3.0.0: + dependencies: + dequal: 2.0.3 + + json-schema-traverse@1.0.0: {} + + json5@2.2.3: {} + + kind-of@6.0.3: {} + + light-my-request@6.6.0: + dependencies: + cookie: 1.1.1 + process-warning: 4.0.1 + set-cookie-parser: 2.7.2 + + lightningcss-android-arm64@1.32.0: + optional: true + + lightningcss-darwin-arm64@1.32.0: + optional: true + + lightningcss-darwin-x64@1.32.0: + optional: true + + lightningcss-freebsd-x64@1.32.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + + lightningcss-linux-arm64-musl@1.32.0: + optional: true + + lightningcss-linux-x64-gnu@1.32.0: + optional: true + + lightningcss-linux-x64-musl@1.32.0: + optional: true + + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + 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 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + marked@15.0.12: {} + + mnemonist@0.40.0: + dependencies: + obliterator: 2.0.5 + + ms@2.1.3: {} + + nanoid@3.3.18: {} + + node-releases@2.0.53: {} + + obliterator@2.0.5: {} + + on-exit-leak-free@2.1.2: {} + + picocolors@1.1.1: {} + + picomatch@4.0.5: {} + + pino-abstract-transport@3.0.0: + dependencies: + split2: 4.2.0 + + pino-std-serializers@7.1.0: {} + + pino@10.3.1: + dependencies: + '@pinojs/redact': 0.4.0 + atomic-sleep: 1.0.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 3.0.0 + pino-std-serializers: 7.1.0 + process-warning: 5.1.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.5.0 + sonic-boom: 4.2.1 + thread-stream: 4.2.0 + + postcss@8.5.26: + dependencies: + nanoid: 3.3.18 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + process-warning@4.0.1: {} + + process-warning@5.1.0: {} + + quick-format-unescaped@4.0.4: {} + + react-dom@19.2.6(react@19.2.6): + dependencies: + react: 19.2.6 + scheduler: 0.27.0 + + react-refresh@0.17.0: {} + + react@19.2.6: {} + + readdirp@4.1.2: {} + + real-require@0.2.0: {} + + real-require@1.0.0: {} + require-directory@2.1.1: {} + require-from-string@2.0.2: {} + + resolve-pkg-maps@1.0.0: {} + + ret@0.5.0: {} + + reusify@1.1.0: {} + + rfdc@1.4.1: {} + + rollup@4.62.4: + dependencies: + '@types/estree': 1.0.9 + optionalDependencies: + '@napi-rs/lzma-linux-x64-gnu': 1.5.1 + '@rollup/rollup-android-arm-eabi': 4.62.4 + '@rollup/rollup-android-arm64': 4.62.4 + '@rollup/rollup-darwin-arm64': 4.62.4 + '@rollup/rollup-darwin-x64': 4.62.4 + '@rollup/rollup-freebsd-arm64': 4.62.4 + '@rollup/rollup-freebsd-x64': 4.62.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.62.4 + '@rollup/rollup-linux-arm-musleabihf': 4.62.4 + '@rollup/rollup-linux-arm64-gnu': 4.62.4 + '@rollup/rollup-linux-arm64-musl': 4.62.4 + '@rollup/rollup-linux-loong64-gnu': 4.62.4 + '@rollup/rollup-linux-loong64-musl': 4.62.4 + '@rollup/rollup-linux-ppc64-gnu': 4.62.4 + '@rollup/rollup-linux-ppc64-musl': 4.62.4 + '@rollup/rollup-linux-riscv64-gnu': 4.62.4 + '@rollup/rollup-linux-riscv64-musl': 4.62.4 + '@rollup/rollup-linux-s390x-gnu': 4.62.4 + '@rollup/rollup-linux-x64-gnu': 4.62.4 + '@rollup/rollup-linux-x64-musl': 4.62.4 + '@rollup/rollup-openbsd-x64': 4.62.4 + '@rollup/rollup-openharmony-arm64': 4.62.4 + '@rollup/rollup-win32-arm64-msvc': 4.62.4 + '@rollup/rollup-win32-ia32-msvc': 4.62.4 + '@rollup/rollup-win32-x64-gnu': 4.62.4 + '@rollup/rollup-win32-x64-msvc': 4.62.4 + fsevents: 2.3.3 + rxjs@7.8.2: dependencies: tslib: 2.8.1 + safe-regex2@5.1.1: + dependencies: + ret: 0.5.0 + + safe-stable-stringify@2.5.0: {} + + scheduler@0.27.0: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + secure-json-parse@4.1.0: {} + + semver@6.3.1: {} + + semver@7.8.5: {} + + set-cookie-parser@2.7.2: {} + shell-quote@1.8.3: {} + sonic-boom@4.2.1: + dependencies: + atomic-sleep: 1.0.0 + + source-map-js@1.2.1: {} + + split2@4.2.0: {} + + sprintf-js@1.0.3: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -294,6 +2819,8 @@ snapshots: dependencies: ansi-regex: 5.0.1 + strip-bom-string@1.0.0: {} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -302,10 +2829,65 @@ snapshots: dependencies: has-flag: 4.0.0 + tailwindcss@4.3.0: {} + + tapable@2.3.3: {} + + thread-stream@4.2.0: + dependencies: + real-require: 1.0.0 + + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 + + toad-cache@3.7.4: {} + tree-kill@1.2.2: {} tslib@2.8.1: {} + tsx@4.21.0: + dependencies: + esbuild: 0.27.7 + get-tsconfig: 4.14.2 + optionalDependencies: + fsevents: 2.3.3 + + tsx@4.23.12: + dependencies: + esbuild: 0.28.2 + optionalDependencies: + fsevents: 2.3.3 + optional: true + + typescript@5.9.3: {} + + undici-types@6.21.0: {} + + update-browserslist-db@1.3.1(browserslist@4.28.8): + dependencies: + browserslist: 4.28.8 + escalade: 3.2.0 + picocolors: 1.1.1 + + vite@6.4.2(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)(yaml@2.9.0): + dependencies: + esbuild: 0.25.12 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 + postcss: 8.5.26 + rollup: 4.62.4 + tinyglobby: 0.2.17 + optionalDependencies: + '@types/node': 22.20.1 + fsevents: 2.3.3 + jiti: 2.7.0 + lightningcss: 1.32.0 + tsx: 4.23.12 + yaml: 2.9.0 + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -314,6 +2896,10 @@ snapshots: y18n@5.0.8: {} + yallist@3.1.1: {} + + yaml@2.9.0: {} + yargs-parser@21.1.1: {} yargs@17.7.2: diff --git a/App/pnpm-workspace.yaml b/App/pnpm-workspace.yaml new file mode 100644 index 0000000..507e28e --- /dev/null +++ b/App/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - backend + - frontend diff --git a/App/shared/refresh.ts b/App/shared/refresh.ts new file mode 100644 index 0000000..8b4beeb --- /dev/null +++ b/App/shared/refresh.ts @@ -0,0 +1,53 @@ +export interface RefreshCoordinator { + request(): void; + dispose(): void; +} + +interface RefreshCoordinatorOptions { + load(): Promise; + onSuccess(value: T): void; + onError(error: unknown): void; +} + +/** + * Serialize refreshes and collapse any notifications received during a load + * into one trailing refresh. Disposed coordinators never publish state. + */ +export function createRefreshCoordinator({ + load, + onSuccess, + onError, +}: RefreshCoordinatorOptions): RefreshCoordinator { + let disposed = false; + let running = false; + let pending = false; + + async function run(): Promise { + running = true; + do { + pending = false; + try { + const value = await load(); + if (!disposed) onSuccess(value); + } catch (error) { + if (!disposed) onError(error); + } + } while (!disposed && pending); + running = false; + } + + return { + request() { + if (disposed) return; + if (running) { + pending = true; + return; + } + void run(); + }, + dispose() { + disposed = true; + pending = false; + }, + }; +} diff --git a/App/shared/snapshot.ts b/App/shared/snapshot.ts new file mode 100644 index 0000000..7c95f60 --- /dev/null +++ b/App/shared/snapshot.ts @@ -0,0 +1,16 @@ +import { buildTodayFrom } from "./schedule.js"; +import { buildStatsFrom } from "./stats.js"; +import type { WorkspaceData, WorkspaceSnapshot } from "./types.js"; + +/** Derive every top-level view from one coherent read of the workspace. */ +export function buildWorkspaceSnapshot( + data: WorkspaceData, + todayISO: string, +): WorkspaceSnapshot { + return { + books: data.books, + logs: data.logs, + today: buildTodayFrom(data.books, data.logs, todayISO), + stats: buildStatsFrom(data.books, data.logs, todayISO), + }; +} diff --git a/App/shared/types.ts b/App/shared/types.ts index ff40ed8..5b8e8dd 100644 --- a/App/shared/types.ts +++ b/App/shared/types.ts @@ -150,6 +150,19 @@ export interface StatsPayload { }; } +// --------------------------------------------------------------------------- +// Coherent workspace reads used by both browser and desktop refreshes. + +export interface WorkspaceData { + books: BookSummary[]; + logs: SessionLog[]; +} + +export interface WorkspaceSnapshot extends WorkspaceData { + today: TodayPayload; + stats: StatsPayload; +} + // --------------------------------------------------------------------------- // Search diff --git a/App/shared/vault.ts b/App/shared/vault.ts index d728eed..1aae533 100644 --- a/App/shared/vault.ts +++ b/App/shared/vault.ts @@ -8,6 +8,7 @@ import type { Segment, SegmentStage, SessionLog, + WorkspaceData, } from "./types.js"; export interface VaultEntry { @@ -37,6 +38,7 @@ export interface VaultReader { export interface VaultService { readBookSummary(slug: string): Promise; readBookDetail(slug: string): Promise; + readWorkspaceData(): Promise; readAllBooks(): Promise; readLogDetail(slug: string, file: string): Promise; readAllLogs(): Promise; @@ -270,36 +272,43 @@ export function createVaultService( return logs.sort((a, b) => (a.date < b.date ? 1 : -1)); } - async function readBookSummary(slug: string): Promise { - const bookDir = vaultPath("books", slug); - const markdown = await readMarkdown(vaultPath(bookDir, "book.md")); - if (!markdown) return null; - const meta = parseBookMeta(markdown.data, slug); + function summariseBook(meta: BookMeta, logs: SessionLog[]): BookSummary { const completed = meta.segments.filter((segment) => COMPLETED_STAGES.includes(segment.stage), ).length; const total = meta.total_segments || meta.segments.length; - const logs = await readSessionLogs(bookDir, slug); return { ...meta, progress: { completed, total, last_active: logs[0]?.date }, }; } + async function readBookBundle( + slug: string, + ): Promise<{ book: BookSummary; logs: SessionLog[] } | null> { + const bookDir = vaultPath("books", slug); + const markdown = await readMarkdown(vaultPath(bookDir, "book.md")); + if (!markdown) return null; + const logs = await readSessionLogs(bookDir, slug); + return { + book: summariseBook(parseBookMeta(markdown.data, slug), logs), + logs, + }; + } + + async function readBookSummary(slug: string): Promise { + return (await readBookBundle(slug))?.book ?? null; + } + async function readBookDetail(slug: string): Promise { if (!SLUG_RE.test(slug)) return null; const bookDir = vaultPath("books", slug); const markdown = await readMarkdown(vaultPath(bookDir, "book.md")); if (!markdown) return null; const meta = parseBookMeta(markdown.data, slug); - const completed = meta.segments.filter((segment) => - COMPLETED_STAGES.includes(segment.stage), - ).length; - const total = meta.total_segments || meta.segments.length; const logs = await readSessionLogs(bookDir, slug); return { - ...meta, - progress: { completed, total, last_active: logs[0]?.date }, + ...summariseBook(meta, logs), body_html: await reader.renderMarkdown(markdown.content), logs, has_thesis: await reader.exists(vaultPath(bookDir, "thesis.md")), @@ -307,13 +316,23 @@ export function createVaultService( }; } - async function readAllBooks(): Promise { + async function readWorkspaceData(): Promise { + const bundles = await Promise.all( + (await listBookDirs()).map((slug) => readBookBundle(slug)), + ); const books: BookSummary[] = []; - for (const slug of await listBookDirs()) { - const book = await readBookSummary(slug); - if (book) books.push(book); + const logs: SessionLog[] = []; + for (const bundle of bundles) { + if (!bundle) continue; + books.push(bundle.book); + logs.push(...bundle.logs); } - return books; + logs.sort((a, b) => (a.date < b.date ? 1 : -1)); + return { books, logs }; + } + + async function readAllBooks(): Promise { + return (await readWorkspaceData()).books; } async function readLogDetail(slug: string, file: string): Promise { @@ -476,6 +495,7 @@ export function createVaultService( return { readBookSummary, readBookDetail, + readWorkspaceData, readAllBooks, readLogDetail, readAllLogs, diff --git a/App/src-tauri/tauri.conf.json b/App/src-tauri/tauri.conf.json index 47f43a3..449f403 100644 --- a/App/src-tauri/tauri.conf.json +++ b/App/src-tauri/tauri.conf.json @@ -23,7 +23,7 @@ } ], "security": { - "csp": "default-src 'self'; connect-src 'self' ipc: http://ipc.localhost; img-src 'self' asset: http://asset.localhost data: https:; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com" + "csp": "default-src 'self'; connect-src 'self' ipc: http://ipc.localhost; img-src 'self' asset: http://asset.localhost data: https:; style-src 'self' 'unsafe-inline'; font-src 'self'" } }, "bundle": { From 2ec3d1501920e56fc4292f3bbee61ced9f24dfeb Mon Sep 17 00:00:00 2001 From: Adrian Valentim Date: Wed, 12 Aug 2026 15:14:04 -0300 Subject: [PATCH 3/8] Add local Codex chat --- App/README.md | 55 +- App/frontend/package.json | 1 + App/frontend/src/App.tsx | 5 +- App/frontend/src/components/CodexChat.tsx | 1118 ++++++++++++++++++ App/frontend/src/components/LogModal.tsx | 16 +- App/frontend/src/components/ViewSwitcher.tsx | 1 + App/frontend/src/lib/codex.ts | 467 ++++++++ App/frontend/src/lib/view.ts | 4 +- App/pnpm-lock.yaml | 16 + App/src-tauri/Cargo.lock | 23 + App/src-tauri/Cargo.toml | 4 +- App/src-tauri/src/codex.rs | 266 +++++ App/src-tauri/src/lib.rs | 8 + App/src-tauri/tauri.conf.json | 2 +- 14 files changed, 1967 insertions(+), 19 deletions(-) create mode 100644 App/frontend/src/components/CodexChat.tsx create mode 100644 App/frontend/src/lib/codex.ts create mode 100644 App/src-tauri/src/codex.rs diff --git a/App/README.md b/App/README.md index 3d10bc7..26ddc5e 100644 --- a/App/README.md +++ b/App/README.md @@ -1,12 +1,15 @@ # Effortful Learning Tracker App -This folder contains the read-only tracker for an Effortful Learning workspace. -The recommended interface is now a Tauri 2 desktop app; the original local -browser/server mode remains available. +This folder contains the tracker for an Effortful Learning workspace. The +recommended interface is a Tauri 2 desktop app; the original local +browser/server mode remains available. The desktop app also provides a Codex +chat backed by the locally installed Codex CLI and the user's existing ChatGPT +sign-in. The learning vault stays outside the application and remains the source of -truth. There is no database and the app has no command that can write learning -content. +truth. There is no database. The tracker filesystem adapter remains read-only; +only the separate Codex process can propose and perform changes, under Codex's +normal sandbox and approval flow. ## Run the Desktop App @@ -26,6 +29,30 @@ An open window watches `books/` and `cross-book/`. When Codex, Claude Code, or another process updates a valid vault file, the current views silently reload. Changing app code during `desktop:dev` uses Vite's normal hot reload. +### Codex Chat + +Open the **Codex** view to start a chat or resume existing Codex CLI, editor, +and app-server chats associated with the selected workspace. New chats use the +selected Learning folder as their working directory, `workspace-write` +sandboxing, and user-reviewed approvals. + +The app starts `codex app-server` over local stdio. It does not ask for an API +key or wrap the OpenAI API directly. Authenticate the installed CLI with your +ChatGPT subscription before opening the app: + +```bash +codex login +codex login status +``` + +On macOS, the app also discovers the Codex binary bundled with ChatGPT. On any +platform, set `CODEX_EXECUTABLE` to an explicit Codex CLI path if it is not on +the GUI application's `PATH`. + +This does not replace other entry points. Codex or Claude Code can still run in +a terminal and update the same external vault; the tracker watcher will pick up +those changes. Claude chat is not embedded in this version. + Useful commands: ```bash @@ -69,17 +96,20 @@ The backend resolves the workspace in this order: This mode is useful for ordinary browser development and remains behaviorally aligned with the desktop app because both use the same shared vault core. +All tracker views continue to work in this mode. Codex chat is desktop-only +because its bridge is a native child process; the browser view explains how to +open it in Tauri. ## Architecture -- `frontend/`: the React/Vite interface plus a Tauri filesystem adapter and the - original HTTP adapter. +- `frontend/`: the React/Vite interface, Codex App Server protocol client, a + Tauri filesystem adapter, and the original HTTP adapter. - `shared/`: filesystem-independent parsing, search, scheduling, statistics, and types used by both application modes. - `backend/`: the optional Fastify file-serving API and its Node filesystem adapter. -- `src-tauri/`: the small Rust shell, desktop capabilities, plugins, bundle - configuration, and icons. +- `src-tauri/`: the small Rust shell, desktop capabilities, local Codex stdio + bridge, plugins, bundle configuration, and icons. Rust owns the native window and operating-system permissions. Product behavior stays in TypeScript, so most interface and learning-system changes use the same @@ -103,6 +133,8 @@ offline and does not contact Google Fonts at runtime. - **Board**: books grouped by status. - **Chronicle**: the session timeline with full-log reading. - **Ledger**: weekly effort, retention, stage distribution, and difficulty. +- **Codex**: local subscription-backed Codex chat, history, streaming activity, + approvals, and user-input prompts. Search the whole vault with `Cmd+K` on macOS or `Ctrl+K` on Windows and Linux. @@ -122,6 +154,7 @@ session logs, including retrieval count, difficulty, and recorded outcomes. Editing or deleting a log therefore corrects the schedule on the next refresh. - No database. -- No AI API calls. -- No learning-content write permissions. +- No direct AI API integration and no API key handling in the app. +- No learning-content write permissions in the tracker adapter. Codex changes + remain isolated behind its own workspace sandbox and approvals. - No private learning data in this public repository. diff --git a/App/frontend/package.json b/App/frontend/package.json index 0a5e5c2..568652b 100644 --- a/App/frontend/package.json +++ b/App/frontend/package.json @@ -12,6 +12,7 @@ "@tauri-apps/api": "^2.0.0", "@tauri-apps/plugin-dialog": "^2.0.0", "@tauri-apps/plugin-fs": "^2.0.0", + "dompurify": "^3.2.6", "marked": "^15.0.4", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/App/frontend/src/App.tsx b/App/frontend/src/App.tsx index 0c3216b..21d94be 100644 --- a/App/frontend/src/App.tsx +++ b/App/frontend/src/App.tsx @@ -19,6 +19,7 @@ import { LogModal, type LogRef } from "./components/LogModal"; import { SearchOverlay } from "./components/SearchOverlay"; import { ThemeToggle } from "./components/ThemeToggle"; import { ViewSwitcher } from "./components/ViewSwitcher"; +import { CodexChat } from "./components/CodexChat"; export default function App() { const desktop = isDesktopApp(); @@ -133,7 +134,9 @@ export default function App() { {desktop && workspacePath && ( )} - {error ? ( + {view === "chat" ? ( + + ) : error ? ( candidate.id === turn.id); + const turns = [...thread.turns]; + if (index === -1) turns.push(turn); + else turns[index] = turn; + return { ...thread, turns }; +} + +function upsertItem( + thread: CodexThread, + turnId: string, + item: CodexItem, +): CodexThread { + const turn = thread.turns.find((candidate) => candidate.id === turnId); + if (!turn) { + return upsertTurn(thread, { + id: turnId, + items: [item], + status: "inProgress", + error: null, + startedAt: null, + completedAt: null, + durationMs: null, + }); + } + + const itemIndex = turn.items.findIndex((candidate) => candidate.id === item.id); + const items = [...turn.items]; + if (itemIndex === -1) items.push(item); + else items[itemIndex] = item; + return upsertTurn(thread, { ...turn, items }); +} + +function appendItemDelta( + thread: CodexThread, + turnId: string, + itemId: string, + field: "text" | "aggregatedOutput", + delta: string, +): CodexThread { + const turn = thread.turns.find((candidate) => candidate.id === turnId); + const current = turn?.items.find((candidate) => candidate.id === itemId); + const item: CodexItem = current + ? { ...current, [field]: `${String(current[field] ?? "")}${delta}` } + : { + id: itemId, + type: field === "text" ? "agentMessage" : "commandExecution", + [field]: delta, + }; + return upsertItem(thread, turnId, item); +} + +function errorMessage(value: unknown): string { + if (value instanceof Error) return value.message; + if (typeof value === "string") return value; + return "Codex could not complete that operation."; +} + +export function CodexChat({ workspacePath }: Props) { + const desktop = isDesktopApp(); + const [connection, setConnection] = useState("idle"); + const [connectionDetail, setConnectionDetail] = useState(null); + const [account, setAccount] = useState(null); + const [threads, setThreads] = useState([]); + const [activeThread, setActiveThread] = useState(null); + const [runningTurns, setRunningTurns] = useState>({}); + const [pendingRequests, setPendingRequests] = useState([]); + const [loadingThreads, setLoadingThreads] = useState(false); + const [openingThreadId, setOpeningThreadId] = useState(null); + const [draft, setDraft] = useState(""); + const [sending, setSending] = useState(false); + const [error, setError] = useState(null); + const scrollRef = useRef(null); + const runningTurnId = activeThread ? (runningTurns[activeThread.id] ?? null) : null; + const threadBusy = + runningTurnId !== null || + activeThread?.turns.some((turn) => turn.status === "inProgress") === true; + + const loadThreads = useCallback(async () => { + if (!workspacePath || !desktop) return; + setLoadingThreads(true); + try { + setThreads(await codexClient.listThreads(workspacePath)); + } catch (loadError) { + setError(errorMessage(loadError)); + } finally { + setLoadingThreads(false); + } + }, [desktop, workspacePath]); + + const handleNotification = useCallback( + (method: string, params: Record) => { + const threadId = typeof params.threadId === "string" ? params.threadId : null; + if (method === "turn/started" && threadId && params.turn) { + const turn = params.turn as CodexTurn; + setRunningTurns((current) => ({ ...current, [threadId]: turn.id })); + setActiveThread((current) => + current?.id === threadId ? upsertTurn(current, turn) : current, + ); + return; + } + + if ( + (method === "item/started" || method === "item/completed") && + threadId && + typeof params.turnId === "string" && + params.item + ) { + const item = params.item as CodexItem; + setActiveThread((current) => + current?.id === threadId + ? upsertItem(current, params.turnId as string, item) + : current, + ); + return; + } + + if ( + (method === "item/agentMessage/delta" || + method === "item/commandExecution/outputDelta") && + threadId && + typeof params.turnId === "string" && + typeof params.itemId === "string" && + typeof params.delta === "string" + ) { + const field = + method === "item/agentMessage/delta" ? "text" : "aggregatedOutput"; + setActiveThread((current) => + current?.id === threadId + ? appendItemDelta( + current, + params.turnId as string, + params.itemId as string, + field, + params.delta as string, + ) + : current, + ); + return; + } + + if (method === "turn/completed" && threadId && params.turn) { + const turn = params.turn as CodexTurn; + setRunningTurns((current) => { + if (current[threadId] !== turn.id) return current; + const next = { ...current }; + delete next[threadId]; + return next; + }); + setActiveThread((current) => + current?.id === threadId ? upsertTurn(current, turn) : current, + ); + void loadThreads(); + return; + } + + if (method === "thread/name/updated" || method === "thread/archived") { + void loadThreads(); + return; + } + + if ( + method === "serverRequest/resolved" && + (typeof params.requestId === "string" || typeof params.requestId === "number") + ) { + setPendingRequests((current) => + current.filter((request) => request.id !== params.requestId), + ); + return; + } + + if (method === "error") { + const protocolError = params.error as { message?: string } | undefined; + setError(protocolError?.message ?? "Codex reported an error."); + } + }, + [loadThreads], + ); + + useEffect(() => { + if (!desktop) return undefined; + const unsubscribe = codexClient.subscribe((event: CodexClientEvent) => { + if (event.type === "connection") { + setConnection(event.status); + setConnectionDetail(event.detail ?? null); + if (event.status === "disconnected" || event.status === "error") { + setRunningTurns({}); + } + } else if (event.type === "notification") { + handleNotification(event.method, event.params); + } else if (event.type === "serverRequest") { + setPendingRequests((current) => + current.some((request) => request.id === event.request.id) + ? current + : [...current, event.request], + ); + } else if (event.type === "diagnostic") { + setError(event.message); + } + }); + return unsubscribe; + }, [desktop, handleNotification]); + + useEffect(() => { + if (!desktop || !workspacePath) return; + let cancelled = false; + setError(null); + setAccount(null); + setThreads([]); + setActiveThread(null); + setRunningTurns({}); + setLoadingThreads(true); + + void (async () => { + try { + await codexClient.connect(); + const [nextAccount, nextThreads] = await Promise.all([ + codexClient.account(), + codexClient.listThreads(workspacePath), + ]); + if (!cancelled) { + setAccount(nextAccount); + setThreads(nextThreads); + } + } catch (connectError) { + if (!cancelled) setError(errorMessage(connectError)); + } finally { + if (!cancelled) setLoadingThreads(false); + } + })(); + + return () => { + cancelled = true; + }; + }, [desktop, workspacePath]); + + const items = useMemo( + () => activeThread?.turns.flatMap((turn) => turn.items) ?? [], + [activeThread], + ); + + useEffect(() => { + const scroller = scrollRef.current; + if (!scroller) return; + scroller.scrollTo({ top: scroller.scrollHeight, behavior: "auto" }); + }, [items.length, items.at(-1)?.text, items.at(-1)?.aggregatedOutput]); + + const openThread = useCallback( + async (thread: CodexThread) => { + if (!workspacePath) return; + setOpeningThreadId(thread.id); + setError(null); + try { + const loaded = await codexClient.readThread(thread.id); + setActiveThread(loaded); + const loadedTurnId = codexClient.hasLoadedThread(loaded.id) + ? [...loaded.turns].reverse().find((turn) => turn.status === "inProgress")?.id ?? null + : null; + setRunningTurns((current) => { + const next = { ...current }; + if (loadedTurnId) next[loaded.id] = loadedTurnId; + else delete next[loaded.id]; + return next; + }); + } catch (openError) { + setError(errorMessage(openError)); + } finally { + setOpeningThreadId(null); + } + }, + [workspacePath], + ); + + const newThread = useCallback(async () => { + if (!workspacePath) return null; + setOpeningThreadId("new"); + setError(null); + try { + const thread = await codexClient.startThread(workspacePath); + setActiveThread(thread); + setRunningTurns((current) => { + const next = { ...current }; + delete next[thread.id]; + return next; + }); + setThreads((current) => [thread, ...current.filter((item) => item.id !== thread.id)]); + return thread; + } catch (startError) { + setError(errorMessage(startError)); + return null; + } finally { + setOpeningThreadId(null); + } + }, [workspacePath]); + + const sendMessage = useCallback(async () => { + const text = draft.trim(); + if (!text || !workspacePath || sending || threadBusy) return; + setSending(true); + setError(null); + try { + const selected = activeThread ?? (await newThread()); + if (!selected) return; + const thread = activeThread + ? await codexClient.resumeThread(selected.id, workspacePath) + : selected; + setActiveThread(thread); + setDraft(""); + const turn = await codexClient.startTurn(thread.id, workspacePath, text); + setRunningTurns((current) => ({ ...current, [thread.id]: turn.id })); + setActiveThread((current) => + current?.id === thread.id ? upsertTurn(current, turn) : upsertTurn(thread, turn), + ); + } catch (sendError) { + setError(errorMessage(sendError)); + } finally { + setSending(false); + } + }, [activeThread, draft, newThread, sending, threadBusy, workspacePath]); + + const interrupt = useCallback(async () => { + if (!activeThread || !runningTurnId) return; + try { + await codexClient.interruptTurn(activeThread.id, runningTurnId); + } catch (interruptError) { + setError(errorMessage(interruptError)); + } + }, [activeThread, runningTurnId]); + + const resolveRequest = useCallback( + async (request: CodexServerRequest, result: unknown) => { + try { + await codexClient.respondToServerRequest(request.id, result); + setPendingRequests((current) => + current.filter((candidate) => candidate.id !== request.id), + ); + } catch (responseError) { + setError(errorMessage(responseError)); + } + }, + [], + ); + + if (!desktop) return ; + + const subscriptionUnavailable = account !== null && account.account?.type !== "chatgpt"; + + return ( +

+ + +
+ + + {subscriptionUnavailable ? ( + + ) : ( +
+ {activeThread ? ( + items.length > 0 ? ( +
+ {items.map((item) => ( + + ))} +
+ ) : ( + + ) + ) : ( + + )} +
+ )} + + {pendingRequests.length > 0 && ( +
+
+ {pendingRequests.map((request) => ( + void resolveRequest(request, result)} + /> + ))} +
+
+ )} + + {error && ( +
+
+

{error}

+ +
+
+ )} + + {!subscriptionUnavailable && ( + void sendMessage()} + onInterrupt={() => void interrupt()} + /> + )} +
+
+ ); +} + +function StatusDot({ status }: { status: ConnectionStatus }) { + const color = + status === "connected" + ? "var(--color-green)" + : status === "error" || status === "disconnected" + ? "var(--color-rust)" + : "var(--color-amber)"; + return ( + + ); +} + +function ThreadButton({ + thread, + active, + loading, + onClick, +}: { + thread: CodexThread; + active: boolean; + loading: boolean; + onClick: () => void; +}) { + const title = thread.name?.trim() || thread.preview?.trim() || "Untitled Codex chat"; + const timestamp = thread.recencyAt ?? thread.updatedAt ?? thread.createdAt; + return ( + + ); +} + +function ChatHeader({ + thread, + connectionDetail, + account, +}: { + thread: CodexThread | null; + connectionDetail: string | null; + account: AccountStatus | null; +}) { + const title = thread?.name?.trim() || thread?.preview?.trim() || "Codex workspace chat"; + const plan = account?.account?.type === "chatgpt" ? account.account.planType : null; + return ( +
+
+

{title}

+

+ {thread ? thread.cwd : "Selected learning workspace"} +

+
+
+
{plan ? `ChatGPT ${plan}` : "Local app server"}
+ {connectionDetail &&
{connectionDetail}
} +
+
+ ); +} + +function ChatItem({ item }: { item: CodexItem }) { + if (item.type === "userMessage") { + const text = item.content?.filter((part) => part.type === "text").map((part) => part.text).join("\n") ?? ""; + return ( +
+
{text}
+
+ ); + } + + if (item.type === "agentMessage") { + return ( +
+
{item.text || "…"}
+
+ ); + } + + if (item.type === "plan") { + return ; + } + + if (item.type === "reasoning") { + return ; + } + + if (item.type === "commandExecution") { + return ( + + ); + } + + if (item.type === "fileChange") { + const changes = item.changes ?? []; + return ( + `${change.kind}: ${change.path}\n${change.diff}`) + .join("\n\n")} + mono + /> + ); + } + + if (item.type === "mcpToolCall" || item.type === "dynamicToolCall") { + return ( + + ); + } + + if (item.type === "contextCompaction") { + return ( +
+ Context compacted +
+ ); + } + + return null; +} + +function Activity({ label, body, mono = false }: { label: string; body: string; mono?: boolean }) { + return ( +
+ + {label} + + {body && ( +
+          {body}
+        
+ )} +
+ ); +} + +function Composer({ + draft, + disabled, + busy, + interruptible, + onChange, + onSend, + onInterrupt, +}: { + draft: string; + disabled: boolean; + busy: boolean; + interruptible: boolean; + onChange: (text: string) => void; + onSend: () => void; + onInterrupt: () => void; +}) { + function onKeyDown(event: KeyboardEvent) { + if (event.key === "Enter" && !event.shiftKey && !event.nativeEvent.isComposing) { + event.preventDefault(); + onSend(); + } + } + + return ( +
+
+

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 RJPLwSxL4(ymRB;E{{hDZn`Hn1 literal 0 HcmV?d00001 diff --git a/App/frontend/src/assets/fonts/Inter-OFL.txt b/App/frontend/src/assets/fonts/Inter-OFL.txt new file mode 100644 index 0000000..9b2ca37 --- /dev/null +++ b/App/frontend/src/assets/fonts/Inter-OFL.txt @@ -0,0 +1,92 @@ +Copyright (c) 2016 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION AND CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/App/frontend/src/assets/fonts/InterVariable.woff2 b/App/frontend/src/assets/fonts/InterVariable.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5a8d3e72ad7ffb62af3b146e1b1f54ab5813a212 GIT binary patch literal 352240 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 z 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 z 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