diff --git a/.agents/skills/product-design/decision-log.md b/.agents/skills/product-design/decision-log.md
index 633c3158..e167a2ac 100644
--- a/.agents/skills/product-design/decision-log.md
+++ b/.agents/skills/product-design/decision-log.md
@@ -31,7 +31,7 @@ One line per accepted guidance change: `date | change | evidence`.
2026-10-01 | Plan Limit meters count down ("84% left", meter = share left, "<1% left" for a sliver), drawn as crisp discrete cells (Paper S2's 40 × 4px + 1px gaps), windows wrap to a second line instead of clipping; the picker hint counts down too | user feedback, round 5 (R5-limits)
2026-10-01 | Plan Limit forecast after CodexBar: pace marker cell in text-strong (taller by 1px each way, not a signal colour), reserve/deficit, "Runs out in" / "Lasts until reset" from the window's average rate, weekly "About N full 5-hour windows left · M until reset" from Daemon history; the picker hint gets a short form. Paper S2 has no forecast or marker | user request, round 6 (R6-forecast)
2026-10-01 | Harness picker: the newest four Models per Harness (newest of each family, Harness order, default always shown; the rest under "More models…"; Settings defaults use the same four); effort as a dither bar whose density and pace rise with the level; picks staged and sent once on close, Escape cancels | user request R6 (Codex-style effort bar, "top four" models)
-2026-10-01 | The / menu never shows an empty list for a Host whose Daemon predates it: it says "Skills need a newer daemon on " with one action, Upgrade daemon (the Host's own upgrade), and follows it; any Host's upgrade is a toast ("Daemon upgraded") | user report R6 ("I don't see the skills working"): their Mac ran an older installed Daemon
+2026-10-01 | The / menu never shows an empty list for a Host whose Daemon predates it: it says "Skills need a newer daemon on " with one action, Upgrade daemon (the Host's own upgrade), and follows it; any Host's upgrade is a toast ("Daemon upgraded") [toast superseded 2026-10-02: Daemon Upgrades are quiet, DESIGN.md Updates and daemon upgrades] | user report R6 ("I don't see the skills working"): their Mac ran an older installed Daemon
2026-10-01 | The / menu ranks by match quality, then the user's frecency of picks (ported from Sightline's Find); a bare / leads with "Recent"; local only, per Host, Workspace and Harness, bounded | user request R6
2026-10-01 | M2 Review states proposed in Paper (R3 pull requests, R4/R5 review checkout menu and states, R6 comment composer, R7 submit review, R8 agent session feedback; S5/S6 GitHub accounts and device-flow sign-in) and recorded in DESIGN.md Review and Settings as proposed | user request (ENG-185 resolution, ENG-217 map: PR list, account mapping, checkout states, comment and submit flow)
2026-10-01 | Reviewer settings page proposed (Paper S7): reviewer Harness/Model/Effort with per-host readiness (hosts that can't run it fall back to rules only), when it runs (PR on open, agent session on open/accept, ask first over 2,000 lines), rules and risk memory summary, 7-day usage line | user request after M2 Review mockups
@@ -43,3 +43,8 @@ One line per accepted guidance change: `date | change | evidence`.
2026-10-02 | Setup-only workers nest under their Lead in the sidebar ("setting up · 1m" / "setup failed", never "Dormant"); the command sits in the hover because a 264px row can't hold it with the id and title | Lead decision after C1-G2-setupui; screenshot evidence
2026-10-02 | M3 explorer built from E1: compact folder chains, deleted files kept struck through, the hand on the nearest visible folder, Changes as one flat list (name then folder), three agents then "N more", Delete to the trash without asking (a dialog only where the Host has no trash), and a Worktree or Review Checkout as the explorer's root with "Back to {workspace}". "Agents in" and ages use `text-subtle` where E1 had `text-faint` (rule/faint-is-not-content) | M3-EXPLORER build; spec §2 and §5
2026-10-02 | M3.1 Editor language tooling planned: lazy per-host managed installs with developer-owned prerequisites and Workspace trust; Settings configures composed providers and format-on-save (on, failure saves with error toast); multi-file refactors preview into drafts with guarded resource operations; familiar language assistance and GFM preview via Shift+Cmd+V, Host-relative media and remembered external-image consent | owner answers Q1-Q25 in grill-with-docs; docs/specs/editor-language-tooling-m3.1.md; no implementation or mockups
+2026-10-02 | Updates and Daemon Upgrades proposed (Paper Updates page U1–U6): "Restart to update" only in the app menu (plus "Quit and update" on ⌘Q), Settings → About and the K menu, never a toast, badge or dialog; About lists what each update check sends and drops the install ID when checks are off; automatic Daemon Upgrades are quiet (machine bar caption and tooltip, Hosts row), replacing the 2026-10-01 "Daemon upgraded" toast; copy says update for the app and upgrade for daemons | ENG-256 brief; CONTEXT.md Update / Daemon Upgrade; docs/adr/0017
+2026-10-02 | Owner approved: the "Daemon upgraded" toast is superseded by the quiet machine-bar caption, tooltip and Hosts row (the updater task removes the toast from code), and the app menu keeps "Quit and update" while an update is ready | owner answers to update-design questions upgrade-toast and quit-and-update, via the Lead
+
+2026-10-02 | S3 mobile download form sends one email via SES instead of opening a mail draft; inline sending, sent and retryable error states retain the accepted layout, success clears the address, local development explicitly says preview | site-email assignment; DESIGN.md Marketing site; rule/design-reachable-states
+2026-10-02 | Installer moves to the dawn scene for everyone (Paper I3, I4 the Finder dark-appearance check; I1/I2 superseded): Finder draws icon labels black on a DMG background in both appearances, so the night art left them unreadable; the arrow becomes neutral ink `#4A4C52`; black labels measure 11.9:1 or better | owner decision 2026-10-02 via the dmg-dawn-design brief; mounted-DMG evidence; DESIGN.md Installer
diff --git a/.agents/skills/product-design/references/surfaces.md b/.agents/skills/product-design/references/surfaces.md
index 5bba3466..39862384 100644
--- a/.agents/skills/product-design/references/surfaces.md
+++ b/.agents/skills/product-design/references/surfaces.md
@@ -9,6 +9,7 @@
| Review: PR or agent session turns, risk column, verdicts | `../exemplars/review.md` | Review page, R1 and R2 |
| Editor: file tree, git states, inline chat, agent editing a file | `../exemplars/editor.md` | Editor page, E1, E2a, E2, E3 |
| Settings: harnesses, usage and plan limits, appearance, hosts | `../exemplars/settings.md` | Settings page, S1–S4 |
+| Updates and daemon upgrades: About, restart to update, upgraded hosts | DESIGN.md, Updates and daemon upgrades | Updates page, U1–U6 (proposed) |
| Brand, wordmark, app icon, marketing, README art | `../exemplars/brand.md` | Brand and Brand deck pages |
A surface not listed has no exemplar yet: check `coverage-gaps.md` and
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..2d5a51fc
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,185 @@
+name: Release
+
+on:
+ push:
+ tags: ["v*"]
+
+concurrency:
+ group: release-${{ github.ref }}
+ cancel-in-progress: false
+
+permissions:
+ contents: write
+
+jobs:
+ release:
+ name: macOS arm64 draft
+ runs-on: macos-15
+ environment: release
+ timeout-minutes: 90
+ defaults:
+ run:
+ shell: bash
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ persist-credentials: false
+
+ - name: Validate tag, versions and signing policy
+ id: metadata
+ env:
+ RELEASE_TAG: ${{ github.ref_name }}
+ MACOS_CERT_P12: ${{ secrets.MACOS_CERT_P12 }}
+ MACOS_CERT_PASSWORD: ${{ secrets.MACOS_CERT_PASSWORD }}
+ APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }}
+ APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
+ APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}
+ APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
+ run: |
+ python3 - <<'PY'
+ import json, os, re
+ from pathlib import Path
+
+ tag = os.environ["RELEASE_TAG"]
+ number = r"(?:0|[1-9][0-9]*)"
+ if not re.fullmatch(rf"v{number}\.{number}\.{number}(?:-rc\.{number})?", tag):
+ raise SystemExit("Expected v.. or v..-rc.N")
+ version = tag[1:]
+ for package in ("desktop", "daemon"):
+ actual = json.loads(Path(f"apps/{package}/package.json").read_text())["version"]
+ if actual != version:
+ raise SystemExit(f"Tag/version mismatch: {package} is {actual}, tag is {version}")
+
+ names = ("MACOS_CERT_P12", "MACOS_CERT_PASSWORD", "APPLE_API_KEY",
+ "APPLE_API_KEY_ID", "APPLE_API_ISSUER", "APPLE_TEAM_ID")
+ present = [name for name in names if os.environ.get(name, "").strip()]
+ if present and len(present) != len(names):
+ raise SystemExit("Incomplete signing secrets: missing " + ", ".join(n for n in names if n not in present))
+ prerelease = "-rc." in version
+ signed = bool(present)
+ if not prerelease and not signed:
+ raise SystemExit("Stable tags require all six signing secrets")
+ with open(os.environ["GITHUB_OUTPUT"], "a") as output:
+ output.write(f"version={version}\nprerelease={str(prerelease).lower()}\nsigned={str(signed).lower()}\n")
+ PY
+
+ - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
+ with:
+ bun-version-file: package.json
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 24
+ - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
+ with:
+ python-version: "3.12"
+ enable-cache: false
+ - name: Check runner prerequisites
+ run: |
+ test "$(uname -m)" = arm64
+ xcrun --find SetFile
+ xcrun --find notarytool
+ uv python install 3.12
+ - run: bun install --frozen-lockfile
+
+ - name: Import signing credentials
+ id: signing
+ if: steps.metadata.outputs.signed == 'true'
+ env:
+ MACOS_CERT_P12: ${{ secrets.MACOS_CERT_P12 }}
+ MACOS_CERT_PASSWORD: ${{ secrets.MACOS_CERT_PASSWORD }}
+ APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }}
+ run: |
+ umask 077
+ signing_dir="$RUNNER_TEMP/polaris-signing"
+ mkdir "$signing_dir"
+ security list-keychains -d user > "$signing_dir/keychains.txt"
+ printf '%s' "$MACOS_CERT_P12" | base64 --decode > "$signing_dir/certificate.p12"
+ printf '%s' "$APPLE_API_KEY" > "$signing_dir/AuthKey.p8"
+ keychain="$signing_dir/release.keychain-db"
+ keychain_password=$(openssl rand -hex 32)
+ security create-keychain -p "$keychain_password" "$keychain"
+ security set-keychain-settings -lut 21600 "$keychain"
+ security unlock-keychain -p "$keychain_password" "$keychain"
+ security import "$signing_dir/certificate.p12" -P "$MACOS_CERT_PASSWORD" \
+ -k "$keychain" -t cert -f pkcs12 -T /usr/bin/codesign -T /usr/bin/security
+ security set-key-partition-list -S apple-tool:,apple:,codesign: \
+ -s -k "$keychain_password" "$keychain" > /dev/null
+ python3 - <<'PY'
+ import os, shlex, subprocess
+ from pathlib import Path
+ directory = Path(os.environ["RUNNER_TEMP"]) / "polaris-signing"
+ original = shlex.split((directory / "keychains.txt").read_text())
+ subprocess.run(["security", "list-keychains", "-d", "user", "-s",
+ str(directory / "release.keychain-db"), *original], check=True)
+ PY
+ rm "$signing_dir/certificate.p12"
+ printf 'keychain=%s\napi_key=%s\n' "$keychain" "$signing_dir/AuthKey.p8" >> "$GITHUB_OUTPUT"
+
+ - name: Package release app, Update ZIP and installer DMG
+ env:
+ APPLE_API_KEY: ${{ steps.signing.outputs.api_key }}
+ MACOS_KEYCHAIN: ${{ steps.signing.outputs.keychain }}
+ MACOS_SIGNING_IDENTITY: ${{ secrets.MACOS_SIGNING_IDENTITY }}
+ APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
+ APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}
+ APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
+ run: bun run --cwd apps/desktop package --release
+
+ - name: Smoke-test packaged app
+ run: node apps/desktop/scripts/packageCheck.ts
+
+ - name: Assess signed app and validate stapled tickets
+ if: steps.metadata.outputs.signed == 'true'
+ env:
+ VERSION: ${{ steps.metadata.outputs.version }}
+ run: |
+ app=apps/desktop/out/dist/Polaris-darwin-arm64/Polaris.app
+ dmg="apps/desktop/out/dist/Polaris-$VERSION-arm64.dmg"
+ codesign --verify --deep --strict "$app"
+ spctl --assess --type execute --verbose=2 "$app"
+ xcrun stapler validate "$app"
+ codesign --verify --strict "$dmg"
+ spctl --assess --type open --context context:primary-signature --verbose=2 "$dmg"
+ xcrun stapler validate "$dmg"
+
+ - name: Delete temporary signing credentials
+ if: always() && steps.metadata.outputs.signed == 'true'
+ run: |
+ signing_dir="$RUNNER_TEMP/polaris-signing"
+ trap 'rm -rf "$signing_dir"' EXIT
+ python3 - <<'PY'
+ import os, shlex, subprocess
+ from pathlib import Path
+ directory = Path(os.environ["RUNNER_TEMP"]) / "polaris-signing"
+ try:
+ saved = directory / "keychains.txt"
+ if saved.exists():
+ subprocess.run(["security", "list-keychains", "-d", "user", "-s",
+ *shlex.split(saved.read_text())], check=True)
+ finally:
+ keychain = directory / "release.keychain-db"
+ if keychain.exists():
+ subprocess.run(["security", "delete-keychain", str(keychain)], check=True)
+ PY
+
+ - name: Create draft GitHub Release with exact feed assets
+ env:
+ GH_TOKEN: ${{ github.token }}
+ GH_REPO: ${{ github.repository }}
+ RELEASE_TAG: ${{ github.ref_name }}
+ VERSION: ${{ steps.metadata.outputs.version }}
+ PRERELEASE: ${{ steps.metadata.outputs.prerelease }}
+ SIGNED: ${{ steps.metadata.outputs.signed }}
+ run: |
+ dmg="apps/desktop/out/dist/Polaris-$VERSION-arm64.dmg"
+ zip="apps/desktop/out/dist/Polaris-$VERSION-arm64-mac.zip"
+ test -s "$dmg"
+ test -s "$zip"
+ flags=(--draft --verify-tag --generate-notes)
+ if [[ "$PRERELEASE" == true ]]; then
+ flags+=(--prerelease --latest=false)
+ fi
+ if [[ "$SIGNED" == false ]]; then
+ flags+=(--notes 'Unsigned release candidate for testing. Signing and notarisation were skipped.')
+ fi
+ gh release create "$RELEASE_TAG" "$dmg" "$zip" "${flags[@]}"
diff --git a/AGENTS.md b/AGENTS.md
index efcda9dd..3b190dcd 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -16,6 +16,7 @@ Polaris is an IDE and agent orchestrator: a Bun Daemon per Host, an Electron Des
| `packages/bench` | Benchmarks: the real Daemon under scripted load, a process-tree memory/CPU sampler, baselines and comparisons. |
| `packages/spec` | The Quint spec of commits, streams, Client feeds and approvals, and its checks (see Verification). |
| `apps/daemon` | The Daemon (`polaris` binary): event store, Harness drivers, transport, files, git, terminals, user service. |
+| `apps/site` | The marketing site (Next.js on Vercel, root directory `apps/site`), built from the Paper "Marketing site" page on `@polaris/ui`'s tokens; the download and update-feed routes live under `app/` (see its README). |
| `apps/desktop` | The Electron Desktop App: the Client runtime in the main process, a typed IPC bridge, a React renderer on `@polaris/ui` (see its README). |
| `packages/ui` | The design system in code (`@polaris/ui`): DESIGN.md's tokens on Tailwind v4, restyled shadcn/ui, the Polaris primitives, and a gallery (`bun run --cwd packages/ui gallery`). |
| `packages/lint-config` | The shared oxlint config every workspace extends, the shared oxfmt style (`oxfmt.json`), and the custom plugins (`polaris/no-long-comment`, vendored anti-slop, the SonarJS cognitive-complexity wrapper). Read its `README.md` before touching lint rules. |
diff --git a/CONTEXT.md b/CONTEXT.md
index dfa132c2..12162662 100644
--- a/CONTEXT.md
+++ b/CONTEXT.md
@@ -43,6 +43,18 @@ _Avoid_: Error, disconnected
**Offline**:
The Connection State of a Host the Client has stopped retrying, such as a machine that is shut down.
+**Release**:
+A published version of Polaris: one version number shared by the Desktop App and the Daemon builds it carries.
+_Avoid_: Build (for a published version), drop
+
+**Update**:
+The Desktop App replacing itself with a newer Release.
+_Avoid_: Upgrade (for the Desktop App)
+
+**Daemon Upgrade**:
+A Host's Daemon replaced by the build the Desktop App carries.
+_Avoid_: Update (for a Daemon), reinstall
+
### Agents
**Harness**:
diff --git a/DESIGN.md b/DESIGN.md
index 45a90d90..250c59b8 100644
--- a/DESIGN.md
+++ b/DESIGN.md
@@ -294,7 +294,7 @@ Dark is the default theme; light is equally supported. Every token exists in bot
The Desktop App is Electron (Chromium 152, React). CSS effects are available: shadows, rounded clipping, per-element `backdrop-filter`, springs, custom fonts, and window-level vibrancy. The budgets still rule: display-rate frames (180 Hz measured) and under 1 GB for the whole app. See **Performance** under Motion.
-**Assets and source files.** Generated textures live in `design/assets/` (dither frames, state icons, scenes, watercolour washes, halos) and are reproducible from `design/scripts/gen_dither.py` and `design/scripts/gen_textures.py`. Mockups: the Paper file "Polaris — Orchestrator" (https://app.paper.design/file/01M3JV1J857QNW61TGHZYR6GMZ); artboard 5, "Orchestrate · Elevated", is the chosen Orchestrator direction, artboard 7 shows a constellation with a subagent in focus, the Review page holds R1 (pull request, dark) and R2 (agent session turns, light), with M2's proposed states in R3 (pull requests, dark), R4 (review checkout menu, dark), R5 (review checkout states, light), R6 (comment composer, dark), R7 (submit review, dark) and R8 (agent session feedback, light), and the Editor page holds E1 (editor, dark), E2a (selection, dark), E2 (inline chat, dark) and E3 (an agent editing your file, light). The file's Paper tokens mirror this frontmatter as `-dark`/`-light` pairs.
+**Assets and source files.** Generated textures live in `design/assets/` (dither frames, state icons, scenes, watercolour washes, halos) and are reproducible from `design/scripts/gen_dither.py` and `design/scripts/gen_textures.py`. Mockups: the Paper file "Polaris — Orchestrator" (https://app.paper.design/file/01M3JV1J857QNW61TGHZYR6GMZ); artboard 5, "Orchestrate · Elevated", is the chosen Orchestrator direction, artboard 7 shows a constellation with a subagent in focus, the Review page holds R1 (pull request, dark) and R2 (agent session turns, light), with M2's proposed states in R3 (pull requests, dark), R4 (review checkout menu, dark), R5 (review checkout states, light), R6 (comment composer, dark), R7 (submit review, dark) and R8 (agent session feedback, light), and the Editor page holds E1 (editor, dark), E2a (selection, dark), E2 (inline chat, dark) and E3 (an agent editing your file, light). The Updates page holds U1–U6, proposed: Settings → About with an update ready (dark) and with automatic checks off (light), the update row's states, the K menu and the app menu with an update ready, a host's "Upgraded to 0.5.0" in the machine bar (light), and Settings → Hosts after Daemon Upgrades. The file's Paper tokens mirror this frontmatter as `-dark`/`-light` pairs.
**Mode:** Operate. Scanability, consistency, and native macOS expectations outrank expression. Brand lives in precise details and the pixel world.
@@ -310,7 +310,18 @@ The Desktop App is Electron (Chromium 152, React). CSS effects are available: sh
- **The twinkle:** on launch only, the star's core brightens for two frames. The mark never animates anywhere else.
- **Brand deck:** the "Brand deck" page of the Paper file (12 slides: cover, idea, principles, voice, mark, logo, app icon, colour, typography, pixel world, icons and motion, applications).
- Draw the mark on whole pixels only; never rotate, outline, or anti-alias it.
-- **Marketing site:** the "Marketing site" page of the Paper file (S1, desktop, dark, a draft). It uses the brand deck's system: Night ground, the night-sky scene in the hero and the closing CTA only, SF Pro Regular headlines with tight tracking, mono section kickers (`01 — Supervise`), and real product shots exported from accepted artboards (`design/assets/site/`), never redrawn UI. One primary action on every screen, "Download for macOS", as a Snow button; the secondary action is always the source. Starlight stays off buttons and links here too (rule/starlight-is-rare), and signal colours appear only inside product shots. Until the repo is public, every source link reads "Source opens soon" and leads to a one-email notify form. Copy names what Polaris does, not the hardware it runs on: hosts are "this Mac" or "any machine you can reach over SSH". The footer credits lux.dev LLC ("An open source project by lux.dev", "© 2026 lux.dev LLC"). rule/scene-text-contrast holds on the site too: the nav sits on a solid Night bar (~95%) with links in `#C9D0E0`, never directly on the sky, and buttons over a scene are opaque. S2 is the light version: the dawn scene in the hero (faded into `bg-light` above the product shot) and the closing CTA, light product shots, ink primary buttons, the blue colourway of the mark, and light dither and wash variants. S3 is mobile (390, dark): one column, shots bleed off the right edge, and because a phone cannot install a Mac app the primary action becomes "Email me the Mac download" (email field plus button) instead of Download.
+- **Marketing site:** the "Marketing site" page of the Paper file (S1 desktop dark, S2 light, S3 mobile), built in `apps/site`. It uses the brand deck's system: Night ground, the night-sky scene in the hero and the closing CTA only, SF Pro Regular headlines with tight tracking, section kickers (`01 — Supervise`: the pixel star, SF Pro at 14px with 0.02em tracking, then a hairline to the edge), and real product shots exported from accepted artboards (`design/assets/site/`), never redrawn UI. One primary action on every screen, "Download for macOS" (to `/download/mac`, which redirects to the latest Release's DMG), as a Snow button; the secondary action is always the source, "View source" with the GitHub mark, linking to github.com/luxdotdev/polaris. Starlight stays off buttons and links here too (rule/starlight-is-rare), and signal colours appear only inside product shots. The repo is public: the "03 — Yours" card names the repository, says every line is on GitHub, shows the `git clone` line and a "View source" button; there is no notify form. Copy names what Polaris does, not the hardware it runs on: hosts are "this Mac" or "any machine you can reach over SSH". The footer credits lux.dev LLC ("An open source project by lux.dev", "© 2026 lux.dev LLC"). rule/scene-text-contrast holds on the site too: the nav sits on a solid Night bar (~95%) with links in `#C9D0E0`, never directly on the sky, and buttons over a scene are opaque. S2 is the light version: the dawn scene in the hero (faded into `bg-light` above the product shot) and the closing CTA, light product shots, ink primary buttons, the blue colourway of the mark, and light dither and wash variants. S3 is mobile (390, dark): one column, shots bleed off the right edge, and because a phone cannot install a Mac app the primary action becomes "Email me the Mac download" (email field plus button) instead of Download; it sends one plain-text email through AWS SES with the Mac download and source links. The form keeps its S3 field and button layout; sending disables both with "Sending…", success clears the address and shows "Email sent" with "Check your inbox for the Mac download.", and errors keep the address and enable retry with a plain status line. Development labels the fake send as a preview. Polaris never stores or logs the email address or raw IP; request telemetry contains only an email-request fact, route and timestamp. The site follows the system appearance (S1 dark, S2 light; phones get S3's layout in either), lays out S1/S2 from 1024px and S3 below, and shows the email form only below 768px.
+
+### Installer
+
+The DMG window: the "Installer" page of the Paper file. **I3 is the design** (the dawn scene); I4 checks it under Finder's dark appearance. I1 (night) and I2 (its light-appearance check) are history, marked superseded. Drag the app to Applications under the dawn sky; no wordmark and no copy.
+
+- **Window:** 660×400 points of content (the background size; Finder's title bar sits above it), toolbar, sidebar, path bar and status bar hidden, icon view, icons 100pt, labels 12pt at the bottom, no item info. The volume is named "Polaris" and its volume icon is `Polaris.icns`.
+- **Icon centres** (points from the content's top-left, as `.DS_Store` stores them): Polaris.app at **(165, 190)**, the Applications alias at **(495, 190)**. Both labels sit on sky: the far ridge rises just right of the Applications label's last letter (from 254pt at x 526) but never under the text.
+- **Finder labels are black on a custom background (the finding):** a real mounted DMG shows Finder draws icon labels black over a background picture in both light and dark appearance; only the window chrome follows the appearance. So the night art (I1) left the labels unreadable for everyone, not just in light mode. Decision (owner, 2026-10-02): the dawn scene for everyone, since black text reads on it in both appearances.
+- **Background (`gen_dmg.py`):** the dawn scene drawn natively at 330×200: `scene()` in `gen_textures.py` with the dawn sky and hills, star `#FFFFFF`, `night=False` and seed 12; then the meadow flowers (`random.Random(4)`, `round(260 × 330×200 / (360×225))` = 212 of `#F4D35E`, `#FFFFFF`, `#F2B5C4` in the bottom 12% of rows), then the cabin with `CABIN_DAWN` seated by `place_cabin` in the 0.14–0.34 band. Scaled by nearest neighbour ×2 for 1× (660×400) and ×4 for 2× (1320×800), so one scene pixel is 2pt. Polaris lands at (474, 72), a faint white star in the sky above Applications; the cabin sits under the app. There are no stars to clear at dawn.
+- **Arrow:** centred between the icons at scene cell (165, 95), 48 cells long, in neutral ink `#4A4C52` (6.9:1 on the sky around it; never Starlight, rule/starlight-is-rare): a one-cell dashed shaft (2 on, 1 off, from cell 141) into an open chevron head at cell 188 whose arms step five cells back in a two-cell stair. Drawn into the background on whole scene pixels; never anti-aliased.
+- **Label contrast:** measured on the generated pixels over each label box (centre ±58pt across, 240–270pt down). Polaris sits on the peach sky: worst 17.0:1 for black, 12.8:1 for Finder's 85% black. Applications reaches the palest ridge (`#B7C9A8`): worst 11.9:1 black, 9.6:1 at 85%. Both clear 4.5:1 in either appearance because the labels don't change. Keep labels off the cabin and the near hills if the layout moves (the cabin's `#5E4434` frame would fail).
## Colors
@@ -591,7 +602,7 @@ The empty-state page for starting an Agent Session. Night-sky scene (dawn in lig
### Settings
Settings replaces the three zones inside the one main window (no separate window); ⌘, (Polaris → Settings…), the gear at the right of the sidebar's footer and the K menu ("Settings", "Settings: Appearance"…) open it, and esc returns to where you were. Mockups: Settings page, S1 Harnesses (dark), S2 Usage (dark), S3 Appearance (light), S4 Hosts (dark), S5 GitHub accounts (dark, proposed), S6 Add GitHub account (light, proposed), S7 Reviewer (dark, proposed).
-- **Layout.** A 264px `surface-sunken` nav ("Back to orchestrate" with an esc keycap, the `title` "Settings", sections General (Appearance, Sessions) / Agents (Harnesses, Usage) / Machines (Hosts, Attachments), About Polaris with the flat mark and version at the foot) and one centred 680px column on `bg`. The page title is `title`, never `display`; one `body` line in `text-subtle` says what the page controls.
+- **Layout.** A 264px `surface-sunken` nav ("Back to orchestrate" with an esc keycap, the `title` "Settings", sections General (Appearance, Sessions) / Agents (Harnesses, Usage) / Machines (Hosts, Attachments), About Polaris with the flat mark and version at the foot, which opens About; with an update ready its caption reads "0.4.0 · update ready") and one centred 680px column on `bg`. The page title is `title`, never `display`; one `body` line in `text-subtle` says what the page controls.
- **Groups, not cards.** Settings sit in hairline-bordered groups at the `card` radius with hairline row dividers; a sunken footer strip holds secondary defaults. Rows keep fixed lanes (name, version or value, state, trailing action) so columns align across rows.
- **Sessions.** Under General, after Appearance: how new Agent Sessions start and what happens around them, all on this Mac. Four groups. New sessions: "Start on a new worktree" (off; they work in the workspace directory, and each can still choose on New session) and "Branch prefix", a mono field ("polaris/"; empty allowed) whose caption shows a resulting branch; a prefix git wouldn't take gets the failed hairline and isn't saved. While sessions run: "Open output on a turn's first edit" (on) and "Notify when a session needs you" (on; the star and badge still count). Working verbs: the list the Working strip rotates through, as removable chips (a list of one can't lose its last), an add field (↵ adds; blanks and duplicates are ignored, at most 50), and a sunken footer saying Claude Code sessions use `spinnerVerbs` from Claude Code's settings first, with "Reset to the built-in verbs" once the list was edited. Archive: "Delete merged branches on archive" (off; unmerged branches are never deleted). A last `caption` line points to Harnesses for Model, effort and permissions, which stay per Harness in its footer strip.
- **Harnesses (S1).** One group per Harness: a 40px Harness tile with its still dither, name, one caption line on how Polaris drives it, and "Ready on N of M hosts". One row per host: version (mono), availability (ready with its sign-in kind, needs sign-in, needs a newer version, not installed) in neutral glyphs and text, never a signal colour, and at most one action ("Sign in in terminal", or "Open setup guide" for a Harness that is missing or too old). A version at or above the Harness's minimum but below the one its driver was tested with is ready, with a quiet `caption` after the status in `text-subtle`: "older than tested (2.1.283)". It never takes a signal colour and never adds an action (no update button); the Harness picker, Settings → Hosts and the first-run footer ("Claude Code 2.1.272, older than tested (2.1.283)") say it the same way. Polaris never installs or updates a Harness: the setup guide is the catalogue's docs link. Sign-in always opens the Harness's own terminal; Polaris never shows a key field (ADR 0001). The footer strip sets what new sessions start with: model, effort, permissions. A Harness that is ready everywhere collapses to its header.
@@ -600,14 +611,25 @@ Settings replaces the three zones inside the one main window (no separate window
- **Editor.** Under General, after Sessions: "Vim mode" (off) with a caption naming the commands and that Polaris shortcuts keep working in every mode, and "Autosave after a short pause" (off), whose caption says unsaved edits stay on this Mac either way and a save never overwrites a newer version on disk.
- **Editor · language integrations (M3.1, planned).** Settings owns language/provider/formatter choices and file associations, with app defaults, per-language and per-workspace overrides, and per-host executable/interpreter/SDK selection. Show each host's installed version, prerequisites and one action (Install, Update, Retry or Restart). Install on first encounter with a toast naming the language and host; updates are explicit. Runtimes and project toolchains remain the user's responsibility. "Format on save" starts on; the formatter respects project configuration. Formatting failure still saves and shows an error toast. Workspaces have a trust choice before tooling executes project code; worktrees inherit it, review checkouts ask separately. Full scope: docs/specs/editor-language-tooling-m3.1.md.
- **Hosts (S4).** A table of hosts (name, ssh alias in mono, workspace count, daemon version, Connection State, overflow menu). Connected is a filled `text-subtle` dot with latency; Reconnecting dims the row to ~55% with a hollow dot and elapsed time; Offline is a dashed dot with "last seen"; Needs Attention expands inline under its row with what happened, the evidence in a sunken well, and at most one fix. A changed host key only offers to copy the command. "Add a host" is the page's one primary button. A row opened because something needs the user shows only that (the approval card or the one reason card) and stays open afterwards to say what the install or upgrade did; its settings (name, agent forwarding, off by default, and the remote command) show only when the user opens the row. "Add a host" opens inline under the table: `~/.ssh/config` aliases as a list (wildcards left out), a name, an optional mark and the forwarding switch. Install progress is Polaris's own work, so it is the Starlight dither and the step in words ("Copying the build over SSH and checking its SHA-256"), never a guessed byte bar. The local host row carries "Use this Mac as a host" instead of remove.
-- **Hosts · daemon updates (no mockup).** This Mac is the table's first row; each row's caption adds the platform ("ssh studio · Linux arm64"), and the Daemon lane shows the installed version. Under the row's main line, indented to the name, one `caption` line says where its daemon update is: "Update available · 0.4.1 → 0.5.0" with one secondary small "Update" (disabled with "Updates once is connected" while it isn't); the work as the still Starlight dither with the step in words ("Checking", "Copying polaris 0.5.0 · 7.3 of 18.6 MB", "Switching to 0.5.0; agent sessions keep going"), plus a 120px 2px bar in `text-subtle` only while real streamed bytes are counted (never a guessed bar); "Updated to 0.5.0 · 3m ago" with the pixel check for a day; a host with its own choice says so ("Updates its daemon only when you ask"). A failed update is a reason card in the row, like Needs Attention: what happened, that the old daemon still runs, the evidence or command in a sunken well, Retry and at most one more (Copy command, Open in terminal); a connection's own card wins over it. "Keep daemons up to date" is a switch in the table's sunken foot with its caption (upgrades on connect, keeps working agent sessions, never installs without approval); each host overrides it from its row menu's "Daemon updates" radio group (Use the app setting (on), Always keep up to date, Only when I ask) or a select in its opened settings. Notices about an old daemon elsewhere (the `/` menu, the risk column) link here with "Update daemon".
+- **Hosts · daemon upgrades (Paper U6, proposed).** A Daemon Upgrade replaces a host's daemon with the build this Mac's Polaris carries, so the words are always "upgrade", never "update" (that is the app's; CONTEXT.md). This Mac is the table's first row; each row's caption adds the platform ("ssh studio · Linux arm64"), and the Daemon lane shows the installed version. Under the row's main line, indented to the name, one `caption` line says where its upgrade is: "0.5.0 available · upgrades its daemon only when you ask" with one secondary small "Upgrade" (disabled with "Upgrades once is connected" while it isn't); "Upgrades to 0.5.0 when it connects" for a host that is offline or reconnecting; the work as the still Starlight dither with the step in words ("Checking", "Copying polaris 0.5.0 · 7.3 of 18.6 MB", "Switching to 0.5.0; agent sessions keep going"), plus a 120px 2px bar in `text-subtle` only while real streamed bytes are counted (never a guessed bar); "Upgraded to 0.5.0 · 3m ago" with the pixel check for a day. A failed upgrade is a reason card in the row, like Needs Attention: what happened, that the old daemon still runs, the evidence or command in a sunken well, Retry and at most one more (Copy command, Open in terminal); a connection's own card wins over it. "Keep daemons up to date" is a switch in the table's sunken foot ("Upgrades each host to this Mac's release when it connects; agent sessions keep working."; a first install still asks for approval); each host overrides it from its row menu's "Daemon upgrades" radio group (Use the app setting (on), Always keep up to date, Only when I ask) or a select in its opened settings. Notices about an old daemon elsewhere (the `/` menu, the risk column) link here with "Upgrade daemon".
- **Attachments.** Under Machines, after Hosts. One section per host (each keeps its own settings, ENG-180): the host's name as the heading, then a group. The first row is "Delete attachments", the host's default: when the session is archived (the default), after 1, 7, 30 or 90 days, or never, until cleared. Then one row per workspace on that host, its name and what it has staged ("94 B in 2 files", "Nothing staged"), with a select whose first choice is "Default · …". The sunken footer strip says what the host holds and offers "Clear now" (danger), which asks once more in place ("Cancel", "Delete 2 files") before deleting. A host that isn't connected, or whose daemon predates it, gets one caption line instead of the group.
+- **About (Paper U1, U2, U3, proposed).** The nav foot's "About Polaris" opens it, as do Polaris → About Polaris and the K menu ("Settings: About"). No page title: a 64px app icon beside "Polaris 0.4.0" in `title` and one `body` line in `text-subtle` ("Released Sep 18, 2026 · Apple silicon · Apache-2.0"). Then an "Updates" group: the update row (its states below), "Check for updates automatically" (on; "On launch and every 6 hours; downloads in the background", or when off "Off · Polaris checks only when you choose Check now"), "Last checked" with "Today at 14:02 · found 0.5.0" and a secondary "Check now" (the update row carries Check now itself when it has no other action), and a sunken footer, "What Polaris sends with each check": Install ID (mono, shortened, "random, made on this Mac"), Version, Arch, macOS, each a fixed 96px label lane, then "Nothing else: no account, host, workspace or IP. Turning automatic checks off stops both." With checks off the footer reads "What Polaris sends when you check" and the Install ID row says "Not sent while automatic checks are off" (docs/adr/0017). Last, "Daemons on your hosts": one `body` line ("After the update, each host's daemon is upgraded to 0.5.0 when it connects.") and a ghost "Open hosts".
+- **The update row (U3).** The group's first row: a 16px glyph, a `label` title, a `caption` line and at most one action besides "Release notes" (ghost). Checking: the Starlight dither, "Checking for updates…", "Asking polaris.lux.dev for the latest release", no action. Up to date: a check in `text-subtle`, "Polaris is up to date", "0.4.0 is the latest release · checked 2h ago", Check now. Downloading: the Starlight dither, "Downloading Polaris 0.5.0", "In the background · nothing to do yet", and no bar or byte count (macOS's updater reports none). Ready: the flat Starlight mark, "Polaris 0.5.0 is ready", "Installs when you restart or quit; agent sessions keep working", Release notes and the page's one primary, "Restart to update". Can't install here (running from Downloads or a disk image): a folder glyph, "Polaris 0.5.0 can't install here", "Move Polaris to Applications, then check again", Show in Finder. Couldn't check: a neutral outlined "!", "Couldn't check for updates", "polaris.lux.dev didn't answer at 14:02 · tries again in 6 hours", Try again; never a signal colour (it is not a Session State or a Severity). Checks off: a dashed circle, "Automatic checks are off", "Last checked Sep 20 · 0.4.0 was the latest then", Check now.
- **Setting rows.** A setting's name is 13/400 `text-default` (Paper S7), its caption 12 `text-subtle`; rows, override rows and footer strips pad by the density gap, so every Settings page follows Calm, Balanced and Compact.
- **Reviewer (S7).** First in the Review section. A group headed by the Starlight reviewer tile ("Reviews with Codex · GPT-6.1-Sol · High", "For every change, whichever harness made it · read-only"; in automatic mode the caption names the fallback chain and wraps rather than truncating; "Ready on N of M hosts"), then Harness, Model and Effort selects (efforts capitalised), then one row per host in S1's lanes and neutral glyphs, with its review checkout count in `text-subtle`. A host where the reviewer can't run says what its risk summaries do instead ("run rules only") with S1's single action. The reviewer settings live on each host; a change here is written to every connected host. Workspace overrides follow S5's pattern: a sunken strip counting them ("1 workspace overrides the reviewer", one example) with "Edit overrides" opening the list inline beneath it (rule: overrides are edited in place, never in a separate workspace settings page). "When it runs": switches for pull requests on open and agent sessions on open or accept, and "Ask first for large changes" (default over 2,000 changed lines, or Never: rules run, the reviewer waits for "Run reviewer"). "What it checks against": Secrets (always on; critical unless a low-confidence generic match, which is medium), Dangerous patterns (the built-in pack, always on), Review instructions (`.polaris/review.md` and the private host file), and a caption that the reviewer's tokens count in Usage with "Open usage". Later (M6, with Risk memory learning): Risk memory counts with Show all, the proposals-waiting row, a switch for dangerous patterns, and the 7-day reviews-and-tokens figure.
- **GitHub accounts (S5, S6).** Under a Review section (Reviewer, GitHub accounts). Accounts as a group, rows on the session-row token: avatar on the harness-tile token, login, "Default" badge on the first (routing order; "Make default" moves an account first), what it covers, "signed in 3 weeks ago" in `text-subtle`; a revoked token reads "Signed out · GitHub refused its token 2 days ago" with "Sign in again", neutral. Then "Account per owner": owner, its workspaces, and an account select; an unmapped owner shows a dashed "Choose account" in `text-default` caption type; an owner whose org blocks Polaris says so under its row with one action, "Get access", whose menu holds Request access, Sign in with SSO and Check again; "Everyone else" uses the default. A sunken strip counts workspace overrides with one example, and "Edit overrides" edits them inline beneath it. "Add account" opens inline (S6): the device code large in mono, Copy code and "Open github.com/login/device" (28px buttons), "Waiting for GitHub" with the expiry in tabular figures, then a caption that GitHub asks for `repo` (full read and write to every repository the account reaches; GitHub has no read-only scope for private repositories) and `read:org`, and one on adding a second account while signed in to another on github.com. The card's padding follows density.
- **GitHub Enterprise (no mockup yet).** Below the owners, collapsed to one ghost "Add a GitHub Enterprise server" until there is one. Then a "GitHub Enterprise" group: each server's domain, its account count and OAuth App client ID in a caption, "Add account" (the same inline device flow, its copy naming the server), and a menu with "Manage Polaris on " and removal (the server and its accounts, from this Mac). Adding is inline: Server (domain, URL or API URL) and Client ID, with a caption on who provides the client ID. Copy says "server", never "host": a Host runs a Daemon (CONTEXT.md). Accounts on a server lead their caption with its domain.
- **Harness hue in Settings.** Beyond tiles and dither, a Harness hue may fill plan-limit meter cells, chart series and 8px legend squares, since those are identity. It still never colours text, buttons or selection.
+### Updates and daemon upgrades
+
+An Update is the Desktop App replacing itself with a newer Release; a Daemon Upgrade is a host's daemon replaced by the build the app carries (CONTEXT.md). Copy keeps the two words apart, lowercase: "update" for the app, "upgrade" for daemons. Mockups: Updates page, U1–U6 (proposed; the quiet upgrades and "Quit and update" approved by the owner, 2026-10-02).
+
+- **Never interrupts.** An update downloads in the background and waits. There is no toast, badge, dot, dialog or Dock bounce, and nothing appears over a running Turn: the user finds it where they already look for the app's own state, and acts when they choose.
+- **"Restart to update" in three places, all at once.** The app menu, under About Polaris: "Restart to update to 0.5.0" (the same slot reads "Check for updates…" otherwise), and Quit reads "Quit and update" (⌘Q installs on the way out; closing the window still only hides Polaris; kept by the owner, 2026-10-02). Settings → About: the ready row, with the view's one primary button, and the nav foot's caption "0.4.0 · update ready". The K menu: an action "Restart to update" ("Polaris 0.5.0 · agent sessions keep working"), found by "update", "restart" or "upgrade", and listed last under Actions on an empty field; "Check for updates" and "Settings: About" sit beside it. The menu bar star's menu stays as it is.
+- **A restart keeps sessions.** Agent sessions run in their daemons, so a restart never stops a Turn; the copy says "agent sessions keep working", never asks to confirm, and never counts down.
+- **Quiet daemon upgrades (U5, U6).** After an automatic Daemon Upgrade the host says so where hosts already speak: the machine bar's caption under the host's name becomes "Upgraded to 0.5.0" (in place of its workspace count) for an hour or until the user opens that host, and its tooltip reads "Daemon upgraded to 0.5.0 · 3m ago" over "From 0.4.0, to match this Mac. Agent sessions kept working."; Settings → Hosts keeps "Upgraded to 0.5.0 · 3m ago" with the pixel check for a day. No toast, for automatic or user-started upgrades: one release upgrades every host, and a toast per host would be the noise this avoids. This supersedes the 2026-10-01 decision that any Host's upgrade is a "Daemon upgraded" toast (owner, 2026-10-02); the toast still in code (`upgradeNotes` in `apps/desktop/src/renderer/features/machines/model.ts`, `main/machines/README.md`) goes with the updater work (ENG-261). In the workspace bar (dark Orchestrator, no mockup) the host's label carries the same tooltip.
+
### Onboarding
One brand moment, then the real shell; never a wizard. First launch shows a full-bleed scene (night or dawn) with the horizontal lockup, the tagline, one line saying what Polaris drives, and a single "Get started" button in the brand-moment size (see Buttons). A footer states what was found on this Mac (Harness versions, hosts in `~/.ssh/config`). After that, the app opens to the empty Orchestrator, and returns to it whenever no host has a workspace. The stage holds a clearing, the headline "Where does your code live?", and a `surface-raised` setup card with three rows: add a workspace (primary; "Choose folder ⌘O" opens the Open folder dialog on that host, this Mac or remote), connect a host (optional), and start a session. Starting a session never waits for a workspace: with none on the host, the row, New session and ⌘N register the host's home directory as the workspace "home" and open New session in it, as a local shell would. The row is locked only while the host isn't connected. Adding a host uses the same inline components on day 1 and day 60. The first install shows platform, version, SHA-256 and install path in a sunken well, with "Approve and install" and "Not now". Each needs-attention reason (`host-key-unknown`, `host-key-changed`, `auth-failed`, `daemon-not-running`, `protocol-mismatch`) gets an inline card: what happened, the command or stderr line in a well, and at most one fix. A changed host key never gets a one-click fix. Mockups: Onboarding page, O1–O4.
@@ -645,7 +667,7 @@ Pasted and dropped files stage on the session's Host straight away and show as s
The composer is a plain-text editor (Lexical) where the Harness's **Skills** and **Slash Commands** (CONTEXT.md) become chips (rule/commands-are-chips).
-- **The list.** Typing `/` at the start of the message (or `$` anywhere, for a Codex Skill) opens a floating list just above the composer, left-aligned with it, up to 560px wide and 320px tall: `surface-raised`, `card` radius, hairline and the float shadow, fading in over 160ms. Rows are two lines: a 16px icon (Skills: a file with a sparkle; commands: a bolt) in `text-subtle`, the name with its sigil in `label` medium, a faint argument hint (``) and, trailing in `micro`, where it comes from (`project`, `user`, the plugin's name; nothing for built-in ones); then its description in one truncated `caption` line. Skills come first, then commands, each under a `caption` header when both are shown. Typing filters it: prefixes of the name, then of a part (`codex:re` → `codex:review`), then from two letters on anywhere inside; within each of those the user's own **frecency** (how often and how lately they picked it, Sightline's Find scoring) breaks ties, so match quality always wins over habit. A bare `/` leads with up to five frecent picks under a "Recent" header, then Skills and commands as usual. Frecency is kept on this device only, per Host, Workspace and Harness, bounded (120 picks per table, 40 tables). It shows at most 50 rows with "N more · keep typing to narrow" under them. While the Host is still reading the list: one `caption` line, "Reading skills and commands…". Nothing matching closes it; a Harness that lists nothing never opens it. **A Host whose Daemon is too old to list them** never shows an empty list: in the list's place, one `caption` line, "Skills need a newer daemon on Mac Studio", with a secondary "Upgrade daemon ↵" that runs that Host's upgrade (as Settings → Hosts does). It follows the upgrade: "Upgrading the daemon on Mac Studio…", "Couldn't upgrade the daemon on Mac Studio: …" with "Try again", then the list once the Host reconnects. Any Host's upgrade says so in a Polaris toast, "Daemon upgraded · This Mac · 0.0.0-dev.399 → 0.0.0-dev.412".
+- **The list.** Typing `/` at the start of the message (or `$` anywhere, for a Codex Skill) opens a floating list just above the composer, left-aligned with it, up to 560px wide and 320px tall: `surface-raised`, `card` radius, hairline and the float shadow, fading in over 160ms. Rows are two lines: a 16px icon (Skills: a file with a sparkle; commands: a bolt) in `text-subtle`, the name with its sigil in `label` medium, a faint argument hint (``) and, trailing in `micro`, where it comes from (`project`, `user`, the plugin's name; nothing for built-in ones); then its description in one truncated `caption` line. Skills come first, then commands, each under a `caption` header when both are shown. Typing filters it: prefixes of the name, then of a part (`codex:re` → `codex:review`), then from two letters on anywhere inside; within each of those the user's own **frecency** (how often and how lately they picked it, Sightline's Find scoring) breaks ties, so match quality always wins over habit. A bare `/` leads with up to five frecent picks under a "Recent" header, then Skills and commands as usual. Frecency is kept on this device only, per Host, Workspace and Harness, bounded (120 picks per table, 40 tables). It shows at most 50 rows with "N more · keep typing to narrow" under them. While the Host is still reading the list: one `caption` line, "Reading skills and commands…". Nothing matching closes it; a Harness that lists nothing never opens it. **A Host whose Daemon is too old to list them** never shows an empty list: in the list's place, one `caption` line, "Skills need a newer daemon on Mac Studio", with a secondary "Upgrade daemon ↵" that runs that Host's upgrade (as Settings → Hosts does). It follows the upgrade: "Upgrading the daemon on Mac Studio…", "Couldn't upgrade the daemon on Mac Studio: …" with "Try again", then the list once the Host reconnects. The upgrade itself is reported quietly, as every Daemon Upgrade is (see Updates and daemon upgrades): no toast.
- **Keyboard-first.** The editor keeps focus: ↑ ↓ move the highlight (`fill-selected`), ↵ or ⇥ pick, esc closes the list for that word (a second esc stops a Working Turn as before). A click picks too; hovering moves the highlight.
- **The chip.** Picking one replaces the typed word with a chip: its name in `label` medium `text-strong` on `fill-selected`, `control` radius, 1px by 5px padding, with its kind's icon in `text-subtle` standing in for the sigil. It sits inline in the text and never changes the line height. The caret and Backspace take it whole; copying it gives its sigil and name. A listed name typed through with a space after it (`/compact `) becomes a chip too, as does a restored draft's. Chips are neutral: the Harness hue stays in its three places.
- **What runs.** Each entry carries how it runs (`harness.commands`): sent as text in the Turn (most Skills and commands; a Codex custom prompt goes expanded), turned by the driver into the Harness's own call (Codex `/compact`, `/review`; OpenCode's commands), or done by Polaris itself, in which case picking it leaves no chip and no text: `/model` and `/effort` open the Model menu, `/clear` and `/new` start a new session, `/diff` shows Output, `/usage` and `/cost` open Settings → Usage. Commands only a Harness's terminal UI can run (themes, `/config`, `/mcp`, `/heapdump`…) are never listed. The per-Harness table is in `apps/daemon/src/harness/README.md` and each driver's README.
diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md
index e89dcecf..0a3cb4fc 100644
--- a/THIRD_PARTY_NOTICES.md
+++ b/THIRD_PARTY_NOTICES.md
@@ -13,7 +13,26 @@ Generated by `bun run licenses` from the installed production dependencies of th
| @ast-grep/lang-rust | 0.0.7 | ISC | |
| @ast-grep/napi | 0.45.3 | MIT | https://github.com/ast-grep/ast-grep |
| @ast-grep/setup-lang | 0.0.6 | ISC | |
+| @aws-sdk/client-sesv2 | 3.1146.0 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/core | 3.978.1 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/credential-provider-env | 3.972.72 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/credential-provider-http | 3.972.74 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/credential-provider-ini | 3.973.17 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/credential-provider-login | 3.972.79 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/credential-provider-node | 3.972.84 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/credential-provider-process | 3.972.72 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/credential-provider-sso | 3.973.16 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/credential-provider-web-identity | 3.972.78 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/nested-clients | 3.997.46 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/signature-v4-multi-region | 3.996.47 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/token-providers | 3.1138.0 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/types | 3.974.6 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws-sdk/xml-builder | 3.972.41 | Apache-2.0 | https://github.com/aws/aws-sdk-js-v3 |
+| @aws/lambda-invoke-store | 0.3.0 | Apache-2.0 | https://github.com/awslabs/aws-lambda-invoke-store |
+| @babel/helper-string-parser | 7.29.7 | MIT | https://github.com/babel/babel |
+| @babel/helper-validator-identifier | 7.29.7 | MIT | https://github.com/babel/babel |
| @babel/runtime | 7.29.7 | MIT | https://github.com/babel/babel |
+| @babel/types | 7.29.8 | MIT | https://github.com/babel/babel |
| @braintree/sanitize-url | 7.1.2 | MIT | https://github.com/braintree/sanitize-url |
| @chevrotain/types | 11.1.2 | Apache-2.0 | git://github.com/Chevrotain/chevrotain |
| @codemirror/autocomplete | 6.20.3 | MIT | https://code.haverbeke.berlin/codemirror/autocomplete |
@@ -48,6 +67,7 @@ Generated by `bun run licenses` from the installed production dependencies of th
| @hono/node-server | 2.1.1 | MIT | https://github.com/honojs/node-server |
| @iconify/types | 2.0.0 | MIT | https://github.com/iconify/iconify |
| @iconify/utils | 3.1.7 | MIT | https://github.com/iconify/iconify |
+| @img/colour | 1.1.0 | MIT | https://github.com/lovell/colour |
| @lexical/clipboard | 0.52.0 | MIT | https://github.com/facebook/lexical |
| @lexical/dragon | 0.52.0 | MIT | https://github.com/facebook/lexical |
| @lexical/extension | 0.52.0 | MIT | https://github.com/facebook/lexical |
@@ -75,6 +95,7 @@ Generated by `bun run licenses` from the installed production dependencies of th
| @marijn/find-cluster-break | 1.0.4 | MIT | https://code.haverbeke.berlin/marijn/find-cluster-break |
| @mermaid-js/parser | 1.2.1 | MIT | https://github.com/mermaid-js/mermaid |
| @modelcontextprotocol/sdk | 1.30.1 | MIT | https://github.com/modelcontextprotocol/typescript-sdk |
+| @next/env | 16.3.8 | MIT | https://github.com/vercel/next.js |
| @pierre/diffs | 1.5.1 | apache-2.0 | |
| @pierre/theme | 2.0.0 | apache-2.0 | https://github.com/pierrecomputer/pierre |
| @pierre/theming | 1.0.1 | apache-2.0 | |
@@ -153,10 +174,17 @@ Generated by `bun run licenses` from the installed production dependencies of th
| @shikijs/types | 4.4.3 | MIT | https://github.com/shikijs/shiki |
| @shikijs/types | 4.5.0 | MIT | https://github.com/shikijs/shiki |
| @shikijs/vscode-textmate | 10.0.2 | MIT | https://github.com/shikijs/vscode-textmate |
+| @smithy/core | 3.35.1 | Apache-2.0 | https://github.com/smithy-lang/smithy-typescript |
+| @smithy/credential-provider-imds | 4.5.2 | Apache-2.0 | https://github.com/smithy-lang/smithy-typescript |
+| @smithy/fetch-http-handler | 5.8.0 | Apache-2.0 | https://github.com/smithy-lang/smithy-typescript |
+| @smithy/node-http-handler | 4.12.1 | Apache-2.0 | https://github.com/smithy-lang/smithy-typescript |
+| @smithy/signature-v4 | 5.7.4 | Apache-2.0 | https://github.com/smithy-lang/smithy-typescript |
+| @smithy/types | 4.19.0 | Apache-2.0 | https://github.com/smithy-lang/smithy-typescript |
| @stablelib/base64 | 1.0.1 | MIT | https://github.com/StableLib/stablelib |
| @streamdown/code | 2.0.0 | Apache-2.0 | https://github.com/vercel/streamdown |
| @streamdown/math | 1.0.3 | Apache-2.0 | https://github.com/vercel/streamdown |
| @streamdown/mermaid | 1.0.3 | Apache-2.0 | https://github.com/vercel/streamdown |
+| @swc/helpers | 0.5.23 | Apache-2.0 | https://github.com/swc-project/swc |
| @tanstack/react-virtual | 3.14.13 | MIT | https://github.com/TanStack/virtual |
| @tanstack/virtual-core | 3.17.11 | MIT | https://github.com/TanStack/virtual |
| @types/d3 | 7.4.3 | MIT | https://github.com/DefinitelyTyped/DefinitelyTyped |
@@ -215,17 +243,23 @@ Generated by `bun run licenses` from the installed production dependencies of th
| ajv | 8.20.0 | MIT | ajv-validator/ajv |
| ajv-formats | 3.0.1 | MIT | https://github.com/ajv-validator/ajv-formats |
| aria-hidden | 1.2.6 | MIT | https://github.com/theKashey/aria-hidden |
+| babel-plugin-react-compiler | 1.0.0 | MIT | https://github.com/facebook/react |
| bail | 2.0.2 | MIT | wooorm/bail |
+| baseline-browser-mapping | 2.11.26 | Apache-2.0 | https://github.com/web-platform-dx/baseline-browser-mapping |
| body-parser | 2.3.0 | MIT | expressjs/body-parser |
+| botid | 1.5.11 | unknown (exception) | |
+| bowser | 2.14.1 | MIT | https://github.com/bowser-js/bowser |
| bytes | 3.1.2 | MIT | visionmedia/bytes.js |
| call-bind-apply-helpers | 1.0.2 | MIT | https://github.com/ljharb/call-bind-apply-helpers |
| call-bound | 1.0.4 | MIT | https://github.com/ljharb/call-bound |
+| caniuse-lite | 1.0.30001813 | CC-BY-4.0 (exception) | browserslist/caniuse-lite |
| ccount | 2.0.1 | MIT | wooorm/ccount |
| character-entities | 2.0.2 | MIT | wooorm/character-entities |
| character-entities-html4 | 2.1.0 | MIT | wooorm/character-entities-html4 |
| character-entities-legacy | 3.0.0 | MIT | wooorm/character-entities-legacy |
| character-reference-invalid | 2.0.1 | MIT | wooorm/character-reference-invalid |
| class-variance-authority | 0.7.1 | Apache-2.0 | https://github.com/joe-bell/cva |
+| client-only | 0.0.1 | MIT | https://reactjs.org/ |
| clsx | 2.1.1 | MIT | lukeed/clsx |
| cmdk | 1.1.1 | MIT | https://github.com/pacocoursey/cmdk |
| comma-separated-tokens | 2.0.3 | MIT | wooorm/comma-separated-tokens |
@@ -287,6 +321,7 @@ Generated by `bun run licenses` from the installed production dependencies of th
| delaunator | 5.1.0 | ISC | https://github.com/mapbox/delaunator |
| depd | 2.0.0 | MIT | dougwilson/nodejs-depd |
| dequal | 2.0.3 | MIT | lukeed/dequal |
+| detect-libc | 2.1.2 | Apache-2.0 | git://github.com/lovell/detect-libc |
| detect-node-es | 1.1.0 | MIT | https://github.com/thekashey/detect-node |
| devlop | 1.1.0 | MIT | wooorm/devlop |
| diff | 9.0.0 | BSD-3-Clause | https://github.com/kpdecker/jsdiff |
@@ -425,7 +460,9 @@ Generated by `bun run licenses` from the installed production dependencies of th
| mime-db | 1.54.0 | MIT | jshttp/mime-db |
| mime-types | 3.0.2 | MIT | jshttp/mime-types |
| ms | 2.1.3 | MIT | vercel/ms |
+| nanoid | 3.3.19 | MIT | ai/nanoid |
| negotiator | 1.1.0 | MIT | jshttp/negotiator |
+| next | 16.3.8 | MIT | vercel/next.js |
| object-assign | 4.1.1 | MIT | sindresorhus/object-assign |
| object-inspect | 1.13.4 | MIT | git://github.com/inspect-js/object-inspect |
| on-finished | 2.4.1 | MIT | jshttp/on-finished |
@@ -439,9 +476,11 @@ Generated by `bun run licenses` from the installed production dependencies of th
| path-data-parser | 0.1.0 | MIT | https://github.com/pshihn/path-data-parser |
| path-key | 3.1.1 | MIT | sindresorhus/path-key |
| path-to-regexp | 8.4.2 | MIT | https://github.com/pillarjs/path-to-regexp |
+| picocolors | 1.1.1 | ISC | alexeyraspopov/picocolors |
| pkce-challenge | 5.0.1 | MIT | https://github.com/crouchcd/pkce-challenge |
| points-on-curve | 0.2.0 | MIT | https://github.com/pshihn/bezier-points |
| points-on-path | 0.2.1 | MIT | https://github.com/pshihn/points-on-path |
+| postcss | 8.5.23 | MIT | postcss/postcss |
| property-information | 7.2.0 | MIT | wooorm/property-information |
| proxy-addr | 2.0.8 | MIT | jshttp/proxy-addr |
| qs | 6.16.0 | BSD-3-Clause | https://github.com/ljharb/qs |
@@ -473,9 +512,11 @@ Generated by `bun run licenses` from the installed production dependencies of th
| rw | 1.3.3 | BSD-3-Clause | http://github.com/mbostock/rw |
| safer-buffer | 2.1.2 | MIT | https://github.com/ChALkeR/safer-buffer |
| scheduler | 0.28.0 | MIT | https://github.com/react/react |
+| semver | 7.8.5 | ISC | https://github.com/npm/node-semver |
| send | 1.2.1 | MIT | pillarjs/send |
| serve-static | 2.2.1 | MIT | expressjs/serve-static |
| setprototypeof | 1.2.0 | ISC | https://github.com/wesleytodd/setprototypeof |
+| sharp | 0.35.5 | Apache-2.0 | https://github.com/lovell/sharp |
| shebang-command | 2.0.0 | MIT | kevva/shebang-command |
| shebang-regex | 3.0.0 | MIT | sindresorhus/shebang-regex |
| shiki | 4.4.3 | MIT | https://github.com/shikijs/shiki |
@@ -484,6 +525,7 @@ Generated by `bun run licenses` from the installed production dependencies of th
| side-channel-map | 1.0.1 | MIT | https://github.com/ljharb/side-channel-map |
| side-channel-weakmap | 1.0.2 | MIT | https://github.com/ljharb/side-channel-weakmap |
| sonner | 2.0.8 | MIT | https://github.com/emilkowalski/sonner |
+| source-map-js | 1.2.1 | BSD-3-Clause | 7rulnik/source-map-js |
| space-separated-tokens | 2.0.2 | MIT | wooorm/space-separated-tokens |
| standardwebhooks | 1.1.1 | MIT | https://github.com/standard-webhooks/standard-webhooks |
| statuses | 2.0.2 | MIT | jshttp/statuses |
@@ -493,6 +535,7 @@ Generated by `bun run licenses` from the installed production dependencies of th
| style-mod | 4.1.4 | MIT | https://code.haverbeke.berlin/marijn/style-mod |
| style-to-js | 1.1.21 | MIT | https://github.com/remarkablemark/style-to-js |
| style-to-object | 1.0.14 | MIT | https://github.com/remarkablemark/style-to-object |
+| styled-jsx | 5.1.6 | MIT | vercel/styled-jsx |
| stylis | 4.4.0 | MIT | https://github.com/thysultan/stylis.js |
| tailwind-merge | 3.7.0 | MIT | https://github.com/dcastil/tailwind-merge |
| tailwindcss | 4.3.3 | MIT | https://github.com/tailwindlabs/tailwindcss |
@@ -537,6 +580,8 @@ Generated by `bun run licenses` from the installed production dependencies of th
## Licence exceptions
- **@anthropic-ai/claude-agent-sdk**: Anthropic terms; tolerated as in T3 Code; recheck before public release.
+- **botid**: MIT per the publisher README bundled in botid@1.5.11 and https://www.npmjs.com/package/botid; this published package omits its licence field and LICENSE file. Required Vercel bot detection for apps/site only, never shipped in the Desktop App or Daemon.
+- **caniuse-lite**: CC-BY-4.0 browser-support data (attribution kept in THIRD_PARTY_NOTICES.md), pulled in by next for apps/site; data, not code, and never shipped in the Desktop App or Daemon.
- **khroma**: MIT per its bundled license file (khroma@2.1.0/license); its package.json omits the licence field. Pulled in by mermaid (via @streamdown/mermaid).
## Licence texts
@@ -745,60 +790,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @babel/runtime@7.29.7
-
-```text
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-```
-
-### @braintree/sanitize-url@7.1.2
-
-```text
-MIT License
-
-Copyright (c) 2017 Braintree
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
-
-### @chevrotain/types@11.1.2
+### @aws-sdk/client-sesv2@3.1146.0
```text
Apache License
@@ -981,7 +973,7 @@ Apache License
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
+ boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
@@ -989,7 +981,7 @@ Apache License
same "printed page" as the copyright notice for easier
identification within third-party archives.
- Copyright [yyyy] [name of copyright owner]
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -1004,1689 +996,2056 @@ Apache License
limitations under the License.
```
-### @codemirror/autocomplete@6.20.3
+### @aws-sdk/core@3.978.1
```text
-MIT License
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 1. Definitions.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-### @codemirror/commands@6.11.1
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-```text
-MIT License
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-### @codemirror/lang-css@6.3.1
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-```text
-MIT License
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-### @codemirror/lang-go@6.0.1
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-```text
-MIT License
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-Copyright (C) 2024 by Marijn Haverbeke and others
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-### @codemirror/lang-html@6.4.12
-
-```text
-MIT License
-
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ END OF TERMS AND CONDITIONS
-### @codemirror/lang-java@6.0.2
+ APPENDIX: How to apply the Apache License to your work.
-```text
-MIT License
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ http://www.apache.org/licenses/LICENSE-2.0
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @codemirror/lang-javascript@6.2.5
+### @aws-sdk/credential-provider-env@3.972.72
```text
-MIT License
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 1. Definitions.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-### @codemirror/lang-json@6.0.2
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-```text
-MIT License
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-### @codemirror/lang-markdown@6.5.2
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-```text
-MIT License
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-### @codemirror/lang-php@6.0.2
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-```text
-MIT License
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-### @codemirror/lang-python@6.2.1
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-```text
-MIT License
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ END OF TERMS AND CONDITIONS
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ APPENDIX: How to apply the Apache License to your work.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-### @codemirror/lang-rust@6.0.2
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-```text
-MIT License
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ http://www.apache.org/licenses/LICENSE-2.0
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+```
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+### @aws-sdk/credential-provider-http@3.972.74
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+Licensed under Apache-2.0 (no licence file shipped).
-### @codemirror/lang-sql@6.10.0
+### @aws-sdk/credential-provider-ini@3.973.17
```text
-MIT License
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 1. Definitions.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-### @codemirror/lang-yaml@6.1.3
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-```text
-MIT License
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-Copyright (C) 2024 by Marijn Haverbeke and others
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-### @codemirror/language@6.12.4
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-```text
-MIT License
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-### @codemirror/legacy-modes@6.5.4
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-```text
-MIT License
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-### @codemirror/lint@6.9.7
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-```text
-MIT License
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ END OF TERMS AND CONDITIONS
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ APPENDIX: How to apply the Apache License to your work.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-### @codemirror/merge@6.12.2
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-```text
-MIT License
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-Copyright (C) 2018-2022 by Marijn Haverbeke and others
+ http://www.apache.org/licenses/LICENSE-2.0
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+```
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+### @aws-sdk/credential-provider-login@3.972.79
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+Licensed under Apache-2.0 (no licence file shipped).
-### @codemirror/search@6.7.2
+### @aws-sdk/credential-provider-node@3.972.84
```text
-MIT License
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 1. Definitions.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-### @codemirror/state@6.7.6
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-```text
-MIT License
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-### @codemirror/view@6.43.13
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-```text
-MIT License
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-### @effect/platform-bun@4.0.0-rc.118
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-```text
-MIT License
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-Copyright (c) 2023 Effectful Technologies Inc
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-### @effect/platform-node-shared@4.0.0-rc.118
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-```text
-MIT License
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-Copyright (c) 2023 Effectful Technologies Inc
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ END OF TERMS AND CONDITIONS
-### @effect/sql-sqlite-bun@4.0.0-rc.118
+ APPENDIX: How to apply the Apache License to your work.
-```text
-MIT License
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Copyright (c) 2023-present The Contributors
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ http://www.apache.org/licenses/LICENSE-2.0
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @ff-labs/fff-bun@0.11.1-nightly.89c1927
-
-Licensed under MIT (no licence file shipped).
-
-Per-platform builds published with this package: `@ff-labs/fff-bin-android-arm64@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-darwin-arm64@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-darwin-x64@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-linux-arm64-gnu@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-linux-arm64-musl@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-linux-x64-gnu@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-linux-x64-musl@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-win32-arm64@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-win32-x64@0.11.1-nightly.89c1927`.
-
-### @floating-ui/core@1.8.0
+### @aws-sdk/credential-provider-process@3.972.72
```text
-MIT License
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-Copyright (c) 2021-present Floating UI contributors
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
+ 1. Definitions.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-```
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-### @floating-ui/dom@1.8.0
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-```text
-MIT License
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-Copyright (c) 2021-present Floating UI contributors
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-```
-
-### @floating-ui/react-dom@2.1.9
-
-```text
-MIT License
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-Copyright (c) 2021-present Floating UI contributors
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-```
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-### @floating-ui/utils@0.2.12
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-```text
-MIT License
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-Copyright (c) 2021-present Floating UI contributors
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-```
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-### @hono/node-server@2.1.1
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-```text
-MIT License
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-Copyright (c) 2022 - present, Yusuke Wada and Hono contributors
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ END OF TERMS AND CONDITIONS
-### @iconify/types@2.0.0
+ APPENDIX: How to apply the Apache License to your work.
-```text
-MIT License
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Copyright (c) 2021 - 2022 Vjacheslav Trushkin / Iconify OÜ
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ http://www.apache.org/licenses/LICENSE-2.0
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @iconify/utils@3.1.7
+### @aws-sdk/credential-provider-sso@3.973.16
```text
-MIT License
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-Copyright (c) 2021-PRESENT Vjacheslav Trushkin
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 1. Definitions.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-### @lexical/clipboard@0.52.0
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-```text
-MIT License
-
-Copyright (c) Meta Platforms, Inc. and affiliates.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-### @lexical/dragon@0.52.0
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-```text
-MIT License
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-Copyright (c) Meta Platforms, Inc. and affiliates.
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-### @lexical/extension@0.52.0
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-```text
-MIT License
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-Copyright (c) Meta Platforms, Inc. and affiliates.
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-### @lexical/history@0.52.0
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-```text
-MIT License
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-Copyright (c) Meta Platforms, Inc. and affiliates.
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ END OF TERMS AND CONDITIONS
-### @lexical/html@0.52.0
+ APPENDIX: How to apply the Apache License to your work.
-```text
-MIT License
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Copyright (c) Meta Platforms, Inc. and affiliates.
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ http://www.apache.org/licenses/LICENSE-2.0
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @lexical/internal@0.52.0
+### @aws-sdk/credential-provider-web-identity@3.972.78
```text
-MIT License
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-Copyright (c) Meta Platforms, Inc. and affiliates.
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 1. Definitions.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-### @lexical/list@0.52.0
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-```text
-MIT License
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-Copyright (c) Meta Platforms, Inc. and affiliates.
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-### @lexical/plain-text@0.52.0
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-```text
-MIT License
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-Copyright (c) Meta Platforms, Inc. and affiliates.
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-### @lexical/selection@0.52.0
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-```text
-MIT License
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-Copyright (c) Meta Platforms, Inc. and affiliates.
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-### @lexical/utils@0.52.0
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-```text
-MIT License
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-Copyright (c) Meta Platforms, Inc. and affiliates.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ END OF TERMS AND CONDITIONS
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ APPENDIX: How to apply the Apache License to your work.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-### @lezer/common@1.5.3
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-```text
-MIT License
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-Copyright (C) 2018 by Marijn Haverbeke and others
+ http://www.apache.org/licenses/LICENSE-2.0
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+```
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+### @aws-sdk/nested-clients@3.997.46
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+Licensed under Apache-2.0 (no licence file shipped).
-### @lezer/css@1.3.8
+### @aws-sdk/signature-v4-multi-region@3.996.47
```text
-MIT License
-
-Copyright (C) 2018 by Marijn Haverbeke and others
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 1. Definitions.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-### @lezer/go@1.0.1
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-```text
-MIT License
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-Copyright (C) 2020 by Marijn Haverbeke and others
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-### @lezer/highlight@1.2.5
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-```text
-MIT License
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-Copyright (C) 2018 by Marijn Haverbeke and others
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-### @lezer/html@1.3.13
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-```text
-MIT License
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-Copyright (C) 2018 by Marijn Haverbeke and others
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-### @lezer/java@1.1.4
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-```text
-MIT License
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-Copyright (C) 2020 by Marijn Haverbeke and others
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ END OF TERMS AND CONDITIONS
-### @lezer/javascript@1.5.6
+ APPENDIX: How to apply the Apache License to your work.
-```text
-MIT License
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Copyright (C) 2018 by Marijn Haverbeke and others
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ http://www.apache.org/licenses/LICENSE-2.0
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @lezer/json@1.0.3
+### @aws-sdk/token-providers@3.1138.0
```text
-MIT License
-
-Copyright (C) 2020 by Marijn Haverbeke , Arun Srinivasan , and others
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ 1. Definitions.
-### @lezer/lr@1.4.10
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-```text
-MIT License
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-Copyright (C) 2018 by Marijn Haverbeke and others
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-### @lezer/markdown@1.7.2
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-```text
-MIT License
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-Copyright (C) 2020 by Marijn Haverbeke and others
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-### @lezer/php@1.0.6
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-```text
-MIT License
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-Copyright (C) 2018 by Marijn Haverbeke and others
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-### @lezer/python@1.1.19
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-```text
-MIT License
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-Copyright (C) 2020 by Marijn Haverbeke and others
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ END OF TERMS AND CONDITIONS
-### @lezer/rust@1.0.3
+ APPENDIX: How to apply the Apache License to your work.
-```text
-MIT License
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Copyright (C) 2018 by Marijn Haverbeke and others
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ http://www.apache.org/licenses/LICENSE-2.0
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @lezer/yaml@1.0.4
+### @aws-sdk/types@3.974.6
```text
-MIT License
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-Copyright (C) 2024 by Marijn Haverbeke and others
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 1. Definitions.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-### @marijn/find-cluster-break@1.0.4
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-```text
-MIT License
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-Copyright (C) 2024 by Marijn Haverbeke
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-### @mermaid-js/parser@1.2.1
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-```text
-The MIT License (MIT)
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-Copyright (c) 2023 Yokozuna59
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-### @modelcontextprotocol/sdk@1.30.1
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-```text
-MIT License
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-Copyright (c) 2024 Anthropic, PBC
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
-
-### @pierre/diffs@1.5.1
-
-```text
-Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction, and
- distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by the
- copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all other
- entities that control, are controlled by, or are under common control with
- that entity. For the purposes of this definition, "control" means (i) the
- power, direct or indirect, to cause the direction or management of such
- entity, whether by contract or otherwise, or (ii) ownership of fifty percent
- (50%) or more of the outstanding shares, or (iii) beneficial ownership of
- such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity exercising
- permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation source, and
- configuration files.
-
- "Object" form shall mean any form resulting from mechanical transformation
- or translation of a Source form, including but not limited to compiled
- object code, generated documentation, and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or Object form,
- made available under the License, as indicated by a copyright notice that is
- included in or attached to the work (an example is provided in the Appendix
- below).
-
- "Derivative Works" shall mean any work, whether in Source or Object form,
- that is based on (or derived from) the Work and for which the editorial
- revisions, annotations, elaborations, or other modifications represent, as a
- whole, an original work of authorship. For the purposes of this License,
- Derivative Works shall not include works that remain separable from, or
- merely link (or bind by name) to the interfaces of, the Work and Derivative
- Works thereof.
-
- "Contribution" shall mean any work of authorship, including the original
- version of the Work and any modifications or additions to that Work or
- Derivative Works thereof, that is intentionally submitted to Licensor for
- inclusion in the Work by the copyright owner or by an individual or Legal
- Entity authorized to submit on behalf of the copyright owner. For the
- purposes of this definition, "submitted" means any form of electronic,
- verbal, or written communication sent to the Licensor or its
- representatives, including but not limited to communication on electronic
- mailing lists, source code control systems, and issue tracking systems that
- are managed by, or on behalf of, the Licensor for the purpose of discussing
- and improving the Work, but excluding communication that is conspicuously
- marked or otherwise designated in writing by the copyright owner as "Not a
- Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity on
- behalf of whom a Contribution has been received by Licensor and subsequently
- incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this
- License, each Contributor hereby grants to You a perpetual, worldwide,
- non-exclusive, no-charge, royalty-free, irrevocable copyright license to
- reproduce, prepare Derivative Works of, publicly display, publicly perform,
- sublicense, and distribute the Work and such Derivative Works in Source or
- Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this
- License, each Contributor hereby grants to You a perpetual, worldwide,
- non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
- this section) patent license to make, have made, use, offer to sell, sell,
- import, and otherwise transfer the Work, where such license applies only to
- those patent claims licensable by such Contributor that are necessarily
- infringed by their Contribution(s) alone or by combination of their
- Contribution(s) with the Work to which such Contribution(s) was submitted.
- If You institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work or a
- Contribution incorporated within the Work constitutes direct or contributory
- patent infringement, then any patent licenses granted to You under this
- License for that Work shall terminate as of the date such litigation is
- filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or
- Derivative Works thereof in any medium, with or without modifications, and
- in Source or Object form, provided that You meet the following conditions:
-
- (a) You must give any other recipients of the Work or Derivative Works a
- copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices stating
- that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works that You
- distribute, all copyright, patent, trademark, and attribution notices from
- the Source form of the Work, excluding those notices that do not pertain to
- any part of the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its distribution,
- then any Derivative Works that You distribute must include a readable copy
- of the attribution notices contained within such NOTICE file, excluding
- those notices that do not pertain to any part of the Derivative Works, in at
- least one of the following places: within a NOTICE text file distributed as
- part of the Derivative Works; within the Source form or documentation, if
- provided along with the Derivative Works; or, within a display generated by
- the Derivative Works, if and wherever such third-party notices normally
- appear. The contents of the NOTICE file are for informational purposes only
- and do not modify the License. You may add Your own attribution notices
- within Derivative Works that You distribute, alongside or as an addendum to
- the NOTICE text from the Work, provided that such additional attribution
- notices cannot be construed as modifying the License.
-
- You may add Your own copyright statement to Your modifications and may
- provide additional or different license terms and conditions for use,
- reproduction, or distribution of Your modifications, or for any such
- Derivative Works as a whole, provided Your use, reproduction, and
- distribution of the Work otherwise complies with the conditions stated in
- this License.
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-5. Submission of Contributions. Unless You explicitly state otherwise, any
- Contribution intentionally submitted for inclusion in the Work by You to the
- Licensor shall be under the terms and conditions of this License, without
- any additional terms or conditions. Notwithstanding the above, nothing
- herein shall supersede or modify the terms of any separate license agreement
- you may have executed with Licensor regarding such Contributions.
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-6. Trademarks. This License does not grant permission to use the trade names,
- trademarks, service marks, or product names of the Licensor, except as
- required for reasonable and customary use in describing the origin of the
- Work and reproducing the content of the NOTICE file.
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
- writing, Licensor provides the Work (and each Contributor provides its
- Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied, including, without limitation, any
- warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or
- FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining
- the appropriateness of using or redistributing the Work and assume any risks
- associated with Your exercise of permissions under this License.
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-8. Limitation of Liability. In no event and under no legal theory, whether in
- tort (including negligence), contract, or otherwise, unless required by
- applicable law (such as deliberate and grossly negligent acts) or agreed to
- in writing, shall any Contributor be liable to You for damages, including
- any direct, indirect, special, incidental, or consequential damages of any
- character arising as a result of this License or out of the use or inability
- to use the Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all other
- commercial damages or losses), even if such Contributor has been advised of
- the possibility of such damages.
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-9. Accepting Warranty or Additional Liability. While redistributing the Work or
- Derivative Works thereof, You may choose to offer, and charge a fee for,
- acceptance of support, warranty, indemnity, or other liability obligations
- and/or rights consistent with this License. However, in accepting such
- obligations, You may act only on Your own behalf and on Your sole
- responsibility, not on behalf of any other Contributor, and only if You
- agree to indemnify, defend, and hold each Contributor harmless for any
- liability incurred by, or claims asserted against, such Contributor by
- reason of your accepting any such warranty or additional liability.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-END OF TERMS AND CONDITIONS
+ END OF TERMS AND CONDITIONS
-APPENDIX: How to apply the Apache License to your work.
+ APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
+ boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
@@ -2694,231 +3053,3674 @@ APPENDIX: How to apply the Apache License to your work.
same "printed page" as the copyright notice for easier
identification within third-party archives.
-Copyright 2025 Pierre Computer Company
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @pierre/theme@2.0.0
+### @aws-sdk/xml-builder@3.972.41
```text
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-1. Definitions.
+ 1. Definitions.
- "License" shall mean the terms and conditions for use, reproduction, and
- distribution as defined by Sections 1 through 9 of this document.
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+```
+
+### @aws/lambda-invoke-store@0.3.0
+
+```text
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+```
+
+### @babel/helper-string-parser@7.29.7
+
+```text
+MIT License
+
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
+### @babel/helper-validator-identifier@7.29.7
+
+```text
+MIT License
+
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
+### @babel/runtime@7.29.7
+
+```text
+MIT License
+
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
+### @babel/types@7.29.8
+
+```text
+MIT License
+
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
+### @braintree/sanitize-url@7.1.2
+
+```text
+MIT License
+
+Copyright (c) 2017 Braintree
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @chevrotain/types@11.1.2
+
+```text
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+```
+
+### @codemirror/autocomplete@6.20.3
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/commands@6.11.1
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-css@6.3.1
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-go@6.0.1
+
+```text
+MIT License
+
+Copyright (C) 2024 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-html@6.4.12
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-java@6.0.2
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-javascript@6.2.5
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-json@6.0.2
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-markdown@6.5.2
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-php@6.0.2
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-python@6.2.1
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-rust@6.0.2
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-sql@6.10.0
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lang-yaml@6.1.3
+
+```text
+MIT License
+
+Copyright (C) 2024 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/language@6.12.4
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/legacy-modes@6.5.4
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/lint@6.9.7
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/merge@6.12.2
+
+```text
+MIT License
+
+Copyright (C) 2018-2022 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/search@6.7.2
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/state@6.7.6
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @codemirror/view@6.43.13
+
+```text
+MIT License
+
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @effect/platform-bun@4.0.0-rc.118
+
+```text
+MIT License
+
+Copyright (c) 2023 Effectful Technologies Inc
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @effect/platform-node-shared@4.0.0-rc.118
+
+```text
+MIT License
+
+Copyright (c) 2023 Effectful Technologies Inc
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @effect/sql-sqlite-bun@4.0.0-rc.118
+
+```text
+MIT License
+
+Copyright (c) 2023-present The Contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @ff-labs/fff-bun@0.11.1-nightly.89c1927
+
+Licensed under MIT (no licence file shipped).
+
+Per-platform builds published with this package: `@ff-labs/fff-bin-android-arm64@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-darwin-arm64@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-darwin-x64@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-linux-arm64-gnu@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-linux-arm64-musl@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-linux-x64-gnu@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-linux-x64-musl@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-win32-arm64@0.11.1-nightly.89c1927`, `@ff-labs/fff-bin-win32-x64@0.11.1-nightly.89c1927`.
+
+### @floating-ui/core@1.8.0
+
+```text
+MIT License
+
+Copyright (c) 2021-present Floating UI contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
+### @floating-ui/dom@1.8.0
+
+```text
+MIT License
+
+Copyright (c) 2021-present Floating UI contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
+### @floating-ui/react-dom@2.1.9
+
+```text
+MIT License
+
+Copyright (c) 2021-present Floating UI contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
+### @floating-ui/utils@0.2.12
+
+```text
+MIT License
+
+Copyright (c) 2021-present Floating UI contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
+### @hono/node-server@2.1.1
+
+```text
+MIT License
+
+Copyright (c) 2022 - present, Yusuke Wada and Hono contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @iconify/types@2.0.0
+
+```text
+MIT License
+
+Copyright (c) 2021 - 2022 Vjacheslav Trushkin / Iconify OÜ
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @iconify/utils@3.1.7
+
+```text
+MIT License
+
+Copyright (c) 2021-PRESENT Vjacheslav Trushkin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @img/colour@1.1.0
+
+```text
+# Licensing
+
+## color
+
+Copyright (c) 2012 Heather Arthur
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+## color-convert
+
+Copyright (c) 2011-2016 Heather Arthur .
+Copyright (c) 2016-2021 Josh Junon .
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+## color-string
+
+Copyright (c) 2011 Heather Arthur
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+## color-name
+
+The MIT License (MIT)
+Copyright (c) 2015 Dmitry Ivanov
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
+### @lexical/clipboard@0.52.0
+
+```text
+MIT License
+
+Copyright (c) Meta Platforms, Inc. and affiliates.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @lexical/dragon@0.52.0
+
+```text
+MIT License
+
+Copyright (c) Meta Platforms, Inc. and affiliates.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @lexical/extension@0.52.0
+
+```text
+MIT License
+
+Copyright (c) Meta Platforms, Inc. and affiliates.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @lexical/history@0.52.0
+
+```text
+MIT License
+
+Copyright (c) Meta Platforms, Inc. and affiliates.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @lexical/html@0.52.0
+
+```text
+MIT License
+
+Copyright (c) Meta Platforms, Inc. and affiliates.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @lexical/internal@0.52.0
+
+```text
+MIT License
+
+Copyright (c) Meta Platforms, Inc. and affiliates.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @lexical/list@0.52.0
+
+```text
+MIT License
+
+Copyright (c) Meta Platforms, Inc. and affiliates.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @lexical/plain-text@0.52.0
+
+```text
+MIT License
+
+Copyright (c) Meta Platforms, Inc. and affiliates.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @lexical/selection@0.52.0
+
+```text
+MIT License
+
+Copyright (c) Meta Platforms, Inc. and affiliates.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @lexical/utils@0.52.0
+
+```text
+MIT License
+
+Copyright (c) Meta Platforms, Inc. and affiliates.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @lezer/common@1.5.3
+
+```text
+MIT License
+
+Copyright (C) 2018 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/css@1.3.8
+
+```text
+MIT License
+
+Copyright (C) 2018 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/go@1.0.1
+
+```text
+MIT License
+
+Copyright (C) 2020 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/highlight@1.2.5
+
+```text
+MIT License
+
+Copyright (C) 2018 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/html@1.3.13
+
+```text
+MIT License
+
+Copyright (C) 2018 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/java@1.1.4
+
+```text
+MIT License
+
+Copyright (C) 2020 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/javascript@1.5.6
+
+```text
+MIT License
+
+Copyright (C) 2018 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/json@1.0.3
+
+```text
+MIT License
+
+Copyright (C) 2020 by Marijn Haverbeke , Arun Srinivasan , and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/lr@1.4.10
+
+```text
+MIT License
+
+Copyright (C) 2018 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/markdown@1.7.2
+
+```text
+MIT License
+
+Copyright (C) 2020 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/php@1.0.6
+
+```text
+MIT License
+
+Copyright (C) 2018 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/python@1.1.19
+
+```text
+MIT License
+
+Copyright (C) 2020 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/rust@1.0.3
+
+```text
+MIT License
+
+Copyright (C) 2018 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @lezer/yaml@1.0.4
+
+```text
+MIT License
+
+Copyright (C) 2024 by Marijn Haverbeke and others
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @marijn/find-cluster-break@1.0.4
+
+```text
+MIT License
+
+Copyright (C) 2024 by Marijn Haverbeke
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### @mermaid-js/parser@1.2.1
+
+```text
+The MIT License (MIT)
+
+Copyright (c) 2023 Yokozuna59
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @modelcontextprotocol/sdk@1.30.1
+
+```text
+MIT License
+
+Copyright (c) 2024 Anthropic, PBC
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @next/env@16.3.8
+
+Licensed under MIT (no licence file shipped).
+
+### @pierre/diffs@1.5.1
+
+```text
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction, and
+ distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by the
+ copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all other
+ entities that control, are controlled by, or are under common control with
+ that entity. For the purposes of this definition, "control" means (i) the
+ power, direct or indirect, to cause the direction or management of such
+ entity, whether by contract or otherwise, or (ii) ownership of fifty percent
+ (50%) or more of the outstanding shares, or (iii) beneficial ownership of
+ such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity exercising
+ permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation source, and
+ configuration files.
+
+ "Object" form shall mean any form resulting from mechanical transformation
+ or translation of a Source form, including but not limited to compiled
+ object code, generated documentation, and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or Object form,
+ made available under the License, as indicated by a copyright notice that is
+ included in or attached to the work (an example is provided in the Appendix
+ below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object form,
+ that is based on (or derived from) the Work and for which the editorial
+ revisions, annotations, elaborations, or other modifications represent, as a
+ whole, an original work of authorship. For the purposes of this License,
+ Derivative Works shall not include works that remain separable from, or
+ merely link (or bind by name) to the interfaces of, the Work and Derivative
+ Works thereof.
+
+ "Contribution" shall mean any work of authorship, including the original
+ version of the Work and any modifications or additions to that Work or
+ Derivative Works thereof, that is intentionally submitted to Licensor for
+ inclusion in the Work by the copyright owner or by an individual or Legal
+ Entity authorized to submit on behalf of the copyright owner. For the
+ purposes of this definition, "submitted" means any form of electronic,
+ verbal, or written communication sent to the Licensor or its
+ representatives, including but not limited to communication on electronic
+ mailing lists, source code control systems, and issue tracking systems that
+ are managed by, or on behalf of, the Licensor for the purpose of discussing
+ and improving the Work, but excluding communication that is conspicuously
+ marked or otherwise designated in writing by the copyright owner as "Not a
+ Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity on
+ behalf of whom a Contribution has been received by Licensor and subsequently
+ incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this
+ License, each Contributor hereby grants to You a perpetual, worldwide,
+ non-exclusive, no-charge, royalty-free, irrevocable copyright license to
+ reproduce, prepare Derivative Works of, publicly display, publicly perform,
+ sublicense, and distribute the Work and such Derivative Works in Source or
+ Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this
+ License, each Contributor hereby grants to You a perpetual, worldwide,
+ non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
+ this section) patent license to make, have made, use, offer to sell, sell,
+ import, and otherwise transfer the Work, where such license applies only to
+ those patent claims licensable by such Contributor that are necessarily
+ infringed by their Contribution(s) alone or by combination of their
+ Contribution(s) with the Work to which such Contribution(s) was submitted.
+ If You institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work or a
+ Contribution incorporated within the Work constitutes direct or contributory
+ patent infringement, then any patent licenses granted to You under this
+ License for that Work shall terminate as of the date such litigation is
+ filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or
+ Derivative Works thereof in any medium, with or without modifications, and
+ in Source or Object form, provided that You meet the following conditions:
+
+ (a) You must give any other recipients of the Work or Derivative Works a
+ copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices stating
+ that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works that You
+ distribute, all copyright, patent, trademark, and attribution notices from
+ the Source form of the Work, excluding those notices that do not pertain to
+ any part of the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its distribution,
+ then any Derivative Works that You distribute must include a readable copy
+ of the attribution notices contained within such NOTICE file, excluding
+ those notices that do not pertain to any part of the Derivative Works, in at
+ least one of the following places: within a NOTICE text file distributed as
+ part of the Derivative Works; within the Source form or documentation, if
+ provided along with the Derivative Works; or, within a display generated by
+ the Derivative Works, if and wherever such third-party notices normally
+ appear. The contents of the NOTICE file are for informational purposes only
+ and do not modify the License. You may add Your own attribution notices
+ within Derivative Works that You distribute, alongside or as an addendum to
+ the NOTICE text from the Work, provided that such additional attribution
+ notices cannot be construed as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and may
+ provide additional or different license terms and conditions for use,
+ reproduction, or distribution of Your modifications, or for any such
+ Derivative Works as a whole, provided Your use, reproduction, and
+ distribution of the Work otherwise complies with the conditions stated in
+ this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any
+ Contribution intentionally submitted for inclusion in the Work by You to the
+ Licensor shall be under the terms and conditions of this License, without
+ any additional terms or conditions. Notwithstanding the above, nothing
+ herein shall supersede or modify the terms of any separate license agreement
+ you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names,
+ trademarks, service marks, or product names of the Licensor, except as
+ required for reasonable and customary use in describing the origin of the
+ Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
+ writing, Licensor provides the Work (and each Contributor provides its
+ Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied, including, without limitation, any
+ warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or
+ FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining
+ the appropriateness of using or redistributing the Work and assume any risks
+ associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in
+ tort (including negligence), contract, or otherwise, unless required by
+ applicable law (such as deliberate and grossly negligent acts) or agreed to
+ in writing, shall any Contributor be liable to You for damages, including
+ any direct, indirect, special, incidental, or consequential damages of any
+ character arising as a result of this License or out of the use or inability
+ to use the Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all other
+ commercial damages or losses), even if such Contributor has been advised of
+ the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or
+ Derivative Works thereof, You may choose to offer, and charge a fee for,
+ acceptance of support, warranty, indemnity, or other liability obligations
+ and/or rights consistent with this License. However, in accepting such
+ obligations, You may act only on Your own behalf and on Your sole
+ responsibility, not on behalf of any other Contributor, and only if You
+ agree to indemnify, defend, and hold each Contributor harmless for any
+ liability incurred by, or claims asserted against, such Contributor by
+ reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+Copyright 2025 Pierre Computer Company
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+```
+
+### @pierre/theme@2.0.0
+
+```text
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction, and
+ distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by the
+ copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all other
+ entities that control, are controlled by, or are under common control with
+ that entity. For the purposes of this definition, "control" means (i) the
+ power, direct or indirect, to cause the direction or management of such
+ entity, whether by contract or otherwise, or (ii) ownership of fifty percent
+ (50%) or more of the outstanding shares, or (iii) beneficial ownership of
+ such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity exercising
+ permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation source, and
+ configuration files.
+
+ "Object" form shall mean any form resulting from mechanical transformation
+ or translation of a Source form, including but not limited to compiled
+ object code, generated documentation, and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or Object form,
+ made available under the License, as indicated by a copyright notice that is
+ included in or attached to the work (an example is provided in the Appendix
+ below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object form,
+ that is based on (or derived from) the Work and for which the editorial
+ revisions, annotations, elaborations, or other modifications represent, as a
+ whole, an original work of authorship. For the purposes of this License,
+ Derivative Works shall not include works that remain separable from, or
+ merely link (or bind by name) to the interfaces of, the Work and Derivative
+ Works thereof.
+
+ "Contribution" shall mean any work of authorship, including the original
+ version of the Work and any modifications or additions to that Work or
+ Derivative Works thereof, that is intentionally submitted to Licensor for
+ inclusion in the Work by the copyright owner or by an individual or Legal
+ Entity authorized to submit on behalf of the copyright owner. For the
+ purposes of this definition, "submitted" means any form of electronic,
+ verbal, or written communication sent to the Licensor or its
+ representatives, including but not limited to communication on electronic
+ mailing lists, source code control systems, and issue tracking systems that
+ are managed by, or on behalf of, the Licensor for the purpose of discussing
+ and improving the Work, but excluding communication that is conspicuously
+ marked or otherwise designated in writing by the copyright owner as "Not a
+ Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity on
+ behalf of whom a Contribution has been received by Licensor and subsequently
+ incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this
+ License, each Contributor hereby grants to You a perpetual, worldwide,
+ non-exclusive, no-charge, royalty-free, irrevocable copyright license to
+ reproduce, prepare Derivative Works of, publicly display, publicly perform,
+ sublicense, and distribute the Work and such Derivative Works in Source or
+ Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this
+ License, each Contributor hereby grants to You a perpetual, worldwide,
+ non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
+ this section) patent license to make, have made, use, offer to sell, sell,
+ import, and otherwise transfer the Work, where such license applies only to
+ those patent claims licensable by such Contributor that are necessarily
+ infringed by their Contribution(s) alone or by combination of their
+ Contribution(s) with the Work to which such Contribution(s) was submitted.
+ If You institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work or a
+ Contribution incorporated within the Work constitutes direct or contributory
+ patent infringement, then any patent licenses granted to You under this
+ License for that Work shall terminate as of the date such litigation is
+ filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or
+ Derivative Works thereof in any medium, with or without modifications, and
+ in Source or Object form, provided that You meet the following conditions:
+
+ (a) You must give any other recipients of the Work or Derivative Works a
+ copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices stating
+ that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works that You
+ distribute, all copyright, patent, trademark, and attribution notices from
+ the Source form of the Work, excluding those notices that do not pertain to
+ any part of the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its distribution,
+ then any Derivative Works that You distribute must include a readable copy
+ of the attribution notices contained within such NOTICE file, excluding
+ those notices that do not pertain to any part of the Derivative Works, in at
+ least one of the following places: within a NOTICE text file distributed as
+ part of the Derivative Works; within the Source form or documentation, if
+ provided along with the Derivative Works; or, within a display generated by
+ the Derivative Works, if and wherever such third-party notices normally
+ appear. The contents of the NOTICE file are for informational purposes only
+ and do not modify the License. You may add Your own attribution notices
+ within Derivative Works that You distribute, alongside or as an addendum to
+ the NOTICE text from the Work, provided that such additional attribution
+ notices cannot be construed as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and may
+ provide additional or different license terms and conditions for use,
+ reproduction, or distribution of Your modifications, or for any such
+ Derivative Works as a whole, provided Your use, reproduction, and
+ distribution of the Work otherwise complies with the conditions stated in
+ this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any
+ Contribution intentionally submitted for inclusion in the Work by You to the
+ Licensor shall be under the terms and conditions of this License, without
+ any additional terms or conditions. Notwithstanding the above, nothing
+ herein shall supersede or modify the terms of any separate license agreement
+ you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names,
+ trademarks, service marks, or product names of the Licensor, except as
+ required for reasonable and customary use in describing the origin of the
+ Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
+ writing, Licensor provides the Work (and each Contributor provides its
+ Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied, including, without limitation, any
+ warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or
+ FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining
+ the appropriateness of using or redistributing the Work and assume any risks
+ associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in
+ tort (including negligence), contract, or otherwise, unless required by
+ applicable law (such as deliberate and grossly negligent acts) or agreed to
+ in writing, shall any Contributor be liable to You for damages, including
+ any direct, indirect, special, incidental, or consequential damages of any
+ character arising as a result of this License or out of the use or inability
+ to use the Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all other
+ commercial damages or losses), even if such Contributor has been advised of
+ the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or
+ Derivative Works thereof, You may choose to offer, and charge a fee for,
+ acceptance of support, warranty, indemnity, or other liability obligations
+ and/or rights consistent with this License. However, in accepting such
+ obligations, You may act only on Your own behalf and on Your sole
+ responsibility, not on behalf of any other Contributor, and only if You
+ agree to indemnify, defend, and hold each Contributor harmless for any
+ liability incurred by, or claims asserted against, such Contributor by
+ reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+Copyright 2025 Pierre Computer Company
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+```
+
+NOTICE:
+
+```text
+This theme was built on top of
+[GitHub's Visual Studio Code Theme](https://github.com/primer/github-vscode-theme),
+reusing its technique and build tooling, which we have since iterated on for
+more specific language tokens.
+
+`@pierre/theme` is licensed under Apache-2.0 (see `LICENSE`). The original MIT
+license for `primer/github-vscode-theme` is included below for attribution.
+
+Original license for `primer/github-vscode-theme`:
+
+```
+MIT License
+
+Copyright (c) 2020 Primer
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+```
+
+### @pierre/theming@1.0.1
+
+```text
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction, and
+ distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by the
+ copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all other
+ entities that control, are controlled by, or are under common control with
+ that entity. For the purposes of this definition, "control" means (i) the
+ power, direct or indirect, to cause the direction or management of such
+ entity, whether by contract or otherwise, or (ii) ownership of fifty percent
+ (50%) or more of the outstanding shares, or (iii) beneficial ownership of
+ such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity exercising
+ permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation source, and
+ configuration files.
+
+ "Object" form shall mean any form resulting from mechanical transformation
+ or translation of a Source form, including but not limited to compiled
+ object code, generated documentation, and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or Object form,
+ made available under the License, as indicated by a copyright notice that is
+ included in or attached to the work (an example is provided in the Appendix
+ below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object form,
+ that is based on (or derived from) the Work and for which the editorial
+ revisions, annotations, elaborations, or other modifications represent, as a
+ whole, an original work of authorship. For the purposes of this License,
+ Derivative Works shall not include works that remain separable from, or
+ merely link (or bind by name) to the interfaces of, the Work and Derivative
+ Works thereof.
+
+ "Contribution" shall mean any work of authorship, including the original
+ version of the Work and any modifications or additions to that Work or
+ Derivative Works thereof, that is intentionally submitted to Licensor for
+ inclusion in the Work by the copyright owner or by an individual or Legal
+ Entity authorized to submit on behalf of the copyright owner. For the
+ purposes of this definition, "submitted" means any form of electronic,
+ verbal, or written communication sent to the Licensor or its
+ representatives, including but not limited to communication on electronic
+ mailing lists, source code control systems, and issue tracking systems that
+ are managed by, or on behalf of, the Licensor for the purpose of discussing
+ and improving the Work, but excluding communication that is conspicuously
+ marked or otherwise designated in writing by the copyright owner as "Not a
+ Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity on
+ behalf of whom a Contribution has been received by Licensor and subsequently
+ incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this
+ License, each Contributor hereby grants to You a perpetual, worldwide,
+ non-exclusive, no-charge, royalty-free, irrevocable copyright license to
+ reproduce, prepare Derivative Works of, publicly display, publicly perform,
+ sublicense, and distribute the Work and such Derivative Works in Source or
+ Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this
+ License, each Contributor hereby grants to You a perpetual, worldwide,
+ non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
+ this section) patent license to make, have made, use, offer to sell, sell,
+ import, and otherwise transfer the Work, where such license applies only to
+ those patent claims licensable by such Contributor that are necessarily
+ infringed by their Contribution(s) alone or by combination of their
+ Contribution(s) with the Work to which such Contribution(s) was submitted.
+ If You institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work or a
+ Contribution incorporated within the Work constitutes direct or contributory
+ patent infringement, then any patent licenses granted to You under this
+ License for that Work shall terminate as of the date such litigation is
+ filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or
+ Derivative Works thereof in any medium, with or without modifications, and
+ in Source or Object form, provided that You meet the following conditions:
+
+ (a) You must give any other recipients of the Work or Derivative Works a
+ copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices stating
+ that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works that You
+ distribute, all copyright, patent, trademark, and attribution notices from
+ the Source form of the Work, excluding those notices that do not pertain to
+ any part of the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its distribution,
+ then any Derivative Works that You distribute must include a readable copy
+ of the attribution notices contained within such NOTICE file, excluding
+ those notices that do not pertain to any part of the Derivative Works, in at
+ least one of the following places: within a NOTICE text file distributed as
+ part of the Derivative Works; within the Source form or documentation, if
+ provided along with the Derivative Works; or, within a display generated by
+ the Derivative Works, if and wherever such third-party notices normally
+ appear. The contents of the NOTICE file are for informational purposes only
+ and do not modify the License. You may add Your own attribution notices
+ within Derivative Works that You distribute, alongside or as an addendum to
+ the NOTICE text from the Work, provided that such additional attribution
+ notices cannot be construed as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and may
+ provide additional or different license terms and conditions for use,
+ reproduction, or distribution of Your modifications, or for any such
+ Derivative Works as a whole, provided Your use, reproduction, and
+ distribution of the Work otherwise complies with the conditions stated in
+ this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any
+ Contribution intentionally submitted for inclusion in the Work by You to the
+ Licensor shall be under the terms and conditions of this License, without
+ any additional terms or conditions. Notwithstanding the above, nothing
+ herein shall supersede or modify the terms of any separate license agreement
+ you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names,
+ trademarks, service marks, or product names of the Licensor, except as
+ required for reasonable and customary use in describing the origin of the
+ Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
+ writing, Licensor provides the Work (and each Contributor provides its
+ Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied, including, without limitation, any
+ warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or
+ FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining
+ the appropriateness of using or redistributing the Work and assume any risks
+ associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in
+ tort (including negligence), contract, or otherwise, unless required by
+ applicable law (such as deliberate and grossly negligent acts) or agreed to
+ in writing, shall any Contributor be liable to You for damages, including
+ any direct, indirect, special, incidental, or consequential damages of any
+ character arising as a result of this License or out of the use or inability
+ to use the Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all other
+ commercial damages or losses), even if such Contributor has been advised of
+ the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or
+ Derivative Works thereof, You may choose to offer, and charge a fee for,
+ acceptance of support, warranty, indemnity, or other liability obligations
+ and/or rights consistent with this License. However, in accepting such
+ obligations, You may act only on Your own behalf and on Your sole
+ responsibility, not on behalf of any other Contributor, and only if You
+ agree to indemnify, defend, and hold each Contributor harmless for any
+ liability incurred by, or claims asserted against, such Contributor by
+ reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+Copyright 2025 Pierre Computer Company
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+```
+
+### @preact/signals-core@1.14.4
+
+```text
+The MIT License (MIT)
+
+Copyright (c) 2022-present Preact Team
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/number@1.1.3
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/primitive@1.1.7
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-accessible-icon@1.1.15
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-accordion@1.2.20
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-alert-dialog@1.1.23
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-arrow@1.1.15
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-aspect-ratio@1.1.15
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-avatar@1.2.6
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-checkbox@1.3.11
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-collapsible@1.1.20
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-collection@1.1.15
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
- "Licensor" shall mean the copyright owner or entity authorized by the
- copyright owner that is granting the License.
+### @radix-ui/react-compose-refs@1.1.5
- "Legal Entity" shall mean the union of the acting entity and all other
- entities that control, are controlled by, or are under common control with
- that entity. For the purposes of this definition, "control" means (i) the
- power, direct or indirect, to cause the direction or management of such
- entity, whether by contract or otherwise, or (ii) ownership of fifty percent
- (50%) or more of the outstanding shares, or (iii) beneficial ownership of
- such entity.
+```text
+MIT License
- "You" (or "Your") shall mean an individual or Legal Entity exercising
- permissions granted by this License.
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-context@1.2.2
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-context-menu@2.3.7
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-dialog@1.1.23
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-direction@1.1.4
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-dismissable-layer@1.1.19
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-dropdown-menu@2.1.24
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-focus-guards@1.1.6
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-focus-scope@1.1.16
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+### @radix-ui/react-form@0.1.16
+
+```text
+MIT License
+
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation source, and
- configuration files.
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
- "Object" form shall mean any form resulting from mechanical transformation
- or translation of a Source form, including but not limited to compiled
- object code, generated documentation, and conversions to other media types.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
- "Work" shall mean the work of authorship, whether in Source or Object form,
- made available under the License, as indicated by a copyright notice that is
- included in or attached to the work (an example is provided in the Appendix
- below).
+### @radix-ui/react-hover-card@1.1.23
- "Derivative Works" shall mean any work, whether in Source or Object form,
- that is based on (or derived from) the Work and for which the editorial
- revisions, annotations, elaborations, or other modifications represent, as a
- whole, an original work of authorship. For the purposes of this License,
- Derivative Works shall not include works that remain separable from, or
- merely link (or bind by name) to the interfaces of, the Work and Derivative
- Works thereof.
+```text
+MIT License
- "Contribution" shall mean any work of authorship, including the original
- version of the Work and any modifications or additions to that Work or
- Derivative Works thereof, that is intentionally submitted to Licensor for
- inclusion in the Work by the copyright owner or by an individual or Legal
- Entity authorized to submit on behalf of the copyright owner. For the
- purposes of this definition, "submitted" means any form of electronic,
- verbal, or written communication sent to the Licensor or its
- representatives, including but not limited to communication on electronic
- mailing lists, source code control systems, and issue tracking systems that
- are managed by, or on behalf of, the Licensor for the purpose of discussing
- and improving the Work, but excluding communication that is conspicuously
- marked or otherwise designated in writing by the copyright owner as "Not a
- Contribution."
+Copyright (c) 2022 WorkOS
- "Contributor" shall mean Licensor and any individual or Legal Entity on
- behalf of whom a Contribution has been received by Licensor and subsequently
- incorporated within the Work.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
-2. Grant of Copyright License. Subject to the terms and conditions of this
- License, each Contributor hereby grants to You a perpetual, worldwide,
- non-exclusive, no-charge, royalty-free, irrevocable copyright license to
- reproduce, prepare Derivative Works of, publicly display, publicly perform,
- sublicense, and distribute the Work and such Derivative Works in Source or
- Object form.
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
-3. Grant of Patent License. Subject to the terms and conditions of this
- License, each Contributor hereby grants to You a perpetual, worldwide,
- non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
- this section) patent license to make, have made, use, offer to sell, sell,
- import, and otherwise transfer the Work, where such license applies only to
- those patent claims licensable by such Contributor that are necessarily
- infringed by their Contribution(s) alone or by combination of their
- Contribution(s) with the Work to which such Contribution(s) was submitted.
- If You institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work or a
- Contribution incorporated within the Work constitutes direct or contributory
- patent infringement, then any patent licenses granted to You under this
- License for that Work shall terminate as of the date such litigation is
- filed.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
-4. Redistribution. You may reproduce and distribute copies of the Work or
- Derivative Works thereof in any medium, with or without modifications, and
- in Source or Object form, provided that You meet the following conditions:
+### @radix-ui/react-id@1.1.4
- (a) You must give any other recipients of the Work or Derivative Works a
- copy of this License; and
+```text
+MIT License
- (b) You must cause any modified files to carry prominent notices stating
- that You changed the files; and
+Copyright (c) 2022 WorkOS
- (c) You must retain, in the Source form of any Derivative Works that You
- distribute, all copyright, patent, trademark, and attribution notices from
- the Source form of the Work, excluding those notices that do not pertain to
- any part of the Derivative Works; and
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
- (d) If the Work includes a "NOTICE" text file as part of its distribution,
- then any Derivative Works that You distribute must include a readable copy
- of the attribution notices contained within such NOTICE file, excluding
- those notices that do not pertain to any part of the Derivative Works, in at
- least one of the following places: within a NOTICE text file distributed as
- part of the Derivative Works; within the Source form or documentation, if
- provided along with the Derivative Works; or, within a display generated by
- the Derivative Works, if and wherever such third-party notices normally
- appear. The contents of the NOTICE file are for informational purposes only
- and do not modify the License. You may add Your own attribution notices
- within Derivative Works that You distribute, alongside or as an addendum to
- the NOTICE text from the Work, provided that such additional attribution
- notices cannot be construed as modifying the License.
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
- You may add Your own copyright statement to Your modifications and may
- provide additional or different license terms and conditions for use,
- reproduction, or distribution of Your modifications, or for any such
- Derivative Works as a whole, provided Your use, reproduction, and
- distribution of the Work otherwise complies with the conditions stated in
- this License.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
-5. Submission of Contributions. Unless You explicitly state otherwise, any
- Contribution intentionally submitted for inclusion in the Work by You to the
- Licensor shall be under the terms and conditions of this License, without
- any additional terms or conditions. Notwithstanding the above, nothing
- herein shall supersede or modify the terms of any separate license agreement
- you may have executed with Licensor regarding such Contributions.
+### @radix-ui/react-label@2.1.15
-6. Trademarks. This License does not grant permission to use the trade names,
- trademarks, service marks, or product names of the Licensor, except as
- required for reasonable and customary use in describing the origin of the
- Work and reproducing the content of the NOTICE file.
+```text
+MIT License
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
- writing, Licensor provides the Work (and each Contributor provides its
- Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied, including, without limitation, any
- warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or
- FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining
- the appropriateness of using or redistributing the Work and assume any risks
- associated with Your exercise of permissions under this License.
+Copyright (c) 2022 WorkOS
-8. Limitation of Liability. In no event and under no legal theory, whether in
- tort (including negligence), contract, or otherwise, unless required by
- applicable law (such as deliberate and grossly negligent acts) or agreed to
- in writing, shall any Contributor be liable to You for damages, including
- any direct, indirect, special, incidental, or consequential damages of any
- character arising as a result of this License or out of the use or inability
- to use the Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all other
- commercial damages or losses), even if such Contributor has been advised of
- the possibility of such damages.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
-9. Accepting Warranty or Additional Liability. While redistributing the Work or
- Derivative Works thereof, You may choose to offer, and charge a fee for,
- acceptance of support, warranty, indemnity, or other liability obligations
- and/or rights consistent with this License. However, in accepting such
- obligations, You may act only on Your own behalf and on Your sole
- responsibility, not on behalf of any other Contributor, and only if You
- agree to indemnify, defend, and hold each Contributor harmless for any
- liability incurred by, or claims asserted against, such Contributor by
- reason of your accepting any such warranty or additional liability.
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
-END OF TERMS AND CONDITIONS
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
-APPENDIX: How to apply the Apache License to your work.
+### @radix-ui/react-menu@2.1.24
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
+```text
+MIT License
-Copyright 2025 Pierre Computer Company
+Copyright (c) 2022 WorkOS
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
- http://www.apache.org/licenses/LICENSE-2.0
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
```
-NOTICE:
+### @radix-ui/react-menubar@1.1.24
```text
-This theme was built on top of
-[GitHub's Visual Studio Code Theme](https://github.com/primer/github-vscode-theme),
-reusing its technique and build tooling, which we have since iterated on for
-more specific language tokens.
+MIT License
-`@pierre/theme` is licensed under Apache-2.0 (see `LICENSE`). The original MIT
-license for `primer/github-vscode-theme` is included below for attribution.
+Copyright (c) 2022 WorkOS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
-Original license for `primer/github-vscode-theme`:
+### @radix-ui/react-navigation-menu@1.2.22
-```
+```text
MIT License
-Copyright (c) 2020 Primer
+Copyright (c) 2022 WorkOS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -2931,214 +6733,98 @@ The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-```
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
```
-### @pierre/theming@1.0.1
+### @radix-ui/react-one-time-password-field@0.1.16
```text
-Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction, and
- distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by the
- copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all other
- entities that control, are controlled by, or are under common control with
- that entity. For the purposes of this definition, "control" means (i) the
- power, direct or indirect, to cause the direction or management of such
- entity, whether by contract or otherwise, or (ii) ownership of fifty percent
- (50%) or more of the outstanding shares, or (iii) beneficial ownership of
- such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity exercising
- permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation source, and
- configuration files.
-
- "Object" form shall mean any form resulting from mechanical transformation
- or translation of a Source form, including but not limited to compiled
- object code, generated documentation, and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or Object form,
- made available under the License, as indicated by a copyright notice that is
- included in or attached to the work (an example is provided in the Appendix
- below).
-
- "Derivative Works" shall mean any work, whether in Source or Object form,
- that is based on (or derived from) the Work and for which the editorial
- revisions, annotations, elaborations, or other modifications represent, as a
- whole, an original work of authorship. For the purposes of this License,
- Derivative Works shall not include works that remain separable from, or
- merely link (or bind by name) to the interfaces of, the Work and Derivative
- Works thereof.
-
- "Contribution" shall mean any work of authorship, including the original
- version of the Work and any modifications or additions to that Work or
- Derivative Works thereof, that is intentionally submitted to Licensor for
- inclusion in the Work by the copyright owner or by an individual or Legal
- Entity authorized to submit on behalf of the copyright owner. For the
- purposes of this definition, "submitted" means any form of electronic,
- verbal, or written communication sent to the Licensor or its
- representatives, including but not limited to communication on electronic
- mailing lists, source code control systems, and issue tracking systems that
- are managed by, or on behalf of, the Licensor for the purpose of discussing
- and improving the Work, but excluding communication that is conspicuously
- marked or otherwise designated in writing by the copyright owner as "Not a
- Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity on
- behalf of whom a Contribution has been received by Licensor and subsequently
- incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this
- License, each Contributor hereby grants to You a perpetual, worldwide,
- non-exclusive, no-charge, royalty-free, irrevocable copyright license to
- reproduce, prepare Derivative Works of, publicly display, publicly perform,
- sublicense, and distribute the Work and such Derivative Works in Source or
- Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this
- License, each Contributor hereby grants to You a perpetual, worldwide,
- non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
- this section) patent license to make, have made, use, offer to sell, sell,
- import, and otherwise transfer the Work, where such license applies only to
- those patent claims licensable by such Contributor that are necessarily
- infringed by their Contribution(s) alone or by combination of their
- Contribution(s) with the Work to which such Contribution(s) was submitted.
- If You institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work or a
- Contribution incorporated within the Work constitutes direct or contributory
- patent infringement, then any patent licenses granted to You under this
- License for that Work shall terminate as of the date such litigation is
- filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or
- Derivative Works thereof in any medium, with or without modifications, and
- in Source or Object form, provided that You meet the following conditions:
-
- (a) You must give any other recipients of the Work or Derivative Works a
- copy of this License; and
+MIT License
- (b) You must cause any modified files to carry prominent notices stating
- that You changed the files; and
+Copyright (c) 2022 WorkOS
- (c) You must retain, in the Source form of any Derivative Works that You
- distribute, all copyright, patent, trademark, and attribution notices from
- the Source form of the Work, excluding those notices that do not pertain to
- any part of the Derivative Works; and
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
- (d) If the Work includes a "NOTICE" text file as part of its distribution,
- then any Derivative Works that You distribute must include a readable copy
- of the attribution notices contained within such NOTICE file, excluding
- those notices that do not pertain to any part of the Derivative Works, in at
- least one of the following places: within a NOTICE text file distributed as
- part of the Derivative Works; within the Source form or documentation, if
- provided along with the Derivative Works; or, within a display generated by
- the Derivative Works, if and wherever such third-party notices normally
- appear. The contents of the NOTICE file are for informational purposes only
- and do not modify the License. You may add Your own attribution notices
- within Derivative Works that You distribute, alongside or as an addendum to
- the NOTICE text from the Work, provided that such additional attribution
- notices cannot be construed as modifying the License.
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
- You may add Your own copyright statement to Your modifications and may
- provide additional or different license terms and conditions for use,
- reproduction, or distribution of Your modifications, or for any such
- Derivative Works as a whole, provided Your use, reproduction, and
- distribution of the Work otherwise complies with the conditions stated in
- this License.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
-5. Submission of Contributions. Unless You explicitly state otherwise, any
- Contribution intentionally submitted for inclusion in the Work by You to the
- Licensor shall be under the terms and conditions of this License, without
- any additional terms or conditions. Notwithstanding the above, nothing
- herein shall supersede or modify the terms of any separate license agreement
- you may have executed with Licensor regarding such Contributions.
+### @radix-ui/react-password-toggle-field@0.1.11
-6. Trademarks. This License does not grant permission to use the trade names,
- trademarks, service marks, or product names of the Licensor, except as
- required for reasonable and customary use in describing the origin of the
- Work and reproducing the content of the NOTICE file.
+```text
+MIT License
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
- writing, Licensor provides the Work (and each Contributor provides its
- Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied, including, without limitation, any
- warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or
- FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining
- the appropriateness of using or redistributing the Work and assume any risks
- associated with Your exercise of permissions under this License.
+Copyright (c) 2022 WorkOS
-8. Limitation of Liability. In no event and under no legal theory, whether in
- tort (including negligence), contract, or otherwise, unless required by
- applicable law (such as deliberate and grossly negligent acts) or agreed to
- in writing, shall any Contributor be liable to You for damages, including
- any direct, indirect, special, incidental, or consequential damages of any
- character arising as a result of this License or out of the use or inability
- to use the Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all other
- commercial damages or losses), even if such Contributor has been advised of
- the possibility of such damages.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
-9. Accepting Warranty or Additional Liability. While redistributing the Work or
- Derivative Works thereof, You may choose to offer, and charge a fee for,
- acceptance of support, warranty, indemnity, or other liability obligations
- and/or rights consistent with this License. However, in accepting such
- obligations, You may act only on Your own behalf and on Your sole
- responsibility, not on behalf of any other Contributor, and only if You
- agree to indemnify, defend, and hold each Contributor harmless for any
- liability incurred by, or claims asserted against, such Contributor by
- reason of your accepting any such warranty or additional liability.
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
-END OF TERMS AND CONDITIONS
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
-APPENDIX: How to apply the Apache License to your work.
+### @radix-ui/react-popover@1.1.23
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
+```text
+MIT License
-Copyright 2025 Pierre Computer Company
+Copyright (c) 2022 WorkOS
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
- http://www.apache.org/licenses/LICENSE-2.0
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
```
-### @preact/signals-core@1.14.4
+### @radix-ui/react-popper@1.3.7
```text
-The MIT License (MIT)
+MIT License
-Copyright (c) 2022-present Preact Team
+Copyright (c) 2022 WorkOS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -3159,7 +6845,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/number@1.1.3
+### @radix-ui/react-portal@1.1.17
```text
MIT License
@@ -3185,7 +6871,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/primitive@1.1.7
+### @radix-ui/react-presence@1.1.10
```text
MIT License
@@ -3211,7 +6897,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-accessible-icon@1.1.15
+### @radix-ui/react-primitive@2.1.10
```text
MIT License
@@ -3237,7 +6923,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-accordion@1.2.20
+### @radix-ui/react-progress@1.1.16
```text
MIT License
@@ -3263,7 +6949,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-alert-dialog@1.1.23
+### @radix-ui/react-radio-group@1.4.7
```text
MIT License
@@ -3289,7 +6975,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-arrow@1.1.15
+### @radix-ui/react-roving-focus@1.1.19
```text
MIT License
@@ -3315,7 +7001,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-aspect-ratio@1.1.15
+### @radix-ui/react-scroll-area@1.2.18
```text
MIT License
@@ -3341,7 +7027,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-avatar@1.2.6
+### @radix-ui/react-select@2.3.7
```text
MIT License
@@ -3367,7 +7053,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-checkbox@1.3.11
+### @radix-ui/react-separator@1.1.15
```text
MIT License
@@ -3393,7 +7079,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-collapsible@1.1.20
+### @radix-ui/react-slider@1.4.7
```text
MIT License
@@ -3419,7 +7105,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-collection@1.1.15
+### @radix-ui/react-slot@1.3.3
```text
MIT License
@@ -3445,7 +7131,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-compose-refs@1.1.5
+### @radix-ui/react-switch@1.3.7
```text
MIT License
@@ -3471,7 +7157,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-context@1.2.2
+### @radix-ui/react-tabs@1.1.21
```text
MIT License
@@ -3497,7 +7183,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-context-menu@2.3.7
+### @radix-ui/react-toast@1.2.23
```text
MIT License
@@ -3523,7 +7209,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-dialog@1.1.23
+### @radix-ui/react-toggle@1.1.18
```text
MIT License
@@ -3549,7 +7235,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-direction@1.1.4
+### @radix-ui/react-toggle-group@1.1.19
```text
MIT License
@@ -3575,7 +7261,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-dismissable-layer@1.1.19
+### @radix-ui/react-toolbar@1.1.19
```text
MIT License
@@ -3601,7 +7287,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-dropdown-menu@2.1.24
+### @radix-ui/react-tooltip@1.2.16
```text
MIT License
@@ -3627,7 +7313,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-focus-guards@1.1.6
+### @radix-ui/react-use-callback-ref@1.1.4
```text
MIT License
@@ -3653,7 +7339,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-focus-scope@1.1.16
+### @radix-ui/react-use-controllable-state@1.2.6
```text
MIT License
@@ -3679,7 +7365,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-form@0.1.16
+### @radix-ui/react-use-effect-event@0.0.5
```text
MIT License
@@ -3705,7 +7391,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-hover-card@1.1.23
+### @radix-ui/react-use-escape-keydown@1.1.5
```text
MIT License
@@ -3731,7 +7417,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-id@1.1.4
+### @radix-ui/react-use-is-hydrated@0.1.3
```text
MIT License
@@ -3757,7 +7443,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-label@2.1.15
+### @radix-ui/react-use-layout-effect@1.1.4
```text
MIT License
@@ -3783,7 +7469,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-menu@2.1.24
+### @radix-ui/react-use-previous@1.1.4
```text
MIT License
@@ -3809,7 +7495,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-menubar@1.1.24
+### @radix-ui/react-use-rect@1.1.4
```text
MIT License
@@ -3835,7 +7521,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-navigation-menu@1.2.22
+### @radix-ui/react-use-size@1.1.4
```text
MIT License
@@ -3861,7 +7547,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-one-time-password-field@0.1.16
+### @radix-ui/react-visually-hidden@1.2.11
```text
MIT License
@@ -3887,7 +7573,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-password-toggle-field@0.1.11
+### @radix-ui/rect@1.1.3
```text
MIT License
@@ -3913,12 +7599,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-popover@1.1.23
+### @replit/codemirror-vim@6.4.0
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -3927,24 +7613,24 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
```
-### @radix-ui/react-popper@1.3.7
+### @replit/codemirror-vim-core@0.1.0
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (C) 2018-2021 by Marijn Haverbeke and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -3953,24 +7639,25 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
```
-### @radix-ui/react-portal@1.1.17
+### @shikijs/core@4.4.3
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (c) 2021 Pine Wu
+Copyright (c) 2023 Anthony Fu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -3991,12 +7678,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-presence@1.1.10
+### @shikijs/core@4.5.0
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (c) 2021 Pine Wu
+Copyright (c) 2023 Anthony Fu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -4017,12 +7705,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-primitive@2.1.10
+### @shikijs/engine-javascript@4.4.3
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (c) 2021 Pine Wu
+Copyright (c) 2023 Anthony Fu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -4043,12 +7732,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-progress@1.1.16
+### @shikijs/engine-oniguruma@4.4.3
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (c) 2021 Pine Wu
+Copyright (c) 2023 Anthony Fu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -4069,12 +7759,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-radio-group@1.4.7
+### @shikijs/langs@4.4.3
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (c) 2021 Pine Wu
+Copyright (c) 2023 Anthony Fu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -4095,12 +7786,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-roving-focus@1.1.19
+### @shikijs/primitive@4.4.3
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (c) 2021 Pine Wu
+Copyright (c) 2023 Anthony Fu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -4121,12 +7813,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-scroll-area@1.2.18
+### @shikijs/primitive@4.5.0
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (c) 2021 Pine Wu
+Copyright (c) 2023 Anthony Fu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -4147,12 +7840,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-select@2.3.7
+### @shikijs/themes@4.4.3
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (c) 2021 Pine Wu
+Copyright (c) 2023 Anthony Fu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -4173,12 +7867,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-separator@1.1.15
+### @shikijs/transformers@4.5.0
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (c) 2021 Pine Wu
+Copyright (c) 2023 Anthony Fu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -4199,12 +7894,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-slider@1.4.7
+### @shikijs/types@4.4.3
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (c) 2021 Pine Wu
+Copyright (c) 2023 Anthony Fu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -4225,12 +7921,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-slot@1.3.3
+### @shikijs/types@4.5.0
```text
MIT License
-Copyright (c) 2022 WorkOS
+Copyright (c) 2021 Pine Wu
+Copyright (c) 2023 Anthony Fu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -4251,12 +7948,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-switch@1.3.7
+### @shikijs/vscode-textmate@10.0.2
```text
-MIT License
+The MIT License (MIT)
-Copyright (c) 2022 WorkOS
+Copyright (c) Microsoft Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -4277,821 +7974,1240 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
-### @radix-ui/react-tabs@1.1.21
+### @smithy/core@3.35.1
```text
-MIT License
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-Copyright (c) 2022 WorkOS
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 1. Definitions.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-### @radix-ui/react-toast@1.2.23
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-```text
-MIT License
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-Copyright (c) 2022 WorkOS
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-### @radix-ui/react-toggle@1.1.18
+ END OF TERMS AND CONDITIONS
-```text
-MIT License
+ APPENDIX: How to apply the Apache License to your work.
-Copyright (c) 2022 WorkOS
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @radix-ui/react-toggle-group@1.1.19
+### @smithy/credential-provider-imds@4.5.2
```text
-MIT License
-
-Copyright (c) 2022 WorkOS
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ 1. Definitions.
-### @radix-ui/react-toolbar@1.1.19
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-```text
-MIT License
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-Copyright (c) 2022 WorkOS
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-### @radix-ui/react-tooltip@1.2.16
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-```text
-MIT License
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-Copyright (c) 2022 WorkOS
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-### @radix-ui/react-use-callback-ref@1.1.4
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-```text
-MIT License
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-Copyright (c) 2022 WorkOS
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-### @radix-ui/react-use-controllable-state@1.2.6
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-```text
-MIT License
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-Copyright (c) 2022 WorkOS
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ END OF TERMS AND CONDITIONS
-### @radix-ui/react-use-effect-event@0.0.5
+ APPENDIX: How to apply the Apache License to your work.
-```text
-MIT License
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Copyright (c) 2022 WorkOS
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ http://www.apache.org/licenses/LICENSE-2.0
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @radix-ui/react-use-escape-keydown@1.1.5
+### @smithy/fetch-http-handler@5.8.0
```text
-MIT License
-
-Copyright (c) 2022 WorkOS
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ 1. Definitions.
-### @radix-ui/react-use-is-hydrated@0.1.3
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-```text
-MIT License
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-Copyright (c) 2022 WorkOS
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-### @radix-ui/react-use-layout-effect@1.1.4
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-```text
-MIT License
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-Copyright (c) 2022 WorkOS
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-### @radix-ui/react-use-previous@1.1.4
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-```text
-MIT License
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-Copyright (c) 2022 WorkOS
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-### @radix-ui/react-use-rect@1.1.4
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-```text
-MIT License
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-Copyright (c) 2022 WorkOS
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ END OF TERMS AND CONDITIONS
-### @radix-ui/react-use-size@1.1.4
+ APPENDIX: How to apply the Apache License to your work.
-```text
-MIT License
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Copyright (c) 2022 WorkOS
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ http://www.apache.org/licenses/LICENSE-2.0
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @radix-ui/react-visually-hidden@1.2.11
+### @smithy/node-http-handler@4.12.1
```text
-MIT License
-
-Copyright (c) 2022 WorkOS
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ 1. Definitions.
-### @radix-ui/rect@1.1.3
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-```text
-MIT License
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-Copyright (c) 2022 WorkOS
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-### @replit/codemirror-vim@6.4.0
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-```text
-MIT License
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-### @replit/codemirror-vim-core@0.1.0
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-```text
-MIT License
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-Copyright (C) 2018-2021 by Marijn Haverbeke and others
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-```
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-### @shikijs/core@4.4.3
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-```text
-MIT License
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-Copyright (c) 2021 Pine Wu
-Copyright (c) 2023 Anthony Fu
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ END OF TERMS AND CONDITIONS
-### @shikijs/core@4.5.0
+ APPENDIX: How to apply the Apache License to your work.
-```text
-MIT License
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Copyright (c) 2021 Pine Wu
-Copyright (c) 2023 Anthony Fu
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ http://www.apache.org/licenses/LICENSE-2.0
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @shikijs/engine-javascript@4.4.3
+### @smithy/signature-v4@5.7.4
```text
-MIT License
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-Copyright (c) 2021 Pine Wu
-Copyright (c) 2023 Anthony Fu
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-### @shikijs/engine-oniguruma@4.4.3
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-```text
-MIT License
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-Copyright (c) 2021 Pine Wu
-Copyright (c) 2023 Anthony Fu
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-### @shikijs/langs@4.4.3
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-```text
-MIT License
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-Copyright (c) 2021 Pine Wu
-Copyright (c) 2023 Anthony Fu
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-### @shikijs/primitive@4.4.3
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-```text
-MIT License
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-Copyright (c) 2021 Pine Wu
-Copyright (c) 2023 Anthony Fu
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-### @shikijs/primitive@4.5.0
+ END OF TERMS AND CONDITIONS
-```text
-MIT License
+ APPENDIX: How to apply the Apache License to your work.
-Copyright (c) 2021 Pine Wu
-Copyright (c) 2023 Anthony Fu
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
-### @shikijs/themes@4.4.3
+### @smithy/types@4.19.0
```text
-MIT License
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
-Copyright (c) 2021 Pine Wu
-Copyright (c) 2023 Anthony Fu
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-### @shikijs/transformers@4.5.0
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-```text
-MIT License
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-Copyright (c) 2021 Pine Wu
-Copyright (c) 2023 Anthony Fu
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-### @shikijs/types@4.4.3
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-```text
-MIT License
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-Copyright (c) 2021 Pine Wu
-Copyright (c) 2023 Anthony Fu
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-### @shikijs/types@4.5.0
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-```text
-MIT License
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-Copyright (c) 2021 Pine Wu
-Copyright (c) 2023 Anthony Fu
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-```
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-### @shikijs/vscode-textmate@10.0.2
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-```text
-The MIT License (MIT)
+ END OF TERMS AND CONDITIONS
-Copyright (c) Microsoft Corporation
+ APPENDIX: How to apply the Apache License to your work.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
### @stablelib/base64@1.0.1
@@ -5174,6 +9290,212 @@ See the License for the specific language governing permissions and
limitations under the License.
```
+### @swc/helpers@0.5.23
+
+```text
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+Copyright 2024 SWC contributors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+```
+
### @tanstack/react-virtual@3.14.13
```text
@@ -6673,6 +10995,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
+### babel-plugin-react-compiler@1.0.0
+
+Licensed under MIT (no licence file shipped).
+
### bail@2.0.2
```text
@@ -6700,6 +11026,212 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
```
+### baseline-browser-mapping@2.11.26
+
+```text
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+```
+
### body-parser@2.3.0
```text
@@ -6728,6 +11260,54 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
```
+### botid@1.5.11
+
+Licensed under unknown terms (no licence file shipped).
+
+### bowser@2.14.1
+
+```text
+Copyright 2015, Dustin Diaz (the "Original Author")
+All rights reserved.
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+Distributions of all or part of the Software intended to be used
+by the recipients as they would use the unmodified Software,
+containing modifications that substantially alter, remove, or
+disable functionality of the Software, outside of the documented
+configuration mechanisms provided by the Software, shall be
+modified such that the Original Author's bug reporting email
+addresses and urls are either replaced with the contact information
+of the parties responsible for the changes, or removed entirely.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+
+Except where noted, this license applies to any and all software
+programs and associated documentation files created by the
+Original Author, when distributed with the Software.
+```
+
### bytes@3.1.2
```text
@@ -6808,6 +11388,406 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
+### caniuse-lite@1.0.30001813
+
+```text
+Attribution 4.0 International
+
+=======================================================================
+
+Creative Commons Corporation ("Creative Commons") is not a law firm and
+does not provide legal services or legal advice. Distribution of
+Creative Commons public licenses does not create a lawyer-client or
+other relationship. Creative Commons makes its licenses and related
+information available on an "as-is" basis. Creative Commons gives no
+warranties regarding its licenses, any material licensed under their
+terms and conditions, or any related information. Creative Commons
+disclaims all liability for damages resulting from their use to the
+fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and
+conditions that creators and other rights holders may use to share
+original works of authorship and other material subject to copyright
+and certain other rights specified in the public license below. The
+following considerations are for informational purposes only, are not
+exhaustive, and do not form part of our licenses.
+
+ Considerations for licensors: Our public licenses are
+ intended for use by those authorized to give the public
+ permission to use material in ways otherwise restricted by
+ copyright and certain other rights. Our licenses are
+ irrevocable. Licensors should read and understand the terms
+ and conditions of the license they choose before applying it.
+ Licensors should also secure all rights necessary before
+ applying our licenses so that the public can reuse the
+ material as expected. Licensors should clearly mark any
+ material not subject to the license. This includes other CC-
+ licensed material, or material used under an exception or
+ limitation to copyright. More considerations for licensors:
+ wiki.creativecommons.org/Considerations_for_licensors
+
+ Considerations for the public: By using one of our public
+ licenses, a licensor grants the public permission to use the
+ licensed material under specified terms and conditions. If
+ the licensor's permission is not necessary for any reason--for
+ example, because of any applicable exception or limitation to
+ copyright--then that use is not regulated by the license. Our
+ licenses grant only permissions under copyright and certain
+ other rights that a licensor has authority to grant. Use of
+ the licensed material may still be restricted for other
+ reasons, including because others have copyright or other
+ rights in the material. A licensor may make special requests,
+ such as asking that all changes be marked or described.
+ Although not required by our licenses, you are encouraged to
+ respect those requests where reasonable. More_considerations
+ for the public:
+ wiki.creativecommons.org/Considerations_for_licensees
+
+=======================================================================
+
+Creative Commons Attribution 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree
+to be bound by the terms and conditions of this Creative Commons
+Attribution 4.0 International Public License ("Public License"). To the
+extent this Public License may be interpreted as a contract, You are
+granted the Licensed Rights in consideration of Your acceptance of
+these terms and conditions, and the Licensor grants You such rights in
+consideration of benefits the Licensor receives from making the
+Licensed Material available under these terms and conditions.
+
+
+Section 1 -- Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar
+ Rights that is derived from or based upon the Licensed Material
+ and in which the Licensed Material is translated, altered,
+ arranged, transformed, or otherwise modified in a manner requiring
+ permission under the Copyright and Similar Rights held by the
+ Licensor. For purposes of this Public License, where the Licensed
+ Material is a musical work, performance, or sound recording,
+ Adapted Material is always produced where the Licensed Material is
+ synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright
+ and Similar Rights in Your contributions to Adapted Material in
+ accordance with the terms and conditions of this Public License.
+
+ c. Copyright and Similar Rights means copyright and/or similar rights
+ closely related to copyright including, without limitation,
+ performance, broadcast, sound recording, and Sui Generis Database
+ Rights, without regard to how the rights are labeled or
+ categorized. For purposes of this Public License, the rights
+ specified in Section 2(b)(1)-(2) are not Copyright and Similar
+ Rights.
+
+ d. Effective Technological Measures means those measures that, in the
+ absence of proper authority, may not be circumvented under laws
+ fulfilling obligations under Article 11 of the WIPO Copyright
+ Treaty adopted on December 20, 1996, and/or similar international
+ agreements.
+
+ e. Exceptions and Limitations means fair use, fair dealing, and/or
+ any other exception or limitation to Copyright and Similar Rights
+ that applies to Your use of the Licensed Material.
+
+ f. Licensed Material means the artistic or literary work, database,
+ or other material to which the Licensor applied this Public
+ License.
+
+ g. Licensed Rights means the rights granted to You subject to the
+ terms and conditions of this Public License, which are limited to
+ all Copyright and Similar Rights that apply to Your use of the
+ Licensed Material and that the Licensor has authority to license.
+
+ h. Licensor means the individual(s) or entity(ies) granting rights
+ under this Public License.
+
+ i. Share means to provide material to the public by any means or
+ process that requires permission under the Licensed Rights, such
+ as reproduction, public display, public performance, distribution,
+ dissemination, communication, or importation, and to make material
+ available to the public including in ways that members of the
+ public may access the material from a place and at a time
+ individually chosen by them.
+
+ j. Sui Generis Database Rights means rights other than copyright
+ resulting from Directive 96/9/EC of the European Parliament and of
+ the Council of 11 March 1996 on the legal protection of databases,
+ as amended and/or succeeded, as well as other essentially
+ equivalent rights anywhere in the world.
+
+ k. You means the individual or entity exercising the Licensed Rights
+ under this Public License. Your has a corresponding meaning.
+
+
+Section 2 -- Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License,
+ the Licensor hereby grants You a worldwide, royalty-free,
+ non-sublicensable, non-exclusive, irrevocable license to
+ exercise the Licensed Rights in the Licensed Material to:
+
+ a. reproduce and Share the Licensed Material, in whole or
+ in part; and
+
+ b. produce, reproduce, and Share Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where
+ Exceptions and Limitations apply to Your use, this Public
+ License does not apply, and You do not need to comply with
+ its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section
+ 6(a).
+
+ 4. Media and formats; technical modifications allowed. The
+ Licensor authorizes You to exercise the Licensed Rights in
+ all media and formats whether now known or hereafter created,
+ and to make technical modifications necessary to do so. The
+ Licensor waives and/or agrees not to assert any right or
+ authority to forbid You from making technical modifications
+ necessary to exercise the Licensed Rights, including
+ technical modifications necessary to circumvent Effective
+ Technological Measures. For purposes of this Public License,
+ simply making modifications authorized by this Section 2(a)
+ (4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ a. Offer from the Licensor -- Licensed Material. Every
+ recipient of the Licensed Material automatically
+ receives an offer from the Licensor to exercise the
+ Licensed Rights under the terms and conditions of this
+ Public License.
+
+ b. No downstream restrictions. You may not offer or impose
+ any additional or different terms or conditions on, or
+ apply any Effective Technological Measures to, the
+ Licensed Material if doing so restricts exercise of the
+ Licensed Rights by any recipient of the Licensed
+ Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or
+ may be construed as permission to assert or imply that You
+ are, or that Your use of the Licensed Material is, connected
+ with, or sponsored, endorsed, or granted official status by,
+ the Licensor or others designated to receive attribution as
+ provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not
+ licensed under this Public License, nor are publicity,
+ privacy, and/or other similar personality rights; however, to
+ the extent possible, the Licensor waives and/or agrees not to
+ assert any such rights held by the Licensor to the limited
+ extent necessary to allow You to exercise the Licensed
+ Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this
+ Public License.
+
+ 3. To the extent possible, the Licensor waives any right to
+ collect royalties from You for the exercise of the Licensed
+ Rights, whether directly or through a collecting society
+ under any voluntary or waivable statutory or compulsory
+ licensing scheme. In all other cases the Licensor expressly
+ reserves any right to collect such royalties.
+
+
+Section 3 -- License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the
+following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified
+ form), You must:
+
+ a. retain the following if it is supplied by the Licensor
+ with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed
+ Material and any others designated to receive
+ attribution, in any reasonable manner requested by
+ the Licensor (including by pseudonym if
+ designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of
+ warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the
+ extent reasonably practicable;
+
+ b. indicate if You modified the Licensed Material and
+ retain an indication of any previous modifications; and
+
+ c. indicate the Licensed Material is licensed under this
+ Public License, and include the text of, or the URI or
+ hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any
+ reasonable manner based on the medium, means, and context in
+ which You Share the Licensed Material. For example, it may be
+ reasonable to satisfy the conditions by providing a URI or
+ hyperlink to a resource that includes the required
+ information.
+
+ 3. If requested by the Licensor, You must remove any of the
+ information required by Section 3(a)(1)(A) to the extent
+ reasonably practicable.
+
+ 4. If You Share Adapted Material You produce, the Adapter's
+ License You apply must not prevent recipients of the Adapted
+ Material from complying with this Public License.
+
+
+Section 4 -- Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that
+apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right
+ to extract, reuse, reproduce, and Share all or a substantial
+ portion of the contents of the database;
+
+ b. if You include all or a substantial portion of the database
+ contents in a database in which You have Sui Generis Database
+ Rights, then the database in which You have Sui Generis Database
+ Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share
+ all or a substantial portion of the contents of the database.
+
+For the avoidance of doubt, this Section 4 supplements and does not
+replace Your obligations under this Public License where the Licensed
+Rights include other Copyright and Similar Rights.
+
+
+Section 5 -- Disclaimer of Warranties and Limitation of Liability.
+
+ a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+
+ b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+
+ c. The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
+
+
+Section 6 -- Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and
+ Similar Rights licensed here. However, if You fail to comply with
+ this Public License, then Your rights under this Public License
+ terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under
+ Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided
+ it is cured within 30 days of Your discovery of the
+ violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ For the avoidance of doubt, this Section 6(b) does not affect any
+ right the Licensor may have to seek remedies for Your violations
+ of this Public License.
+
+ c. For the avoidance of doubt, the Licensor may also offer the
+ Licensed Material under separate terms or conditions or stop
+ distributing the Licensed Material at any time; however, doing so
+ will not terminate this Public License.
+
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
+ License.
+
+
+Section 7 -- Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different
+ terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the
+ Licensed Material not stated herein are separate from and
+ independent of the terms and conditions of this Public License.
+
+
+Section 8 -- Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and
+ shall not be interpreted to, reduce, limit, restrict, or impose
+ conditions on any use of the Licensed Material that could lawfully
+ be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is
+ deemed unenforceable, it shall be automatically reformed to the
+ minimum extent necessary to make it enforceable. If the provision
+ cannot be reformed, it shall be severed from this Public License
+ without affecting the enforceability of the remaining terms and
+ conditions.
+
+ c. No term or condition of this Public License will be waived and no
+ failure to comply consented to unless expressly agreed to by the
+ Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted
+ as a limitation upon, or waiver of, any privileges and immunities
+ that apply to the Licensor or You, including from the legal
+ processes of any jurisdiction or authority.
+
+
+=======================================================================
+
+Creative Commons is not a party to its public
+licenses. Notwithstanding, Creative Commons may elect to apply one of
+its public licenses to material it publishes and in those instances
+will be considered the “Licensor.” The text of the Creative Commons
+public licenses is dedicated to the public domain under the CC0 Public
+Domain Dedication. Except for the limited purpose of indicating that
+material is shared under a Creative Commons public license or as
+otherwise permitted by the Creative Commons policies published at
+creativecommons.org/policies, Creative Commons does not authorize the
+use of the trademark "Creative Commons" or any other trademark or logo
+of Creative Commons without its prior written consent including,
+without limitation, in connection with any unauthorized modifications
+to any of its public licenses or any other arrangements,
+understandings, or agreements concerning use of licensed material. For
+the avoidance of doubt, this paragraph does not form part of the
+public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
+```
+
### ccount@2.0.1
```text
@@ -7138,6 +12118,10 @@ Apache License
limitations under the License.
```
+### client-only@0.0.1
+
+Licensed under MIT (no licence file shipped).
+
### clsx@2.1.1
```text
@@ -8533,42 +13517,248 @@ distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
+### dequal@2.0.3
+
+```text
+The MIT License (MIT)
+
+Copyright (c) Luke Edwards (lukeed.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+### detect-libc@2.1.2
+
+```text
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-```
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-### dequal@2.0.3
+ END OF TERMS AND CONDITIONS
-```text
-The MIT License (MIT)
+ APPENDIX: How to apply the Apache License to your work.
-Copyright (c) Luke Edwards (lukeed.com)
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Copyright {yyyy} {name of copyright owner}
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
```
### detect-node-es@1.1.0
@@ -12893,6 +18083,31 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
+### nanoid@3.3.19
+
+```text
+The MIT License (MIT)
+
+Copyright 2017 Andrey Sitnik
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
### negotiator@1.1.0
```text
@@ -12922,6 +18137,34 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
```
+### next@16.3.8
+
+```text
+The MIT License (MIT)
+
+Copyright (c) 2025 Vercel, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+Per-platform builds published with this package: `@next/swc-darwin-arm64@16.3.8`, `@next/swc-darwin-x64@16.3.8`, `@next/swc-linux-arm64-gnu@16.3.8`, `@next/swc-linux-arm64-musl@16.3.8`, `@next/swc-linux-x64-gnu@16.3.8`, `@next/swc-linux-x64-musl@16.3.8`, `@next/swc-win32-arm64-msvc@16.3.8`, `@next/swc-win32-x64-msvc@16.3.8`.
+
### object-assign@4.1.1
```text
@@ -13245,6 +18488,26 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
```
+### picocolors@1.1.1
+
+```text
+ISC License
+
+Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+```
+
### pkce-challenge@5.0.1
```text
@@ -13323,6 +18586,31 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
+### postcss@8.5.23
+
+```text
+The MIT License (MIT)
+
+Copyright 2013 Andrey Sitnik
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+```
+
### property-information@7.2.0
```text
@@ -14082,6 +19370,26 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
+### semver@7.8.5
+
+```text
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+```
+
### send@1.2.1
```text
@@ -14158,6 +19466,204 @@ OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
```
+### sharp@0.35.5
+
+```text
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and
+distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright
+owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities
+that control, are controlled by, or are under common control with that entity.
+For the purposes of this definition, "control" means (i) the power, direct or
+indirect, to cause the direction or management of such entity, whether by
+contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising
+permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including
+but not limited to software source code, documentation source, and configuration
+files.
+
+"Object" form shall mean any form resulting from mechanical transformation or
+translation of a Source form, including but not limited to compiled object code,
+generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made
+available under the License, as indicated by a copyright notice that is included
+in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that
+is based on (or derived from) the Work and for which the editorial revisions,
+annotations, elaborations, or other modifications represent, as a whole, an
+original work of authorship. For the purposes of this License, Derivative Works
+shall not include works that remain separable from, or merely link (or bind by
+name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version
+of the Work and any modifications or additions to that Work or Derivative Works
+thereof, that is intentionally submitted to Licensor for inclusion in the Work
+by the copyright owner or by an individual or Legal Entity authorized to submit
+on behalf of the copyright owner. For the purposes of this definition,
+"submitted" means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems, and
+issue tracking systems that are managed by, or on behalf of, the Licensor for
+the purpose of discussing and improving the Work, but excluding communication
+that is conspicuously marked or otherwise designated in writing by the copyright
+owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
+of whom a Contribution has been received by Licensor and subsequently
+incorporated within the Work.
+
+2. Grant of Copyright License.
+
+Subject to the terms and conditions of this License, each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
+irrevocable copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the Work and such
+Derivative Works in Source or Object form.
+
+3. Grant of Patent License.
+
+Subject to the terms and conditions of this License, each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
+irrevocable (except as stated in this section) patent license to make, have
+made, use, offer to sell, sell, import, and otherwise transfer the Work, where
+such license applies only to those patent claims licensable by such Contributor
+that are necessarily infringed by their Contribution(s) alone or by combination
+of their Contribution(s) with the Work to which such Contribution(s) was
+submitted. If You institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work or a
+Contribution incorporated within the Work constitutes direct or contributory
+patent infringement, then any patent licenses granted to You under this License
+for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution.
+
+You may reproduce and distribute copies of the Work or Derivative Works thereof
+in any medium, with or without modifications, and in Source or Object form,
+provided that You meet the following conditions:
+
+You must give any other recipients of the Work or Derivative Works a copy of
+this License; and
+You must cause any modified files to carry prominent notices stating that You
+changed the files; and
+You must retain, in the Source form of any Derivative Works that You distribute,
+all copyright, patent, trademark, and attribution notices from the Source form
+of the Work, excluding those notices that do not pertain to any part of the
+Derivative Works; and
+If the Work includes a "NOTICE" text file as part of its distribution, then any
+Derivative Works that You distribute must include a readable copy of the
+attribution notices contained within such NOTICE file, excluding those notices
+that do not pertain to any part of the Derivative Works, in at least one of the
+following places: within a NOTICE text file distributed as part of the
+Derivative Works; within the Source form or documentation, if provided along
+with the Derivative Works; or, within a display generated by the Derivative
+Works, if and wherever such third-party notices normally appear. The contents of
+the NOTICE file are for informational purposes only and do not modify the
+License. You may add Your own attribution notices within Derivative Works that
+You distribute, alongside or as an addendum to the NOTICE text from the Work,
+provided that such additional attribution notices cannot be construed as
+modifying the License.
+You may add Your own copyright statement to Your modifications and may provide
+additional or different license terms and conditions for use, reproduction, or
+distribution of Your modifications, or for any such Derivative Works as a whole,
+provided Your use, reproduction, and distribution of the Work otherwise complies
+with the conditions stated in this License.
+
+5. Submission of Contributions.
+
+Unless You explicitly state otherwise, any Contribution intentionally submitted
+for inclusion in the Work by You to the Licensor shall be under the terms and
+conditions of this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify the terms of
+any separate license agreement you may have executed with Licensor regarding
+such Contributions.
+
+6. Trademarks.
+
+This License does not grant permission to use the trade names, trademarks,
+service marks, or product names of the Licensor, except as required for
+reasonable and customary use in describing the origin of the Work and
+reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty.
+
+Unless required by applicable law or agreed to in writing, Licensor provides the
+Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
+including, without limitation, any warranties or conditions of TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
+solely responsible for determining the appropriateness of using or
+redistributing the Work and assume any risks associated with Your exercise of
+permissions under this License.
+
+8. Limitation of Liability.
+
+In no event and under no legal theory, whether in tort (including negligence),
+contract, or otherwise, unless required by applicable law (such as deliberate
+and grossly negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special, incidental,
+or consequential damages of any character arising as a result of this License or
+out of the use or inability to use the Work (including but not limited to
+damages for loss of goodwill, work stoppage, computer failure or malfunction, or
+any and all other commercial damages or losses), even if such Contributor has
+been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability.
+
+While redistributing the Work or Derivative Works thereof, You may choose to
+offer, and charge a fee for, acceptance of support, warranty, indemnity, or
+other liability obligations and/or rights consistent with this License. However,
+in accepting such obligations, You may act only on Your own behalf and on Your
+sole responsibility, not on behalf of any other Contributor, and only if You
+agree to indemnify, defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason of your
+accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work
+
+To apply the Apache License to your work, attach the following boilerplate
+notice, with the fields enclosed by brackets "[]" replaced with your own
+identifying information. (Don't include the brackets!) The text should be
+enclosed in the appropriate comment syntax for the file format. We also
+recommend that a file or class name and description of purpose be included on
+the same "printed page" as the copyright notice for easier identification within
+third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+```
+
+Per-platform builds published with this package: `@img/sharp-darwin-arm64@0.35.5`, `@img/sharp-darwin-x64@0.35.5`, `@img/sharp-freebsd-wasm32@0.35.5`, `@img/sharp-libvips-darwin-arm64@1.3.4`, `@img/sharp-libvips-darwin-x64@1.3.4`, `@img/sharp-libvips-linux-arm64@1.3.4`, `@img/sharp-libvips-linux-arm@1.3.4`, `@img/sharp-libvips-linux-ppc64@1.3.4`, `@img/sharp-libvips-linux-riscv64@1.3.4`, `@img/sharp-libvips-linux-s390x@1.3.4`, `@img/sharp-libvips-linux-x64@1.3.4`, `@img/sharp-libvips-linuxmusl-arm64@1.3.4`, `@img/sharp-libvips-linuxmusl-x64@1.3.4`, `@img/sharp-linux-arm64@0.35.5`, `@img/sharp-linux-arm@0.35.5`, `@img/sharp-linux-ppc64@0.35.5`, `@img/sharp-linux-riscv64@0.35.5`, `@img/sharp-linux-s390x@0.35.5`, `@img/sharp-linux-x64@0.35.5`, `@img/sharp-linuxmusl-arm64@0.35.5`, `@img/sharp-linuxmusl-x64@0.35.5`, `@img/sharp-webcontainers-wasm32@0.35.5`, `@img/sharp-win32-arm64@0.35.5`, `@img/sharp-win32-ia32@0.35.5`, `@img/sharp-win32-x64@0.35.5`.
+
### shebang-command@2.0.0
```text
@@ -14343,6 +19849,38 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
+### source-map-js@1.2.1
+
+```text
+Copyright (c) 2009-2011, Mozilla Foundation and contributors
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the names of the Mozilla Foundation nor the names of project
+ contributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+```
+
### space-separated-tokens@2.0.2
```text
@@ -14528,6 +20066,32 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
```
+### styled-jsx@5.1.6
+
+```text
+MIT License
+
+Copyright (c) 2016-present Vercel, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
### stylis@4.4.0
```text
diff --git a/apps/daemon/src/constellation/setup/process.ts b/apps/daemon/src/constellation/setup/process.ts
index 4ddd853c..9c97d160 100644
--- a/apps/daemon/src/constellation/setup/process.ts
+++ b/apps/daemon/src/constellation/setup/process.ts
@@ -1,3 +1,4 @@
+import { childEnv } from "../../service/childEnv.ts";
import { Effect } from "effect";
import { WorktreeSetupRun } from "@polaris/protocol";
@@ -25,6 +26,7 @@ export const executeSetup = Effect.fn("WorktreeSetup.execute")(function* (run: W
try: () =>
Bun.spawn(["/bin/sh", "-c", run.command], {
cwd: run.cwd,
+ env: childEnv(),
stdin: "ignore",
stdout: "pipe",
stderr: "pipe",
diff --git a/apps/daemon/src/files/search/fallback.ts b/apps/daemon/src/files/search/fallback.ts
index 20447c26..645a41eb 100644
--- a/apps/daemon/src/files/search/fallback.ts
+++ b/apps/daemon/src/files/search/fallback.ts
@@ -4,6 +4,7 @@
* outside git), a subsequence fuzzy scorer, `git grep`, and `fs.watch`.
* Slower and not typo-tolerant, but dependency-free.
*/
+import { childEnv } from "../../service/childEnv.ts";
import { existsSync } from "node:fs";
import { readdir } from "node:fs/promises";
import { availableParallelism } from "node:os";
@@ -184,7 +185,12 @@ const runGitGrep = async (
): Promise> => {
const proc = Bun.spawn(["git", ...gitGrepArgs(inRepo, flavour, query)], {
cwd: root,
- env: { ...process.env, GIT_TERMINAL_PROMPT: "0", GIT_OPTIONAL_LOCKS: "0", LC_ALL: "C" },
+ env: childEnv({
+ ...process.env,
+ GIT_TERMINAL_PROMPT: "0",
+ GIT_OPTIONAL_LOCKS: "0",
+ LC_ALL: "C",
+ }),
stdin: "ignore",
stdout: "pipe",
stderr: "pipe",
diff --git a/apps/daemon/src/files/trash.ts b/apps/daemon/src/files/trash.ts
index e41a8fe3..8f3a5411 100644
--- a/apps/daemon/src/files/trash.ts
+++ b/apps/daemon/src/files/trash.ts
@@ -1,3 +1,4 @@
+import { childEnv } from "../service/childEnv.ts";
import { randomUUID } from "node:crypto";
import { lstat, mkdir, open, rename, stat, unlink } from "node:fs/promises";
import { homedir } from "node:os";
@@ -17,6 +18,7 @@ function run(argv) {
const macTrash = async (path: string): Promise => {
const child = Bun.spawn(["/usr/bin/osascript", "-l", "JavaScript", "-e", MAC_TRASH, path], {
+ env: childEnv(),
stdin: "ignore",
stdout: "ignore",
stderr: "pipe",
diff --git a/apps/daemon/src/git/git.ts b/apps/daemon/src/git/git.ts
index c7f41e18..44b600e9 100644
--- a/apps/daemon/src/git/git.ts
+++ b/apps/daemon/src/git/git.ts
@@ -2,6 +2,7 @@
* The one way the Daemon runs git: the Host's own `git` CLI, so the user's
* config, credentials and hooks apply. No JS git implementation.
*/
+import { childEnv } from "../service/childEnv.ts";
import { existsSync } from "node:fs";
import { dirname, join, resolve } from "node:path";
import { Effect } from "effect";
@@ -42,7 +43,7 @@ export const runGitRaw = async (
): Promise => {
const spawnOptions: Bun.SpawnOptions.OptionsObject<"ignore" | Blob, "pipe", "pipe"> = {
cwd,
- env: { ...baseEnv(), ...options.env },
+ env: childEnv({ ...baseEnv(), ...options.env }),
stdin: options.stdin === undefined ? "ignore" : new Blob([options.stdin]),
stdout: "pipe",
stderr: "pipe",
diff --git a/apps/daemon/src/git/review/remotes.ts b/apps/daemon/src/git/review/remotes.ts
index 427b0e5b..2e5912b0 100644
--- a/apps/daemon/src/git/review/remotes.ts
+++ b/apps/daemon/src/git/review/remotes.ts
@@ -4,6 +4,7 @@
* apply), else the repository's URL in the transport their other remotes on
* that host use. And the ssh command that can never prompt.
*/
+import { childEnv } from "../../service/childEnv.ts";
import type { RepoRef } from "@polaris/protocol";
import { runGitRaw } from "../git.ts";
@@ -73,6 +74,7 @@ const decoder = new TextDecoder();
export const resolveSshHost = async (alias: string): Promise => {
try {
const proc = Bun.spawn(["ssh", "-G", alias], {
+ env: childEnv(),
stdin: "ignore",
stdout: "pipe",
stderr: "ignore",
diff --git a/apps/daemon/src/harness/acp/AgentConnection.ts b/apps/daemon/src/harness/acp/AgentConnection.ts
index 63638ae2..4b0bd3df 100644
--- a/apps/daemon/src/harness/acp/AgentConnection.ts
+++ b/apps/daemon/src/harness/acp/AgentConnection.ts
@@ -4,6 +4,7 @@
* `session/update` notifications and `session/request_permission` requests are
* routed to the session they name; anything else the agent asks is refused.
*/
+import { childEnv } from "../../service/childEnv.ts";
import { appendFileSync } from "node:fs";
import { Deferred, Effect, Option, Predicate, Schema, type Scope } from "effect";
import { HarnessError } from "../HarnessDriver.ts";
@@ -150,7 +151,13 @@ export const spawnAgent = (
const proc = yield* Effect.acquireRelease(
Effect.try({
- try: () => Bun.spawn([...options.argv], { stdin: "pipe", stdout: "pipe", stderr: "pipe" }),
+ try: () =>
+ Bun.spawn([...options.argv], {
+ env: childEnv(),
+ stdin: "pipe",
+ stdout: "pipe",
+ stderr: "pipe",
+ }),
catch: (cause) => fail(`Failed to start ${options.argv[0]}`, cause),
}),
(child) =>
diff --git a/apps/daemon/src/harness/availability/probe.ts b/apps/daemon/src/harness/availability/probe.ts
index 68513026..e44357bb 100644
--- a/apps/daemon/src/harness/availability/probe.ts
+++ b/apps/daemon/src/harness/availability/probe.ts
@@ -3,6 +3,7 @@
* `--version`, then its own sign-in status command. Polaris never reads the
* credentials (ADR 0001) and never imports a driver here (ENG-196).
*/
+import { childEnv } from "../../service/childEnv.ts";
import { existsSync, mkdtempSync, rmSync } from "node:fs";
import { homedir, tmpdir } from "node:os";
import { join } from "node:path";
@@ -55,7 +56,7 @@ export const runProbe = (argv: ReadonlyArray, env: ProbeEnv): Effect.Eff
try {
const proc = Bun.spawn([...argv], {
cwd: home(env),
- env: { ...env },
+ env: childEnv(env),
stdin: "ignore",
stdout: "pipe",
stderr: "pipe",
diff --git a/apps/daemon/src/harness/claude/ClaudeDriver.ts b/apps/daemon/src/harness/claude/ClaudeDriver.ts
index 5f083145..89bd42f1 100644
--- a/apps/daemon/src/harness/claude/ClaudeDriver.ts
+++ b/apps/daemon/src/harness/claude/ClaudeDriver.ts
@@ -11,6 +11,7 @@
* was copied.
*/
+import { childEnv } from "../../service/childEnv.ts";
import { join } from "node:path";
import {
type CanUseTool,
@@ -116,6 +117,7 @@ const unknownEffort = (effort: string) =>
const defaultRunVersion = async (path: string) => {
const proc = Bun.spawn([path, "--version"], {
+ env: childEnv(),
stdin: "ignore",
stdout: "pipe",
stderr: "ignore",
@@ -293,11 +295,11 @@ const openSession = Effect.fnUntraced(function* (
systemPrompt: { type: "preset", preset: "claude_code", append: polarisInstructions(options) },
settingSources: ["user", "project", "local"],
additionalDirectories: [join(driver.stagingDir ?? paths().staging, options.sessionId)],
- env: {
+ env: childEnv({
...process.env,
...options.environment,
CLAUDE_AGENT_SDK_CLIENT_APP: driver.clientApp ?? "polaris-daemon",
- },
+ }),
};
const attachments =
diff --git a/apps/daemon/src/harness/claude/commands.ts b/apps/daemon/src/harness/claude/commands.ts
index e7654920..3f30c471 100644
--- a/apps/daemon/src/harness/claude/commands.ts
+++ b/apps/daemon/src/harness/claude/commands.ts
@@ -5,6 +5,7 @@
* right after (~0.9 s on Claude Code 2.1.286). Nothing is sent to a model.
* `classify` decides how each one runs; the README has the table.
*/
+import { childEnv } from "../../service/childEnv.ts";
import { existsSync, readFileSync } from "node:fs";
import { homedir } from "node:os";
import { dirname, join } from "node:path";
@@ -269,7 +270,7 @@ export const listClaudeCommands =
strictMcpConfig: true,
settingSources: ["user", "project", "local"],
settings: { disableAllHooks: true },
- env: { ...process.env, CLAUDE_AGENT_SDK_CLIENT_APP: "polaris-daemon" },
+ env: childEnv({ ...process.env, CLAUDE_AGENT_SDK_CLIENT_APP: "polaris-daemon" }),
};
const commands = yield* Effect.acquireUseRelease(
diff --git a/apps/daemon/src/harness/claude/models.ts b/apps/daemon/src/harness/claude/models.ts
index f10aa841..155831b0 100644
--- a/apps/daemon/src/harness/claude/models.ts
+++ b/apps/daemon/src/harness/claude/models.ts
@@ -7,6 +7,7 @@
* process (~0.5 s) and whatever Claude Code itself fetches to answer; nothing
* is sent to a model.
*/
+import { childEnv } from "../../service/childEnv.ts";
import { mkdirSync } from "node:fs";
import type { EffortLevel, ModelInfo, Options } from "@anthropic-ai/claude-agent-sdk";
import { Model } from "@polaris/protocol";
@@ -62,7 +63,7 @@ export const listClaudeModels = (driver: {
strictMcpConfig: true,
settingSources: ["user"],
settings: { disableAllHooks: true },
- env: { ...process.env, CLAUDE_AGENT_SDK_CLIENT_APP: "polaris-daemon" },
+ env: childEnv({ ...process.env, CLAUDE_AGENT_SDK_CLIENT_APP: "polaris-daemon" }),
};
const infos = yield* Effect.acquireUseRelease(
diff --git a/apps/daemon/src/harness/codex/AppServer.test.ts b/apps/daemon/src/harness/codex/AppServer.test.ts
index 8e7bbc6f..06be17d2 100644
--- a/apps/daemon/src/harness/codex/AppServer.test.ts
+++ b/apps/daemon/src/harness/codex/AppServer.test.ts
@@ -1,5 +1,5 @@
import { afterEach, describe, expect, test } from "bun:test";
-import { existsSync, mkdtempSync, rmSync } from "node:fs";
+import { existsSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
import { join } from "node:path";
import { Effect } from "effect";
import {
@@ -66,6 +66,35 @@ const parentOf = (pid: number) =>
);
describe("the shared app-server outlives the Daemon", () => {
+ test("an idle legacy server is replaced with a sanitized server", async () => {
+ const { socketPath, stateFile, options } = setup();
+ await connectOnce(options);
+ const old = recordedPid(stateFile);
+ const state = readAppServerState(stateFile);
+ writeFileSync(stateFile, JSON.stringify({ ...state, sanitizedEnv: undefined }));
+ await connectOnce(options);
+ expect(recordedPid(stateFile)).not.toBe(old);
+ expect(isOurAppServer(old, socketPath)).toBe(false);
+ expect(readAppServerState(stateFile)?.sanitizedEnv).toBe(true);
+ }, 30_000);
+
+ test("a live legacy server is reused, then replaced once idle", async () => {
+ const { codex, socketPath, stateFile, options } = setup();
+ codex.setLoaded(["thread-live"]);
+ await connectOnce(options);
+ const old = recordedPid(stateFile);
+ const state = readAppServerState(stateFile);
+ writeFileSync(stateFile, JSON.stringify({ ...state, sanitizedEnv: undefined }));
+ await connectOnce(options);
+ expect(recordedPid(stateFile)).toBe(old);
+ expect(isOurAppServer(old, socketPath)).toBe(true);
+ expect(readAppServerState(stateFile)?.sanitizedEnv).toBeUndefined();
+ codex.setLoaded([]);
+ await connectOnce(options);
+ expect(recordedPid(stateFile)).not.toBe(old);
+ expect(readAppServerState(stateFile)?.sanitizedEnv).toBe(true);
+ }, 30_000);
+
test("it is started detached, recorded, and not killed when the scope closes", async () => {
const { socketPath, stateFile, options } = setup();
await connectOnce(options);
diff --git a/apps/daemon/src/harness/codex/AppServer.ts b/apps/daemon/src/harness/codex/AppServer.ts
index 3be8c5b1..4029e03a 100644
--- a/apps/daemon/src/harness/codex/AppServer.ts
+++ b/apps/daemon/src/harness/codex/AppServer.ts
@@ -22,6 +22,7 @@
*
* `polaris uninstall` stops it (`stopAppServer`).
*/
+import { childEnv } from "../../service/childEnv.ts";
import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
import { dirname, join } from "node:path";
import { Effect, Option, Schema, type Scope, Semaphore } from "effect";
@@ -59,6 +60,8 @@ export const AppServerState = Schema.Struct({
codexPath: Schema.String,
socketPath: Schema.String,
startedAt: Schema.Number,
+ /** Older servers may retain the execve envelope in their own environment. */
+ sanitizedEnv: Schema.optional(Schema.Boolean),
});
export type AppServerState = typeof AppServerState.Type;
@@ -88,6 +91,14 @@ const writeState = (stateFile: string, state: AppServerState) => {
renameSync(temporary, stateFile);
};
+const restartReason = (state: AppServerState, installed: string | null): string | null => {
+ if (state.sanitizedEnv !== true) return "clear the legacy hand-off environment";
+
+ if (installed === null || state.version === null || installed === state.version) return null;
+
+ return `${state.version} → ${installed}`;
+};
+
const isAlive = (pid: number): boolean => {
try {
process.kill(pid, 0);
@@ -110,6 +121,7 @@ const commandLine = (pid: number): string | null => {
}
const result = Bun.spawnSync(["ps", "-o", "command=", "-p", String(pid)], {
+ env: childEnv(),
stdin: "ignore",
stdout: "pipe",
stderr: "ignore",
@@ -140,6 +152,7 @@ export const installedCodexVersion = (codexPath: string): Effect.Effect {
try {
const proc = Bun.spawn([codexPath, "--version"], {
+ env: childEnv(),
stdin: "ignore",
stdout: "pipe",
stderr: "ignore",
@@ -269,6 +282,18 @@ export const acquireAppServer = (
const systemdRun = options.systemdRun === undefined ? detectSystemdRun() : options.systemdRun;
/** This Daemon's open connections; the upgrade check only runs when there are none. */
let connections = 0;
+ let loggedLegacyEnv = false;
+
+ const logKeepingServer = (state: AppServerState, reason: string) =>
+ Effect.sync(() => {
+ if (state.sanitizedEnv !== true && loggedLegacyEnv) return;
+
+ if (state.sanitizedEnv !== true) loggedLegacyEnv = true;
+
+ return `codex app-server has live or unknown threads; deferring ${reason}`;
+ }).pipe(
+ Effect.flatMap((message) => (message === undefined ? Effect.void : Effect.logInfo(message)))
+ );
const logTail = () => {
try {
@@ -300,7 +325,7 @@ export const acquireAppServer = (
try: async () => {
const proc = Bun.spawn(
launchArgv({ codexPath, socketPath: options.socketPath, logFile, systemdRun }),
- { stdin: "ignore", stdout: "pipe", stderr: "ignore", detached: true }
+ { env: childEnv(), stdin: "ignore", stdout: "pipe", stderr: "ignore", detached: true }
);
const out = await new Response(proc.stdout).text();
@@ -321,6 +346,7 @@ export const acquireAppServer = (
codexPath,
socketPath: options.socketPath,
startedAt: Date.now(),
+ sanitizedEnv: true,
})
);
@@ -339,26 +365,25 @@ export const acquireAppServer = (
return yield* codexError(`codex app-server did not start listening on ${options.socketPath}`);
});
- /** codex was upgraded under a running server: replace it if nothing is live on it. */
+ /** Replace outdated or legacy-environment servers only when nothing is live on them. */
const replaceIfOutdated = Effect.gen(function* () {
if (!options.spawn || options.codexPath === null || connections > 0) return;
const state = readAppServerState(stateFile);
if (state === null || state.socketPath !== options.socketPath) return;
const installed = yield* versionOf(options.codexPath);
+ const reason = restartReason(state, installed);
- if (installed === null || state.version === null || installed === state.version) return;
+ if (reason === null) return;
const loaded = yield* loadedThreads(options.socketPath);
if (loaded === null || loaded.length > 0) {
- yield* Effect.logInfo(
- `codex ${installed} is installed but app-server ${state.version} has live threads; keeping it`
- );
+ yield* logKeepingServer(state, reason);
return;
}
- yield* Effect.logInfo(`restarting codex app-server ${state.version} → ${installed}`);
+ yield* Effect.logInfo(`restarting codex app-server: ${reason}`);
yield* stopAppServer({ stateFile, socketPath: options.socketPath });
});
diff --git a/apps/daemon/src/harness/codex/CodexDriver.ts b/apps/daemon/src/harness/codex/CodexDriver.ts
index 2c7b8377..5deea19c 100644
--- a/apps/daemon/src/harness/codex/CodexDriver.ts
+++ b/apps/daemon/src/harness/codex/CodexDriver.ts
@@ -4,6 +4,7 @@
* Polaris never reads, stores or forwards Codex credentials; sign-in stays in
* Codex's own `codex login` flow.
*/
+import { childEnv } from "../../service/childEnv.ts";
import { join } from "node:path";
import { Effect, type Scope } from "effect";
import { polarisHome } from "../../paths.ts";
@@ -41,6 +42,7 @@ export const probeCodex = (codexPath: string | null): Effect.Effect>log 2>&1 & echo $!'` spawned with `detached: true` (setsid). The shell prints the server's pid and exits, so the server is reparented to init, in its own session and process group, with stdio on `~/.polaris/logs/codex-app-server.log`. No Daemon pipe, process group or PID (which an execve upgrade keeps) ties it to the Daemon. launchd `bootout` of the Daemon's job leaves it running (verified on macOS). Under systemd (`INVOCATION_ID` set), stopping `polaris.service` kills its whole cgroup, so the server is started through `systemd-run --user --scope --collect` in its own scope.
-- **Record**: `~/.polaris/codex-app-server.json` holds `{ pid, version, codexPath, socketPath, startedAt }`.
+- **Record**: `~/.polaris/codex-app-server.json` holds `{ pid, version, codexPath, socketPath, startedAt, sanitizedEnv }`. New servers set `sanitizedEnv: true`: the launcher explicitly excludes the Daemon's `POLARIS_HANDOFF`.
- **Adopt**: the next Daemon (after a restart, crash or execve upgrade) finds it answering on the socket and connects; Codex sessions resume by cursor as after any reconnect.
- **Replace**: before this Daemon has a connection of its own, it compares the recorded version with `codex --version`. If codex was upgraded and `thread/loaded/list` is empty (no Polaris session or TUI is live on it), the old server is stopped and a new one started; otherwise it is kept. A recorded server that is alive but not answering is replaced. Before any signal, the pid's command line must still name `app-server` and the socket (pids get reused).
- **Stop**: `polaris uninstall` calls `stopAppServer` (SIGTERM, SIGKILL after 5 s, then removes the state file and socket). Tests that spawn a real server must call it too.
+Servers recorded before environment filtering have no `sanitizedEnv` marker. They may retain an old hand-off envelope even after the Daemon consumes its own copy. A later `open` replaces an idle legacy server, without requiring a Codex version change. Live or uninspectable servers are kept, with one environment-migration log per Daemon lifetime; the next idle `open` retries. Externally managed servers are never migrated. New Daemons validate inherited hand-off descriptors so a child of a retained legacy server still starts fresh safely.
+
Tests: `AppServer.test.ts` runs the real lifecycle against a fake `codex` executable (`testing/fakeCodex.ts`, which serves `FakeAppServer`): detached and not our child, adopted by a second "Daemon", replaced after a version change only when no thread is loaded, a dead server replaced, stop, and pid-reuse safety.
### Event mapping
diff --git a/apps/daemon/src/harness/codex/RpcConnection.ts b/apps/daemon/src/harness/codex/RpcConnection.ts
index 897ee663..6df73668 100644
--- a/apps/daemon/src/harness/codex/RpcConnection.ts
+++ b/apps/daemon/src/harness/codex/RpcConnection.ts
@@ -6,6 +6,7 @@
* speaks natively via `ws+unix://`. The `codex --remote unix://`
* TUI uses the same transport, which is what lets both co-attach.
*/
+import { childEnv } from "../../service/childEnv.ts";
import { appendFileSync } from "node:fs";
import { type Cause, Data, Deferred, Effect, Option, Queue, Schema, type Scope } from "effect";
import { HarnessError } from "../HarnessDriver.ts";
@@ -214,6 +215,7 @@ export const connectStdio = (
Effect.try({
try: (): Wire => {
const proc = Bun.spawn([codexPath, "app-server"], {
+ env: childEnv(),
stdin: "pipe",
stdout: "pipe",
stderr: "ignore",
diff --git a/apps/daemon/src/harness/opencode/OpenCodeDriver.ts b/apps/daemon/src/harness/opencode/OpenCodeDriver.ts
index d14b1036..34f3ff12 100644
--- a/apps/daemon/src/harness/opencode/OpenCodeDriver.ts
+++ b/apps/daemon/src/harness/opencode/OpenCodeDriver.ts
@@ -4,6 +4,7 @@
* reads, stores or forwards OpenCode's provider credentials (ADR 0001); sign-in
* stays in OpenCode's own `opencode auth login` or its TUI's `/connect`.
*/
+import { childEnv } from "../../service/childEnv.ts";
import { mkdirSync, mkdtempSync, rmSync } from "node:fs";
import { tmpdir } from "node:os";
import { join } from "node:path";
@@ -41,7 +42,7 @@ export const probeOpenCode = (opencodePath: string | null): Effect.Effect {
- const ps = Bun.spawnSync(["ps", "-o", "command=", "-p", String(pid)], { stderr: "ignore" });
+ const ps = Bun.spawnSync(["ps", "-o", "command=", "-p", String(pid)], {
+ env: childEnv(),
+ stderr: "ignore",
+ });
return ps.exitCode === 0 ? ps.stdout.toString() : "";
};
@@ -146,7 +150,7 @@ export const acquireServer = (
chmodSync(passwordFile, 0o600);
const proc = Bun.spawn([opencodePath, "serve", "--hostname", "127.0.0.1", "--port", "0"], {
- env: { ...(options.env ?? process.env), OPENCODE_SERVER_PASSWORD: password },
+ env: childEnv({ ...(options.env ?? process.env), OPENCODE_SERVER_PASSWORD: password }),
stdin: "ignore",
stdout: "pipe",
stderr: Bun.file(logFile),
diff --git a/apps/daemon/src/inline/claude.ts b/apps/daemon/src/inline/claude.ts
index 9285330e..7ac2a946 100644
--- a/apps/daemon/src/inline/claude.ts
+++ b/apps/daemon/src/inline/claude.ts
@@ -1,3 +1,4 @@
+import { childEnv } from "../service/childEnv.ts";
import { InlineError } from "@polaris/protocol";
import { Effect, Option, Schema, Stream } from "effect";
import type { InlineBackend } from "./backend.ts";
@@ -60,6 +61,7 @@ export const claudeInline = (binary: string): InlineBackend =>
try: () =>
Bun.spawn([binary, ...claudeArgs(request.model, request.effort)], {
cwd,
+ env: childEnv(),
stdin: "pipe",
stdout: "pipe",
stderr: "ignore",
diff --git a/apps/daemon/src/resources/cli.ts b/apps/daemon/src/resources/cli.ts
index 1978aa35..ef4cc68c 100644
--- a/apps/daemon/src/resources/cli.ts
+++ b/apps/daemon/src/resources/cli.ts
@@ -1,3 +1,4 @@
+import { childEnv } from "../service/childEnv.ts";
import { constants } from "node:os";
import { randomUUID } from "node:crypto";
import { spawn } from "node:child_process";
@@ -22,11 +23,11 @@ export const runLease = async (args: ReadonlyArray): Promise =>
["-c", 'read -r go <&3 && exec "$@"', "polaris-lease", ...command],
{
stdio: ["inherit", "inherit", "inherit", "pipe"],
- env: {
+ env: childEnv({
...process.env,
POLARIS_LEASE_HELD: name,
POLARIS_HOST_SOCKET: process.env.POLARIS_HOST_SOCKET ?? paths().socket,
- },
+ }),
}
);
diff --git a/apps/daemon/src/resources/process.ts b/apps/daemon/src/resources/process.ts
index 4442a1a3..4b21d279 100644
--- a/apps/daemon/src/resources/process.ts
+++ b/apps/daemon/src/resources/process.ts
@@ -1,12 +1,18 @@
+import { childEnv } from "../service/childEnv.ts";
import { execFile } from "node:child_process";
/** A PID plus its start time distinguishes a recovered child from a reused PID. */
export const processIdentity = (pid: number): Promise =>
new Promise((resolve) => {
- execFile("ps", ["-o", "stat=", "-o", "lstart=", "-p", String(pid)], (error, stdout) => {
- const line = stdout.trim();
+ execFile(
+ "ps",
+ ["-o", "stat=", "-o", "lstart=", "-p", String(pid)],
+ { env: childEnv() },
+ (error, stdout) => {
+ const line = stdout.trim();
- if (error !== null || line.length === 0 || /^[ZX]/.test(line)) resolve(null);
- else resolve(line.replace(/^\S+\s+/, ""));
- });
+ if (error !== null || line.length === 0 || /^[ZX]/.test(line)) resolve(null);
+ else resolve(line.replace(/^\S+\s+/, ""));
+ }
+ );
});
diff --git a/apps/daemon/src/rules/materialize.ts b/apps/daemon/src/rules/materialize.ts
index e137f530..cd4a2df6 100644
--- a/apps/daemon/src/rules/materialize.ts
+++ b/apps/daemon/src/rules/materialize.ts
@@ -3,6 +3,7 @@
* directory, from git's objects rather than the working tree: a Turn's
* snapshot is a tree no checkout holds, and a Review Checkout may be dirty.
*/
+import { childEnv } from "../service/childEnv.ts";
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
import { tmpdir } from "node:os";
import { dirname, join, normalize } from "node:path";
@@ -55,7 +56,12 @@ const isContained = (path: string) => {
const catFile = async (cwd: string, input: string, out: string): Promise => {
const proc = Bun.spawn(["git", "cat-file", "--batch"], {
cwd,
- env: { ...process.env, GIT_TERMINAL_PROMPT: "0", GIT_OPTIONAL_LOCKS: "0", LC_ALL: "C" },
+ env: childEnv({
+ ...process.env,
+ GIT_TERMINAL_PROMPT: "0",
+ GIT_OPTIONAL_LOCKS: "0",
+ LC_ALL: "C",
+ }),
stdin: new Blob([input]),
stdout: Bun.file(out),
stderr: "pipe",
diff --git a/apps/daemon/src/rules/patterns/client.ts b/apps/daemon/src/rules/patterns/client.ts
index 93778602..3bce97c9 100644
--- a/apps/daemon/src/rules/patterns/client.ts
+++ b/apps/daemon/src/rules/patterns/client.ts
@@ -3,6 +3,7 @@
* the child is `bun main.ts rules-scan`; in the compiled binary it is the
* binary itself.
*/
+import { childEnv } from "../../service/childEnv.ts";
import { fileURLToPath } from "node:url";
import { Schema } from "effect";
import { ScanReply, type ScanRequest } from "./child.ts";
@@ -25,6 +26,7 @@ export const runPatternScan = async (
const timeout = AbortSignal.timeout(SCAN_TIMEOUT_MS);
const proc = Bun.spawn([...childCommand()], {
+ env: childEnv(),
stdin: new Blob([JSON.stringify(request)]),
stdout: "pipe",
stderr: "pipe",
diff --git a/apps/daemon/src/rules/secrets/fetch.ts b/apps/daemon/src/rules/secrets/fetch.ts
index 4c71222f..3127c1ec 100644
--- a/apps/daemon/src/rules/secrets/fetch.ts
+++ b/apps/daemon/src/rules/secrets/fetch.ts
@@ -4,6 +4,7 @@
* copies it beside `polaris`) and by tests and dev runs from source. Never at
* run time on a Host: Hosts get the file with the Daemon.
*/
+import { childEnv } from "../../service/childEnv.ts";
import { createHash } from "node:crypto";
import { chmodSync, existsSync, mkdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
import { dirname, join } from "node:path";
@@ -36,6 +37,7 @@ const sha256 = (bytes: Uint8Array) => createHash("sha256").update(bytes).digest(
const extract = async (archive: string, outDir: string) => {
const proc = Bun.spawn(["tar", "-xzf", archive, "-C", outDir, "betterleaks"], {
+ env: childEnv(),
stdout: "ignore",
stderr: "pipe",
});
diff --git a/apps/daemon/src/service/CommandRunner.ts b/apps/daemon/src/service/CommandRunner.ts
index bd6057ef..9131e39c 100644
--- a/apps/daemon/src/service/CommandRunner.ts
+++ b/apps/daemon/src/service/CommandRunner.ts
@@ -1,3 +1,4 @@
+import { childEnv } from "./childEnv.ts";
import { Context, Effect, Layer } from "effect";
export interface CommandResult {
@@ -27,6 +28,7 @@ export class CommandRunner extends Context.Service<
Effect.promise(async () => {
try {
const proc = Bun.spawn([...argv], {
+ env: childEnv(),
stdin: options?.stdin === undefined ? "ignore" : new Blob([options.stdin]),
stdout: "pipe",
stderr: "pipe",
diff --git a/apps/daemon/src/service/README.md b/apps/daemon/src/service/README.md
index 5219167e..ceb6966b 100644
--- a/apps/daemon/src/service/README.md
+++ b/apps/daemon/src/service/README.md
@@ -115,6 +115,10 @@ yield* serveUpgrades({
`fixtures/handoff-daemon.ts` is a complete working example. If the transport uses `effect/socket` (built on `node:net`), bind it at the temporary path the same way. Adopted connections must still be wrapped with `Bun.connect({ fd })`.
+`takeHandoff` consumes the envelope once. It rejects a different `ownerPid`, closed or close-on-exec descriptors, standard streams, and a listener that is not a listening socket. Older envelopes without `ownerPid` remain supported, with the same descriptor checks. Invalid envelopes log a warning and become a cold start; they do not acknowledge an Upgrade or close unrelated descriptors. Valid inherited descriptors, including the listener, regain close-on-exec before any child starts.
+
+Every child launch passes an explicit environment through `childEnv` (`service/childEnv.ts`), including Harness probes, detached servers, terminals and auxiliary commands. Bun 1.3.13's default spawn environment retains the original envelope even after deleting it from `process.env`; filtering only at adoption is insufficient. Explicit snapshots and per-session overrides are filtered as well. `POLARIS_HANDOFF` is the only execve envelope variable; `POLARIS_HOME` and ordinary child settings remain available.
+
### Hand-off contributors
A module with fds or children to keep registers a `HandoffContributor` for the life of its scope (`registerHandoffContributor`): `collect` returns named fds and children (merged with `hooks.collect`), `beforeExec` writes any state the new image needs, and `abort` undoes it if the exec fails. The terminals use this to keep PTYs across upgrades (`terminal/README.md`); the engine registers one with no fds whose `beforeExec` is `Engine.prepareForUpgrade`, which closes in-process (Claude) Harnesses per the recovery rule (`store/README.md`). After the exec, `takeHandoff()` returns the same names.
diff --git a/apps/daemon/src/service/childEnv.test.ts b/apps/daemon/src/service/childEnv.test.ts
new file mode 100644
index 00000000..5f34c629
--- /dev/null
+++ b/apps/daemon/src/service/childEnv.test.ts
@@ -0,0 +1,50 @@
+import { expect, test } from "bun:test";
+import { spawnSync } from "node:child_process";
+import { chmodSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
+import { join } from "node:path";
+import { makeFakeCodex } from "../harness/codex/testing/fakeCodex.ts";
+
+for (const phase of ["before", "after"])
+ test(`${phase} adoption, hand-off stays out of command, Codex and terminal children`, () => {
+ const home = mkdtempSync("/tmp/phc-");
+
+ try {
+ const codex = makeFakeCodex(home);
+ const wrapper = join(home, "codex-wrapper");
+ const marker = join(home, "codex-envelope");
+
+ writeFileSync(
+ wrapper,
+ `#!/bin/sh\nif [ "$1" = app-server ]; then printf '%s' "\${POLARIS_HANDOFF-unset}" > '${marker}'; fi\nexec '${codex.path}' "$@"\n`
+ );
+ chmodSync(wrapper, 0o755);
+
+ const result = spawnSync(
+ process.execPath,
+ [join(import.meta.dir, "fixtures/handoff-children.ts")],
+ {
+ env: {
+ ...process.env,
+ POLARIS_HOME: home,
+ POLARIS_TEST_CODEX: wrapper,
+ POLARIS_TEST_ADOPT: phase,
+ POLARIS_HANDOFF: JSON.stringify({
+ listenerFd: null,
+ fds: {},
+ children: {},
+ fromVersion: "0.0.0-test",
+ requestId: null,
+ }),
+ },
+ encoding: "utf8",
+ timeout: 25_000,
+ }
+ );
+
+ expect(result.error).toBeUndefined();
+ expect(result.stderr).toBe("");
+ expect(result.status).toBe(0);
+ } finally {
+ rmSync(home, { recursive: true, force: true });
+ }
+ }, 30_000);
diff --git a/apps/daemon/src/service/childEnv.ts b/apps/daemon/src/service/childEnv.ts
new file mode 100644
index 00000000..86bdc673
--- /dev/null
+++ b/apps/daemon/src/service/childEnv.ts
@@ -0,0 +1,6 @@
+/** Explicit environment for children; Bun's default retains the original hand-off envelope. */
+export const childEnv = (source: Readonly> = process.env) => {
+ const { POLARIS_HANDOFF: _handoff, ...env } = source;
+
+ return env;
+};
diff --git a/apps/daemon/src/service/fixtures/handoff-children.ts b/apps/daemon/src/service/fixtures/handoff-children.ts
new file mode 100644
index 00000000..c4b90315
--- /dev/null
+++ b/apps/daemon/src/service/fixtures/handoff-children.ts
@@ -0,0 +1,81 @@
+import { strict as assert } from "node:assert";
+import { readFileSync } from "node:fs";
+import { join } from "node:path";
+import { Effect, Stream } from "effect";
+import { acquireAppServer, stopAppServer } from "../../harness/codex/AppServer.ts";
+import { Terminals, TerminalsLive, TerminalItem } from "../../terminal/Terminals.ts";
+import { CommandRunner } from "../CommandRunner.ts";
+import { takeHandoff } from "../upgrade.ts";
+
+const home = process.env.POLARIS_HOME;
+
+if (home === undefined) throw new Error("expected an isolated home");
+
+const stateFile = join(home, "codex-app-server.json");
+
+const wrapper = process.env.POLARIS_TEST_CODEX;
+
+const marker = join(home, "codex-envelope");
+
+if (wrapper === undefined) throw new Error("expected a fake Codex binary");
+
+try {
+ await Effect.runPromise(
+ Effect.scoped(
+ Effect.gen(function* () {
+ if (process.env.POLARIS_TEST_ADOPT === "after") {
+ yield* takeHandoff();
+ assert.equal(process.env.POLARIS_HANDOFF, undefined);
+ }
+
+ const runner = yield* CommandRunner;
+
+ const command = yield* runner.run([
+ "/bin/sh",
+ "-c",
+ "printf '%s' \"${POLARIS_HANDOFF-unset}\"",
+ ]);
+
+ assert.equal(command.stdout, "unset");
+
+ const server = yield* acquireAppServer({
+ codexPath: wrapper,
+ socketPath: join(home, "c.sock"),
+ stateFile,
+ spawn: true,
+ systemdRun: null,
+ });
+
+ const conn = yield* server.connect;
+
+ yield* conn.request("initialize", {});
+
+ assert.equal(readFileSync(marker, "utf8"), "unset");
+
+ const terminals = yield* Terminals;
+
+ const id = yield* terminals.open({
+ cwd: home,
+ cols: 80,
+ rows: 24,
+ argv: ["/bin/sh", "-c", "printf '%s' \"${POLARIS_HANDOFF-unset}\""],
+ });
+
+ const items = yield* terminals.attach(id).pipe(Stream.runCollect);
+
+ const text = items
+ .map((item) =>
+ TerminalItem.match(item, {
+ Output: (output) => new TextDecoder().decode(output.data),
+ Exit: () => "",
+ })
+ )
+ .join("");
+
+ assert.equal(text, "unset");
+ })
+ ).pipe(Effect.provide(CommandRunner.layer), Effect.provide(TerminalsLive))
+ );
+} finally {
+ await Effect.runPromise(stopAppServer({ stateFile }));
+}
diff --git a/apps/daemon/src/service/fixtures/handoff-start.ts b/apps/daemon/src/service/fixtures/handoff-start.ts
new file mode 100644
index 00000000..b418dadf
--- /dev/null
+++ b/apps/daemon/src/service/fixtures/handoff-start.ts
@@ -0,0 +1,92 @@
+import { strict as assert } from "node:assert";
+import { closeSync, fstatSync, openSync } from "node:fs";
+import { join } from "node:path";
+import { Effect } from "effect";
+import { clearCloseOnExec, closeFd, isCloseOnExec, setCloseOnExec, socketPair } from "../libc.ts";
+import { adoptListener, listenerFd, takeHandoff } from "../upgrade.ts";
+import { startServer } from "../../transport/server.ts";
+
+const mode = process.argv[2];
+
+const home = process.env.POLARIS_HOME;
+
+if (home === undefined) throw new Error("expected an isolated home");
+
+const file = openSync(join(home, "keep"), "w+");
+
+const pair = socketPair();
+
+const listener = Bun.listen({ unix: join(home, "owned.sock"), socket: { data() {} } });
+
+clearCloseOnExec(file);
+
+clearCloseOnExec(pair[0]);
+
+const fd = listenerFd(listener);
+
+const byMode = new Map([
+ ["closed", 999_999],
+ ["stdio", 1],
+ ["file", file],
+ ["cloexec", file],
+ ["connected", pair[0]],
+]);
+
+clearCloseOnExec(fd);
+
+if (mode === "cloexec") setCloseOnExec(file);
+
+process.env.POLARIS_HANDOFF = JSON.stringify({
+ listenerFd: byMode.get(mode ?? "") ?? fd,
+ fds: mode === "children" ? { "terminal:missing": 999_999 } : {},
+ children: {},
+ fromVersion: "0.0.0-test",
+ requestId: "invalid-envelope",
+ ownerPid: mode === "foreign" ? process.pid + 1 : process.pid,
+});
+
+try {
+ await Effect.runPromise(
+ Effect.scoped(
+ Effect.gen(function* () {
+ assert.equal(yield* adoptListener(), null);
+
+ assert.equal(yield* takeHandoff(), null);
+
+ assert.equal(process.env.POLARIS_HANDOFF, undefined);
+
+ assert.equal(isCloseOnExec(file), mode === "cloexec");
+
+ assert.equal(isCloseOnExec(pair[0]), false);
+
+ fstatSync(file);
+
+ const server = yield* startServer({ upgrades: true });
+
+ yield* Effect.promise(() =>
+ Bun.connect({
+ unix: server.socketPath,
+ socket: {
+ open(socket) {
+ socket.end();
+ },
+ data() {},
+ },
+ })
+ );
+
+ yield* Effect.sleep(600);
+
+ fstatSync(file);
+ })
+ )
+ );
+} finally {
+ listener.stop(true);
+
+ closeSync(file);
+
+ closeFd(pair[0]);
+
+ closeFd(pair[1]);
+}
diff --git a/apps/daemon/src/service/handoff-start.test.ts b/apps/daemon/src/service/handoff-start.test.ts
new file mode 100644
index 00000000..cdf9c7a1
--- /dev/null
+++ b/apps/daemon/src/service/handoff-start.test.ts
@@ -0,0 +1,107 @@
+import { expect, test } from "bun:test";
+import { spawn, spawnSync } from "node:child_process";
+import { once } from "node:events";
+import { existsSync, mkdtempSync, rmSync } from "node:fs";
+import { connect } from "node:net";
+import { join } from "node:path";
+import { setTimeout as sleep } from "node:timers/promises";
+
+const fixture = join(import.meta.dir, "fixtures/handoff-start.ts");
+
+test("the full source Daemon cold-starts under an inherited invalid listener", async () => {
+ const home = mkdtempSync("/tmp/phm-");
+
+ const daemon = spawn(
+ process.execPath,
+ [join(import.meta.dir, "../main.ts"), "serve", "--foreground"],
+ {
+ env: {
+ ...process.env,
+ HOME: home,
+ POLARIS_HOME: home,
+ POLARIS_BENCH_HARNESS: "1",
+ POLARIS_HANDOFF: JSON.stringify({
+ listenerFd: 999_999,
+ fds: {},
+ children: {},
+ fromVersion: "0.0.0-test",
+ requestId: null,
+ }),
+ },
+ stdio: ["ignore", "pipe", "pipe"],
+ }
+ );
+
+ const exited = once(daemon, "exit");
+ let logs = "";
+
+ daemon.stdout.on("data", (chunk: Buffer) => {
+ logs += chunk.toString();
+ });
+ daemon.stderr.on("data", (chunk: Buffer) => {
+ logs += chunk.toString();
+ });
+
+ const connected = () =>
+ new Promise((resolve) => {
+ const path = join(home, "daemon.sock");
+
+ if (!existsSync(path)) {
+ resolve(false);
+
+ return;
+ }
+
+ const socket = connect(path);
+
+ socket.once("connect", () => {
+ socket.destroy();
+ resolve(true);
+ });
+ socket.once("error", () => {
+ socket.destroy();
+ resolve(false);
+ });
+ });
+
+ try {
+ const deadline = Date.now() + 15_000;
+
+ while (!(await connected())) {
+ if (daemon.exitCode !== null || Date.now() > deadline) throw new Error(logs);
+ await sleep(50);
+ }
+
+ await sleep(600);
+ expect(await connected()).toBe(true);
+ expect(daemon.exitCode).toBeNull();
+ expect(logs).toContain("ignoring an invalid upgrade hand-off");
+ } finally {
+ daemon.kill("SIGTERM");
+ const killed = setTimeout(() => daemon.kill("SIGKILL"), 3000);
+
+ await exited;
+ clearTimeout(killed);
+ rmSync(home, { recursive: true, force: true });
+ }
+}, 25_000);
+
+for (const mode of ["closed", "stdio", "file", "connected", "foreign", "children", "cloexec"]) {
+ test(`ignores a ${mode} hand-off without closing unrelated descriptors`, () => {
+ const home = mkdtempSync("/tmp/phs-");
+
+ try {
+ const result = spawnSync(process.execPath, [fixture, mode], {
+ env: { ...process.env, POLARIS_HOME: home, POLARIS_HANDOFF: "" },
+ encoding: "utf8",
+ timeout: 20_000,
+ });
+
+ expect(result.error).toBeUndefined();
+ expect(result.stderr).toBe("");
+ expect(result.status).toBe(0);
+ } finally {
+ rmSync(home, { recursive: true, force: true });
+ }
+ }, 25_000);
+}
diff --git a/apps/daemon/src/service/libc.ts b/apps/daemon/src/service/libc.ts
index 6cfdd868..63283645 100644
--- a/apps/daemon/src/service/libc.ts
+++ b/apps/daemon/src/service/libc.ts
@@ -48,6 +48,10 @@ const AF_UNIX = 1;
const SOCK_STREAM = 1;
+const SOL_SOCKET = isDarwin ? 0xffff : 1;
+
+const SO_ACCEPTCONN = isDarwin ? 0x0002 : 30;
+
const POLLIN = 0x1;
const WNOHANG = 1;
@@ -60,6 +64,10 @@ const SYMBOLS = {
execve: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
ioctl: { args: [FFIType.i32, FFIType.u64], returns: FFIType.i32 },
fcntl: { args: [FFIType.i32, FFIType.i32], returns: FFIType.i32 },
+ getsockopt: {
+ args: [FFIType.i32, FFIType.i32, FFIType.i32, FFIType.ptr, FFIType.ptr],
+ returns: FFIType.i32,
+ },
accept: { args: [FFIType.i32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
poll: { args: [FFIType.ptr, FFIType.u32, FFIType.i32], returns: FFIType.i32 },
close: { args: [FFIType.i32], returns: FFIType.i32 },
@@ -76,7 +84,14 @@ const ERRNO_LOCATION = { args: [], returns: FFIType.ptr } as const;
// Darwin exports errno through `__error()`, glibc through `__errno_location()`.
const open = () =>
isDarwin
- ? dlopen(LIBC_PATH, { ...SYMBOLS, __error: ERRNO_LOCATION })
+ ? dlopen(LIBC_PATH, {
+ ...SYMBOLS,
+ __error: ERRNO_LOCATION,
+ proc_pidfdinfo: {
+ args: [FFIType.i32, FFIType.i32, FFIType.i32, FFIType.ptr, FFIType.i32],
+ returns: FFIType.i32,
+ },
+ })
: dlopen(LIBC_PATH, { ...SYMBOLS, __errno_location: ERRNO_LOCATION });
let lib: Libc | undefined;
@@ -117,6 +132,25 @@ const cString = (value: string): Buffer => Buffer.from(`${value}\0`, "utf8");
export const isCloseOnExec = (fd: number): boolean =>
(check("fcntl(F_GETFD)", libc().fcntl(fd, F_GETFD)) & FD_CLOEXEC) !== 0;
+/** Whether `fd` is an open listening socket, rather than a reused file or connected socket. */
+export const isListeningSocket = (fd: number): boolean => {
+ const symbols = libc();
+
+ if ("proc_pidfdinfo" in symbols) {
+ // Darwin's socket_fdinfo is 792 bytes; psi.soi_options is at 188 (sys/proc_info.h).
+ const info = new ArrayBuffer(792);
+ const result = symbols.proc_pidfdinfo(process.pid, fd, 3, ptr(info), info.byteLength);
+
+ return result === info.byteLength && (new DataView(info).getInt16(188, true) & 0x0002) !== 0;
+ }
+
+ const accepting = new Int32Array(1);
+ const length = new Uint32Array([accepting.byteLength]);
+ const result = symbols.getsockopt(fd, SOL_SOCKET, SO_ACCEPTCONN, ptr(accepting), ptr(length));
+
+ return result === 0 && accepting[0] !== 0;
+};
+
/** Clear close-on-exec so `fd` survives `execve`. */
export const clearCloseOnExec = (fd: number): void => {
check("ioctl(FIONCLEX)", libc().ioctl(fd, FIONCLEX));
diff --git a/apps/daemon/src/service/upgrade.ts b/apps/daemon/src/service/upgrade.ts
index ab4f2edb..26a29bfc 100644
--- a/apps/daemon/src/service/upgrade.ts
+++ b/apps/daemon/src/service/upgrade.ts
@@ -50,6 +50,8 @@ export class UpgradeError extends Schema.TaggedError()("UpgradeErr
export const HANDOFF_ENV = "POLARIS_HANDOFF";
export const Handoff = Schema.Struct({
+ /** Same PID across execve; absent on envelopes produced by older Daemons. */
+ ownerPid: Schema.optional(Schema.Int),
/** The inherited listening socket, or null if the Daemon had none. */
listenerFd: Schema.NullOr(Schema.Int),
/** Other inherited fds by name, e.g. `harness:` for a Harness's socketpair stdio. */
@@ -98,6 +100,7 @@ export const prepareHandoff = Effect.fn("prepareHandoff")(function* (
});
const handoff: Handoff = {
+ ownerPid: process.pid,
listenerFd,
fds: { ...fds },
children: { ...extras.children },
@@ -141,6 +144,28 @@ export const execInto = Effect.fn("execInto")(function* (options: {
let taken: Handoff | null | undefined;
+const validateHandoff = (handoff: Handoff): Handoff => {
+ if (handoff.ownerPid !== undefined && handoff.ownerPid !== process.pid)
+ throw new Error("hand-off belongs to another process");
+
+ const fds = [
+ ...(handoff.listenerFd === null ? [] : [handoff.listenerFd]),
+ ...Object.values(handoff.fds),
+ ];
+
+ for (const fd of fds) {
+ if (fd < 3 || fd > 0x7fff_ffff || libc.isCloseOnExec(fd))
+ throw new Error(`fd ${fd} was not inherited across execve`);
+ }
+
+ if (handoff.listenerFd !== null && !libc.isListeningSocket(handoff.listenerFd))
+ throw new Error("hand-off listener is not a listening socket");
+
+ for (const fd of fds) libc.setCloseOnExec(fd);
+
+ return handoff;
+};
+
/**
* Read (once) and remove the hand-off envelope from the environment, so it
* is not passed on to Harnesses or terminals. Null on a cold start.
@@ -157,16 +182,18 @@ export const takeHandoff = Effect.fn("takeHandoff")(function* () {
}
taken = yield* Schema.decodeUnknownEffect(Schema.fromJsonString(Handoff))(raw).pipe(
- Effect.mapError(fail("read hand-off"))
+ Effect.mapError(fail("read hand-off")),
+ Effect.flatMap((handoff) =>
+ Effect.try({
+ try: () => validateHandoff(handoff),
+ catch: fail("validate hand-off"),
+ })
+ ),
+ Effect.catch((error) =>
+ Effect.as(Effect.logWarning("ignoring an invalid upgrade hand-off", error), null)
+ )
);
- // Keep inherited fds out of anything this image spawns.
- for (const fd of Object.values(taken.fds)) {
- try {
- libc.setCloseOnExec(fd);
- } catch {}
- }
-
return taken;
});
diff --git a/apps/daemon/src/service/userPath.ts b/apps/daemon/src/service/userPath.ts
index 70d43b92..b0c7dfdd 100644
--- a/apps/daemon/src/service/userPath.ts
+++ b/apps/daemon/src/service/userPath.ts
@@ -6,6 +6,7 @@
* once, as an interactive login shell (where nvm and friends set PATH), and
* merges that with its own PATH and a few well-known user bin directories.
*/
+import { childEnv } from "./childEnv.ts";
import { spawnSync } from "node:child_process";
import { existsSync } from "node:fs";
import { homedir } from "node:os";
@@ -65,7 +66,7 @@ export const loginShellPath = ({ env, timeoutMs = 3000 }: UserPathInput): string
if (shell === undefined || shell === "" || !existsSync(shell)) return null;
const result = spawnSync(shell, ["-i", "-l", "-c", SCRIPT], {
- env: { ...env, TERM: "dumb" },
+ env: childEnv({ ...env, TERM: "dumb" }),
stdio: ["ignore", "pipe", "ignore"],
timeout: timeoutMs,
encoding: "utf8",
diff --git a/apps/daemon/src/terminal/Terminals.ts b/apps/daemon/src/terminal/Terminals.ts
index 55f5fc8d..e521c9d3 100644
--- a/apps/daemon/src/terminal/Terminals.ts
+++ b/apps/daemon/src/terminal/Terminals.ts
@@ -18,6 +18,7 @@
* re-attaches gets `Exit { code: null }` instead of NotFound, and can open
* a new terminal in the same `cwd`.
*/
+import { childEnv } from "../service/childEnv.ts";
import { randomUUID } from "node:crypto";
import {
existsSync,
@@ -363,6 +364,7 @@ const adoptPty = (options: {
if (closed || options.slave === null) return;
const flag = process.platform === "darwin" ? "-f" : "-F";
Bun.spawn(["stty", flag, options.slave, "cols", String(cols), "rows", String(rows)], {
+ env: childEnv(),
stdin: "ignore",
stdout: "ignore",
stderr: "ignore",
@@ -685,7 +687,7 @@ export const makeTerminalsWith = (options: TerminalsOptions) =>
const proc = Bun.spawn(argv, {
cwd,
- env: { ...process.env, TERM: "xterm-256color", COLORTERM: "truecolor" },
+ env: childEnv({ ...process.env, TERM: "xterm-256color", COLORTERM: "truecolor" }),
terminal: {
cols,
rows,
diff --git a/apps/daemon/src/transport/bridge.ts b/apps/daemon/src/transport/bridge.ts
index 67f45130..2a90926d 100644
--- a/apps/daemon/src/transport/bridge.ts
+++ b/apps/daemon/src/transport/bridge.ts
@@ -15,6 +15,7 @@
* process; the bridge repoints `~/.polaris/agent.sock` at it, so the Daemon and
* its Harnesses can use one stable path that survives reconnects.
*/
+import { childEnv } from "../service/childEnv.ts";
import { renameSync, statSync, symlinkSync, unlinkSync } from "node:fs";
import { connect, type Socket } from "node:net";
import { join } from "node:path";
@@ -104,7 +105,12 @@ export interface BridgeOptions {
const spawnSupervisor = (script: string) => {
// Without arguments the script detaches itself (setsid, else nohup) and returns at once.
- Bun.spawn([script], { stdin: "ignore", stdout: "ignore", stderr: "ignore" }).unref();
+ Bun.spawn([script], {
+ env: childEnv(),
+ stdin: "ignore",
+ stdout: "ignore",
+ stderr: "ignore",
+ }).unref();
};
/** Resolves true once something accepts a connection on `socketPath`. */
diff --git a/apps/daemon/src/transport/serve.ts b/apps/daemon/src/transport/serve.ts
index a34d39e9..9260fb71 100644
--- a/apps/daemon/src/transport/serve.ts
+++ b/apps/daemon/src/transport/serve.ts
@@ -34,6 +34,7 @@ import { latestRolloutLimits, PlanLimitReporter } from "../harness/limits/index.
import { HarnessRegistryLive } from "../harness/registry.ts";
import { releaseWhenQuiet } from "../memory/index.ts";
import { userPath } from "../service/userPath.ts";
+import { takeHandoff } from "../service/upgrade.ts";
import { EventStore } from "../store/EventStore.ts";
import { TerminalRpcsLive } from "../terminal/TerminalRpcs.ts";
import { TerminalsDaemonLive } from "../terminal/Terminals.ts";
@@ -157,6 +158,11 @@ export const daemonCapabilities: ReadonlyArray = [
export const serveProgram = Effect.scoped(
Effect.gen(function* () {
+ yield* takeHandoff();
+
+ // Adopt descriptors before the login-shell PATH probe or any handler starts a child.
+ if (!bench) process.env.PATH = userPath({ env: process.env });
+
const server = yield* startServer({
handlers: daemonHandlers,
capabilities: daemonCapabilities,
@@ -178,8 +184,5 @@ export const serveProgram = Effect.scoped(
export const runServe = () => {
installDebugHooks();
- // Harnesses live where the user's terminal finds them, not on the service's bare PATH.
-
- if (!bench) process.env.PATH = userPath({ env: process.env });
BunRuntime.runMain(serveProgram);
};
diff --git a/apps/desktop/README.md b/apps/desktop/README.md
index d538dfca..c4632e1e 100644
--- a/apps/desktop/README.md
+++ b/apps/desktop/README.md
@@ -25,9 +25,56 @@ node scripts/emptyScreens.ts --out [--build] # the empty states and t
**Polaris Dev.app (macOS).** Dev and every script that launches the app (smoke, screens, budgets) run `out/dev/Polaris Dev.app` rather than node_modules' `Electron.app`, so the app menu, Dock, ⌘⇥ and Activity Monitor say "Polaris Dev" (helpers too) and the Dock shows the dusk icon. `scripts/lib/devBundle.ts` makes it on first use: a clonefile copy (`cp -c`) of Electron.app, its executable and helpers renamed, `CFBundleName`/`CFBundleDisplayName` "Polaris Dev", `CFBundleIdentifier` `dev.lux.polaris.dev`, `design/assets/app-icon/dusk/PolarisDev.icns` as the icon, re-signed ad hoc. That takes about 1.5 s. After that `out/dev/stamp.json` (Electron's path and Info.plist, the icon's hash, the patch version) keeps it until one of those changes. `POLARIS_DESKTOP_STOCK_ELECTRON=1` runs stock Electron instead; Linux and Windows always do. userData doesn't move: dev still uses `POLARIS_DESKTOP_USER_DATA`, or `/polaris-desktop-dev-user-data`, and `nameApp` keeps the path it had before renaming. `build` and `package` still start from stock Electron.
-**Packaging** (`scripts/package.ts`, `@electron/packager`): builds main and the renderer, builds the Daemon for every platform (`apps/daemon` `build`), stages an app directory holding only `out/{main,preload,renderer}` and a minimal `package.json` (the bundles are self-contained; only `electron` is external), and packages it with appId `dev.lux.polaris`, the developer-tools category, the generated icon (`design/assets/app-icon/Polaris.icns`, from `design/scripts/gen_app_icon.py`), and `extraResource` for `Resources/daemon/` (every Daemon build plus `manifest.json`, which `machines/builds.ts` reads when packaged) and `Resources/icon.png` (the Linux window icon). The app is unsigned: Gatekeeper asks on first open (right-click → Open). The name and icon also apply in dev (`src/main/identity.ts`: `app.setName`, About, and the dusk Dock icon), and on macOS dev runs `Polaris Dev.app` (above), so the Dock and the app menu read "Polaris Dev".
+**Packaging** (`scripts/package.ts`, `@electron/packager`): builds main and the renderer, builds the Daemon for every platform (`apps/daemon` `build`), stages an app directory holding only `out/{main,preload,renderer}` and a minimal `package.json` (the bundles are self-contained; only `electron` is external), and packages it with appId `dev.lux.polaris`, the developer-tools category, the generated icon (`design/assets/app-icon/Polaris.icns`, from `design/scripts/gen_app_icon.py`), and `extraResource` for `Resources/daemon/` (every Daemon build plus `manifest.json`, which `machines/builds.ts` reads when packaged) and `Resources/icon.png` (the Linux window icon). The name and icon also apply in dev (`src/main/identity.ts`: `app.setName`, About, and the dusk Dock icon), and on macOS dev runs `Polaris Dev.app` (above), so the Dock and the app menu read "Polaris Dev".
-Follow-ups: signing with a Developer ID and notarising (`osxSign`, `osxNotarize`, hardened runtime and entitlements for the JIT), a DMG or zip for download, Linux AppImage/deb (today `--linux` makes an unpacked `Polaris-linux-x64/`), a macOS 26 `.icon` (Icon Composer) beside the `.icns` for the tinted and clear modes, and slimming `Resources/daemon` (about 485 MB for five builds; the packaged app is about 790 MB).
+`bun run --cwd apps/desktop package --release` builds every Daemon with `--release`, using the shared `apps/desktop/package.json` and `apps/daemon/package.json` version. A mismatch fails before building; `--reuse-daemon` is refused in release mode so stale dev builds cannot ship. Without `--release`, Daemons retain their commit-qualified dev versions; `--reuse-daemon` remains available for local packaging. The macOS build also produces `out/dist/Polaris--arm64-mac.zip`, with `Polaris.app` at the archive root. `ditto --keepParent --sequesterRsrc` preserves Electron's framework symlinks and the stapled ticket for Updates.
+
+With no Apple credentials, packaging skips signing and notarisation and produces an unsigned app and zip. For a signed build, first import the Developer ID Application certificate from `MACOS_CERT_P12` using `MACOS_CERT_PASSWORD` into an unlocked keychain (the Release workflow owns import and cleanup). Set these environment variables:
+
+| Variable | Value |
+|---|---|
+| `APPLE_TEAM_ID` | Team owning the Developer ID Application identity. |
+| `APPLE_API_KEY` | Absolute path to the App Store Connect **Team Key** `.p8` file, not its contents. |
+| `APPLE_API_KEY_ID` | API key ID. |
+| `APPLE_API_ISSUER` | Team Key issuer ID. |
+| `MACOS_SIGNING_IDENTITY` | Optional exact certificate name or SHA-1 identity hash; required if the team has several valid Developer ID Application identities. |
+| `MACOS_KEYCHAIN` | Optional keychain path, shared by identity lookup, tool signing and Electron signing. |
+
+Partial credentials, a missing key file, a missing/ambiguous identity, signing errors or notarisation errors fail the build. Certificate material stays in the keychain; packaging never imports it or logs its password. macOS and Xcode with `notarytool` are required for the signed path.
+
+Packaging signs `darwin-arm64/polaris` and `betterleaks` with Developer ID, a secure timestamp and hardened runtime **before** copying them into the app. The Bun Daemon uses `packaging/entitlements/daemon.plist`: JIT and unsigned executable memory, plus disabled library validation for the embedded fff/ast-grep native modules. Betterleaks uses `packaging/entitlements/betterleaks.plist` with unsigned executable memory for its go-re2/wazero regex engine. A hardened-runtime ad-hoc check of the pinned binary passes `version` without exceptions but is killed during scanning; unsigned executable memory alone makes the full planted-token selftest pass (JIT or disabled library validation alone does not). The signed Daemon runs `selftest` (including native-module loading), and Betterleaks runs `version`. Only then are their SHA-256s and sizes written to `apps/daemon/dist/manifest.json`. Linux binaries and hashes remain unchanged. The same signed bytes and manifest ship in `Resources/daemon`, which the Client uploads to remote Hosts; `osxSign` explicitly skips this subtree to preserve the signatures and hashes. Packaging checks every manifest file before signing and again after app packaging, so later tool mutation fails the build.
+
+Packager's `osxSign` signs Electron with hardened runtime, `continueOnError: false` and `packaging/entitlements/electron.plist` (`allow-jit` only). `osxNotarize` submits via the API key, waits and staples the app; packaging verifies its code signature and stapled ticket before creating the final zip. Entitlements follow [Bun's executable signing guide](https://bun.sh/docs/guides/runtime/codesign-macos-executable) and the installed [`@electron/notarize` guidance](https://github.com/electron/notarize#prerequisites); Electron does not receive Bun's broader runtime exceptions. A real Developer ID/notarisation dry run is required once Apple enrollment and secrets are available (ENG-253/ENG-262).
+
+Release packaging also emits `out/dist/Polaris--arm64.dmg`, with the dawn background, an Applications link and a Retina Finder layout. It builds from the completed app without changing its bytes; signed builds also sign, notarise and staple the DMG. See [Installer build](scripts/packaging/README.md) for prerequisites and Finder preference limits.
+
+## Release procedure
+
+[Release](../../.github/workflows/release.yml) runs on pushed `v*` tags, on the macOS 15 arm64 runner in the GitHub `release` environment. It accepts `v..` and `v..-rc.N`. Before installing dependencies, it checks that both the Desktop App and Daemon package versions exactly equal the tag without `v`.
+
+Configure these secrets in the `release` environment (ENG-253):
+
+| Secret | Value |
+|---|---|
+| `MACOS_CERT_P12` | Base64-encoded exported Developer ID Application `.p12` certificate, including its private key. |
+| `MACOS_CERT_PASSWORD` | Password used to export that certificate. |
+| `APPLE_API_KEY` | Contents of the App Store Connect Team Key `.p8` file. The workflow writes a private temporary file and passes its path to packaging. |
+| `APPLE_API_KEY_ID` | Team Key ID. |
+| `APPLE_API_ISSUER` | Team Key issuer ID. |
+| `APPLE_TEAM_ID` | Developer team ID. |
+| `MACOS_SIGNING_IDENTITY` | Optional exact Developer ID Application certificate name or SHA-1 hash when identity selection needs it. Set only with all six required secrets. |
+
+All six required secrets enable signing and notarisation for either tag kind. Partial credentials fail. An `-rc.N` tag may build unsigned when no signing secrets are configured; a stable tag fails without them. The workflow generates a temporary keychain password, imports and unlocks the certificate, and always deletes the keychain, certificate and API key files after use, restoring the runner's keychain search list. Configure environment protection and tag restrictions in GitHub before the first release.
+
+1. **Bump PR.** Update `apps/desktop/package.json` and `apps/daemon/package.json` to the same version in a normal PR, run the repository checks, and merge it. Use an `-rc.N` version for a release candidate. The workflow makes no version commits.
+2. **Tag.** Tag the merged commit, for example `git tag -a v0.1.0-rc.1 -m 'Polaris 0.1.0-rc.1'`, then `git push origin v0.1.0-rc.1`. Resolve any `release` environment approval requested by GitHub.
+3. **Draft.** Review the Actions run and generated release notes. Packaging rebuilds all five release-versioned Daemons, the app, ZIP and DMG. `packageCheck.ts` must pass against the packaged app; signed builds also require code signature verification, Gatekeeper assessment and stapled-ticket validation for the app and DMG. The workflow creates a **draft**; `-rc.N` drafts are also **prereleases**. Unsigned drafts are labelled in their notes.
+4. **Install.** Download the draft DMG, drag Polaris to Applications and launch it on a test Mac. Check the app version, local Host connection and a standalone remote Host installation. For a signed candidate, check Gatekeeper acceptance and the notarisation tickets on the downloaded app and DMG. Exercise an Update from the previous published version using the ZIP. An unsigned candidate is a credential-free packaging check; it does not validate Gatekeeper or Apple notarisation. Complete the signed release-candidate dry run when ENG-253 credentials exist (ENG-262).
+5. **Publish.** A maintainer publishes the reviewed draft in GitHub after installation checks. Keep release candidates marked as prereleases. For a stable release, use a new version-bump PR and stable tag, then publish the signed draft as the latest release. The workflow never publishes automatically.
+
+The uploaded assets are exactly `Polaris--arm64.dmg` and `Polaris--arm64-mac.zip`; `` has no `v` prefix. The site's [feed contract](../site/app/api/update/README.md) excludes drafts and prereleases: `/download/mac` selects the DMG and the Update feed selects the ZIP from the latest published stable release. Before publishing, confirm both assets exist under those names. A rerun does not overwrite an existing release: if creation or upload failed after leaving a partial draft, inspect and remove only that unpublished draft before rerunning the same tag; never move a published tag.
+
+Follow-ups: Linux AppImage/deb (today `--linux` makes an unpacked `Polaris-linux-x64/`), a macOS 26 `.icon` (Icon Composer) beside the `.icns` for the tinted and clear modes, and slimming `Resources/daemon` (about 485 MB for five builds; the packaged app is about 790 MB).
`dev` connects the local Host to `~/.polaris/daemon.sock` when a Daemon answers there; otherwise it starts a dev Daemon from source with its own home and the scripted bench Harness, and keeps it across restarts (ADR 0007). Builds: Vite for the renderer, `Bun.build` for main and preload (ADR 0008).
@@ -164,6 +211,13 @@ The switch into and out of the heavy session is measured and reported, not gated
## Settings
+Settings → About shows the installed version, Desktop App Updates, the automatic
+check switch, Check now and the per-check privacy fields (ADR-0017). A staged
+Update offers Restart to update in About, the native app menu and the K menu;
+Quit becomes Quit and update. Daemon Upgrades stay quiet in the machine bar and
+Hosts row. See [the updater](src/main/updates/README.md) for the feed contract,
+fake-feed smoke, packaged-build restrictions and idle evidence.
+
`/settings.json`: `theme` (`system` | `dark` | `light`), `density` (`calm` | `balanced` | `compact`), `textSize` (`small` | `default` | `large` | `larger`), `diffPalette` (`default` | `cvd`), `motion` (`system` | `reduce` | `full`), `codeFont` (`sf-mono` | `menlo`), `sessionDefaults` (by Harness kind: `{ model, effort, permissionMode }`, what new sessions and the Harness picker start with), `welcomeSeen` (scripts that launch the app past the welcome use `scripts/lib/userData.ts`), `hosts`: `[{ alias, label?, colour?, forwardAgent?, remoteCommand? }]` by `~/.ssh/config` alias (edited from Settings → Hosts), and `local: { enabled }` (this Mac as a Host; on by default). `/approvals.json` holds the approved Daemon builds per alias. The renderer sets `data-theme` (unset for system), `data-density`, `data-text-size`, `data-diff-palette`, `data-reduce-motion` (unset follows macOS; `false` keeps motion) and `--font-mono` on the root. `settings.setAppearance` takes any subset; every window hears the change as an `AppEvent`.
Environment: `POLARIS_DESKTOP_EXTRA_HOSTS` (screenshots and tests: `[{ key, label, socket }]`, more Hosts on local sockets), `POLARIS_DESKTOP_LOCAL_LABEL`, `POLARIS_DESKTOP_USER_DATA`, `POLARIS_DESKTOP_HIDDEN=1`, `POLARIS_DESKTOP_LOCAL_SOCKET` (+ `POLARIS_DESKTOP_BENCH_HARNESS=1`), `POLARIS_DESKTOP_DAEMON=system|dev`, `POLARIS_DESKTOP_DAEMON_DIST` (the Daemon builds to upload), `POLARIS_DESKTOP_SSH_HOME` (whose `~/.ssh/config` lists aliases; tests).
diff --git a/apps/desktop/scripts/appUpdatesSmoke.ts b/apps/desktop/scripts/appUpdatesSmoke.ts
new file mode 100644
index 00000000..3943a1c5
--- /dev/null
+++ b/apps/desktop/scripts/appUpdatesSmoke.ts
@@ -0,0 +1,263 @@
+/** Real main/preload/renderer with a local fake feed and a stand-in Squirrel downloader. */
+import assert from "node:assert/strict";
+import { createServer } from "node:http";
+import { mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
+import { tmpdir } from "node:os";
+import { join } from "node:path";
+import { _electron as electron, type ElectronApplication } from "playwright-core";
+import { Schema } from "effect";
+import { electronBinary, OUT_DIR } from "./lib/electron.ts";
+import { startDaemon } from "./lib/daemon.ts";
+import { MOCK_KEYCHAIN } from "./lib/githubFlow.ts";
+import { takeScriptLease } from "../../../tooling/leases.ts";
+import type { PolarisApi } from "../src/shared/api.ts";
+
+declare const window: { readonly polaris: PolarisApi };
+
+await takeScriptLease("smoke");
+
+const root = mkdtempSync(join(tmpdir(), "polaris-app-update-smoke-"));
+
+const entry = join(OUT_DIR, "main", "app-update-smoke.mjs");
+
+const Receipt = Schema.Struct({ installs: Schema.Number, downloaded: Schema.Boolean });
+
+const requests: Array<{
+ path: string;
+ id: string | string[] | undefined;
+ os: string | string[] | undefined;
+}> = [];
+
+let offer = false;
+
+const server = createServer((request, response) => {
+ const path = request.url ?? "";
+ requests.push({
+ path,
+ id: request.headers["x-polaris-install-id"],
+ os: request.headers["x-polaris-macos-version"],
+ });
+
+ if (path.endsWith(".zip")) {
+ response.end(Buffer.from([80, 75, 3, 4]));
+
+ return;
+ }
+
+ if (!offer) {
+ response.writeHead(204);
+ response.end();
+
+ return;
+ }
+
+ response.setHeader("Content-Type", "application/json");
+ response.end(
+ JSON.stringify({
+ url: `${origin}/Polaris-0.5.0-arm64-mac.zip`,
+ name: "October release",
+ notes: "fake",
+ pub_date: "2026-10-02T00:00:00Z",
+ })
+ );
+});
+
+await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
+
+const address = Schema.decodeUnknownSync(Schema.Struct({ port: Schema.Number }))(server.address());
+
+const origin = `http://127.0.0.1:${address.port}`;
+
+// This fixture replaces native networking only; the bundled production main and IPC run unchanged.
+writeFileSync(
+ entry,
+ `
+import { app, autoUpdater } from 'electron';
+import { writeFileSync } from 'node:fs';
+Object.defineProperty(app, 'isPackaged', { get: () => true });
+let feed; let downloaded = false; let installs = 0;
+autoUpdater.setFeedURL = (value) => { feed = value; };
+autoUpdater.checkForUpdates = () => {
+ autoUpdater.emit('checking-for-update');
+ void (async () => {
+ const url = new URL(feed.url);
+ if (url.origin !== 'https://polaris.lux.dev') throw new Error('unexpected feed origin');
+ const response = await fetch(${JSON.stringify(origin)} + url.pathname, { headers: feed.headers });
+ if (response.status === 204) { autoUpdater.emit('update-not-available'); return; }
+ const release = await response.json();
+ if (!release.url.startsWith(${JSON.stringify(origin)} + '/')) throw new Error('unexpected ZIP origin');
+ autoUpdater.emit('update-available');
+ const zip = await fetch(release.url);
+ const bytes = new Uint8Array(await zip.arrayBuffer());
+ if (bytes[0] !== 80 || bytes[1] !== 75) throw new Error('invalid fake ZIP');
+ downloaded = true;
+ autoUpdater.emit('update-downloaded', {}, release.notes, release.name, new Date(release.pub_date), release.url);
+ })().catch(() => autoUpdater.emit('error', new Error('fake feed failed')));
+};
+autoUpdater.quitAndInstall = () => { if (!downloaded) throw new Error('not downloaded'); installs++; app.quit(); };
+app.on('quit', () => writeFileSync(process.env.POLARIS_UPDATE_RECEIPT, JSON.stringify({ installs, downloaded })));
+await import('./index.js');
+`
+);
+
+writeFileSync(
+ join(root, "package.json"),
+ JSON.stringify({ name: "polaris-update-fixture", version: "0.4.0", type: "module", main: entry })
+);
+
+const daemon = await startDaemon({ home: join(root, "daemon"), benchHarness: true });
+
+let app: ElectronApplication | null = null;
+
+const run = async (restart: boolean) => {
+ const userData = join(root, "app-data");
+
+ if (restart) {
+ mkdirSync(userData, { recursive: true });
+ writeFileSync(join(userData, "settings.json"), JSON.stringify({ welcomeSeen: true }));
+ }
+
+ const receiptPath = join(root, restart ? "restart.json" : "quit.json");
+ offer = false;
+ const before = requests.length;
+ app = await electron.launch({
+ executablePath: electronBinary(),
+ args: [root, MOCK_KEYCHAIN],
+ env: {
+ ...process.env,
+ POLARIS_DESKTOP_USER_DATA: userData,
+ POLARIS_DESKTOP_LOCAL_SOCKET: daemon.socketPath,
+ POLARIS_DESKTOP_BENCH_HARNESS: "1",
+ POLARIS_DESKTOP_HIDDEN: "1",
+ POLARIS_UPDATE_RECEIPT: receiptPath,
+ },
+ });
+ app.process().stdout?.on("data", (chunk: Buffer) => console.log(chunk.toString().trim()));
+ app.process().stderr?.on("data", (chunk: Buffer) => console.log(chunk.toString().trim()));
+ const page = await app.firstWindow();
+ page.setDefaultTimeout(10_000);
+ console.log("App update smoke: window opened");
+
+ if (!restart) {
+ await page.waitForFunction(async () => {
+ const result = await window.polaris.request("updates.get", {});
+
+ return result.ok && !result.value.automatic && result.value.phase === "idle";
+ });
+ assert.equal(requests.length, before);
+ assert.equal(readFileSync(join(userData, "install-id"), "utf8").trim(), requests[0]?.id);
+ await page.evaluate(() => window.polaris.request("updates.check", {}));
+ }
+
+ await page.waitForFunction(async () => {
+ const result = await window.polaris.request("updates.get", {});
+
+ return result.ok && result.value.phase === "current";
+ });
+ assert.equal(requests[before]?.path, "/api/update/darwin-arm64/0.4.0");
+ console.log("App update smoke: launch check current");
+
+ if (restart)
+ assert.match(
+ String(requests[before]?.id),
+ /^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/
+ );
+ else assert.equal(requests[before]?.id, undefined);
+ assert.match(String(requests[before]?.os), /^\d+\.\d+/);
+ assert.equal(requests[0]?.id, readFileSync(join(userData, "install-id"), "utf8").trim());
+ await page.evaluate(() => window.polaris.request("updates.setAutomatic", { enabled: false }));
+ await page.evaluate(() => window.polaris.request("updates.check", {}));
+ await page.waitForFunction(async () => {
+ const r = await window.polaris.request("updates.get", {});
+
+ return r.ok && r.value.phase === "current";
+ });
+ assert.equal(requests[before + 1]?.id, undefined);
+ offer = true;
+ await page.evaluate(() => window.polaris.request("updates.check", {}));
+ await page.waitForFunction(async () => {
+ const r = await window.polaris.request("updates.get", {});
+
+ return r.ok && r.value.phase === "ready" && r.value.availableVersion === "0.5.0";
+ });
+
+ const labels = await app.evaluate(({ Menu }) =>
+ Menu.getApplicationMenu()?.items[0]?.submenu?.items.map((item) => item.label)
+ );
+
+ console.log("App update smoke: downloaded and ready");
+
+ assert(labels?.includes("Restart to update to 0.5.0"));
+ assert(labels?.includes("Quit and update"));
+ await page.keyboard.press("Meta+k");
+ await page.getByRole("dialog", { name: "Jump" }).waitFor();
+ await page
+ .getByRole("dialog", { name: "Jump" })
+ .getByText("Restart to update", { exact: true })
+ .waitFor();
+ await page.keyboard.press("Escape");
+ await app.evaluate(({ BrowserWindow }) => BrowserWindow.getAllWindows()[0]?.close());
+ assert.equal(await app.evaluate(({ BrowserWindow }) => BrowserWindow.getAllWindows().length), 1);
+ console.log("App update smoke: unsaved quit cancelled");
+ assert.equal(
+ await app.evaluate(({ BrowserWindow }) => BrowserWindow.getAllWindows()[0]?.isVisible()),
+ false
+ );
+ await page.evaluate(() =>
+ window.polaris.request("editor.publishDirty", {
+ files: [{ hostKey: "local", path: "/tmp/unsaved.txt", unkept: false }],
+ })
+ );
+ await app.evaluate(({ dialog }) => {
+ dialog.showMessageBox = async () => ({ response: 2, checkboxChecked: false });
+ });
+ await page.evaluate(() => window.polaris.request("updates.restart", {}));
+ // Flush main's cancelled prompt before another quit request.
+ await app.evaluate(async () => {
+ await new Promise((resolve) => setImmediate(resolve));
+ });
+ assert.equal(await app.evaluate(({ BrowserWindow }) => BrowserWindow.getAllWindows().length), 1);
+ await app.evaluate(({ dialog }) => {
+ dialog.showMessageBox = async () => ({ response: 1, checkboxChecked: false });
+ });
+ const closed = new Promise((resolve) => app?.once("close", () => resolve()));
+
+ if (restart) await page.evaluate(() => window.polaris.request("updates.restart", {}));
+ else await app.evaluate(({ app: nativeApp }) => nativeApp.quit());
+ await closed;
+ app = null;
+
+ const receipt = Schema.decodeUnknownSync(Schema.fromJsonString(Receipt))(
+ readFileSync(receiptPath, "utf8")
+ );
+
+ assert.equal(receipt.downloaded, true);
+ assert.equal(receipt.installs, restart ? 1 : 0);
+ console.log(
+ `App update smoke: ${restart ? "restart" : "quit without relaunch"}, cancel unsaved quit, hide window, ID opt-out: ok`
+ );
+};
+
+try {
+ await run(true);
+ await run(false);
+} finally {
+ // SAFETY: run mutates app across awaits; TypeScript only sees its initial null.
+ const active = app as ElectronApplication | null;
+
+ if (active !== null) {
+ await active
+ .evaluate(({ dialog }) => {
+ dialog.showMessageBox = async () => ({ response: 1, checkboxChecked: false });
+ })
+ .catch(() => {});
+ await active.close();
+ }
+
+ await daemon.stop();
+ await new Promise((resolve, reject) =>
+ server.close((error) => (error ? reject(error) : resolve()))
+ );
+ rmSync(entry, { force: true });
+ rmSync(root, { recursive: true, force: true });
+}
diff --git a/apps/desktop/scripts/daemonUpdatesSmoke.ts b/apps/desktop/scripts/daemonUpdatesSmoke.ts
index 47743374..0420df62 100644
--- a/apps/desktop/scripts/daemonUpdatesSmoke.ts
+++ b/apps/desktop/scripts/daemonUpdatesSmoke.ts
@@ -40,6 +40,16 @@ try {
const page = await app.firstWindow();
await page.waitForFunction("window.polaris !== undefined");
await machineFlow({ page, host, step: console.log, openHosts: null, shoot: async () => {} });
+ await app.evaluate(({ webContents }) => {
+ for (const contents of webContents.getAllWebContents())
+ contents.send("polaris:app", { kind: "command", id: "settings.hosts" });
+ });
+ await page.getByTestId("hosts-settings").waitFor();
+ await page.getByText("Upgraded to 0.0.0-dev.900.abc1234", { exact: false }).waitFor();
+
+ if (await page.locator("[data-sonner-toast]").filter({ hasText: "Daemon upgraded" }).count())
+ throw new Error("Daemon Upgrade still makes a success toast");
+ console.log("Daemon Upgrade smoke: quiet Hosts row, no success toast");
console.log("Daemon update IPC smoke: ok");
} finally {
await app?.close();
diff --git a/apps/desktop/scripts/dmg.ts b/apps/desktop/scripts/dmg.ts
new file mode 100644
index 00000000..295e05ed
--- /dev/null
+++ b/apps/desktop/scripts/dmg.ts
@@ -0,0 +1,23 @@
+#!/usr/bin/env bun
+/** Rebuild the installer from an already packaged Polaris.app, without modifying the app. */
+import { join } from "node:path";
+import { Schema } from "effect";
+import { APP_DIR, OUT_DIR, REPO_ROOT } from "./lib/build.ts";
+import { installerDmg } from "./packaging/dmg.ts";
+import { resolveSigning, signingCredentials } from "./packaging/release.ts";
+
+const { version } = Schema.decodeUnknownSync(Schema.Struct({ version: Schema.String }))(
+ await Bun.file(join(APP_DIR, "package.json")).json()
+);
+
+const output = join(OUT_DIR, "dist");
+
+console.log(
+ installerDmg(
+ join(output, "Polaris-darwin-arm64/Polaris.app"),
+ version,
+ output,
+ join(REPO_ROOT, "design/assets"),
+ resolveSigning(signingCredentials(process.env))
+ )
+);
diff --git a/apps/desktop/scripts/hostsScreens.ts b/apps/desktop/scripts/hostsScreens.ts
index ed6b5c5a..6343bc46 100644
--- a/apps/desktop/scripts/hostsScreens.ts
+++ b/apps/desktop/scripts/hostsScreens.ts
@@ -95,18 +95,18 @@ try {
if (first !== "machine-local") throw new Error(`This Mac isn't first: ${first}`);
for (const text of [
- "Update available · 0.4.1 → 0.5.0",
+ "0.5.0 available · upgrades its daemon only when you ask",
"Copying polaris 0.5.0 · 7.3 of 18.6 MB",
"Switching to 0.5.0; agent sessions keep going",
"Checking NUC",
- "Updates once Old laptop is connected",
- "Updated to 0.5.0 · 3m ago",
+ "Upgrades to 0.5.0 when it connects",
+ "Upgraded to 0.5.0 · 3m ago",
])
await expectText(page, text);
// The row menu's override, and a host that keeps its own choice says so.
await page.getByRole("button", { name: "Mac Studio actions" }).click();
- await expectText(page, "Daemon updates");
+ await expectText(page, "Daemon upgrades");
await page.waitForTimeout(400);
await shot(page, "menu-dark");
await page.keyboard.press("Escape");
@@ -118,12 +118,12 @@ try {
await appearance(page, "light", "calm");
const studio = page.getByTestId("machine-studio");
- await studio.getByRole("button", { name: "Update" }).click();
+ await studio.getByRole("button", { name: "Upgrade" }).click();
await expectText(page, "Checking Mac Studio");
await page.getByRole("progressbar").waitFor();
await shot(page, "live-uploading-light");
await expectText(page, "Switching to 0.5.0");
- await expectText(page, "Updated to 0.5.0");
+ await expectText(page, "Upgraded to 0.5.0");
await shot(page, "live-done-light");
await page.getByRole("switch", { name: "Keep daemons up to date" }).click();
await page
diff --git a/apps/desktop/scripts/lib/daemon.test.ts b/apps/desktop/scripts/lib/daemon.test.ts
new file mode 100644
index 00000000..3b8db9aa
--- /dev/null
+++ b/apps/desktop/scripts/lib/daemon.test.ts
@@ -0,0 +1,53 @@
+import { expect, test } from "bun:test";
+import { spawnSync } from "node:child_process";
+import { mkdtempSync, rmSync } from "node:fs";
+import { tmpdir } from "node:os";
+import { join } from "node:path";
+import { testEnv } from "./daemon.ts";
+
+test("smoke environment excludes overridden handoff and preserves fixture settings", () => {
+ const extra = { POLARIS_HANDOFF: "override", PATH: "/fixture/bin", HOME: "/fixture/user" };
+ const env = testEnv("/fixture/daemon", true, undefined, extra);
+
+ expect(env.POLARIS_HANDOFF).toBeUndefined();
+ expect(env.POLARIS_HOME).toBe("/fixture/daemon");
+ expect(env.POLARIS_BENCH_HARNESS).toBe("1");
+ expect(env.HOME).toBe("/fixture/user");
+ expect(env.PATH).toBe("/fixture/bin");
+ expect(extra.POLARIS_HANDOFF).toBe("override");
+});
+
+test.each(["inherited", "override"])(
+ "a fresh source Daemon excludes %s upgrade hand-off",
+ (mode) => {
+ const home = mkdtempSync(join(tmpdir(), "polaris-smoke-handoff-"));
+
+ try {
+ const result = spawnSync(
+ "node",
+ [join(import.meta.dir, "fixtures/daemon-start.ts"), home, mode],
+ {
+ env: {
+ ...process.env,
+ POLARIS_HANDOFF: JSON.stringify({
+ listenerFd: 999_999,
+ fds: {},
+ children: {},
+ fromVersion: "0.0.0-test",
+ requestId: null,
+ }),
+ },
+ encoding: "utf8",
+ timeout: 25_000,
+ }
+ );
+
+ expect(result.error).toBeUndefined();
+ expect(result.stderr).toBe("");
+ expect(result.status).toBe(0);
+ } finally {
+ rmSync(home, { recursive: true, force: true });
+ }
+ },
+ 30_000
+);
diff --git a/apps/desktop/scripts/lib/daemon.ts b/apps/desktop/scripts/lib/daemon.ts
index c0cd12cb..92672384 100644
--- a/apps/desktop/scripts/lib/daemon.ts
+++ b/apps/desktop/scripts/lib/daemon.ts
@@ -43,21 +43,31 @@ const live = (socketPath: string) =>
* The test Daemon's environment: its own POLARIS_HOME and HOME, so it never reads (or
* indexes, for Usage) the developer's real Harness logs and settings.
*/
-const testEnv = (
+export const testEnv = (
home: string,
benchHarness: boolean,
userHome: string | undefined,
extra: Readonly>
) => {
- const { CLAUDE_CONFIG_DIR: _claude, CODEX_HOME: _codex, ...env } = process.env;
-
- return {
+ // A fresh child does not inherit the listener described by a Daemon upgrade hand-off.
+ const {
+ CLAUDE_CONFIG_DIR: _claude,
+ CODEX_HOME: _codex,
+ POLARIS_HANDOFF: _handoff,
+ ...env
+ } = process.env;
+
+ const childEnv: NodeJS.ProcessEnv = {
...env,
HOME: userHome ?? home,
POLARIS_HOME: home,
POLARIS_BENCH_HARNESS: benchHarness ? "1" : "0",
...extra,
};
+
+ delete childEnv.POLARIS_HANDOFF;
+
+ return childEnv;
};
/**
diff --git a/apps/desktop/scripts/lib/fixtures/daemon-start.ts b/apps/desktop/scripts/lib/fixtures/daemon-start.ts
new file mode 100644
index 00000000..6e1b73a9
--- /dev/null
+++ b/apps/desktop/scripts/lib/fixtures/daemon-start.ts
@@ -0,0 +1,28 @@
+import { once } from "node:events";
+import { connect } from "node:net";
+import { setTimeout as sleep } from "node:timers/promises";
+import { startDaemon } from "../daemon.ts";
+
+const home = process.argv[2];
+
+if (home === undefined) throw new Error("expected a temporary Daemon home");
+
+const daemon = await startDaemon({
+ home,
+ benchHarness: true,
+ env: process.argv[3] === "override" ? { POLARIS_HANDOFF: process.env.POLARIS_HANDOFF ?? "" } : {},
+});
+
+try {
+ // Reconnect after the upgrade drain's grace period, when a stale descriptor used to exit.
+ await sleep(600);
+ const socket = connect(daemon.socketPath);
+
+ try {
+ await once(socket, "connect");
+ } finally {
+ socket.destroy();
+ }
+} finally {
+ await daemon.stop();
+}
diff --git a/apps/desktop/scripts/package.ts b/apps/desktop/scripts/package.ts
index 4f09f908..3acbffdb 100644
--- a/apps/desktop/scripts/package.ts
+++ b/apps/desktop/scripts/package.ts
@@ -3,16 +3,30 @@
* Packages the Desktop App with @electron/packager: `out/dist/Polaris-darwin-arm64/Polaris.app`
* (and, with `--linux`, `Polaris-linux-x64/`), appId `dev.lux.polaris`, the generated app
* icon, and every Daemon build in `Resources/daemon` (see src/main/machines/README.md).
- * Unsigned: signing and notarisation are a follow-up (README, Packaging).
+ * Signs and notarises when Apple credentials are provided (README, Packaging).
*
* bun scripts/package.ts this Mac (darwin arm64)
* bun scripts/package.ts --linux …and Linux x64
* bun scripts/package.ts --reuse-daemon keep apps/daemon/dist as it is
+ * bun scripts/package.ts --release matching release versions, fresh Daemons
*/
import { cpSync, existsSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
import { join } from "node:path";
import { packager } from "@electron/packager";
+import { Schema } from "effect";
import { APP_DIR, buildMain, buildRenderer, OUT_DIR, REPO_ROOT } from "./lib/build.ts";
+import {
+ assertReleaseVersions,
+ daemonBuildCommand,
+ macSigningOptions,
+ resolveSigning,
+ signDaemonBuilds,
+ signingCredentials,
+ updateZip,
+ verifyDaemonManifest,
+} from "./packaging/index.ts";
+import { run } from "./packaging/command.ts";
+import { installerDmg } from "./packaging/dmg.ts";
const args = process.argv.slice(2);
@@ -24,11 +38,34 @@ const DAEMON_DIST = join(REPO_ROOT, "apps/daemon/dist");
const STAGE = join(OUT_DIR, "package");
-const run = (cmd: string[], cwd: string) => {
- const result = Bun.spawnSync(cmd, { cwd, stdout: "inherit", stderr: "inherit" });
+const release = args.includes("--release");
- if (result.exitCode !== 0) throw new Error(`${cmd.join(" ")} failed`);
-};
+const decodePackage = Schema.decodeUnknownSync(
+ Schema.Struct({
+ version: Schema.String,
+ devDependencies: Schema.Record(Schema.String, Schema.String),
+ })
+);
+
+const pkg = decodePackage(await Bun.file(join(APP_DIR, "package.json")).json());
+
+if (release) {
+ const daemon = Schema.decodeUnknownSync(Schema.Struct({ version: Schema.String }))(
+ await Bun.file(join(REPO_ROOT, "apps/daemon/package.json")).json()
+ );
+
+ assertReleaseVersions(pkg.version, daemon.version, args.includes("--reuse-daemon"));
+}
+
+const signing = resolveSigning(signingCredentials(process.env));
+
+const ENTITLEMENTS = join(import.meta.dir, "packaging/entitlements");
+
+console.log(
+ signing === null
+ ? "no Apple credentials: packaging unsigned"
+ : "signing and notarising with Developer ID"
+);
if (!existsSync(join(ICONS, "Polaris.icns")))
throw new Error(
@@ -40,7 +77,11 @@ await buildRenderer();
await buildMain({ minify: true });
if (!args.includes("--reuse-daemon") || !existsSync(join(DAEMON_DIST, "manifest.json")))
- run(["bun", "run", "build"], join(REPO_ROOT, "apps/daemon"));
+ console.log(run(daemonBuildCommand(REPO_ROOT, release)).trim());
+
+verifyDaemonManifest(DAEMON_DIST, release ? pkg.version : undefined);
+
+signDaemonBuilds(DAEMON_DIST, signing, ENTITLEMENTS);
// The app directory holds only what runs: the bundles are self-contained (just `electron`).
rmSync(STAGE, { recursive: true, force: true });
@@ -56,12 +97,6 @@ mkdirSync(resources, { recursive: true });
for (const dir of ["main", "preload", "renderer"])
cpSync(join(OUT_DIR, dir), join(app, "out", dir), { recursive: true });
-// SAFETY: our own package.json, which always has these fields.
-const pkg = (await Bun.file(join(APP_DIR, "package.json")).json()) as {
- readonly version: string;
- readonly devDependencies: Readonly>;
-};
-
writeFileSync(
join(app, "package.json"),
JSON.stringify(
@@ -111,8 +146,24 @@ for (const target of targets) {
asar: true,
prune: false,
quiet: true,
+ ...macSigningOptions(target.platform === "darwin" ? signing : null, ENTITLEMENTS),
});
+ if (path === undefined) throw new Error(`packager returned no ${target.platform} output`);
+
+ if (target.platform === "darwin") {
+ const bundle = join(path, "Polaris.app");
+
+ verifyDaemonManifest(
+ join(bundle, "Contents/Resources/daemon"),
+ release ? pkg.version : undefined
+ );
+ console.log(`archived ${updateZip(bundle, pkg.version, join(OUT_DIR, "dist"), signing)}`);
+ console.log(
+ `installer ${installerDmg(bundle, pkg.version, join(OUT_DIR, "dist"), join(REPO_ROOT, "design/assets"), signing)}`
+ );
+ }
+
console.log(`packaged ${path}`);
}
diff --git a/apps/desktop/scripts/packageCheck.ts b/apps/desktop/scripts/packageCheck.ts
index b813de5e..e2971e63 100644
--- a/apps/desktop/scripts/packageCheck.ts
+++ b/apps/desktop/scripts/packageCheck.ts
@@ -9,9 +9,12 @@ import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
import { tmpdir } from "node:os";
import { join } from "node:path";
import { _electron as electron } from "playwright-core";
+import type { PolarisApi } from "../src/shared/api.ts";
import { startDaemon } from "./lib/daemon.ts";
import { APP_DIR } from "./lib/electron.ts";
+declare const window: { readonly polaris: PolarisApi };
+
const args = process.argv.slice(2);
const at = args.indexOf("--screenshot");
@@ -32,10 +35,12 @@ const daemon = await startDaemon({ home, benchHarness: true, userHome: join(home
const app = await electron.launch({
executablePath: join(bundle, "Contents/MacOS/Polaris"),
+ args: ["--use-mock-keychain"],
env: {
...process.env,
POLARIS_DESKTOP_LOCAL_SOCKET: daemon.socketPath,
POLARIS_DESKTOP_USER_DATA: userData,
+ POLARIS_DESKTOP_BENCH_HARNESS: "1",
},
});
@@ -72,10 +77,49 @@ try {
check("Daemon builds", facts.daemonBuilds, "Resources/daemon/manifest.json");
check("window icon", facts.icon, "Resources/icon.png");
- await page
- .locator('[data-host="local"][data-connection="connected"]')
- .first()
- .waitFor({ timeout: 30_000 });
+ // The empty-workspace home screen does not render the Host bar.
+ await page.waitForFunction(() => Boolean(window.polaris));
+ await page.evaluate(
+ () =>
+ new Promise((resolve, reject) => {
+ let lastStatus = "no Host feed items";
+
+ const timer = setTimeout(() => {
+ cancel();
+ reject(new Error(`local Host did not connect in 30 s: ${lastStatus}`));
+ }, 30_000);
+
+ const cancel = window.polaris.subscribe(
+ "hosts",
+ {},
+ {
+ items: (items) => {
+ lastStatus = JSON.stringify(
+ items.flatMap((hosts) =>
+ hosts.map((host) => ({ key: host.key, status: host.status }))
+ )
+ );
+
+ if (
+ !items.some((hosts) =>
+ hosts.some((host) => host.key === "local" && host.status.state === "connected")
+ )
+ )
+ return;
+
+ clearTimeout(timer);
+ cancel();
+ resolve();
+ },
+ end: () => {
+ clearTimeout(timer);
+ cancel();
+ reject(new Error("Host feed ended before the local Host connected"));
+ },
+ }
+ );
+ })
+ );
check("local Daemon", true, "connected");
if (shot !== null) await page.screenshot({ path: shot });
diff --git a/apps/desktop/scripts/packaging/README.md b/apps/desktop/scripts/packaging/README.md
new file mode 100644
index 00000000..893237ff
--- /dev/null
+++ b/apps/desktop/scripts/packaging/README.md
@@ -0,0 +1,50 @@
+# Installer build
+
+`bun run --cwd apps/desktop package --release` produces both
+`out/dist/Polaris--arm64-mac.zip` and
+`out/dist/Polaris--arm64.dmg`. To rebuild just the DMG from the existing
+`out/dist/Polaris-darwin-arm64/Polaris.app`, run
+`bun apps/desktop/scripts/dmg.ts` from the repository root.
+
+Install [uv](https://docs.astral.sh/uv/getting-started/installation/) on the macOS
+runner before packaging. `uv run --locked --script build_dmg.py` uses the committed
+script lockfile, including wheel hashes. It needs Python 3.10 or newer, macOS's
+`hdiutil`, `tiffutil`, and the Xcode Command Line Tools (`SetFile`). The build
+writes `.DS_Store` directly with [dmgbuild](https://dmgbuild.readthedocs.io/en/latest/);
+it needs no Finder, AppleScript, display, or logged-in GUI session.
+
+Build-only dependency audit: dmgbuild 1.6.7, ds-store 1.3.3 and mac-alias 2.2.3
+are all MIT licensed (verified from their installed licence files). None is
+bundled into Polaris, and no upstream implementation is copied. The repository's
+`bun run licenses:check` audits shipped JavaScript/native dependencies separately.
+
+The background comes from DESIGN.md's accepted Installer recipe:
+`uv run --with numpy --with pillow design/scripts/gen_dmg.py`. The committed
+`design/assets/dmg/background.png` and `background@2x.png` share whole-pixel
+330×200 scene cells. dmgbuild combines them with `tiffutil -cathidpicheck` into the
+hidden Retina TIFF on the image. The HFS+ image uses UDZO/zlib compression and
+contains the app, an Applications symlink, the app's volume icon, and Finder's
+660×400 layout with the specified 100pt icons and 12pt labels.
+
+Finder's saved window bounds include its 32pt title bar, so the image specifies
+660×432 window bounds for 660×400 content. A fresh image honours the toolbar and
+sidebar settings. Navigating to an already mounted volume from an existing
+window can retain that window's chrome. Finder's global path/status bar settings
+may override the image's preferences; "Show all filename extensions" exposes
+`Polaris.app` despite its hidden-extension flag. These are native Finder limits.
+
+Real mounted verification on macOS 27.0 found black icon labels on the night image
+even with dark Finder chrome; Paper I1 had assumed white labels in dark appearance.
+The user chose the dawn background (Paper I3/I4) for everyone after this finding.
+The generator now draws that scene with seed 12, meadow flowers and the dawn
+cabin, with a neutral ink arrow. The black labels are legible in both Finder
+appearances. No label colour is baked into the background; Finder draws the labels.
+
+With the same complete credentials consumed by `release.ts`, packaging verifies
+the already signed and stapled app, builds the image without modifying it, signs
+the DMG with Developer ID and a secure timestamp, waits for `notarytool` to return
+`Accepted`, staples and validates the DMG ticket, then verifies the image checksum.
+Only then is the staged DMG moved to its stable output name. Failures clean the
+staging directory and leave any previous verified output intact. Without
+credentials the image is built and checksum-verified unsigned; partial credentials
+fail before building. Real Apple-service validation awaits ENG-253 credentials.
diff --git a/apps/desktop/scripts/packaging/build_dmg.py b/apps/desktop/scripts/packaging/build_dmg.py
new file mode 100644
index 00000000..28713fab
--- /dev/null
+++ b/apps/desktop/scripts/packaging/build_dmg.py
@@ -0,0 +1,52 @@
+# /// script
+# requires-python = ">=3.10"
+# dependencies = ["dmgbuild==1.6.7"]
+# ///
+"""Write the Installer layout directly to .DS_Store; no Finder or GUI session."""
+from pathlib import Path
+import sys
+
+from dmgbuild import build_dmg
+
+
+def settings(app, assets):
+ return {
+ "format": "UDZO",
+ "compression_level": 9,
+ "filesystem": "HFS+",
+ "files": [str(app)],
+ "symlinks": {"Applications": "/Applications"},
+ "icon": str(assets / "app-icon" / "Polaris.icns"),
+ "background": str(assets / "dmg" / "background.png"),
+ "icon_locations": {"Polaris.app": (165, 190), "Applications": (495, 190)},
+ # Finder's bounds include the 32pt title bar above the 660×400 content.
+ "window_rect": ((100, 100), (660, 432)),
+ "default_view": "icon-view",
+ "include_icon_view_settings": True,
+ "include_list_view_settings": False,
+ "show_status_bar": False,
+ "show_tab_view": False,
+ "show_toolbar": False,
+ "show_pathbar": False,
+ "show_sidebar": False,
+ "show_icon_preview": False,
+ "show_item_info": False,
+ "arrange_by": None,
+ "grid_offset": (0, 0),
+ "scroll_position": (0, 0),
+ "label_pos": "bottom",
+ "text_size": 12,
+ "icon_size": 100,
+ "hide_extensions": ["Polaris.app"],
+ }
+
+
+if __name__ == "__main__":
+ app, assets, output = (Path(arg).resolve() for arg in sys.argv[1:])
+ if not (app / "Contents" / "Info.plist").is_file():
+ raise ValueError(f"not an app bundle: {app}")
+ for asset in (assets / "app-icon" / "Polaris.icns", assets / "dmg" / "background.png",
+ assets / "dmg" / "background@2x.png"):
+ if not asset.is_file():
+ raise FileNotFoundError(asset)
+ build_dmg(str(output), "Polaris", settings=settings(app, assets), lookForHiDPI=True)
diff --git a/apps/desktop/scripts/packaging/build_dmg.py.lock b/apps/desktop/scripts/packaging/build_dmg.py.lock
new file mode 100644
index 00000000..178c410f
--- /dev/null
+++ b/apps/desktop/scripts/packaging/build_dmg.py.lock
@@ -0,0 +1,40 @@
+version = 1
+revision = 1
+requires-python = ">=3.10"
+
+[manifest]
+requirements = [{ name = "dmgbuild", specifier = "==1.6.7" }]
+
+[[package]]
+name = "dmgbuild"
+version = "1.6.7"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "ds-store" },
+ { name = "mac-alias" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a7/a5/f4dbd63c96902de8f2427a82518aaeedac0006587409294e55a14e45f367/dmgbuild-1.6.7.tar.gz", hash = "sha256:676b17acd448899f6d4a83b2184e0657480444ecb6ac9c4922889efad9e5dbfb", size = 36938 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6c/4a/8812638bba991a55a4b670806ab9cf60207077401893bb308eb1b04f288c/dmgbuild-1.6.7-py3-none-any.whl", hash = "sha256:37ee5771c377beb3203d9164aae8046ffed8531c06edf9227f5788b3c599b1bf", size = 34853 },
+]
+
+[[package]]
+name = "ds-store"
+version = "1.3.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mac-alias" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/65/88/6b56e5648599959735be58281b15e6955c735b759e475a72236f85e28ffe/ds_store-1.3.3.tar.gz", hash = "sha256:a7380896ea1e880f7ba07c5cdc24bd1530fb86836cad0be531f3e80e2d721ac5", size = 27503 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/66/c0/718a4132306ff8ff052f2c40595f45595993b480409400d55b07f3842d45/ds_store-1.3.3-py3-none-any.whl", hash = "sha256:b92a371efbf1b4ccce2a04d1ed13fceacc4736c81ba09cf5aefb74c088160a35", size = 16292 },
+]
+
+[[package]]
+name = "mac-alias"
+version = "2.2.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/fb/c9/2c28b2ea968a6bbc4327c0360b746fda3757cb11cf287d00078cf81a27e2/mac_alias-2.2.3.tar.gz", hash = "sha256:1c7fa367687d66979f2ce4d1a8b2716cf1c9fb811741cab3cf3ca356555c2beb", size = 33860 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/13/20/103f4e4a6e8a524ea92eee7d938c6133d0b129aa999a50f8648ad126c728/mac_alias-2.2.3-py3-none-any.whl", hash = "sha256:7362b521d2132ef92f606a37abfed5fcd849ceb2f28b6f9743e014b02af92f0d", size = 21127 },
+]
diff --git a/apps/desktop/scripts/packaging/command.ts b/apps/desktop/scripts/packaging/command.ts
new file mode 100644
index 00000000..a00767d5
--- /dev/null
+++ b/apps/desktop/scripts/packaging/command.ts
@@ -0,0 +1,10 @@
+export type Run = (argv: ReadonlyArray) => string;
+
+export const run: Run = (argv) => {
+ const result = Bun.spawnSync([...argv], { stdout: "pipe", stderr: "pipe" });
+
+ if (result.exitCode !== 0)
+ throw new Error(`${argv[0]} failed (${result.exitCode})\n${result.stderr.toString()}`);
+
+ return result.stdout.toString();
+};
diff --git a/apps/desktop/scripts/packaging/dmg.test.ts b/apps/desktop/scripts/packaging/dmg.test.ts
new file mode 100644
index 00000000..a00e78ed
--- /dev/null
+++ b/apps/desktop/scripts/packaging/dmg.test.ts
@@ -0,0 +1,155 @@
+import { afterEach, expect, test } from "bun:test";
+import { existsSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs";
+import { tmpdir } from "node:os";
+import { join } from "node:path";
+import type { Run } from "./command.ts";
+import { installerDmg, signDmg } from "./dmg.ts";
+import type { Signing } from "./release.ts";
+
+const dirs: string[] = [];
+
+const temporary = () => {
+ const dir = mkdtempSync(join(tmpdir(), "polaris-dmg-test-"));
+ dirs.push(dir);
+
+ return dir;
+};
+
+afterEach(() => {
+ for (const dir of dirs.splice(0)) rmSync(dir, { recursive: true, force: true });
+});
+
+const signing: Signing = {
+ identity: "Developer ID Application: Test (TEAM123456)",
+ teamId: "TEAM123456",
+ appleApiKey: "/tmp/fake-key.p8",
+ appleApiKeyId: "KEY1234567",
+ appleApiIssuer: "fake-issuer",
+ keychain: "/tmp/fake.keychain-db",
+};
+
+test("unsigned installer uses the locked headless builder and publishes only after verification", () => {
+ const output = temporary();
+
+ const commands: ReadonlyArray[] = [];
+
+ const execute: Run = (argv) => {
+ commands.push(argv);
+
+ if (argv[0] === "uv") writeFileSync(argv.at(-1)!, "built image");
+
+ expect(existsSync(join(output, "Polaris-0.1.0-rc.1-arm64.dmg"))).toBe(false);
+
+ return "";
+ };
+
+ const dmg = installerDmg("/dist/Polaris.app", "0.1.0-rc.1", output, "/assets", null, execute);
+
+ expect(readFileSync(dmg, "utf8")).toBe("built image");
+
+ expect(commands[0]?.slice(0, 4)).toEqual(["uv", "run", "--locked", "--script"]);
+
+ expect(commands[0]?.slice(-3, -1)).toEqual(["/dist/Polaris.app", "/assets"]);
+
+ expect(commands[1]).toEqual(["hdiutil", "verify", commands[0]!.at(-1)!]);
+
+ expect(commands).toHaveLength(2);
+
+ expect(readdirSync(output)).toEqual(["Polaris-0.1.0-rc.1-arm64.dmg"]);
+});
+
+test("signed DMG verifies the app first, then signs, waits for acceptance and validates its ticket", () => {
+ const commands: ReadonlyArray[] = [];
+
+ const output = temporary();
+ installerDmg("/dist/Polaris.app", "0.1.0", output, "/assets", signing, (argv) => {
+ commands.push(argv);
+
+ if (argv[0] === "uv") writeFileSync(argv.at(-1)!, "built image");
+
+ return argv[1] === "notarytool" ? '{"status":"Accepted","id":"test-submission"}' : "";
+ });
+
+ expect(commands[0]).toEqual(["codesign", "--verify", "--deep", "--strict", "/dist/Polaris.app"]);
+
+ expect(commands[1]).toEqual(["xcrun", "stapler", "validate", "/dist/Polaris.app"]);
+
+ const image = commands[2]!.at(-1)!;
+
+ expect(commands[3]).toEqual([
+ "codesign",
+ "--force",
+ "--timestamp",
+ "--sign",
+ signing.identity,
+ "--keychain",
+ signing.keychain!,
+ image,
+ ]);
+
+ expect(commands[4]).toEqual(["codesign", "--verify", "--strict", image]);
+
+ expect(commands[5]).toEqual([
+ "xcrun",
+ "notarytool",
+ "submit",
+ image,
+ "--key",
+ signing.appleApiKey,
+ "--key-id",
+ signing.appleApiKeyId,
+ "--issuer",
+ signing.appleApiIssuer,
+ "--wait",
+ "--output-format",
+ "json",
+ ]);
+
+ expect(commands.slice(6)).toEqual([
+ ["xcrun", "stapler", "staple", image],
+ ["xcrun", "stapler", "validate", image],
+ ["hdiutil", "verify", image],
+ ]);
+});
+
+test("failed build, signing, rejected notarisation or verification leaves no new artifact", () => {
+ for (const failingStep of ["uv", "codesign", "notarytool", "staple", "validate", "hdiutil"]) {
+ const output = temporary();
+
+ const existing = join(output, "Polaris-0.1.0-arm64.dmg");
+ writeFileSync(existing, "previous verified image");
+
+ const execute: Run = (argv) => {
+ if (argv[0] === "uv") writeFileSync(argv.at(-1)!, "built image");
+
+ if (argv.includes(failingStep)) {
+ if (failingStep === "notarytool") return '{"status":"Invalid","id":"rejected"}';
+ throw new Error("fake tool failure");
+ }
+
+ return argv[1] === "notarytool" ? '{"status":"Accepted","id":"test"}' : "";
+ };
+
+ expect(() =>
+ installerDmg("/dist/Polaris.app", "0.1.0", output, "/assets", signing, execute)
+ ).toThrow();
+
+ expect(readFileSync(existing, "utf8")).toBe("previous verified image");
+
+ expect(readdirSync(output)).toEqual(["Polaris-0.1.0-arm64.dmg"]);
+ }
+});
+
+test("malformed notary response fails closed and cannot reach stapler", () => {
+ const commands: ReadonlyArray[] = [];
+
+ expect(() =>
+ signDmg("/image.dmg", signing, (argv) => {
+ commands.push(argv);
+
+ return argv[1] === "notarytool" ? "{}" : "";
+ })
+ ).toThrow();
+
+ expect(commands.some((argv) => argv.includes("stapler"))).toBe(false);
+});
diff --git a/apps/desktop/scripts/packaging/dmg.ts b/apps/desktop/scripts/packaging/dmg.ts
new file mode 100644
index 00000000..90f68c11
--- /dev/null
+++ b/apps/desktop/scripts/packaging/dmg.ts
@@ -0,0 +1,99 @@
+import { mkdirSync, mkdtempSync, renameSync, rmSync } from "node:fs";
+import { basename, join } from "node:path";
+import { Schema } from "effect";
+import { type Run, run } from "./command.ts";
+import type { Signing } from "./release.ts";
+
+const decodeSubmission = Schema.decodeUnknownSync(
+ Schema.fromJsonString(Schema.Struct({ status: Schema.String, id: Schema.String }))
+);
+
+export const signDmg = (dmg: string, signing: Signing, execute: Run = run): void => {
+ execute([
+ "codesign",
+ "--force",
+ "--timestamp",
+ "--sign",
+ signing.identity,
+ ...(signing.keychain ? ["--keychain", signing.keychain] : []),
+ dmg,
+ ]);
+
+ execute(["codesign", "--verify", "--strict", dmg]);
+
+ const submission = decodeSubmission(
+ execute([
+ "xcrun",
+ "notarytool",
+ "submit",
+ dmg,
+ "--key",
+ signing.appleApiKey,
+ "--key-id",
+ signing.appleApiKeyId,
+ "--issuer",
+ signing.appleApiIssuer,
+ "--wait",
+ "--output-format",
+ "json",
+ ])
+ );
+
+ if (submission.status !== "Accepted")
+ throw new Error(`DMG notarisation ${submission.status}: submission ${submission.id}`);
+
+ execute(["xcrun", "stapler", "staple", dmg]);
+
+ execute(["xcrun", "stapler", "validate", dmg]);
+};
+
+export const installerDmg = (
+ bundle: string,
+ version: string,
+ outputDir: string,
+ assets: string,
+ signing: Signing | null,
+ execute: Run = run
+): string => {
+ const filename = `Polaris-${version}-arm64.dmg`;
+
+ if (basename(filename) !== filename || basename(bundle) !== "Polaris.app")
+ throw new Error("expected a Polaris.app bundle and a filename-safe version");
+
+ mkdirSync(outputDir, { recursive: true });
+
+ const stage = mkdtempSync(join(outputDir, ".dmg-"));
+
+ const stagedDmg = join(stage, filename);
+
+ const dmg = join(outputDir, filename);
+
+ try {
+ if (signing !== null) {
+ execute(["codesign", "--verify", "--deep", "--strict", bundle]);
+
+ execute(["xcrun", "stapler", "validate", bundle]);
+ }
+
+ execute([
+ "uv",
+ "run",
+ "--locked",
+ "--script",
+ join(import.meta.dir, "build_dmg.py"),
+ bundle,
+ assets,
+ stagedDmg,
+ ]);
+
+ if (signing !== null) signDmg(stagedDmg, signing, execute);
+
+ execute(["hdiutil", "verify", stagedDmg]);
+
+ renameSync(stagedDmg, dmg);
+
+ return dmg;
+ } finally {
+ rmSync(stage, { recursive: true, force: true });
+ }
+};
diff --git a/apps/desktop/scripts/packaging/entitlements/betterleaks.plist b/apps/desktop/scripts/packaging/entitlements/betterleaks.plist
new file mode 100644
index 00000000..d6b93bc0
--- /dev/null
+++ b/apps/desktop/scripts/packaging/entitlements/betterleaks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ com.apple.security.cs.allow-unsigned-executable-memory
+
+
+
diff --git a/apps/desktop/scripts/packaging/entitlements/daemon.plist b/apps/desktop/scripts/packaging/entitlements/daemon.plist
new file mode 100644
index 00000000..9a279dc8
--- /dev/null
+++ b/apps/desktop/scripts/packaging/entitlements/daemon.plist
@@ -0,0 +1,12 @@
+
+
+
+
+ com.apple.security.cs.allow-jit
+
+ com.apple.security.cs.allow-unsigned-executable-memory
+
+ com.apple.security.cs.disable-library-validation
+
+
+
diff --git a/apps/desktop/scripts/packaging/entitlements/electron.plist b/apps/desktop/scripts/packaging/entitlements/electron.plist
new file mode 100644
index 00000000..446fe171
--- /dev/null
+++ b/apps/desktop/scripts/packaging/entitlements/electron.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ com.apple.security.cs.allow-jit
+
+
+
diff --git a/apps/desktop/scripts/packaging/index.ts b/apps/desktop/scripts/packaging/index.ts
new file mode 100644
index 00000000..1332fcd1
--- /dev/null
+++ b/apps/desktop/scripts/packaging/index.ts
@@ -0,0 +1,10 @@
+export { signDaemonBuilds, verifyDaemonManifest } from "./manifest.ts";
+
+export {
+ assertReleaseVersions,
+ daemonBuildCommand,
+ macSigningOptions,
+ resolveSigning,
+ signingCredentials,
+ updateZip,
+} from "./release.ts";
diff --git a/apps/desktop/scripts/packaging/manifest.test.ts b/apps/desktop/scripts/packaging/manifest.test.ts
new file mode 100644
index 00000000..40a81560
--- /dev/null
+++ b/apps/desktop/scripts/packaging/manifest.test.ts
@@ -0,0 +1,158 @@
+import { afterEach, describe, expect, test } from "bun:test";
+import { createHash } from "node:crypto";
+import { cpSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
+import { tmpdir } from "node:os";
+import { join } from "node:path";
+import { PLATFORMS, loadBuilds } from "@polaris/client/install";
+import { signDaemonBuilds, verifyDaemonManifest } from "./manifest.ts";
+import { signingCredentials, type Signing } from "./release.ts";
+
+const dirs: string[] = [];
+
+afterEach(() => {
+ for (const dir of dirs.splice(0)) rmSync(dir, { recursive: true, force: true });
+});
+
+const hash = (bytes: string | Buffer) => createHash("sha256").update(bytes).digest("hex");
+
+const fixture = () => {
+ const dist = mkdtempSync(join(tmpdir(), "polaris-release-test-"));
+ dirs.push(dist);
+
+ const platforms = Object.fromEntries(
+ PLATFORMS.map((platform) => {
+ mkdirSync(join(dist, platform));
+
+ const files = Object.fromEntries(
+ ["polaris", "betterleaks"].map((name) => {
+ const bytes = `${platform}/${name}`;
+ writeFileSync(join(dist, platform, name), bytes);
+
+ return [
+ name,
+ {
+ sha256: hash(bytes),
+ size: Buffer.byteLength(bytes),
+ executable: name === "betterleaks",
+ },
+ ];
+ })
+ );
+
+ return [
+ platform,
+ { target: `bun-${platform}`, binary: "polaris", sha256: files.polaris!.sha256, files },
+ ];
+ })
+ );
+
+ writeFileSync(
+ join(dist, "manifest.json"),
+ JSON.stringify({
+ version: "0.1.0-rc.1",
+ commit: "commit",
+ fff: { package: "fff", version: "1", embedded: true },
+ astGrep: { package: "ast-grep", version: "1", embedded: true },
+ betterleaks: { version: "1", file: "betterleaks" },
+ platforms,
+ })
+ );
+
+ return dist;
+};
+
+const signing: Signing = {
+ ...signingCredentials({
+ APPLE_TEAM_ID: "TEAM123456",
+ APPLE_API_KEY: "/fake/key.p8",
+ APPLE_API_KEY_ID: "KEY1234567",
+ APPLE_API_ISSUER: "issuer",
+ })!,
+ identity: "test-identity",
+ keychain: "/fake/keychain",
+};
+
+describe("shipped Daemon manifest", () => {
+ test("hashes signed bytes, keeps Linux builds, and survives staging for remote Host installs", () => {
+ const dist = fixture();
+ const linuxBefore = readFileSync(join(dist, "linux-x64/polaris"));
+ const commands: ReadonlyArray[] = [];
+ signDaemonBuilds(dist, signing, "/entitlements", (argv) => {
+ commands.push(argv);
+
+ if (argv[0] === "codesign" && argv.includes("--sign")) {
+ const binary = argv.at(-1)!;
+ writeFileSync(binary, Buffer.concat([readFileSync(binary), Buffer.from("-signed")]));
+ }
+
+ return argv[1] === "selftest" ? "polaris 0.1.0-rc.1 darwin-arm64\nfff ok" : "";
+ });
+ verifyDaemonManifest(dist, "0.1.0-rc.1");
+ expect(readFileSync(join(dist, "linux-x64/polaris"))).toEqual(linuxBefore);
+ const signed = commands.filter((argv) => argv.includes("--sign"));
+ expect(signed).toHaveLength(2);
+ expect(signed[0]).toContain("runtime");
+ expect(signed[0]).toContain("--timestamp");
+ expect(signed[0]).toContain("/fake/keychain");
+ expect(signed[0]).toContain("/entitlements/daemon.plist");
+ expect(signed[1]).toContain("/entitlements/betterleaks.plist");
+ const stage = join(dist, "staged");
+ mkdirSync(stage);
+
+ for (const name of [...PLATFORMS, "manifest.json"])
+ cpSync(join(dist, name), join(stage, name), { recursive: true });
+ verifyDaemonManifest(stage, "0.1.0-rc.1");
+ const mac = loadBuilds(stage).find((build) => build.platform === "darwin-arm64")!;
+
+ for (const file of mac.files) {
+ expect(file.sha256).toBe(hash(readFileSync(file.path)));
+ expect(readFileSync(file.path).toString()).toEndWith("-signed");
+ }
+
+ expect(mac.sha256).toBe(mac.files[0]!.sha256);
+ expect(mac.files[1]!.executable).toBe(true);
+ });
+
+ test("unsigned builds keep their manifest and never call signing tools", () => {
+ const dist = fixture();
+ const before = readFileSync(join(dist, "manifest.json"));
+ signDaemonBuilds(dist, null, "/entitlements", () => {
+ throw new Error("unexpected signing");
+ });
+ expect(readFileSync(join(dist, "manifest.json"))).toEqual(before);
+ });
+
+ test("rejects mismatched, stale or incomplete release builds", () => {
+ const dist = fixture();
+ expect(() => verifyDaemonManifest(dist, "0.2.0")).toThrow("does not match release");
+ writeFileSync(join(dist, "linux-x64/polaris"), "changed");
+ expect(() => verifyDaemonManifest(dist)).toThrow("bytes differ");
+ const incomplete = fixture();
+ const builds = loadBuilds(incomplete);
+ writeFileSync(
+ join(incomplete, "manifest.json"),
+ readFileSync(join(incomplete, "manifest.json"), "utf8").replace(
+ '"linux-arm64-musl":',
+ '"unexpected":'
+ )
+ );
+ expect(builds).toHaveLength(5);
+ expect(() => verifyDaemonManifest(incomplete, "0.1.0-rc.1")).toThrow(
+ "missing linux-arm64-musl"
+ );
+ });
+
+ test("a failed signer or signed selftest cannot produce a refreshed manifest", () => {
+ const dist = fixture();
+ const before = readFileSync(join(dist, "manifest.json"));
+ expect(() =>
+ signDaemonBuilds(dist, signing, "/entitlements", () => {
+ throw new Error("signing failed");
+ })
+ ).toThrow("signing failed");
+ expect(() => signDaemonBuilds(dist, signing, "/entitlements", () => "wrong version")).toThrow(
+ "selftest"
+ );
+ expect(readFileSync(join(dist, "manifest.json"))).toEqual(before);
+ });
+});
diff --git a/apps/desktop/scripts/packaging/manifest.ts b/apps/desktop/scripts/packaging/manifest.ts
new file mode 100644
index 00000000..1bc52e27
--- /dev/null
+++ b/apps/desktop/scripts/packaging/manifest.ts
@@ -0,0 +1,133 @@
+import { createHash } from "node:crypto";
+import { readFileSync, statSync, writeFileSync } from "node:fs";
+import { join } from "node:path";
+import { PLATFORMS } from "@polaris/client/install";
+import { Schema } from "effect";
+import { type Run, run } from "./command.ts";
+import type { Signing } from "./release.ts";
+
+const FileEntry = Schema.Struct({
+ sha256: Schema.String,
+ size: Schema.Number,
+ executable: Schema.optional(Schema.Boolean),
+});
+
+const Embedded = Schema.Struct({
+ package: Schema.String,
+ version: Schema.String,
+ embedded: Schema.Boolean,
+});
+
+const Manifest = Schema.Struct({
+ version: Schema.String,
+ commit: Schema.String,
+ fff: Embedded,
+ astGrep: Embedded,
+ betterleaks: Schema.Struct({ version: Schema.String, file: Schema.String }),
+ platforms: Schema.Record(
+ Schema.String,
+ Schema.Struct({
+ target: Schema.String,
+ binary: Schema.String,
+ sha256: Schema.String,
+ files: Schema.Record(Schema.String, FileEntry),
+ })
+ ),
+});
+
+const decodeManifest = Schema.decodeUnknownSync(Schema.fromJsonString(Manifest));
+
+const readManifest = (dist: string) =>
+ decodeManifest(readFileSync(join(dist, "manifest.json"), "utf8"));
+
+const fileFacts = (path: string) => ({
+ sha256: createHash("sha256").update(readFileSync(path)).digest("hex"),
+ size: statSync(path).size,
+});
+
+const verifyRelease = (manifest: typeof Manifest.Type, version: string): void => {
+ if (manifest.version !== version)
+ throw new Error(
+ `Daemon manifest version ${manifest.version} does not match release ${version}`
+ );
+
+ for (const platform of PLATFORMS) {
+ if (!manifest.platforms[platform]) throw new Error(`release Daemon missing ${platform}`);
+ }
+};
+
+export const verifyDaemonManifest = (dist: string, version?: string): void => {
+ const manifest = readManifest(dist);
+
+ if (version !== undefined) verifyRelease(manifest, version);
+
+ for (const [platform, build] of Object.entries(manifest.platforms)) {
+ if (build.sha256 !== build.files[build.binary]?.sha256)
+ throw new Error(`${platform}: binary SHA differs from files entry`);
+
+ for (const [name, entry] of Object.entries(build.files)) {
+ const facts = fileFacts(join(dist, platform, name));
+
+ if (facts.sha256 !== entry.sha256 || facts.size !== entry.size)
+ throw new Error(`${platform}/${name}: bytes differ from Daemon manifest`);
+ }
+ }
+};
+
+export const signDaemonBuilds = (
+ dist: string,
+ signing: Signing | null,
+ entitlementsDir: string,
+ execute: Run = run
+): void => {
+ verifyDaemonManifest(dist);
+
+ if (signing === null) return;
+
+ const manifest = readManifest(dist);
+ const build = manifest.platforms["darwin-arm64"];
+
+ if (!build || build.binary !== "polaris" || !build.files.polaris || !build.files.betterleaks)
+ throw new Error("missing darwin-arm64 polaris or betterleaks");
+
+ const files = { ...build.files };
+
+ for (const name of ["polaris", "betterleaks"]) {
+ const binary = join(dist, "darwin-arm64", name);
+
+ execute([
+ "codesign",
+ "--force",
+ "--sign",
+ signing.identity,
+ "--options",
+ "runtime",
+ "--timestamp",
+ ...(signing.keychain ? ["--keychain", signing.keychain] : []),
+ "--entitlements",
+ join(entitlementsDir, name === "polaris" ? "daemon.plist" : "betterleaks.plist"),
+ binary,
+ ]);
+ execute(["codesign", "--verify", "--strict", binary]);
+ files[name] = { ...files[name]!, ...fileFacts(binary) };
+ }
+
+ const binary = join(dist, "darwin-arm64", "polaris");
+ const output = execute([binary, "selftest"]).trim();
+
+ if (output.split("\n")[0] !== `polaris ${manifest.version} darwin-arm64`)
+ throw new Error("signed Daemon selftest did not report the expected version and platform");
+
+ execute([join(dist, "darwin-arm64", "betterleaks"), "version"]);
+
+ const signedManifest = {
+ ...manifest,
+ platforms: {
+ ...manifest.platforms,
+ "darwin-arm64": { ...build, sha256: files.polaris!.sha256, files },
+ },
+ };
+
+ writeFileSync(join(dist, "manifest.json"), `${JSON.stringify(signedManifest, null, 2)}\n`);
+ verifyDaemonManifest(dist);
+};
diff --git a/apps/desktop/scripts/packaging/release.test.ts b/apps/desktop/scripts/packaging/release.test.ts
new file mode 100644
index 00000000..bb7a3616
--- /dev/null
+++ b/apps/desktop/scripts/packaging/release.test.ts
@@ -0,0 +1,132 @@
+import { describe, expect, test } from "bun:test";
+import { join } from "node:path";
+import {
+ assertReleaseVersions,
+ daemonBuildCommand,
+ macSigningOptions,
+ preserveDaemonSignature,
+ selectIdentity,
+ signingCredentials,
+ type Signing,
+ updateZip,
+} from "./release.ts";
+
+const env = {
+ APPLE_TEAM_ID: "TEAM123456",
+ APPLE_API_KEY: "/tmp/key.p8",
+ APPLE_API_KEY_ID: "KEY1234567",
+ APPLE_API_ISSUER: "test-issuer",
+};
+
+const identity = "Developer ID Application: Polaris (TEAM123456)";
+
+const hash = "A".repeat(40);
+
+const signing: Signing = { ...signingCredentials(env)!, identity: hash };
+
+describe("release packaging", () => {
+ test("release validates versions and rebuilds all Daemons with --release", () => {
+ expect(() => assertReleaseVersions("0.1.0-rc.1", "0.1.0-rc.1", false)).not.toThrow();
+ expect(() => assertReleaseVersions("0.1.0", "0.0.0", false)).toThrow("version mismatch");
+ expect(() => assertReleaseVersions("0.1.0", "0.1.0", true)).toThrow("--reuse-daemon");
+ expect(daemonBuildCommand("/repo", true)).toEqual([
+ process.execPath,
+ "/repo/scripts/build-daemon.ts",
+ "--release",
+ ]);
+ expect(daemonBuildCommand("/repo", false)).not.toContain("--release");
+ });
+
+ test("no credentials skip signing; incomplete credentials fail closed", () => {
+ expect(signingCredentials({ APPLE_TEAM_ID: "" })).toBeNull();
+ expect(macSigningOptions(null, "/entitlements")).toEqual({});
+
+ for (const key of Object.keys(env)) {
+ expect(() => signingCredentials({ ...env, [key]: undefined })).toThrow(
+ "incomplete signing credentials"
+ );
+ }
+
+ expect(() => signingCredentials({ MACOS_CERT_P12: "present" })).toThrow(
+ "incomplete signing credentials"
+ );
+ });
+
+ test("identity selection requires Developer ID and the configured team", () => {
+ const output = `1) ${hash} "${identity}"\n2) ${"B".repeat(40)} "Apple Development: Test (TEAM123456)"`;
+ expect(selectIdentity(signingCredentials(env)!, output)).toBe(hash);
+ expect(() =>
+ selectIdentity(signingCredentials(env)!, output.replace("TEAM123456", "OTHERTEAM1"))
+ ).toThrow("expected one valid");
+ expect(() =>
+ selectIdentity(signingCredentials(env)!, `${output}\n3) ${"C".repeat(40)} "${identity}"`)
+ ).toThrow("expected one valid");
+ expect(
+ selectIdentity(
+ { ...signingCredentials(env)!, identity: hash },
+ `${output}\n3) ${"C".repeat(40)} "${identity}"`
+ )
+ ).toBe(hash);
+ expect(() => selectIdentity({ ...signingCredentials(env)!, identity: "-" }, output)).toThrow(
+ "expected one valid"
+ );
+ });
+
+ test("Electron signing fails on errors and preserves shipped Daemon signatures", () => {
+ const options = macSigningOptions(signing, "/entitlements");
+ const osxSign = options.osxSign;
+
+ if (!osxSign || osxSign === true) throw new Error("missing explicit signing options");
+ expect(osxSign.continueOnError).toBe(false);
+ expect(osxSign.optionsForFile?.("/app", { platform: "darwin" })).toEqual({
+ entitlements: "/entitlements/electron.plist",
+ hardenedRuntime: true,
+ });
+ expect(options.osxNotarize).toEqual({
+ appleApiKey: env.APPLE_API_KEY,
+ appleApiKeyId: env.APPLE_API_KEY_ID,
+ appleApiIssuer: env.APPLE_API_ISSUER,
+ });
+ expect(
+ preserveDaemonSignature("/stage/Polaris.app/Contents/Resources/daemon/darwin-arm64/polaris")
+ ).toBe(true);
+ expect(
+ preserveDaemonSignature("/stage/Polaris.app/Contents/Resources/daemon/linux-x64/polaris")
+ ).toBe(true);
+ expect(
+ preserveDaemonSignature("/stage/Polaris.app/Contents/Frameworks/Electron Framework.framework")
+ ).toBe(false);
+ expect(preserveDaemonSignature("/stage/Polaris.app/Contents/Resources/daemon-other/tool")).toBe(
+ false
+ );
+ });
+
+ test("archives only after signature and stapled ticket verification, preserving symlinks", () => {
+ const commands: ReadonlyArray[] = [];
+
+ const zip = updateZip("/dist/Polaris.app", "0.1.0-rc.1", "/dist", signing, (argv) => {
+ commands.push(argv);
+
+ return "";
+ });
+
+ expect(zip).toBe(join("/dist", "Polaris-0.1.0-rc.1-arm64-mac.zip"));
+ expect(commands).toEqual([
+ ["codesign", "--verify", "--deep", "--strict", "/dist/Polaris.app"],
+ ["xcrun", "stapler", "validate", "/dist/Polaris.app"],
+ ["ditto", "-c", "-k", "--sequesterRsrc", "--keepParent", "/dist/Polaris.app", zip],
+ ]);
+ expect(() =>
+ updateZip("/app", "0.1.0", "/dist", signing, () => {
+ throw new Error("invalid ticket");
+ })
+ ).toThrow("invalid ticket");
+ commands.length = 0;
+ updateZip("/app", "0.1.0", "/dist", null, (argv) => {
+ commands.push(argv);
+
+ return "";
+ });
+ expect(commands.map((argv) => argv[0])).toEqual(["ditto"]);
+ });
+});
diff --git a/apps/desktop/scripts/packaging/release.ts b/apps/desktop/scripts/packaging/release.ts
new file mode 100644
index 00000000..df21869b
--- /dev/null
+++ b/apps/desktop/scripts/packaging/release.ts
@@ -0,0 +1,143 @@
+import { existsSync } from "node:fs";
+import { join } from "node:path";
+import type { Options, PackagerOsxSignOptions } from "@electron/packager";
+import { type Run, run } from "./command.ts";
+
+const REQUIRED = [
+ "APPLE_TEAM_ID",
+ "APPLE_API_KEY",
+ "APPLE_API_KEY_ID",
+ "APPLE_API_ISSUER",
+] as const;
+
+const OPTIONAL = [
+ "MACOS_CERT_P12",
+ "MACOS_CERT_PASSWORD",
+ "MACOS_SIGNING_IDENTITY",
+ "MACOS_KEYCHAIN",
+];
+
+export const signingCredentials = (env: Readonly>) => {
+ if (![...REQUIRED, ...OPTIONAL].some((name) => env[name]?.trim())) return null;
+
+ const missing = REQUIRED.filter((name) => !env[name]?.trim());
+
+ if (missing.length > 0)
+ throw new Error(`incomplete signing credentials: missing ${missing.join(", ")}`);
+
+ return {
+ teamId: env.APPLE_TEAM_ID!,
+ appleApiKey: env.APPLE_API_KEY!,
+ appleApiKeyId: env.APPLE_API_KEY_ID!,
+ appleApiIssuer: env.APPLE_API_ISSUER!,
+ identity: env.MACOS_SIGNING_IDENTITY,
+ keychain: env.MACOS_KEYCHAIN,
+ };
+};
+
+export type SigningCredentials = NonNullable>;
+
+export type Signing = SigningCredentials & { readonly identity: string };
+
+export const selectIdentity = (credentials: SigningCredentials, output: string): string => {
+ const matches = [
+ ...output.matchAll(/\b([0-9A-Fa-f]{40}) "(Developer ID Application: [^"\n]+)"/g),
+ ].filter(
+ ([, hash, name]) =>
+ name!.endsWith(`(${credentials.teamId})`) &&
+ (!credentials.identity || credentials.identity === name || credentials.identity === hash)
+ );
+
+ if (matches.length !== 1)
+ throw new Error(
+ "expected one valid Developer ID Application identity for APPLE_TEAM_ID; select with MACOS_SIGNING_IDENTITY"
+ );
+
+ return matches[0]![1]!;
+};
+
+export const resolveSigning = (
+ credentials: SigningCredentials | null,
+ execute: Run = run
+): Signing | null => {
+ if (credentials === null) return null;
+
+ if (process.platform !== "darwin") throw new Error("signing requires macOS");
+
+ if (!existsSync(credentials.appleApiKey))
+ throw new Error("APPLE_API_KEY must be a path to the .p8 API key file");
+
+ const output = execute([
+ "security",
+ "find-identity",
+ "-v",
+ "-p",
+ "codesigning",
+ ...(credentials.keychain ? [credentials.keychain] : []),
+ ]);
+
+ return { ...credentials, identity: selectIdentity(credentials, output) };
+};
+
+// Preserve the already signed tools and the manifest hashes used for remote Host installs.
+export const preserveDaemonSignature = (path: string): boolean =>
+ /\/Contents\/Resources\/daemon(?:\/|$)/.test(path);
+
+export const macSigningOptions = (
+ signing: Signing | null,
+ entitlementsDir: string
+): Pick => {
+ if (signing === null) return {};
+
+ const osxSign: PackagerOsxSignOptions = {
+ identity: signing.identity,
+ continueOnError: false,
+ ignore: preserveDaemonSignature,
+ optionsForFile: () => ({
+ hardenedRuntime: true,
+ entitlements: join(entitlementsDir, "electron.plist"),
+ }),
+ };
+
+ return {
+ osxSign: signing.keychain ? { ...osxSign, keychain: signing.keychain } : osxSign,
+ osxNotarize: {
+ appleApiKey: signing.appleApiKey,
+ appleApiKeyId: signing.appleApiKeyId,
+ appleApiIssuer: signing.appleApiIssuer,
+ },
+ };
+};
+
+export const assertReleaseVersions = (desktop: string, daemon: string, reuse: boolean) => {
+ if (desktop !== daemon)
+ throw new Error(`release version mismatch: Desktop App ${desktop}, Daemon ${daemon}`);
+
+ if (reuse)
+ throw new Error("--reuse-daemon cannot be used with --release; rebuild every release Daemon");
+};
+
+export const daemonBuildCommand = (root: string, release: boolean): string[] => [
+ process.execPath,
+ join(root, "scripts/build-daemon.ts"),
+ ...(release ? ["--release"] : []),
+];
+
+export const updateZip = (
+ bundle: string,
+ version: string,
+ outputDir: string,
+ signing: Signing | null,
+ execute: Run = run
+): string => {
+ if (signing !== null) {
+ execute(["codesign", "--verify", "--deep", "--strict", bundle]);
+ // @electron/notarize has already stapled the app before packager returns.
+ execute(["xcrun", "stapler", "validate", bundle]);
+ }
+
+ const zip = join(outputDir, `Polaris-${version}-arm64-mac.zip`);
+ execute(["ditto", "-c", "-k", "--sequesterRsrc", "--keepParent", bundle, zip]);
+
+ return zip;
+};
diff --git a/apps/desktop/src/main/index.ts b/apps/desktop/src/main/index.ts
index d8896aab..6f9af683 100644
--- a/apps/desktop/src/main/index.ts
+++ b/apps/desktop/src/main/index.ts
@@ -12,7 +12,16 @@ import { existsSync, mkdtempSync } from "node:fs";
import { tmpdir } from "node:os";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
-import { app, BrowserWindow, clipboard, dialog, nativeTheme, session, shell } from "electron";
+import {
+ app,
+ autoUpdater,
+ BrowserWindow,
+ clipboard,
+ dialog,
+ nativeTheme,
+ session,
+ shell,
+} from "electron";
import { type AppEvent, type Appearance, CHANNELS, type SessionDefault } from "../shared/api.ts";
import {
clientIdentity,
@@ -51,6 +60,8 @@ import {
} from "./settings.ts";
import { createMainWindow } from "./window.ts";
import { askToQuit, holdsQuit } from "./editorQuit.ts";
+import { createAppUpdates, type AppUpdates } from "./updates/index.ts";
+import { cannotInstallHere, installId } from "./updates/identity.ts";
const env = process.env;
@@ -89,6 +100,10 @@ let needsYou: NeedsYouCenter | null = null;
let reviews: ReviewNotifier | null = null;
+let updates: AppUpdates | null = null;
+
+let restartForUpdate = false;
+
/** Set once Polaris is quitting (⌘Q, the star's Quit): the window may then really close. */
let exiting = false;
@@ -114,6 +129,33 @@ const start = async () => {
const saveSettings = (patch: Partial) =>
updateSettings((current) => ({ ...current, ...patch }));
+ const restartToUpdate = () => {
+ if (updates?.get().phase !== "ready") return;
+ restartForUpdate = true;
+ app.quit();
+ };
+
+ const currentUpdates = createAppUpdates({
+ native: autoUpdater,
+ version: app.getVersion(),
+ installId: installId(app.getPath("userData")),
+ macOSVersion: process.getSystemVersion(),
+ arch: process.arch,
+ supported: app.isPackaged && !dev && process.platform === "darwin" && process.arch === "arm64",
+ blocked: cannotInstallHere(app.getAppPath(), app.getPath("downloads")),
+ automatic: settings.automaticAppUpdates ?? true,
+ lastCheckedAt: settings.appUpdateLastCheckedAt ?? null,
+ save: saveSettings,
+ publish: (value) => {
+ applyAppearance();
+ const event: AppEvent = { kind: "updates", updates: value };
+
+ for (const win of BrowserWindow.getAllWindows()) win.webContents.send(CHANNELS.app, event);
+ },
+ });
+
+ updates = currentUpdates;
+
const setAppearance = (patch: Partial) => {
saveSettings(patch);
applyAppearance();
@@ -162,7 +204,17 @@ const start = async () => {
const event: AppEvent = { kind: "appearance", appearance: current };
nativeTheme.themeSource = current.theme;
- buildMenu({ appearance: current, setAppearance, dev, proofHostKey });
+ buildMenu({
+ appearance: current,
+ setAppearance,
+ dev,
+ proofHostKey,
+ updates: currentUpdates.get(),
+ checkUpdates: () => {
+ currentUpdates.check();
+ },
+ restartToUpdate,
+ });
for (const win of BrowserWindow.getAllWindows()) win.webContents.send(CHANNELS.app, event);
};
@@ -211,6 +263,9 @@ const start = async () => {
runtime,
trusted,
context: {
+ updates: currentUpdates,
+ restartToUpdate,
+ showAppInFinder: () => shell.showItemInFolder(join(dirname(app.getPath("exe")), "../..")),
settings: () => settings,
cache: openSnapshotCache(app.getPath("userData")),
prices: openPrices(app.getPath("userData")),
@@ -268,6 +323,7 @@ const start = async () => {
env.POLARIS_DESKTOP_HIDDEN !== "1" && sessionPrefsOf(settings).notifyReviewRequests,
});
followReviewRequests(runtime, reviews);
+ currentUpdates.start();
// Benchmarks and scripts wait for this line: the window is painted and the local Host is up.
const shown = new Promise((resolve) => win.once("ready-to-show", () => resolve()));
@@ -279,27 +335,31 @@ const start = async () => {
let quitting = false;
-app.on("before-quit", (event) => {
- // Unsaved edits in the Editor: ask first (main/editorQuit.ts); a yes quits again.
- if (holdsQuit()) {
- event.preventDefault();
- void askToQuit().then((go) => go && app.quit());
-
- return;
- }
-
- exiting = true;
-});
-
-app.on("will-quit", (event) => {
- if (quitting) return;
+const finishQuit = () => {
quitting = true;
- event.preventDefault();
+ exiting = true;
ipc?.dispose();
needsYou?.dispose();
reviews?.dispose();
+ updates?.dispose();
// The dev Daemon (if this app started it) goes down with the app.
- void Promise.allSettled([runtime?.dispose(), localDaemon?.stop()]).then(() => app.exit(0));
+ void Promise.allSettled([runtime?.dispose(), localDaemon?.stop()]).then(() => {
+ if (restartForUpdate && updates?.get().phase === "ready") updates.install();
+ else app.quit();
+ });
+};
+
+app.on("before-quit", (event) => {
+ if (quitting) return;
+ event.preventDefault();
+
+ // Cleanup precedes Squirrel closing windows; Editor cancellation leaves the app usable.
+ if (holdsQuit()) {
+ void askToQuit().then((go) => {
+ if (go) finishQuit();
+ else restartForUpdate = false;
+ });
+ } else finishQuit();
});
app.on("window-all-closed", () => app.quit());
diff --git a/apps/desktop/src/main/ipc/ipc.test.ts b/apps/desktop/src/main/ipc/ipc.test.ts
index b25c61e7..c7648974 100644
--- a/apps/desktop/src/main/ipc/ipc.test.ts
+++ b/apps/desktop/src/main/ipc/ipc.test.ts
@@ -20,6 +20,19 @@ import { GitHub } from "../github/index.ts";
import { Machines } from "../machines/service.ts";
import { type RequestContext, requestHandlers, requestRunner } from "./requests.ts";
import { windowSubscriptions } from "./subscriptions.ts";
+import type { AppUpdateView } from "../../shared/appUpdates.ts";
+
+const updateView: AppUpdateView = {
+ phase: "idle",
+ version: "0.1.0",
+ availableVersion: null,
+ automatic: true,
+ lastCheckedAt: null,
+ installId: "00000000-0000-4000-8000-000000000000",
+ macOSVersion: "26.0",
+ arch: "arm64",
+ supported: false,
+};
const view: HostView = {
key: "local",
@@ -78,6 +91,13 @@ const github = GitHub.layer({
const services = Layer.mergeAll(clientServices, github);
const context: RequestContext = {
+ updates: {
+ get: () => updateView,
+ check: () => updateView,
+ setAutomatic: (automatic) => ({ ...updateView, automatic }),
+ },
+ restartToUpdate: () => undefined,
+ showAppInFinder: () => undefined,
settings: () => ({ theme: "dark", hosts: [{ alias: "studio" }] }),
cache: { get: () => [], put: () => undefined },
prices: { table: () => Promise.reject(new Error("no prices in tests")) },
diff --git a/apps/desktop/src/main/ipc/requests.ts b/apps/desktop/src/main/ipc/requests.ts
index de144ae4..5f54990e 100644
--- a/apps/desktop/src/main/ipc/requests.ts
+++ b/apps/desktop/src/main/ipc/requests.ts
@@ -33,9 +33,13 @@ import { pricedStats } from "./constellationStats.ts";
import type { SnapshotCache } from "../snapshotCache.ts";
import { ensureInstalled } from "./install.ts";
import { publishDirty, savedAll } from "../editorDirty.ts";
+import type { AppUpdates } from "../updates/index.ts";
/** What the handlers need from the app outside the Client runtime. */
export interface RequestContext {
+ readonly updates: Pick;
+ readonly restartToUpdate: () => void;
+ readonly showAppInFinder: () => void;
readonly settings: () => Settings;
readonly cache: SnapshotCache;
/** The price table for Usage estimates. */
@@ -114,6 +118,11 @@ export const requestHandlers = (ctx: RequestContext): Handlers => ({
...githubHandlers,
...constellationHandlers,
...resourceHandlers,
+ "updates.get": () => Effect.sync(ctx.updates.get),
+ "updates.check": () => Effect.sync(ctx.updates.check),
+ "updates.setAutomatic": ({ enabled }) => Effect.sync(() => ctx.updates.setAutomatic(enabled)),
+ "updates.restart": () => Effect.sync(ctx.restartToUpdate).pipe(done),
+ "updates.showInFinder": () => Effect.sync(ctx.showAppInFinder).pipe(done),
"settings.get": () =>
Effect.sync(() => {
const settings = ctx.settings();
diff --git a/apps/desktop/src/main/machines/README.md b/apps/desktop/src/main/machines/README.md
index b2d3990c..6321697c 100644
--- a/apps/desktop/src/main/machines/README.md
+++ b/apps/desktop/src/main/machines/README.md
@@ -36,11 +36,11 @@ stateDiagram-v2
```
- **Only the user installs.** A check is `user` (added the Host, Install, Approve, Try again) or `background`. A background check that finds no Daemon asks for approval, even when this build's SHA-256 was approved before: the planner returns `NeedsApproval(background)`, and the machine turns even an `Install` plan on a background check into a question (tested from every state).
-- **Upgrades need no new approval**, on any trigger; the outcome (`upgraded`, from → to) shows under the row, and the renderer toasts "Daemon upgraded".
+- **Upgrades need no new approval**, on any trigger; the outcome (`upgraded`, from → to) stays quiet: "Upgraded to …" in the machine bar for an hour or until opened, its hover card, and the Hosts row for a day. There is no success toast (DESIGN.md, Updates and daemon upgrades).
- **This Mac follows the same rule** when its local Host is the installed system Daemon (`LocalDaemon.installedHome`; never the app's own dev Daemon or a given socket): a connection to an older Daemon, or to any other version under a dev build (`upgradeDue`, D211), upgrades it with `polaris upgrade` (execve, sessions keep running), through the same planner, upload and SHA-256 check run in a local shell (`Ssh.local(home)`). The local Host only ever upgrades: a plan to install becomes a failed check ("no daemon Polaris installed"). `check("local")` runs it on demand (the composer's "Upgrade daemon"). `POLARIS_DESKTOP_LOCAL_HOME` marks a given socket's Daemon as installed in that home (tests: `scripts/oldDaemon.ts`).
- **Keep Daemons up to date** defaults on. `settings.json` stores the app-wide default and optional per-Host overrides (including this Mac); null in IPC restores inheritance. Enabling it checks already connected Hosts. Turning it off suppresses background upgrades, including protocol-mismatch recovery, but still offers the existing first-install approval. A background probe rechecks the policy before applying a plan.
- **Update now** (`machines.updateDaemon`) updates an installed Daemon even when automatic updates are off. It never performs a first install, including with an approved hash. Repeated checks during checking/installing are ignored by the install machine and cannot replace its upload fiber.
-- **Facts and progress** travel on the `machines` feed as `MachineView.daemon`: installed and target-specific bundled versions, update availability, effective policy, checking → uploading (actual streamed bytes, throttled to 10 updates/s) → switching (after SHA-256 verification) → done or failed. The last result and epoch-ms time persist in `settings.json`; failures include the SSH failure kind or administrator command. The existing upgrade toast consumes the install outcome. No idle timer or polling was added.
+- **Facts and progress** travel on the `machines` feed as `MachineView.daemon`: installed and target-specific bundled versions, update availability, effective policy, checking → uploading (actual streamed bytes, throttled to 10 updates/s) → switching (after SHA-256 verification) → done or failed. The last result and epoch-ms time persist in `settings.json`; failures include the SSH failure kind or administrator command. The renderer consumes that result for the quiet captions, with one-shot expiry timers only after an Upgrade. No Daemon idle timer or polling was added.
- **Background checks** run once per occasion (`backgroundCheckKey`): entering Needs Attention for `polaris-not-installed` or `protocol-mismatch`, or a new connection to a Daemon older than the bundled build. Not every 2-minute retry. Build metadata refreshes on connection occasions and explicit checks, including when an earlier manifest was missing.
- "Not now" parks the Host (`dismissed`); background checks leave it parked.
- An ssh failure during the check (`SshError`) is problem `ssh`: the row shows the Connection State's own card (host key, auth) instead.
diff --git a/apps/desktop/src/main/menu.ts b/apps/desktop/src/main/menu.ts
index f692ce42..66eacf7a 100644
--- a/apps/desktop/src/main/menu.ts
+++ b/apps/desktop/src/main/menu.ts
@@ -14,6 +14,7 @@ import {
} from "../shared/api.ts";
import { isBare, parseChord } from "../shared/chord.ts";
import { KEYMAP, type MenuName } from "../shared/keymap.ts";
+import type { AppUpdateView } from "../shared/appUpdates.ts";
export interface MenuInput {
readonly appearance: Appearance;
@@ -21,6 +22,9 @@ export interface MenuInput {
readonly dev: boolean;
/** The local Host runs the bench Harness: offer Develop → Start proof session. */
readonly proofHostKey: string | null;
+ readonly updates: AppUpdateView;
+ readonly checkUpdates: () => void;
+ readonly restartToUpdate: () => void;
}
/** To the focused window, else the first (a hidden window, in smoke tests, is never focused). */
@@ -67,10 +71,11 @@ const develop = (proofHostKey: string | null): MenuItemConstructorOptions => ({
});
/** The macOS app menu, as `role: "appMenu"` builds it, plus the keymap's App items (Settings…). */
-const appMenu = (): MenuItemConstructorOptions => ({
+const appMenu = (input: MenuInput): MenuItemConstructorOptions => ({
role: "appMenu",
submenu: [
- { role: "about" },
+ { label: "About Polaris", click: () => send({ kind: "command", id: "settings.about" }) },
+ updateMenuItem(input),
{ type: "separator" },
...commandItems("App"),
{ type: "separator" },
@@ -80,10 +85,27 @@ const appMenu = (): MenuItemConstructorOptions => ({
{ role: "hideOthers" },
{ role: "unhide" },
{ type: "separator" },
- { role: "quit" },
+ { role: "quit", label: input.updates.phase === "ready" ? "Quit and update" : "Quit Polaris" },
],
});
+export const updateMenuItem = (
+ input: Pick
+): MenuItemConstructorOptions => {
+ const ready = input.updates.phase === "ready";
+
+ return {
+ label: ready
+ ? `Restart to update${input.updates.availableVersion === null ? "" : ` to ${input.updates.availableVersion}`}`
+ : "Check for updates…",
+ enabled:
+ ready ||
+ (input.updates.supported &&
+ !["checking", "downloading", "blocked"].includes(input.updates.phase)),
+ click: ready ? input.restartToUpdate : input.checkUpdates,
+ };
+};
+
const THEMES: ReadonlyArray<{ readonly label: string; readonly theme: ThemeSource }> = [
{ label: "System", theme: "system" },
{ label: "Dark", theme: "dark" },
@@ -96,7 +118,9 @@ const DENSITIES: ReadonlyArray<{ readonly label: string; readonly density: Densi
{ label: "Compact", density: "compact" },
];
-export const buildMenu = ({ appearance, setAppearance, dev, proofHostKey }: MenuInput) => {
+export const buildMenu = (input: MenuInput) => {
+ const { appearance, setAppearance, dev, proofHostKey } = input;
+
const view: Array = [
...commandItems("View"),
{ type: "separator" },
@@ -124,7 +148,7 @@ export const buildMenu = ({ appearance, setAppearance, dev, proofHostKey }: Menu
Menu.setApplicationMenu(
Menu.buildFromTemplate([
- appMenu(),
+ appMenu(input),
{ role: "fileMenu" },
{ role: "editMenu" },
{ label: "View", submenu: view },
diff --git a/apps/desktop/src/main/settings.ts b/apps/desktop/src/main/settings.ts
index ba7cfd2d..a557c02a 100644
--- a/apps/desktop/src/main/settings.ts
+++ b/apps/desktop/src/main/settings.ts
@@ -36,6 +36,8 @@ export const RemoteHostSetting = Schema.Struct({
export type RemoteHostSetting = typeof RemoteHostSetting.Type;
export const Settings = Schema.Struct({
+ automaticAppUpdates: Schema.optionalKey(Schema.Boolean),
+ appUpdateLastCheckedAt: Schema.optionalKey(Schema.Number),
languageSettings: Schema.optionalKey(
Schema.Array(LanguageSettingsRecord).check(Schema.isMaxLength(4096))
),
diff --git a/apps/desktop/src/main/updates/README.md b/apps/desktop/src/main/updates/README.md
new file mode 100644
index 00000000..2c4d1344
--- /dev/null
+++ b/apps/desktop/src/main/updates/README.md
@@ -0,0 +1,77 @@
+# Desktop App Updates
+
+`index.ts` owns Electron's macOS `autoUpdater`. `identity.ts` creates a UUID v4 on
+first launch in `/install-id` (mode 0600) and detects Downloads, mounted
+volumes and App Translocation. The only feed origin is `UPDATE_BASE_URL`,
+`https://polaris.lux.dev`; the route and headers follow
+[`apps/site/app/api/update/README.md`](../../../../site/app/api/update/README.md).
+
+Only packaged, non-dev darwin-arm64 builds check. Automatic checks default on:
+once on launch, then one unref'ed six-hour timeout. Turning them off removes the
+timeout and omits the ID on subsequent manual checks. The numeric macOS version
+comes from Electron's `process.getSystemVersion()`, never the Darwin kernel.
+`settings.json` persists `automaticAppUpdates` and `appUpdateLastCheckedAt`.
+A request already sent can finish after opt-out; the next request omits the ID.
+
+Native events publish checking, current, downloading, ready or neutral failure
+over typed IPC. Concurrent checks and checks while ready are ignored. Squirrel
+downloads in the background; macOS reports neither progress nor release metadata
+until download completion. The UI therefore says “Downloading Polaris” with no
+bar. The ready version comes from the contract's exact ZIP filename, because
+the Release title may be arbitrary prose. Downloads/DMG/translocated launches
+show “Can't install here” before contacting the feed.
+
+Restart goes through `app.quit()`: the first `before-quit` waits for the Editor's
+existing unsaved-edit choice, disposes the Client and notifications, then calls
+`quitAndInstall()`. Cancellation leaves the app and IPC live. A normal quit uses
+Squirrel's staged-update-on-exit behavior without requesting a relaunch. Closing
+the macOS window still hides it. About, the native menu and the K menu share the
+same update state; no notification or toast is generated.
+
+## Verification and limits
+
+`bun test apps/desktop/src/main/updates` uses a fake feed transport with 204,
+Release JSON and ZIP bytes; it covers launch/timer scheduling, opt-out/manual
+headers, persistent identity, duplicate checks, errors and install gating.
+After `bun apps/desktop/scripts/build.ts --no-app`, run
+`env -u POLARIS_HANDOFF node apps/desktop/scripts/appUpdatesSmoke.ts`. It takes
+the Host's `smoke` lease and runs the production main, preload and renderer
+against a localhost feed and a stand-in native downloader. It checks actual
+headers, the same install ID and persisted opt-out across launches, menu labels,
+⌘K, window hiding, cancelled unsaved quits and restart versus ordinary quit.
+Only the fixture overrides `app.isPackaged`; shipped code has no
+fake-feed switch. No live feed, telemetry or published Release is contacted.
+Real Squirrel signature verification, ZIP unpacking and app replacement require
+a signed installed app and are not proved by these fakes.
+
+## Idle evidence
+
+Before and after: `env -u POLARIS_HANDOFF bun run bench idle --quick --runs 3
+--compare packages/bench/baselines/mac14-13-apple-m2-max-12c-quick.json` on Mac14,13
+(M2 Max), through the Host's built-in `bench` lease. The inherited Host handoff
+was removed because this branch predates the separate bench-handoff fix; the
+first run with it inherited measured zero Daemon processes and is invalid.
+The fix is accepted on the Lead branch; these runs leave its fixtures unchanged.
+
+| Metric | Before | After | Committed baseline |
+| --- | ---: | ---: | ---: |
+| Client CPU (% of a core) | 0.302 | 0.224 | 0.456 |
+| Client footprint (MiB) | 93.33 | 91.09 | 77.02 |
+| Client wakeups/s | 13.50 | 13.49 | 13.40 |
+| No-Client footprint (MiB) | 90.97 | 90.58 | 76.33 |
+| No-Client wakeups/s | 9.20 | 10.80 | 10.90 |
+| Client RSS (MiB) | 74.20 | 128.02 | 110.00 |
+
+Both comparisons exit 1: footprint is already above the old baseline before
+this change, and the after run also flags Client RSS. Today's before/after
+comparison flags RSS (74.20 → 128.02 MiB with Client, 82.69 → 91.41 without).
+Physical footprint stays stable, while RSS includes reclaimable pages. The Host
+had 10.2 and 6.0 other cores busy; CPU/RSS attribution is inconclusive. The Daemon
+code and benchmark fixtures are unchanged by this task. No baseline is refreshed.
+
+The updater's timer belongs only to the Desktop App, not a Daemon: at most four
+scheduled checks per day, cancelled when off or ready. Tests prove there is one
+timer and no checks or timer in dev/unsupported/blocked builds. Quiet Upgrade
+captions use one-shot expiry timers only after an Upgrade, without polling.
+The `idle` scenario measures the Daemon, so it does not prove the packaged
+Desktop App's native downloader overhead or six-hour wakeup cost.
diff --git a/apps/desktop/src/main/updates/identity.ts b/apps/desktop/src/main/updates/identity.ts
new file mode 100644
index 00000000..a3a148b0
--- /dev/null
+++ b/apps/desktop/src/main/updates/identity.ts
@@ -0,0 +1,39 @@
+import { randomUUID } from "node:crypto";
+import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
+import { join, resolve, sep } from "node:path";
+import { Option, Schema } from "effect";
+
+const InstallId = Schema.String.check(
+ Schema.isPattern(/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/)
+);
+
+/** A random local identity, never derived from an account, Host or Workspace. */
+export const installId = (userData: string): string => {
+ const path = join(userData, "install-id");
+
+ try {
+ const previous = Schema.decodeUnknownOption(InstallId)(readFileSync(path, "utf8").trim());
+
+ if (Option.isSome(previous)) return previous.value;
+ } catch {
+ // The first launch has no identity file.
+ }
+
+ const id = randomUUID();
+ mkdirSync(userData, { recursive: true });
+ writeFileSync(path, `${id}\n`, { mode: 0o600 });
+
+ return id;
+};
+
+/** Downloads, disk images and Gatekeeper's translocated copies cannot replace themselves. */
+export const cannotInstallHere = (appPath: string, downloads: string): boolean => {
+ const path = resolve(appPath);
+
+ return (
+ path === resolve(downloads) ||
+ path.startsWith(`${resolve(downloads)}${sep}`) ||
+ path.startsWith("/Volumes/") ||
+ path.includes("/AppTranslocation/")
+ );
+};
diff --git a/apps/desktop/src/main/updates/index.ts b/apps/desktop/src/main/updates/index.ts
new file mode 100644
index 00000000..549b1bb7
--- /dev/null
+++ b/apps/desktop/src/main/updates/index.ts
@@ -0,0 +1,168 @@
+import type { AutoUpdater } from "electron";
+import type { AppUpdateView } from "../../shared/appUpdates.ts";
+
+export const UPDATE_BASE_URL = "https://polaris.lux.dev";
+
+export const CHECK_INTERVAL_MS = 6 * 60 * 60 * 1000;
+
+type UpdateHeaders = {
+ readonly "X-Polaris-macOS-Version": string;
+ "X-Polaris-Install-ID"?: string;
+};
+
+export interface UpdateInput {
+ readonly native: Pick<
+ AutoUpdater,
+ "on" | "removeListener" | "setFeedURL" | "checkForUpdates" | "quitAndInstall"
+ >;
+ readonly version: string;
+ readonly installId: string;
+ readonly macOSVersion: string;
+ readonly arch: string;
+ readonly supported: boolean;
+ readonly blocked: boolean;
+ readonly automatic: boolean;
+ readonly lastCheckedAt: number | null;
+ readonly save: (change: {
+ automaticAppUpdates?: boolean;
+ appUpdateLastCheckedAt?: number;
+ }) => void;
+ readonly publish: (view: AppUpdateView) => void;
+ readonly now?: () => number;
+ readonly schedule?: (run: () => void, delay: number) => () => void;
+}
+
+const scheduleCheck = (run: () => void, delay: number) => {
+ const timer = setTimeout(run, delay);
+ timer.unref();
+
+ return () => clearTimeout(timer);
+};
+
+/** The asset name is authoritative; a Release title can be arbitrary prose. */
+export const versionFromAsset = (url: string): string | null =>
+ /\/Polaris-((?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*))-arm64-mac\.zip$/.exec(url)?.[1] ??
+ null;
+
+export const createAppUpdates = (input: UpdateInput) => {
+ const now = input.now ?? Date.now;
+ const schedule = input.schedule ?? scheduleCheck;
+ let cancelTimer: (() => void) | null = null;
+ let disposed = false;
+
+ let view: AppUpdateView = {
+ phase: input.supported && input.blocked ? "blocked" : "idle",
+ version: input.version,
+ availableVersion: null,
+ automatic: input.automatic,
+ lastCheckedAt: input.lastCheckedAt,
+ installId: input.installId,
+ macOSVersion: input.macOSVersion,
+ arch: input.arch,
+ supported: input.supported,
+ };
+
+ const change = (patch: Partial) => {
+ if (disposed) return;
+ view = { ...view, ...patch };
+ input.publish(view);
+ };
+
+ const check = (): AppUpdateView => {
+ if (disposed || !view.supported || input.blocked) return view;
+
+ if (["checking", "downloading", "ready"].includes(view.phase)) return view;
+
+ const headers: UpdateHeaders = { "X-Polaris-macOS-Version": view.macOSVersion };
+
+ if (view.automatic) headers["X-Polaris-Install-ID"] = view.installId;
+
+ change({ phase: "checking", availableVersion: null });
+
+ try {
+ input.native.setFeedURL({
+ url: `${UPDATE_BASE_URL}/api/update/darwin-arm64/${encodeURIComponent(view.version)}`,
+ headers,
+ });
+ input.native.checkForUpdates();
+ } catch {
+ finish("failed");
+ }
+
+ return view;
+ };
+
+ const arm = () => {
+ cancelTimer?.();
+ cancelTimer = null;
+
+ if (disposed || !view.supported || input.blocked || !view.automatic || view.phase === "ready")
+ return;
+ cancelTimer = schedule(() => {
+ cancelTimer = null;
+ check();
+ arm();
+ }, CHECK_INTERVAL_MS);
+ };
+
+ const finish = (
+ phase: "current" | "failed" | "ready",
+ availableVersion: string | null = null
+ ) => {
+ if (disposed) return;
+ const lastCheckedAt = now();
+ input.save({ appUpdateLastCheckedAt: lastCheckedAt });
+ change({ phase, availableVersion, lastCheckedAt });
+ arm();
+ };
+
+ const checking = () => change({ phase: "checking" });
+ const available = () => change({ phase: "downloading" });
+ const current = () => finish("current");
+ const failed = () => finish("failed");
+
+ const downloaded = (
+ _event: Electron.Event,
+ _notes: string,
+ _name: string,
+ _date: Date,
+ url: string
+ ) => finish("ready", versionFromAsset(url));
+
+ input.native.on("checking-for-update", checking);
+ input.native.on("update-available", available);
+ input.native.on("update-not-available", current);
+ input.native.on("error", failed);
+ input.native.on("update-downloaded", downloaded);
+
+ return {
+ get: () => view,
+ check,
+ start: () => {
+ if (view.automatic) check();
+ arm();
+ },
+ setAutomatic: (automatic: boolean) => {
+ input.save({ automaticAppUpdates: automatic });
+ change({ automatic });
+ // A request already sent cannot be recalled; future manual checks omit the identity.
+ arm();
+
+ return view;
+ },
+ install: () => {
+ if (view.phase === "ready") input.native.quitAndInstall();
+ },
+ dispose: () => {
+ disposed = true;
+ cancelTimer?.();
+ input.native.removeListener("checking-for-update", checking);
+ input.native.removeListener("update-available", available);
+ input.native.removeListener("update-not-available", current);
+ input.native.removeListener("error", failed);
+ input.native.removeListener("update-downloaded", downloaded);
+ },
+ };
+};
+
+export type AppUpdates = ReturnType;
diff --git a/apps/desktop/src/main/updates/updates.test.ts b/apps/desktop/src/main/updates/updates.test.ts
new file mode 100644
index 00000000..4d0c767d
--- /dev/null
+++ b/apps/desktop/src/main/updates/updates.test.ts
@@ -0,0 +1,298 @@
+import { describe, expect, test } from "bun:test";
+import { EventEmitter } from "node:events";
+import { mkdtempSync, readFileSync, rmSync, statSync } from "node:fs";
+import { tmpdir } from "node:os";
+import { join } from "node:path";
+import type { FeedURLOptions } from "electron";
+import { Schema } from "effect";
+import { createAppUpdates, CHECK_INTERVAL_MS, UPDATE_BASE_URL, versionFromAsset } from "./index.ts";
+import { cannotInstallHere, installId } from "./identity.ts";
+
+class FakeUpdater extends EventEmitter {
+ getFeedURL() {
+ return this.feed?.url ?? "";
+ }
+ feed: FeedURLOptions | null = null;
+ checks = 0;
+ installs = 0;
+ failSynchronously = false;
+ setFeedURL(feed: FeedURLOptions) {
+ this.feed = feed;
+ }
+ checkForUpdates() {
+ this.checks++;
+
+ if (this.failSynchronously) throw new Error("offline");
+ this.emit("checking-for-update");
+ }
+ quitAndInstall() {
+ this.installs++;
+ }
+}
+
+const fixture = (
+ patch: { supported?: boolean; blocked?: boolean; automatic?: boolean } = {},
+ native = new FakeUpdater()
+) => {
+ const pending = new Set<() => void>();
+ const saves: Array<{ automaticAppUpdates?: boolean; appUpdateLastCheckedAt?: number }> = [];
+ const delays: Array = [];
+
+ const updates = createAppUpdates({
+ native,
+ version: "0.4.0",
+ installId: "c30721f9-24ca-48e4-bdb7-eb9dd579e65b",
+ macOSVersion: "26.1",
+ arch: "arm64",
+ supported: true,
+ blocked: false,
+ automatic: true,
+ lastCheckedAt: null,
+ ...patch,
+ save: (value) => {
+ saves.push(value);
+ },
+ publish: () => {},
+ now: () => 1234,
+ schedule: (run, delay) => {
+ delays.push(delay);
+ pending.add(run);
+
+ return () => {
+ pending.delete(run);
+ };
+ },
+ });
+
+ const tick = () => {
+ const ready = Array.from(pending);
+
+ for (const run of ready) {
+ pending.delete(run);
+ run();
+ }
+ };
+
+ return { native, updates, pending, saves, delays, tick };
+};
+
+const Feed = Schema.Struct({
+ url: Schema.String,
+ name: Schema.String,
+ notes: Schema.String,
+ pub_date: Schema.String,
+});
+
+class FeedUpdater extends FakeUpdater {
+ downloadedBytes: Uint8Array | null = null;
+ completion: Promise = Promise.resolve();
+ constructor(readonly fetch: (request: Request) => Promise) {
+ super();
+ }
+ override checkForUpdates() {
+ super.checkForUpdates();
+ this.completion = this.download().catch(() => {
+ this.emit("error", new Error("fake feed failed"));
+ });
+ }
+ async download() {
+ if (this.feed === null) throw new Error("no feed");
+ const response = await this.fetch(new Request(this.feed.url, { headers: this.feed.headers }));
+
+ if (response.status === 204) {
+ this.emit("update-not-available");
+
+ return;
+ }
+
+ if (!response.ok) throw new Error("feed unavailable");
+ const release = Schema.decodeUnknownSync(Feed)(await response.json());
+ this.emit("update-available");
+ const zip = await this.fetch(new Request(release.url));
+ this.downloadedBytes = new Uint8Array(await zip.arrayBuffer());
+ this.emit(
+ "update-downloaded",
+ {},
+ release.notes,
+ release.name,
+ new Date(release.pub_date),
+ release.url
+ );
+ }
+}
+
+test("fake feed: GET 204, Release JSON, background ZIP download and apply", async () => {
+ const zipURL =
+ "https://github.com/luxdotdev/polaris/releases/download/v0.5.0/Polaris-0.5.0-arm64-mac.zip";
+
+ const requests: Array = [];
+ let offerUpdate = false;
+
+ const native = new FeedUpdater(async (request) => {
+ requests.push(request);
+
+ if (request.url === zipURL) return new Response(new Uint8Array([80, 75, 3, 4]));
+
+ if (request.url !== `${UPDATE_BASE_URL}/api/update/darwin-arm64/0.4.0`)
+ throw new Error("unexpected outbound request");
+ expect(request.method).toBe("GET");
+
+ return offerUpdate
+ ? Response.json({
+ url: zipURL,
+ name: "Release title",
+ notes: "notes",
+ pub_date: "2026-10-02T00:00:00Z",
+ })
+ : new Response(null, { status: 204 });
+ });
+
+ const { updates } = fixture({}, native);
+ updates.start();
+ await native.completion;
+ expect(updates.get().phase).toBe("current");
+ expect(requests[0]?.headers.get("X-Polaris-Install-ID")).toBe(updates.get().installId);
+ offerUpdate = true;
+ updates.setAutomatic(false);
+ updates.check();
+ await native.completion;
+ expect(requests[1]?.headers.get("X-Polaris-Install-ID")).toBeNull();
+ expect(requests[1]?.headers.get("X-Polaris-macOS-Version")).toBe("26.1");
+ expect(native.downloadedBytes).toEqual(new Uint8Array([80, 75, 3, 4]));
+ expect(updates.get().availableVersion).toBe("0.5.0");
+ expect(updates.get().phase).toBe("ready");
+ updates.install();
+ expect(native.installs).toBe(1);
+ updates.dispose();
+});
+
+describe("Desktop App Updates", () => {
+ test("packaged supported launch checks once; one six-hour timer, then disposal", () => {
+ const { native, updates, pending, delays, tick } = fixture();
+ updates.start();
+ expect(native.checks).toBe(1);
+ expect(pending.size).toBe(1);
+ expect(delays).toEqual([CHECK_INTERVAL_MS]);
+ native.emit("update-not-available");
+ expect(updates.get().phase).toBe("current");
+ expect(updates.get().lastCheckedAt).toBe(1234);
+ tick();
+ expect(native.checks).toBe(2);
+ expect(pending.size).toBe(1);
+ updates.dispose();
+ expect(pending.size).toBe(0);
+ expect(native.listenerCount("update-downloaded")).toBe(0);
+ });
+
+ test("off stops automatic requests and ID; Check now still works, re-enable persists", () => {
+ const { native, updates, pending, saves } = fixture({ automatic: false });
+ updates.start();
+ expect(native.checks).toBe(0);
+ expect(pending.size).toBe(0);
+ updates.check();
+ expect(native.feed).toEqual({
+ url: `${UPDATE_BASE_URL}/api/update/darwin-arm64/0.4.0`,
+ headers: { "X-Polaris-macOS-Version": "26.1" },
+ });
+ native.emit("update-not-available");
+ updates.setAutomatic(true);
+ updates.check();
+ expect(native.feed?.headers?.["X-Polaris-Install-ID"]).toBe(updates.get().installId);
+ updates.setAutomatic(false);
+ expect(pending.size).toBe(0);
+ expect(saves).toContainEqual({ automaticAppUpdates: false });
+ native.emit("update-not-available");
+ updates.check();
+ expect(native.feed?.headers).not.toHaveProperty("X-Polaris-Install-ID");
+ updates.dispose();
+ });
+
+ test("busy/ready checks are deduplicated; no install until downloaded", () => {
+ const { native, updates, pending } = fixture();
+ updates.start();
+ updates.check();
+ updates.install();
+ expect(native.checks).toBe(1);
+ expect(native.installs).toBe(0);
+ native.emit("update-available");
+ updates.check();
+ expect(updates.get().phase).toBe("downloading");
+ expect(updates.get().availableVersion).toBeNull();
+ native.emit(
+ "update-downloaded",
+ {},
+ "notes",
+ "September release",
+ new Date(),
+ "https://github.com/luxdotdev/polaris/releases/download/v0.5.0/Polaris-0.5.0-arm64-mac.zip"
+ );
+ expect(updates.get().phase).toBe("ready");
+ expect(updates.get().availableVersion).toBe("0.5.0");
+ expect(pending.size).toBe(0);
+ updates.check();
+ expect(native.checks).toBe(1);
+ updates.install();
+ expect(native.installs).toBe(1);
+ updates.dispose();
+ });
+
+ test("unsupported builds and blocked install paths never check or schedule", () => {
+ for (const patch of [{ supported: false }, { blocked: true }]) {
+ const { native, updates, pending } = fixture(patch);
+ updates.start();
+ updates.check();
+ updates.setAutomatic(true);
+ expect(native.checks).toBe(0);
+ expect(pending.size).toBe(0);
+ updates.dispose();
+ }
+ });
+
+ test("native errors remain retryable, with a neutral failure and timestamp", () => {
+ const { native, updates } = fixture();
+ updates.check();
+ native.emit("error", new Error("private upstream details"));
+ expect(updates.get().phase).toBe("failed");
+ expect(JSON.stringify(updates.get())).not.toContain("private upstream");
+ native.failSynchronously = true;
+ updates.check();
+ expect(updates.get().phase).toBe("failed");
+ expect(native.checks).toBe(2);
+ updates.dispose();
+ });
+});
+
+test("install ID survives relaunch and is a private random UUID v4", () => {
+ const home = mkdtempSync(join(tmpdir(), "polaris-install-id-"));
+
+ try {
+ const id = installId(home);
+ expect(id).toMatch(/^[\da-f-]{14}4[\da-f-]{21}$/);
+ expect(installId(home)).toBe(id);
+ expect(readFileSync(join(home, "install-id"), "utf8").trim()).toBe(id);
+ expect(statSync(join(home, "install-id")).mode & 0o777).toBe(0o600);
+ } finally {
+ rmSync(home, { recursive: true, force: true });
+ }
+});
+
+test("installation location and authoritative asset version", () => {
+ expect(
+ cannotInstallHere(
+ "/Users/me/Downloads/Polaris.app/Contents/Resources/app",
+ "/Users/me/Downloads"
+ )
+ ).toBe(true);
+ expect(cannotInstallHere("/Volumes/Polaris/Polaris.app", "/Users/me/Downloads")).toBe(true);
+ expect(
+ cannotInstallHere(
+ "/private/var/folders/x/AppTranslocation/y/Polaris.app",
+ "/Users/me/Downloads"
+ )
+ ).toBe(true);
+ expect(cannotInstallHere("/Users/me/Downloads-other/Polaris.app", "/Users/me/Downloads")).toBe(
+ false
+ );
+ expect(cannotInstallHere("/Applications/Polaris.app", "/Users/me/Downloads")).toBe(false);
+ expect(versionFromAsset("https://example.test/Polaris-01.2.3-arm64-mac.zip")).toBeNull();
+});
diff --git a/apps/desktop/src/renderer/app/App.tsx b/apps/desktop/src/renderer/app/App.tsx
index 9ff883a3..786c9743 100644
--- a/apps/desktop/src/renderer/app/App.tsx
+++ b/apps/desktop/src/renderer/app/App.tsx
@@ -8,7 +8,7 @@ import {
} from "../features/onboarding/index.ts";
import { type AppContextValue, AppProvider } from "../shell/hooks.ts";
// Not the feature's index: it reaches slots.tsx, which must load after the shell's features.
-import { UpgradeToasts } from "../features/machines/UpgradeToasts.tsx";
+import { UpgradeStatusPublisher } from "../features/machines/updates/UpgradeStatus.tsx";
import { LinkedPullsPublisher } from "../features/accept/index.ts";
// The feeds module, not the feature index: the index pulls in the slots that this file renders.
import { ConstellationFeeds } from "../features/constellation/feeds.tsx";
@@ -39,7 +39,7 @@ export const App = ({ value, onboarding = settled }: AppProps) => (
-
+
diff --git a/apps/desktop/src/renderer/features/composer/model/notice.test.ts b/apps/desktop/src/renderer/features/composer/model/notice.test.ts
index d51b1ab4..1c90ebf3 100644
--- a/apps/desktop/src/renderer/features/composer/model/notice.test.ts
+++ b/apps/desktop/src/renderer/features/composer/model/notice.test.ts
@@ -18,7 +18,7 @@ describe("the / menu on a Host whose daemon can't list commands", () => {
const notice = daemonNotice("This Mac", null, openHosts);
expect(notice.message).toBe("Skills need a newer daemon on This Mac");
- expect(notice.action?.label).toBe("Update daemon");
+ expect(notice.action?.label).toBe("Upgrade daemon");
});
test("follows the upgrade: running, failed, done", () => {
diff --git a/apps/desktop/src/renderer/features/composer/model/notice.ts b/apps/desktop/src/renderer/features/composer/model/notice.ts
index 1327beee..6259170f 100644
--- a/apps/desktop/src/renderer/features/composer/model/notice.ts
+++ b/apps/desktop/src/renderer/features/composer/model/notice.ts
@@ -33,7 +33,7 @@ export const daemonNotice = (
return {
message: `Skills need a newer daemon on ${hostLabel}`,
- action: { label: "Update daemon", run: openHosts },
+ action: { label: "Upgrade daemon", run: openHosts },
};
};
diff --git a/apps/desktop/src/renderer/features/editor/model/banner.ts b/apps/desktop/src/renderer/features/editor/model/banner.ts
index d49ba736..d93d477f 100644
--- a/apps/desktop/src/renderer/features/editor/model/banner.ts
+++ b/apps/desktop/src/renderer/features/editor/model/banner.ts
@@ -26,7 +26,7 @@ export const ACTION_LABELS: Readonly> = {
"take-theirs": "Take theirs",
close: "Close tab",
retry: "Try again",
- "update-daemon": "Update daemon",
+ "update-daemon": "Upgrade daemon",
save: "Save",
};
diff --git a/apps/desktop/src/renderer/features/jump/JumpMenu.tsx b/apps/desktop/src/renderer/features/jump/JumpMenu.tsx
index 809ab4f8..da626db0 100644
--- a/apps/desktop/src/renderer/features/jump/JumpMenu.tsx
+++ b/apps/desktop/src/renderer/features/jump/JumpMenu.tsx
@@ -39,6 +39,7 @@ import {
workspaceItems,
worktreeItems,
} from "./items.ts";
+import { useUpdates } from "../settings/updates/store.ts";
import { useRunJump } from "./run.ts";
const Leading = ({ item }: { readonly item: JumpItem }) => {
@@ -99,6 +100,7 @@ const useSources = () => {
const { topBar, hostKey, workspaceId, sessionId, mode } = useSelection();
const commands = useCommands();
const dark = useDark();
+ const updateVersion = useUpdates((s) => s.view?.availableVersion);
const review = useReviewSources(mode);
return useMemo(() => {
@@ -115,11 +117,23 @@ const useSources = () => {
session:
sessionId === null ? null : (model?.sessions.get(sessionId)?.session.title ?? null),
enabled: commands.enabled,
+ updateVersion: updateVersion ?? null,
nextTheme: dark ? "light" : "dark",
}),
review,
};
- }, [hosts, models, topBar, hostKey, workspaceId, sessionId, commands, dark, review]);
+ }, [
+ hosts,
+ models,
+ topBar,
+ hostKey,
+ workspaceId,
+ sessionId,
+ commands,
+ dark,
+ review,
+ updateVersion,
+ ]);
};
/** Whether the window is dark now: the theme setting, or the system's when it follows it. */
diff --git a/apps/desktop/src/renderer/features/jump/items.ts b/apps/desktop/src/renderer/features/jump/items.ts
index ea253100..a679eef0 100644
--- a/apps/desktop/src/renderer/features/jump/items.ts
+++ b/apps/desktop/src/renderer/features/jump/items.ts
@@ -158,6 +158,7 @@ export interface ActionContext {
/** The selected session's title, for "Archive …". */
readonly session: string | null;
readonly enabled: (id: CommandId) => boolean;
+ readonly updateVersion?: string | null;
/** The theme the toggle leads to. */
readonly nextTheme: "dark" | "light";
}
@@ -237,6 +238,21 @@ const ACTIONS: ReadonlyArray<{
title: () => "Add GitHub account…",
keywords: ["github", "sign in", "device code"],
},
+ {
+ id: "settings.about",
+ title: () => "Settings: About",
+ keywords: ["version", "release", "polaris"],
+ },
+ {
+ id: "updates.check",
+ title: () => "Check for updates",
+ keywords: ["update", "release", "version"],
+ },
+ {
+ id: "updates.restart",
+ title: () => "Restart to update",
+ keywords: ["update", "restart", "upgrade"],
+ },
];
const shortcutOf = (id: CommandId) => {
@@ -255,7 +271,10 @@ export const actionItems = (ctx: ActionContext): ReadonlyArray =>
target: { kind: "command", id: a.id },
title: a.title(ctx),
keywords: a.keywords,
- detail: "",
+ detail:
+ a.id === "updates.restart"
+ ? `Polaris ${ctx.updateVersion ?? ""} · agent sessions keep working`
+ : "",
meta: shortcutOf(a.id),
state: null,
harness: null,
diff --git a/apps/desktop/src/renderer/features/jump/updates.test.ts b/apps/desktop/src/renderer/features/jump/updates.test.ts
new file mode 100644
index 00000000..9e2d48c6
--- /dev/null
+++ b/apps/desktop/src/renderer/features/jump/updates.test.ts
@@ -0,0 +1,42 @@
+import { expect, test } from "bun:test";
+import { actionItems } from "./items.ts";
+import { rank } from "./ranking.ts";
+
+test("the ready Update is the last action and is found by update, restart or upgrade", () => {
+ const items = actionItems({
+ workspace: null,
+ session: null,
+ enabled: () => true,
+ nextTheme: "dark",
+ updateVersion: "0.5.0",
+ });
+
+ const ready = items.at(-1);
+
+ expect(ready).toMatchObject({
+ title: "Restart to update",
+ detail: "Polaris 0.5.0 · agent sessions keep working",
+ });
+
+ for (const query of ["update", "restart", "upgrade"]) {
+ expect(
+ rank({ items, query, recency: () => Infinity, limit: 5, urgent: () => false }).some(
+ (item) => item.id === ready?.id
+ )
+ ).toBe(true);
+ }
+
+ expect(items.some((item) => item.title === "Settings: About")).toBe(true);
+ expect(items.some((item) => item.title === "Check for updates")).toBe(true);
+});
+
+test("restart disappears until main has a ready Update", () => {
+ const items = actionItems({
+ workspace: null,
+ session: null,
+ enabled: (id) => id !== "updates.restart",
+ nextTheme: "dark",
+ });
+
+ expect(items.some((item) => item.title === "Restart to update")).toBe(false);
+});
diff --git a/apps/desktop/src/renderer/features/machines/HostDetails.tsx b/apps/desktop/src/renderer/features/machines/HostDetails.tsx
index bc1e6323..4686494b 100644
--- a/apps/desktop/src/renderer/features/machines/HostDetails.tsx
+++ b/apps/desktop/src/renderer/features/machines/HostDetails.tsx
@@ -166,7 +166,7 @@ const Settings = ({ machine }: { readonly machine: MachineView }) => {
)}
{machine.daemon === null || !machine.daemon.managed ? null : (
{
@@ -125,7 +126,13 @@ export const HostsSettingsPage = ({ adding = false }: HostsSettingsPageProps) =>
const [toggled, setToggled] = useState>>({});
// Rows opened because they needed the user stay open after, to show the outcome.
const [kept, setKept] = useState>(new Set());
- const now = useNow(machines?.some((m) => m.status?.state === "reconnecting") ?? false);
+
+ const expiryClock = useUpgradeClock();
+
+ const now = Math.max(
+ expiryClock,
+ useNow(machines?.some((m) => m.status?.state === "reconnecting") ?? false)
+ );
useEffect(() => {
const opened = (machines ?? []).filter((m) => needsUser(m)).map((m) => m.key);
diff --git a/apps/desktop/src/renderer/features/machines/UpgradeToasts.tsx b/apps/desktop/src/renderer/features/machines/UpgradeToasts.tsx
deleted file mode 100644
index 747711ef..00000000
--- a/apps/desktop/src/renderer/features/machines/UpgradeToasts.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Says when a Host's Daemon was upgraded (a toast), above all this Mac's,
- * which upgrades on its own when the app bundles a newer or dev build.
- * Upgrades already shown when it mounts stay quiet.
- */
-import { PixelCheckIcon, showToast } from "@polaris/ui";
-import { useEffect, useRef } from "react";
-import { useMachines } from "./hooks.tsx";
-import { upgradeNotes } from "./model.ts";
-
-export const UpgradeToasts = () => {
- const machines = useMachines();
- const seen = useRef | null>(null);
-
- useEffect(() => {
- if (machines === null) return;
- const notes = upgradeNotes(machines, seen.current ?? new Set());
-
- if (seen.current === null) {
- seen.current = new Set(notes.map((n) => n.key));
-
- return;
- }
-
- for (const note of notes) {
- seen.current.add(note.key);
- showToast({
- source: "starlight",
- icon: ,
- title: note.title,
- message: note.message,
- });
- }
- }, [machines]);
-
- return null;
-};
diff --git a/apps/desktop/src/renderer/features/machines/model.test.ts b/apps/desktop/src/renderer/features/machines/model.test.ts
index e8fb4ac5..a0ac2bd8 100644
--- a/apps/desktop/src/renderer/features/machines/model.test.ts
+++ b/apps/desktop/src/renderer/features/machines/model.test.ts
@@ -9,7 +9,6 @@ import {
needsUser,
offerFacts,
outcomeNote,
- upgradeNotes,
} from "./model.ts";
const status = (patch: Partial = {}): ConnectionStatusView => ({
@@ -263,30 +262,3 @@ describe("rows", () => {
]);
});
});
-
-describe("upgrade notes", () => {
- const upgraded = machine({
- key: "local",
- label: "This Mac",
- install: install({
- step: "ready",
- outcome: {
- kind: "upgraded",
- version: "0.0.0-dev.412.abc1234",
- from: "0.0.0-dev.399.bcc2f38",
- notes: [],
- adminCommand: null,
- },
- }),
- });
-
- test("a new upgrade says which Host and from what to what, once", () => {
- const [note] = upgradeNotes([upgraded, machine()], new Set());
-
- expect(note).toMatchObject({
- title: "Daemon upgraded",
- message: "This Mac · 0.0.0-dev.399.bcc2f38 → 0.0.0-dev.412.abc1234",
- });
- expect(upgradeNotes([upgraded], new Set([note?.key ?? ""]))).toEqual([]);
- });
-});
diff --git a/apps/desktop/src/renderer/features/machines/model.ts b/apps/desktop/src/renderer/features/machines/model.ts
index 3f806956..f02effc5 100644
--- a/apps/desktop/src/renderer/features/machines/model.ts
+++ b/apps/desktop/src/renderer/features/machines/model.ts
@@ -357,35 +357,3 @@ export const offerFacts = (machine: MachineView) => {
{ label: "Installs to", value: `~/.polaris on ${machine.alias ?? machine.label}` },
];
};
-
-/** An upgrade to tell the user about, keyed so each shows once. */
-export interface UpgradeNote {
- readonly key: string;
- readonly title: string;
- readonly message: string;
-}
-
-/**
- * The upgrades in `machines` not in `seen` (outcome keys), for a toast: the
- * local Host's happen without the user asking, so they must say so.
- */
-export const upgradeNotes = (
- machines: ReadonlyArray,
- seen: ReadonlySet
-): ReadonlyArray =>
- machines.flatMap((machine) => {
- const outcome = machine.install?.outcome;
-
- if (outcome?.kind !== "upgraded") return [];
- const key = `${machine.key}\u0000${outcome.from ?? ""}\u0000${outcome.version}`;
-
- return seen.has(key)
- ? []
- : [
- {
- key,
- title: "Daemon upgraded",
- message: `${machine.label} · ${outcome.from ?? "?"} → ${outcome.version}`,
- },
- ];
- });
diff --git a/apps/desktop/src/renderer/features/machines/preview/fixtures.ts b/apps/desktop/src/renderer/features/machines/preview/fixtures.ts
index 6521f7fd..d2570dd4 100644
--- a/apps/desktop/src/renderer/features/machines/preview/fixtures.ts
+++ b/apps/desktop/src/renderer/features/machines/preview/fixtures.ts
@@ -112,7 +112,13 @@ const all = (now: number): ReadonlyArray => [
},
})
),
- machine("studio", "Mac Studio", "studio", connected("darwin-arm64", "0.4.1", 4), daemon()),
+ machine(
+ "studio",
+ "Mac Studio",
+ "studio",
+ connected("darwin-arm64", "0.4.1", 4),
+ daemon({ keepUpToDateOverride: false, keepUpToDate: false })
+ ),
machine(
"vm",
"Build VM",
@@ -246,7 +252,13 @@ const current = (): ReadonlyArray => [
/** "live" starts as two offers; Update walks the preview through checking, copying and switching. */
const live = (): ReadonlyArray => [
thisMac(daemon({ installedVersion: "0.5.0", updateAvailable: false })),
- machine("studio", "Mac Studio", "studio", connected("darwin-arm64", "0.4.1", 4), daemon()),
+ machine(
+ "studio",
+ "Mac Studio",
+ "studio",
+ connected("darwin-arm64", "0.4.1", 4),
+ daemon({ keepUpToDateOverride: false, keepUpToDate: false })
+ ),
machine("pi", "Raspberry Pi", "lucas-rpi", connected("linux-arm64", "0.4.1", 38), daemon()),
];
diff --git a/apps/desktop/src/renderer/features/machines/updates/Controls.tsx b/apps/desktop/src/renderer/features/machines/updates/Controls.tsx
index 1ccbd564..6f297ece 100644
--- a/apps/desktop/src/renderer/features/machines/updates/Controls.tsx
+++ b/apps/desktop/src/renderer/features/machines/updates/Controls.tsx
@@ -37,7 +37,7 @@ export interface OverrideProps {
export const OverrideMenuItems = ({ daemon, onChange }: OverrideProps) => (
<>
- Daemon updates
+ Daemon upgrades
{
@@ -61,7 +61,7 @@ export const OverrideSelect = ({ daemon, onChange }: OverrideProps) => (
if (isChoice(value)) onChange(overrideValue(value));
}}
>
-
+
diff --git a/apps/desktop/src/renderer/features/machines/updates/UpdateStrip.tsx b/apps/desktop/src/renderer/features/machines/updates/UpdateStrip.tsx
index fd40f38e..f5627e55 100644
--- a/apps/desktop/src/renderer/features/machines/updates/UpdateStrip.tsx
+++ b/apps/desktop/src/renderer/features/machines/updates/UpdateStrip.tsx
@@ -101,7 +101,7 @@ export const UpdateStrip = ({ line, onUpdate, onFailureAction }: UpdateStripProp
)}
);
diff --git a/apps/desktop/src/renderer/features/machines/updates/UpgradeStatus.tsx b/apps/desktop/src/renderer/features/machines/updates/UpgradeStatus.tsx
new file mode 100644
index 00000000..ab6e3cd5
--- /dev/null
+++ b/apps/desktop/src/renderer/features/machines/updates/UpgradeStatus.tsx
@@ -0,0 +1,99 @@
+/** Machines already carry Upgrade outcomes; captions expire once, without idle polling. */
+import { HoverCard, HoverCardContent, HoverCardTrigger } from "@polaris/ui";
+import { type ReactNode, useEffect, useState } from "react";
+import { useStore } from "zustand";
+import { createStore } from "zustand/vanilla";
+import type { MachineView } from "../../../../shared/api.ts";
+import { useNav } from "../../../shell/hooks.ts";
+import { useMachines } from "../hooks.tsx";
+import { UPGRADE_CAPTION_MS, upgradeCaption, upgradeHover } from "./quiet.ts";
+
+interface UpgradeStatusState {
+ readonly machines: ReadonlyArray;
+ readonly opened: Readonly>;
+ readonly now: number;
+}
+
+const statusStore = createStore(() => ({
+ machines: [],
+ opened: {},
+ now: Date.now(),
+}));
+
+export const acknowledgeUpgrade = (hostKey: string) =>
+ statusStore.setState((state) => ({ opened: { ...state.opened, [hostKey]: Date.now() } }));
+
+export const UpgradeStatusPublisher = () => {
+ const machines = useMachines();
+ const hostKey = useNav((s) => s.hostKey);
+ useEffect(() => {
+ if (hostKey !== null) acknowledgeUpgrade(hostKey);
+ }, [hostKey]);
+ useEffect(() => {
+ const now = Date.now();
+ statusStore.setState({ machines: machines ?? [], now });
+
+ const expirations = (machines ?? []).flatMap((m) => {
+ const last = m.daemon?.lastUpdate;
+
+ return last?.result === "updated"
+ ? [last.at + UPGRADE_CAPTION_MS, last.at + 24 * UPGRADE_CAPTION_MS].filter((at) => at > now)
+ : [];
+ });
+
+ if (expirations.length === 0) return undefined;
+
+ const timers = [...new Set(expirations)].map((at) =>
+ setTimeout(() => statusStore.setState({ now: Date.now() }), at - now)
+ );
+
+ return () => timers.forEach(clearTimeout);
+ }, [machines]);
+
+ return null;
+};
+
+export const useUpgradeClock = () => useStore(statusStore, (s) => s.now);
+
+export const useUpgradeCaption = (hostKey: string): string | null =>
+ useStore(statusStore, (s) =>
+ upgradeCaption(
+ s.machines.find((m) => m.key === hostKey)?.daemon?.lastUpdate ?? null,
+ s.opened[hostKey],
+ s.now
+ )
+ );
+
+export const UpgradeHover = ({
+ hostKey,
+ children,
+}: {
+ readonly hostKey: string;
+ readonly children: ReactNode;
+}) => {
+ const last = useStore(
+ statusStore,
+ (s) => s.machines.find((m) => m.key === hostKey)?.daemon?.lastUpdate ?? null
+ );
+
+ const [now, setNow] = useState(() => Date.now());
+ const note = upgradeHover(last, now);
+
+ if (note === null) return children;
+
+ return (
+ {
+ if (open) setNow(Date.now());
+ }}
+ >
+ {children}
+
+
+
{note.title}
+
{note.body}
+
+
+
+ );
+};
diff --git a/apps/desktop/src/renderer/features/machines/updates/model.test.ts b/apps/desktop/src/renderer/features/machines/updates/model.test.ts
index e1fea295..b2cf73bc 100644
--- a/apps/desktop/src/renderer/features/machines/updates/model.test.ts
+++ b/apps/desktop/src/renderer/features/machines/updates/model.test.ts
@@ -43,15 +43,19 @@ describe("a host's daemon update line", () => {
});
test("offers the update with both versions, and waits for a disconnected host", () => {
- expect(line(daemon({ updateAvailable: true }))).toEqual({
+ expect(line(daemon({ updateAvailable: true, keepUpToDate: false }))).toEqual({
kind: "available",
- text: "Update available · 0.4.1 → 0.5.0",
+ text: "0.5.0 available · upgrades its daemon only when you ask",
canUpdate: true,
caption: null,
});
- expect(line(daemon({ updateAvailable: true }), false)).toMatchObject({
+ expect(line(daemon({ updateAvailable: true, keepUpToDate: false }), false)).toMatchObject({
canUpdate: false,
- caption: "Updates once pi is connected",
+ caption: "Upgrades once pi is connected",
+ });
+ expect(line(daemon({ updateAvailable: true }), false)).toEqual({
+ kind: "note",
+ text: "Upgrades to 0.5.0 when it connects",
});
});
@@ -92,7 +96,7 @@ describe("a host's daemon update line", () => {
})
);
- expect(done(3 * 60_000)).toEqual({ kind: "updated", text: "Updated to 0.5.0 · 3m ago" });
+ expect(done(3 * 60_000)).toEqual({ kind: "updated", text: "Upgraded to 0.5.0 · 3m ago" });
expect(done(25 * 60 * 60_000).kind).toBe("none");
});
@@ -142,7 +146,7 @@ describe("a host's daemon update line", () => {
failed(problem({ kind: "unsupported", message: "FreeBSD isn't supported." }))
).toMatchObject({ failure: { reason: "unsupported", actions: [] } });
expect(failed(null)).toMatchObject({
- failure: { reason: "failed", title: "Updating pi didn't finish" },
+ failure: { reason: "failed", title: "Upgrading pi didn't finish" },
});
});
});
@@ -154,7 +158,7 @@ describe("the per-host override", () => {
expect(overrideChoice(daemon({ keepUpToDateOverride: false }))).toBe("off");
expect(line(daemon({ keepUpToDateOverride: false }))).toEqual({
kind: "note",
- text: "Updates its daemon only when you ask",
+ text: "Upgrades its daemon only when you ask",
});
});
});
diff --git a/apps/desktop/src/renderer/features/machines/updates/model.ts b/apps/desktop/src/renderer/features/machines/updates/model.ts
index 3e3ee7bc..894973a4 100644
--- a/apps/desktop/src/renderer/features/machines/updates/model.ts
+++ b/apps/desktop/src/renderer/features/machines/updates/model.ts
@@ -5,7 +5,7 @@
*/
import type { DaemonUpdateProblem, DaemonUpdateView } from "./contract.ts";
-/** How long "Updated to …" stays on the row after an update. */
+/** How long "Upgraded to …" stays on the row after an update. */
export const UPDATED_NOTE_MS = 24 * 60 * 60 * 1000;
export type FailureAction = "retry" | "copy-command" | "open-ssh";
@@ -141,7 +141,7 @@ export const updateFailure = (
default:
return {
reason: "failed",
- title: `Updating ${label} didn't finish`,
+ title: `Upgrading ${label} didn't finish`,
body: `${kept} Nothing half-installed is left running.`,
detail,
actions: [RETRY],
@@ -209,20 +209,23 @@ export const updateLine = ({
};
if (daemon.updateAvailable) {
- const from = daemon.installedVersion ?? "?";
+ const target = daemon.bundledVersion ?? "?";
+
+ if (!connected && daemon.keepUpToDate)
+ return { kind: "note", text: `Upgrades to ${target} when it connects` };
return {
kind: "available",
- text: `Update available · ${from} → ${daemon.bundledVersion ?? "?"}`,
+ text: `${target} available${daemon.keepUpToDate ? "" : " · upgrades its daemon only when you ask"}`,
canUpdate: connected,
- caption: connected ? null : `Updates once ${label} is connected`,
+ caption: connected ? null : `Upgrades once ${label} is connected`,
};
}
if (last?.result === "updated" && now - last.at < UPDATED_NOTE_MS)
return {
kind: "updated",
- text: `Updated to ${last.version ?? daemon.installedVersion ?? "?"} · ${ago(now - last.at)}`,
+ text: `Upgraded to ${last.version ?? daemon.installedVersion ?? "?"} · ${ago(now - last.at)}`,
};
if (daemon.keepUpToDateOverride === null) return NONE;
@@ -231,7 +234,7 @@ export const updateLine = ({
kind: "note",
text: daemon.keepUpToDateOverride
? "Keeps its daemon up to date on its own"
- : "Updates its daemon only when you ask",
+ : "Upgrades its daemon only when you ask",
};
};
diff --git a/apps/desktop/src/renderer/features/machines/updates/quiet.test.ts b/apps/desktop/src/renderer/features/machines/updates/quiet.test.ts
new file mode 100644
index 00000000..574fd7f9
--- /dev/null
+++ b/apps/desktop/src/renderer/features/machines/updates/quiet.test.ts
@@ -0,0 +1,40 @@
+import { describe, expect, test } from "bun:test";
+import type { DaemonUpdateResult } from "../../../../shared/daemonUpdates.ts";
+import { UPGRADE_CAPTION_MS, upgradeCaption, upgradeHover } from "./quiet.ts";
+
+const NOW = 1_800_000_000_000;
+
+const last: DaemonUpdateResult = {
+ at: NOW,
+ result: "updated",
+ from: "0.4.0",
+ version: "0.5.0",
+ problem: null,
+};
+
+describe("quiet Daemon Upgrade status", () => {
+ test("caption expires after exactly an hour or when the host opens", () => {
+ expect(upgradeCaption(last, undefined, NOW + UPGRADE_CAPTION_MS - 1)).toBe("Upgraded to 0.5.0");
+ expect(upgradeCaption(last, undefined, NOW + UPGRADE_CAPTION_MS)).toBeNull();
+ expect(upgradeCaption(last, NOW, NOW)).toBeNull();
+ expect(upgradeCaption(last, NOW - 1, NOW)).toBe("Upgraded to 0.5.0");
+ });
+ test("opening an old upgrade doesn't suppress a later upgrade", () => {
+ expect(upgradeCaption({ ...last, at: NOW + 1000 }, NOW, NOW + 1000)).toBe("Upgraded to 0.5.0");
+ });
+ test("the hover states both versions and that sessions kept working, for a day", () => {
+ expect(upgradeHover(last, NOW + 180_000)).toEqual({
+ title: "Daemon upgraded to 0.5.0 · 3m ago",
+ body: "From 0.4.0, to match this Mac. Agent sessions kept working.",
+ });
+ expect(upgradeHover(last, NOW + 24 * UPGRADE_CAPTION_MS)).toBeNull();
+ });
+ test("no success status for failed, current, or missing outcomes", () => {
+ expect(upgradeHover(null, NOW)).toBeNull();
+
+ for (const result of ["current", "newer", "failed"] as const) {
+ expect(upgradeCaption({ ...last, result }, undefined, NOW)).toBeNull();
+ expect(upgradeHover({ ...last, result }, NOW)).toBeNull();
+ }
+ });
+});
diff --git a/apps/desktop/src/renderer/features/machines/updates/quiet.ts b/apps/desktop/src/renderer/features/machines/updates/quiet.ts
new file mode 100644
index 00000000..6322a218
--- /dev/null
+++ b/apps/desktop/src/renderer/features/machines/updates/quiet.ts
@@ -0,0 +1,45 @@
+/** Quiet Upgrade notes: one hour in the machine bar, one day in Hosts. */
+import type { DaemonUpdateResult } from "../../../../shared/daemonUpdates.ts";
+
+export const UPGRADE_CAPTION_MS = 60 * 60 * 1000;
+
+export const upgradeCaption = (
+ last: DaemonUpdateResult | null,
+ openedAt: number | undefined,
+ now: number
+): string | null => {
+ if (
+ last?.result !== "updated" ||
+ last.version === null ||
+ now - last.at >= UPGRADE_CAPTION_MS ||
+ (openedAt !== undefined && openedAt >= last.at)
+ )
+ return null;
+
+ return `Upgraded to ${last.version}`;
+};
+
+export const upgradeHover = (
+ last: DaemonUpdateResult | null,
+ now: number
+): { readonly title: string; readonly body: string } | null => {
+ if (
+ last?.result !== "updated" ||
+ last.version === null ||
+ now - last.at >= 24 * UPGRADE_CAPTION_MS
+ )
+ return null;
+ const minutes = Math.floor(Math.max(0, now - last.at) / 60_000);
+
+ const ago =
+ minutes < 1
+ ? "just now"
+ : minutes < 60
+ ? `${minutes}m ago`
+ : `${Math.floor(minutes / 60)}h ago`;
+
+ return {
+ title: `Daemon upgraded to ${last.version} · ${ago}`,
+ body: `${last.from === null ? "Upgraded" : `From ${last.from}`}, to match this Mac. Agent sessions kept working.`,
+ };
+};
diff --git a/apps/desktop/src/renderer/features/risk/ui/RiskColumn.tsx b/apps/desktop/src/renderer/features/risk/ui/RiskColumn.tsx
index d93da27d..d980a2cd 100644
--- a/apps/desktop/src/renderer/features/risk/ui/RiskColumn.tsx
+++ b/apps/desktop/src/renderer/features/risk/ui/RiskColumn.tsx
@@ -302,7 +302,7 @@ export const RiskColumnSlot = (props: ReviewSlotProps) => {
onClick={() => openSettings("hosts")}
className="text-text-default cursor-default hover:underline"
>
- Update daemon
+ Upgrade daemon
)}
diff --git a/apps/desktop/src/renderer/features/settings/actions.ts b/apps/desktop/src/renderer/features/settings/actions.ts
index 3aae3a37..2235cd4e 100644
--- a/apps/desktop/src/renderer/features/settings/actions.ts
+++ b/apps/desktop/src/renderer/features/settings/actions.ts
@@ -1,8 +1,20 @@
/** Settings' commands (`shared/keymap.ts`): "Settings…" (⌘,) and one per section, for the K menu. */
import type { CommandHandlers } from "../../routes/commands.ts";
+import { checkForUpdates, restartToUpdate, updatesStore } from "./updates/store.ts";
import type { ShellActions } from "../../routes/navigation.ts";
export const settingsCommands = (shell: ShellActions): CommandHandlers => ({
+ "settings.about": { run: () => shell.openSettings("about") },
+ "updates.check": {
+ run: () => {
+ shell.openSettings("about");
+ void checkForUpdates();
+ },
+ },
+ "updates.restart": {
+ run: () => void restartToUpdate(),
+ enabled: () => updatesStore.getState().view?.phase === "ready",
+ },
"settings.open": { run: () => shell.openSettings() },
"settings.appearance": { run: () => shell.openSettings("appearance") },
"settings.sessions": { run: () => shell.openSettings("sessions") },
diff --git a/apps/desktop/src/renderer/features/settings/model/sections.ts b/apps/desktop/src/renderer/features/settings/model/sections.ts
index 685d2563..63439880 100644
--- a/apps/desktop/src/renderer/features/settings/model/sections.ts
+++ b/apps/desktop/src/renderer/features/settings/model/sections.ts
@@ -140,7 +140,15 @@ export const SECTION_GROUPS: ReadonlyArray = GROUPS.map((g) => ({
sections: g.sections.map((s) => s.id),
}));
-export const SECTIONS: ReadonlyArray = GROUPS.flatMap((g) => g.sections);
+export const SECTIONS: ReadonlyArray = [
+ ...GROUPS.flatMap((g) => g.sections),
+ {
+ id: "about",
+ title: "About",
+ blurb: "Polaris on this Mac.",
+ keywords: ["update", "version", "release", "restart"],
+ },
+];
const BY_ID = new Map(SECTIONS.map((s) => [s.id, s]));
diff --git a/apps/desktop/src/renderer/features/settings/ui/AboutPage.tsx b/apps/desktop/src/renderer/features/settings/ui/AboutPage.tsx
new file mode 100644
index 00000000..7eb20aa2
--- /dev/null
+++ b/apps/desktop/src/renderer/features/settings/ui/AboutPage.tsx
@@ -0,0 +1,215 @@
+/** Settings → About: quiet app Updates and the precise per-check privacy fields. */
+import { Button, Dither, FolderIcon, PixelCheckIcon, PixelPolarisIcon, Switch } from "@polaris/ui";
+import { useId } from "react";
+import { polaris } from "../../bridge.ts";
+import { useShellActions } from "../../../shell/hooks.ts";
+import { useSettings } from "../store.ts";
+import { appUpdateRow, checkedAt, type AppUpdateRow } from "../updates/model.ts";
+import {
+ checkForUpdates,
+ restartToUpdate,
+ setAutomaticUpdates,
+ showUpdateInFinder,
+ useUpdates,
+} from "../updates/store.ts";
+import { Column, FooterStrip, Group, Heading, SettingRow } from "./parts.tsx";
+
+const Glyph = ({ kind }: { readonly kind: AppUpdateRow["glyph"] }) => {
+ switch (kind) {
+ case "working":
+ return ;
+ case "check":
+ return ;
+ case "star":
+ return ;
+ case "folder":
+ return ;
+ case "failed":
+ return (
+
+ !
+
+ );
+ case "off":
+ return (
+
+ );
+ }
+};
+
+const ACTIONS = { check: checkForUpdates, restart: restartToUpdate, finder: showUpdateInFinder };
+
+const releaseNotes = (version: string) =>
+ void polaris().request("shell.openExternal", {
+ url: `https://github.com/luxdotdev/polaris/releases/tag/v${encodeURIComponent(version)}`,
+ });
+
+export const AboutPage = () => {
+ const { view, problem, changing } = useUpdates((s) => s);
+ const version = useSettings((s) => s.version);
+ const { openSettings } = useShellActions();
+ const id = useId();
+
+ if (view === null)
+ return (
+
+
+ {problem ?? "Reading Polaris's update settings…"}
+
+
+ );
+
+ const row = appUpdateRow(view);
+ const working = view.phase === "checking" || view.phase === "downloading";
+
+ const fields = [
+ [
+ "Install ID",
+ view.automatic
+ ? `${view.installId.slice(0, 8)}…${view.installId.slice(-4)} · random, made on this Mac`
+ : "Not sent while automatic checks are off",
+ ],
+ ["Version", view.version],
+ ["Arch", view.arch],
+ ["macOS", view.macOSVersion],
+ ];
+
+ return (
+
+
+
+
Updates
+
+
+
+
+
+
+ {row.title}
+ {row.caption}
+
+
+ {view.phase === "ready" && view.availableVersion !== null ? (
+
+ ) : null}
+ {row.action === null ? null : (
+
+ )}
+
+
+
+ void setAutomaticUpdates(enabled)}
+ />
+
+
+ {row.action === "check" ? null : (
+
+ )}
+
+
+
+
+ {view.automatic
+ ? "What Polaris sends with each check"
+ : "What Polaris sends when you check"}
+
+
+ {fields.map(([label, value]) => (
+
+
- {label}
+ -
+ {value}
+
+
+ ))}
+
+
+ Nothing else: no account, host, workspace or IP. Turning automatic checks off stops
+ both.
+
+
+
+
+ {problem === null ? null : (
+
+ {problem}
+
+ )}
+
+
+
Daemons on your hosts
+
+ After the update, each host's daemon follows its upgrade setting when it connects.
+
+
+
+
+
+
+ );
+};
diff --git a/apps/desktop/src/renderer/features/settings/ui/SettingsPage.tsx b/apps/desktop/src/renderer/features/settings/ui/SettingsPage.tsx
index 14fda99f..bde7b45d 100644
--- a/apps/desktop/src/renderer/features/settings/ui/SettingsPage.tsx
+++ b/apps/desktop/src/renderer/features/settings/ui/SettingsPage.tsx
@@ -25,6 +25,8 @@ import { useShellActions } from "../../../shell/hooks.ts";
import { SECTION_GROUPS, sectionInfo } from "../model/sections.ts";
import { useSettings } from "../store.ts";
import { AttachmentsPage } from "../../attachments/index.ts";
+import { useUpdates } from "../updates/store.ts";
+import { AboutPage } from "./AboutPage.tsx";
import { AppearancePage } from "./AppearancePage.tsx";
import { GitHubPage } from "./GitHubPage.tsx";
import { HarnessesPage } from "./HarnessesPage.tsx";
@@ -46,6 +48,7 @@ const ICONS: Readonly> = {
attachments: ,
reviewer: ,
github: ,
+ about: ,
};
/** An open popover, menu, select or dialog takes esc first. */
@@ -95,6 +98,7 @@ const NavItem = ({
const SettingsNav = ({ current }: { readonly current: SettingsSection }) => {
const { openSettings, closeSettings } = useShellActions();
const version = useSettings((s) => s.version);
+ const update = useUpdates((s) => s.view);
return (
);
};
const Page = ({ route }: { readonly route: SettingsRoute }) => {
switch (route.section) {
+ case "about":
+ return ;
case "appearance":
return ;
case "sessions":
diff --git a/apps/desktop/src/renderer/features/settings/updates/model.test.ts b/apps/desktop/src/renderer/features/settings/updates/model.test.ts
new file mode 100644
index 00000000..693c338d
--- /dev/null
+++ b/apps/desktop/src/renderer/features/settings/updates/model.test.ts
@@ -0,0 +1,56 @@
+import { describe, expect, test } from "bun:test";
+import type { AppUpdateView } from "../../../../shared/appUpdates.ts";
+import { appUpdateRow } from "./model.ts";
+
+const view = (patch: Partial = {}): AppUpdateView => ({
+ phase: "idle",
+ version: "0.4.0",
+ availableVersion: null,
+ automatic: true,
+ lastCheckedAt: null,
+ installId: "58baf1dc-3772-4353-86b3-3a8a49219521",
+ macOSVersion: "26.1",
+ arch: "arm64",
+ supported: true,
+ ...patch,
+});
+
+describe("About Update states", () => {
+ test("available metadata is absent until macOS finishes downloading", () => {
+ expect(appUpdateRow(view({ phase: "downloading" }))).toMatchObject({
+ title: "Downloading Polaris",
+ glyph: "working",
+ action: null,
+ });
+ expect(appUpdateRow(view({ phase: "blocked" }))).toMatchObject({
+ title: "Polaris can't install here",
+ action: "finder",
+ });
+ });
+ test("checks off still lets the user check, and retains ready updates", () => {
+ expect(appUpdateRow(view({ automatic: false }))).toMatchObject({
+ title: "Automatic checks are off",
+ action: "check",
+ });
+ expect(
+ appUpdateRow(view({ automatic: false, phase: "ready", availableVersion: "0.5.0" }))
+ ).toMatchObject({
+ title: "Polaris 0.5.0 is ready",
+ action: "restart",
+ caption: "Installs when you restart or quit; agent sessions keep working",
+ });
+ });
+ test("failures stay neutral and never promise an automatic retry with checks off", () => {
+ expect(appUpdateRow(view({ phase: "failed", automatic: false }))).toMatchObject({
+ glyph: "failed",
+ actionLabel: "Try again",
+ });
+ expect(appUpdateRow(view({ phase: "failed", automatic: false })).caption).not.toContain(
+ "6 hours"
+ );
+ });
+ test("working states offer no second action", () => {
+ for (const phase of ["checking", "downloading"] as const)
+ expect(appUpdateRow(view({ phase })).action).toBeNull();
+ });
+});
diff --git a/apps/desktop/src/renderer/features/settings/updates/model.ts b/apps/desktop/src/renderer/features/settings/updates/model.ts
new file mode 100644
index 00000000..82c5cb5b
--- /dev/null
+++ b/apps/desktop/src/renderer/features/settings/updates/model.ts
@@ -0,0 +1,96 @@
+/** Reachable update-row copy from DESIGN.md, Updates (U1–U3). */
+import type { AppUpdateView } from "../../../../shared/appUpdates.ts";
+
+export interface AppUpdateRow {
+ readonly title: string;
+ readonly caption: string;
+ readonly glyph: "working" | "check" | "star" | "folder" | "failed" | "off";
+ readonly action: "check" | "restart" | "finder" | null;
+ readonly actionLabel: string;
+}
+
+export const checkedAt = (at: number | null): string =>
+ at === null
+ ? "Not checked yet"
+ : new Date(at).toLocaleString([], {
+ month: "short",
+ day: "numeric",
+ hour: "2-digit",
+ minute: "2-digit",
+ hour12: false,
+ });
+
+const checkRow = (
+ title: string,
+ caption: string,
+ glyph: AppUpdateRow["glyph"] = "check"
+): AppUpdateRow => ({ title, caption, glyph, action: "check", actionLabel: "Check now" });
+
+export const appUpdateRow = (view: AppUpdateView): AppUpdateRow => {
+ const release = view.availableVersion === null ? "Polaris" : `Polaris ${view.availableVersion}`;
+
+ switch (view.phase) {
+ case "checking":
+ return {
+ title: "Checking for updates…",
+ caption: "Asking polaris.lux.dev for the latest release",
+ glyph: "working",
+ action: null,
+ actionLabel: "",
+ };
+ case "downloading":
+ return {
+ title: `Downloading ${release}`,
+ caption: "In the background · nothing to do yet",
+ glyph: "working",
+ action: null,
+ actionLabel: "",
+ };
+ case "ready":
+ return {
+ title: `${release} is ready`,
+ caption: "Installs when you restart or quit; agent sessions keep working",
+ glyph: "star",
+ action: "restart",
+ actionLabel: "Restart to update",
+ };
+ case "blocked":
+ return {
+ title: `${release} can't install here`,
+ caption: "Move Polaris to Applications, then check again",
+ glyph: "folder",
+ action: "finder",
+ actionLabel: "Show in Finder",
+ };
+ case "failed":
+ return {
+ title: "Couldn't check for updates",
+ caption: `polaris.lux.dev didn't answer · ${view.automatic ? "tries again in 6 hours" : "check again when you're ready"}`,
+ glyph: "failed",
+ action: "check",
+ actionLabel: "Try again",
+ };
+ case "idle":
+ case "current":
+ if (!view.supported)
+ return checkRow(
+ "Updates are available in the installed Mac app",
+ "This build doesn't check the update feed",
+ "off"
+ );
+
+ if (!view.automatic)
+ return checkRow(
+ "Automatic checks are off",
+ `Last checked: ${checkedAt(view.lastCheckedAt)}`,
+ "off"
+ );
+
+ return checkRow(
+ view.phase === "current" ? "Polaris is up to date" : "Check for a new release",
+ view.lastCheckedAt === null
+ ? "Polaris downloads updates in the background"
+ : `${view.version} is the latest release · checked ${checkedAt(view.lastCheckedAt)}`
+ );
+ }
+};
diff --git a/apps/desktop/src/renderer/features/settings/updates/preview/Preview.tsx b/apps/desktop/src/renderer/features/settings/updates/preview/Preview.tsx
new file mode 100644
index 00000000..72954bdf
--- /dev/null
+++ b/apps/desktop/src/renderer/features/settings/updates/preview/Preview.tsx
@@ -0,0 +1,117 @@
+/** About on fixture Updates: every reachable phase and a fake-only interactive flow. */
+import { Schema } from "effect";
+import { createRoot } from "react-dom/client";
+import { createStore } from "zustand/vanilla";
+import type { AppEvent, PolarisApi } from "../../../../../shared/api.ts";
+import type { AppUpdateView } from "../../../../../shared/appUpdates.ts";
+import { App } from "../../../../app/App.tsx";
+import { createCommandRegistry } from "../../../../routes/commands.ts";
+import { createNavigation } from "../../../../routes/navigation.ts";
+import { type AppState, type Connection, initialState } from "../../../../store/store.ts";
+import { standInBridge } from "../../../bridge.ts";
+import { settingsCommands } from "../../actions.ts";
+import { connectUpdates, updatesStore } from "../store.ts";
+
+const PHASES: ReadonlyArray = [
+ "idle",
+ "checking",
+ "current",
+ "downloading",
+ "ready",
+ "blocked",
+ "failed",
+];
+
+const Enabled = Schema.Struct({ enabled: Schema.Boolean });
+
+const fixtureBridge = (hash: string): PolarisApi => {
+ const scene = hash.replace(/^#updates\//, "");
+
+ let view: AppUpdateView = {
+ phase: PHASES.find((phase) => phase === scene) ?? "idle",
+ version: "0.4.0",
+ availableVersion: scene === "ready" ? "0.5.0" : null,
+ automatic: scene !== "off",
+ lastCheckedAt: Date.now() - 2 * 60 * 60_000,
+ installId: "58baf1dc-3772-4353-86b3-3a8a49219521",
+ macOSVersion: "26.1",
+ arch: "arm64",
+ supported: true,
+ };
+
+ const listeners = new Set<(event: AppEvent) => void>();
+
+ const publish = (patch: Partial) => {
+ view = { ...view, ...patch };
+
+ for (const listener of listeners) listener({ kind: "updates", updates: view });
+ };
+
+ return {
+ request: async (method, input) => {
+ let value: AppUpdateView | null = null;
+
+ switch (method) {
+ case "updates.get":
+ value = view;
+ break;
+ case "updates.setAutomatic":
+ publish({ automatic: Schema.decodeUnknownSync(Enabled)(input).enabled });
+ value = view;
+ break;
+ case "updates.check":
+ publish({ phase: "checking" });
+ setTimeout(() => publish({ phase: "downloading" }), 250);
+ setTimeout(
+ () => publish({ phase: "ready", availableVersion: "0.5.0", lastCheckedAt: Date.now() }),
+ 500
+ );
+ value = view;
+ break;
+ case "updates.restart":
+ publish({
+ phase: "current",
+ version: view.availableVersion ?? view.version,
+ availableVersion: null,
+ });
+ break;
+ case "updates.showInFinder":
+ break;
+ default:
+ return { ok: false, error: { code: "Unsupported", message: "preview" } };
+ }
+ // SAFETY: each handled fixture method returns its documented view or null output.
+
+ return { ok: true, value: value as never };
+ },
+ subscribe: () => () => undefined,
+ onAppEvent: (listener) => {
+ listeners.add(listener);
+
+ return () => listeners.delete(listener);
+ },
+ };
+};
+
+export const mountUpdatesPreview = (root: HTMLElement, hash: string) => {
+ const store = createStore(() => initialState);
+
+ const connection: Connection = {
+ store,
+ openSession: () => () => undefined,
+ setDensity: (density) => store.setState({ density }),
+ setAppearance: ({ density, theme }) => store.setState({ density, theme }),
+ };
+
+ const navigation = createNavigation({ app: store, storage: null });
+ const api = fixtureBridge(hash);
+ standInBridge(api);
+ updatesStore.setState({ view: null, problem: null });
+ connectUpdates(api);
+ navigation.actions.openSettings("about");
+ const commands = createCommandRegistry({ mac: true });
+ commands.register(settingsCommands(navigation.actions));
+ createRoot(root).render();
+
+ return connection.setDensity;
+};
diff --git a/apps/desktop/src/renderer/features/settings/updates/store.test.ts b/apps/desktop/src/renderer/features/settings/updates/store.test.ts
new file mode 100644
index 00000000..490772b3
--- /dev/null
+++ b/apps/desktop/src/renderer/features/settings/updates/store.test.ts
@@ -0,0 +1,101 @@
+import { beforeEach, expect, test } from "bun:test";
+import type { AppEvent, PolarisApi, Result } from "../../../../shared/api.ts";
+import type { AppUpdateView } from "../../../../shared/appUpdates.ts";
+import { standInBridge } from "../../bridge.ts";
+import { checkForUpdates, connectUpdates, setAutomaticUpdates, updatesStore } from "./store.ts";
+
+const current: AppUpdateView = {
+ phase: "current",
+ version: "0.4.0",
+ availableVersion: null,
+ automatic: true,
+ lastCheckedAt: 1,
+ installId: "58baf1dc-3772-4353-86b3-3a8a49219521",
+ macOSVersion: "26.1",
+ arch: "arm64",
+ supported: true,
+};
+
+const ready: AppUpdateView = { ...current, phase: "ready", availableVersion: "0.5.0" };
+
+const deferred = () => {
+ let resolve: (value: Result) => void = () => undefined;
+
+ const promise = new Promise>((done) => {
+ resolve = done;
+ });
+
+ return { promise, resolve };
+};
+
+const fake = (delayedMethod: string) => {
+ const pending = deferred();
+ let listener: (event: AppEvent) => void = () => undefined;
+
+ const api: PolarisApi = {
+ request: (method) => {
+ const response =
+ method === delayedMethod ? pending.promise : Promise.resolve({ ok: true, value: current });
+
+ // SAFETY: the test only calls the three view-returning Updates methods.
+ return response as never;
+ },
+ subscribe: () => () => undefined,
+ onAppEvent: (receive) => {
+ listener = receive;
+
+ return () => {
+ listener = () => undefined;
+ };
+ },
+ };
+
+ standInBridge(api);
+ const stop = connectUpdates(api);
+
+ return {
+ ...pending,
+ stop,
+ publish: (view: AppUpdateView) => listener({ kind: "updates", updates: view }),
+ };
+};
+
+beforeEach(() => updatesStore.setState({ view: null, problem: null, changing: false }));
+
+test("a ready AppEvent wins a delayed checking reply", async () => {
+ const api = fake("updates.check");
+ await Promise.resolve();
+ const checking = checkForUpdates();
+ api.publish(ready);
+ api.resolve({ ok: true, value: { ...current, phase: "checking" } });
+ await checking;
+
+ expect(updatesStore.getState().view).toEqual(ready);
+ api.stop();
+});
+
+test("a later AppEvent wins the automatic-setting reply while clearing its pending control", async () => {
+ const api = fake("updates.setAutomatic");
+ await Promise.resolve();
+ const setting = setAutomaticUpdates(false);
+ api.publish({ ...ready, automatic: false });
+ api.resolve({ ok: true, value: { ...current, automatic: false, phase: "downloading" } });
+ await setting;
+
+ expect(updatesStore.getState()).toMatchObject({
+ view: { ...ready, automatic: false },
+ changing: false,
+ problem: null,
+ });
+ api.stop();
+});
+
+test("a ready AppEvent also wins a delayed initial snapshot", async () => {
+ const api = fake("updates.get");
+ api.publish(ready);
+ api.resolve({ ok: true, value: current });
+ await Promise.resolve();
+
+ expect(updatesStore.getState().view).toEqual(ready);
+ api.stop();
+});
diff --git a/apps/desktop/src/renderer/features/settings/updates/store.ts b/apps/desktop/src/renderer/features/settings/updates/store.ts
new file mode 100644
index 00000000..a42c4e6a
--- /dev/null
+++ b/apps/desktop/src/renderer/features/settings/updates/store.ts
@@ -0,0 +1,80 @@
+/** Desktop App Update state comes from main; no renderer polling or success toast. */
+import { useStore } from "zustand";
+import { createStore } from "zustand/vanilla";
+import type { PolarisApi, Result } from "../../../../shared/api.ts";
+import type { AppUpdateView } from "../../../../shared/appUpdates.ts";
+import { polaris } from "../../bridge.ts";
+
+interface UpdatesState {
+ readonly view: AppUpdateView | null;
+ readonly problem: string | null;
+ readonly changing: boolean;
+}
+
+export const updatesStore = createStore(() => ({
+ view: null,
+ problem: null,
+ changing: false,
+}));
+
+export const useUpdates = (select: (state: UpdatesState) => A): A =>
+ useStore(updatesStore, select);
+
+let revision = 0;
+
+const applySnapshot = (result: Result, expected: number) => {
+ if (revision !== expected) return;
+
+ if (result.ok) {
+ revision += 1;
+ updatesStore.setState({ view: result.value, problem: null });
+ } else updatesStore.setState({ problem: result.error.message });
+};
+
+export const connectUpdates = (api: PolarisApi) => {
+ const expected = revision;
+
+ const stop = api.onAppEvent((event) => {
+ if (event.kind === "updates") {
+ revision += 1;
+ updatesStore.setState({ view: event.updates, problem: null });
+ }
+ });
+
+ void api.request("updates.get", {}).then((result) => {
+ applySnapshot(result, expected);
+ });
+
+ return stop;
+};
+
+export const checkForUpdates = async () => {
+ const expected = revision;
+
+ updatesStore.setState({ problem: null });
+ const result = await polaris().request("updates.check", {});
+
+ applySnapshot(result, expected);
+};
+
+export const setAutomaticUpdates = async (enabled: boolean) => {
+ if (updatesStore.getState().changing) return;
+ const expected = revision;
+
+ updatesStore.setState({ changing: true, problem: null });
+ const result = await polaris().request("updates.setAutomatic", { enabled });
+ applySnapshot(result, expected);
+ updatesStore.setState({ changing: false });
+};
+
+export const restartToUpdate = async () => {
+ const result = await polaris().request("updates.restart", {});
+
+ if (!result.ok) updatesStore.setState({ problem: result.error.message });
+};
+
+export const showUpdateInFinder = async () => {
+ const result = await polaris().request("updates.showInFinder", {});
+
+ if (!result.ok) updatesStore.setState({ problem: result.error.message });
+};
diff --git a/apps/desktop/src/renderer/main.tsx b/apps/desktop/src/renderer/main.tsx
index 9162e02b..b9703e6e 100644
--- a/apps/desktop/src/renderer/main.tsx
+++ b/apps/desktop/src/renderer/main.tsx
@@ -4,6 +4,7 @@ import { App } from "./app/App.tsx";
import { onNeedsYouEvent } from "./features/needs-you/index.ts";
import { applyAppearance } from "./appearance.ts";
import { connectSettings, settingsCommands, settingsStore } from "./features/settings/index.ts";
+import { connectUpdates } from "./features/settings/updates/store.ts";
import { createOnboarding } from "./features/onboarding/index.ts";
import { startProofSession } from "./proof.ts";
import { createCommandRegistry } from "./routes/commands.ts";
@@ -67,6 +68,8 @@ const reviewPreview = location.hash.startsWith("#review/");
const checkoutPreview = location.hash.startsWith("#checkout/");
// `#hosts/`: Settings → Hosts on fixtures, every daemon update state (features/machines/preview).
+const updatesPreview = location.hash.startsWith("#updates/");
+
const hostsPreview = location.hash.startsWith("#hosts/");
// `#constellation/`: the Constellation tab on fixtures (features/constellation/preview).
@@ -100,6 +103,8 @@ settingsStore.subscribe((state, prev) => {
connectSettings(window.polaris);
+connectUpdates(window.polaris);
+
window.polaris.onAppEvent((event) => {
if (event.kind === "command") commands.run(event.id);
else if (event.kind === "needs-you") onNeedsYouEvent(event, navigation.actions);
@@ -141,6 +146,10 @@ if (root !== null && preview) {
void import("./features/review/checkout/preview/Preview.tsx").then((m) => {
setPreviewDensity = m.mountCheckoutPreview(root, location.hash);
});
+} else if (root !== null && updatesPreview) {
+ void import("./features/settings/updates/preview/Preview.tsx").then((m) => {
+ setPreviewDensity = m.mountUpdatesPreview(root, location.hash);
+ });
} else if (root !== null && hostsPreview) {
void import("./features/machines/preview/Preview.tsx").then((m) => {
setPreviewDensity = m.mountHostsPreview(root, location.hash);
diff --git a/apps/desktop/src/renderer/routes/selection.ts b/apps/desktop/src/renderer/routes/selection.ts
index 0d0d2b99..5016ffce 100644
--- a/apps/desktop/src/renderer/routes/selection.ts
+++ b/apps/desktop/src/renderer/routes/selection.ts
@@ -30,7 +30,8 @@ export type SettingsSection =
| "hosts"
| "attachments"
| "reviewer"
- | "github";
+ | "github"
+ | "about";
export const SETTINGS_SECTIONS: ReadonlyArray = [
"appearance",
@@ -43,6 +44,7 @@ export const SETTINGS_SECTIONS: ReadonlyArray = [
"attachments",
"reviewer",
"github",
+ "about",
];
/** The ⌘O dialog (DESIGN.md, Open folder): which Host it opens on; null for the selected one. */
diff --git a/apps/desktop/src/renderer/shell/TopBar.tsx b/apps/desktop/src/renderer/shell/TopBar.tsx
index 02609933..46bfca2c 100644
--- a/apps/desktop/src/renderer/shell/TopBar.tsx
+++ b/apps/desktop/src/renderer/shell/TopBar.tsx
@@ -8,6 +8,11 @@ import { Badge, Chip, cn, Kbd, PlusIcon } from "@polaris/ui";
import { Fragment, useMemo } from "react";
import type { HostView } from "../../shared/api.ts";
import { type BarHost, barHosts, shortcutLabel } from "../routes/topBar.ts";
+import {
+ acknowledgeUpgrade,
+ UpgradeHover,
+ useUpgradeCaption,
+} from "../features/machines/updates/UpgradeStatus.tsx";
import { slots } from "../app/slots.tsx";
import { plural } from "./copy.ts";
import { HostBarLabel, HostStateCaption } from "./HostState.tsx";
@@ -61,10 +66,12 @@ const HostLabel = ({ group }: { readonly group: BarHost }) => {
const first = group.workspaces[0];
// Its first Workspace, or the Host itself when it has none (the stage to add one).
- const open = (at?: number) =>
- first === undefined
- ? selectHost(host.key, at)
- : selectWorkspace({ hostKey: host.key, workspaceId: first.workspace.id }, at);
+ const open = (at?: number) => {
+ acknowledgeUpgrade(host.key);
+
+ if (first === undefined) selectHost(host.key, at);
+ else selectWorkspace({ hostKey: host.key, workspaceId: first.workspace.id }, at);
+ };
// Needs Attention is its own bordered chip (a button); the others are a label to select the Host.
if (host.status.state === "needs-attention") {
@@ -76,16 +83,18 @@ const HostLabel = ({ group }: { readonly group: BarHost }) => {
}
return (
-
+
+
+
);
};
@@ -136,12 +145,14 @@ const WorkspaceBar = ({ bar }: { readonly bar: ReadonlyArray }) => {
/** "5 workspaces", or the state when that is the news (Paper MX-0: "Slow link"). */
const MachineCaption = ({ group }: { readonly group: BarHost }) => {
+ const upgrade = useUpgradeCaption(group.host.key);
+
if (!connected(group.host) || isSlowLink(group.host))
return ;
return (
- {plural(group.workspaces.length, "workspace")}
+ {upgrade ?? plural(group.workspaces.length, "workspace")}
);
};
@@ -160,32 +171,40 @@ const MachineBar = ({ bar }: { readonly bar: ReadonlyArray }) => {
const shortcut = shortcutLabel(index);
return (
-
+
+
+
);
})}