diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..84374b1
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,8 @@
+# Root .env.example
+# Copy this file to .env and fill in your values
+
+# This is just for reference - actual env vars are in workspace-specific .env files
+# See:
+# - apps/app/.env.example
+# - packages/convex/.env.example
+# - packages/sandbox-worker/.env.example
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..2e4ac8a
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,100 @@
+name: CI
+
+on:
+ push:
+ branches: [main, develop, prepare-open-source]
+ pull_request:
+ branches: [main, develop]
+
+jobs:
+ type-check:
+ name: Type Check
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
+ with:
+ version: 10.9.0
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ cache: 'pnpm'
+
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: Type check
+ run: pnpm type-check
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
+ with:
+ version: 10.9.0
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ cache: 'pnpm'
+
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: Build all packages
+ run: pnpm build
+
+ lint:
+ name: Lint
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
+ with:
+ version: 10.9.0
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ cache: 'pnpm'
+
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: Lint
+ run: pnpm lint || true # Don't fail on lint errors for now
+
+ audit:
+ name: Security Audit
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
+ with:
+ version: 10.9.0
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ cache: 'pnpm'
+
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: Run security audit
+ run: pnpm audit --audit-level=high || true # Don't fail for now, just warn
diff --git a/.gitignore b/.gitignore
index fcc0287..57f7309 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,6 +33,8 @@ yarn-error.log*
# env files (can opt-in for committing if needed)
.env*
!.env.production
+!.env.example
+!**/.env.example
# vercel
.vercel
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..a97f5d1
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,67 @@
+# Changelog
+
+All notable changes to Oracode will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+### Added
+- Open source preparation with AGPLv3 license
+- Comprehensive documentation (README, CONTRIBUTING, CODE_OF_CONDUCT, SECURITY)
+- Environment variable examples for all workspaces
+- Package metadata for all workspaces
+
+## [0.1.0] - 2025-01-XX
+
+### Added
+- Initial release of Oracode
+- AI-powered coding assistant with Claude Agent SDK integration
+- Branch-based workflow with git integration
+- Live preview panel for real-time code changes
+- Cloud sandboxes powered by Daytona
+- GitHub integration for repository access and PR creation
+- Real-time collaboration via Convex backend
+- Permission controls for AI file operations
+- Encrypted secrets storage (AES-256-GCM)
+- Organization and project management
+- Clerk authentication with organization support
+- Webhook handling for GitHub App events
+- Sandbox worker for Claude Agent SDK execution
+- Preview service for live app previews
+
+### Frontend (apps/app)
+- Next.js 15 with React 19
+- Tailwind CSS v4 with custom AI component library
+- Convex real-time sync
+- Branch creation and management UI
+- Chat interface with Claude
+- Live preview panel with iframe sandbox
+- Permission approval UI
+- GitHub connection flow
+- Settings pages for organizations and projects
+
+### Backend (packages/convex)
+- Convex functions for messages, branches, projects
+- GitHub App installation and webhook handling
+- Daytona sandbox provisioning
+- Encrypted secrets management
+- Environment variables per project
+- Git status tracking
+- Permission request/approval system
+
+### Sandbox Worker (packages/sandbox-worker)
+- Standalone Node.js worker
+- Claude Agent SDK integration
+- Real-time message streaming
+- Git status capture
+- Session management
+
+### Preview Service (apps/preview)
+- Cloudflare Worker for serving live previews
+- Authentication token validation
+- Proxy to sandbox domains
+
+[Unreleased]: https://github.com/chickencoder/oracode/compare/v0.1.0...HEAD
+[0.1.0]: https://github.com/chickencoder/oracode/releases/tag/v0.1.0
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..41dd9eb
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,127 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, religion, or sexual identity
+and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming,
+diverse, inclusive, and healthy community.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment for our
+community include:
+
+* Demonstrating empathy and kindness toward other people
+* Being respectful of differing opinions, viewpoints, and experiences
+* Giving and gracefully accepting constructive feedback
+* Accepting responsibility and apologizing to those affected by our mistakes,
+ and learning from the experience
+* Focusing on what is best not just for us as individuals, but for the
+ overall community
+
+Examples of unacceptable behavior include:
+
+* The use of sexualized language or imagery, and sexual attention or
+ advances of any kind
+* Trolling, insulting or derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or email
+ address, without their explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Enforcement Responsibilities
+
+Community leaders are responsible for clarifying and enforcing our standards of
+acceptable behavior and will take appropriate and fair corrective action in
+response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Community leaders have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, and will communicate reasons for moderation
+decisions when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when
+an individual is officially representing the community in public spaces.
+Examples of representing our community include using an official e-mail address,
+posting via an official social media account, or acting as an appointed
+representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the community leaders responsible for enforcement.
+All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the
+reporter of any incident.
+
+## Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining
+the consequences for any action they deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed
+unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing
+clarity around the nature of the violation and an explanation of why the
+behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series
+of actions.
+
+**Consequence**: A warning with consequences for continued behavior. No
+interaction with the people involved, including unsolicited interaction with
+those enforcing the Code of Conduct, for a specified period of time. This
+includes avoiding interactions in community spaces as well as external channels
+like social media. Violating these terms may lead to a temporary or
+permanent ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including
+sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public
+communication with the community for a specified period of time. No public or
+private interaction with the people involved, including unsolicited interaction
+with those enforcing the Code of Conduct, is allowed during this period.
+Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community
+standards, including sustained inappropriate behavior, harassment of an
+individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within
+the community.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage],
+version 2.0, available at
+https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
+
+Community Impact Guidelines were inspired by [Mozilla's code of conduct
+enforcement ladder](https://github.com/mozilla/diversity).
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see the FAQ at
+https://www.contributor-covenant.org/faq. Translations are available at
+https://www.contributor-covenant.org/translations.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..911e14b
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,224 @@
+# Contributing to Oracode
+
+Thank you for your interest in contributing to Oracode! We welcome contributions from the community.
+
+## Code of Conduct
+
+By participating in this project, you agree to abide by our [Code of Conduct](CODE_OF_CONDUCT.md).
+
+## How to Contribute
+
+### Reporting Bugs
+
+If you find a bug, please create an issue on GitHub with:
+
+- A clear, descriptive title
+- Steps to reproduce the issue
+- Expected vs actual behavior
+- Screenshots or error messages (if applicable)
+- Your environment (OS, Node.js version, browser, etc.)
+
+### Suggesting Features
+
+Feature suggestions are welcome! Please create an issue with:
+
+- A clear description of the feature
+- Why it would be useful
+- Any implementation ideas you have
+
+### Submitting Pull Requests
+
+1. **Fork the repository** and create a new branch from `main`
+ ```bash
+ git checkout -b feature/your-feature-name
+ ```
+
+2. **Make your changes** following our code style guidelines
+
+3. **Test your changes** thoroughly
+ ```bash
+ pnpm type-check
+ pnpm build
+ ```
+
+4. **Commit your changes** with clear, descriptive commit messages
+ ```bash
+ git commit -m "Add feature: description of feature"
+ ```
+
+5. **Push to your fork** and create a pull request
+ ```bash
+ git push origin feature/your-feature-name
+ ```
+
+6. **Fill out the PR template** with all requested information
+
+## Development Setup
+
+### Prerequisites
+
+- Node.js 20+
+- pnpm 10+
+- Accounts for: Clerk, Convex, Anthropic, Daytona
+- GitHub App configured (see [GITHUB_APP_SETUP.md](GITHUB_APP_SETUP.md))
+
+### Local Development
+
+1. **Clone the repository**
+ ```bash
+ git clone https://github.com/chickencoder/oracode.git
+ cd oracode
+ ```
+
+2. **Install dependencies**
+ ```bash
+ pnpm install
+ ```
+
+3. **Set up environment variables** (see README.md for details)
+ - `apps/app/.env`
+ - `packages/convex/.env.local`
+ - `packages/sandbox-worker/.env`
+
+4. **Start Convex dev server**
+ ```bash
+ cd packages/convex
+ pnpm convex dev
+ ```
+
+5. **Run the development server**
+ ```bash
+ # From root directory
+ pnpm dev
+ ```
+
+## Code Style Guidelines
+
+### TypeScript
+
+- **Strict mode enabled** - Fix all type errors before submitting
+- **Use explicit types** - Avoid `any` unless absolutely necessary
+- **Prefer interfaces** over type aliases for object shapes
+- **Use const assertions** where appropriate
+
+### Convex Functions
+
+- **Always use the new function syntax** with `args` and `returns` validators
+- **Use `internalQuery/Mutation/Action`** for private functions
+- **Prefer `.withIndex()`** over `.filter()` for performance
+- **Add JSDoc comments** for all public functions
+
+Example:
+```typescript
+/**
+ * Get all branches for a project
+ */
+export const getBranchesByProject = query({
+ args: { projectId: v.id("projects") },
+ returns: v.array(v.object({
+ _id: v.id("branches"),
+ branchName: v.string(),
+ createdAt: v.number(),
+ })),
+ handler: async (ctx, args) => {
+ return await ctx.db
+ .query("branches")
+ .withIndex("by_project", (q) => q.eq("projectId", args.projectId))
+ .collect();
+ },
+});
+```
+
+### React Components
+
+- **Use functional components** with hooks
+- **Prefer composition** over inheritance
+- **Keep components focused** - one responsibility per component
+- **Use TypeScript** for all props interfaces
+- **Avoid `console.log`** - use proper error handling
+
+### File Organization
+
+- **Colocate related files** - keep components, hooks, and utilities together
+- **Use index files** sparingly - explicit imports are better
+- **Follow existing patterns** in the codebase
+
+## Testing
+
+Currently, Oracode does not have comprehensive tests. **We welcome contributions to improve test coverage!**
+
+When adding tests:
+- Use a testing framework (we're open to suggestions - Vitest, Jest, etc.)
+- Test critical paths first (auth, Convex mutations, sandbox provisioning)
+- Include E2E tests for key user flows
+
+## Commit Message Guidelines
+
+We don't enforce a strict format, but good commit messages help:
+
+- **Use present tense** - "Add feature" not "Added feature"
+- **Be descriptive** - "Fix bug in branch creation" not "Fix bug"
+- **Reference issues** - "Closes #123" or "Fixes #456"
+
+Examples:
+```
+Add GitHub webhook signature verification
+Fix race condition in sandbox worker startup
+Update README with deployment instructions
+```
+
+## Pull Request Process
+
+1. **Update documentation** if you've changed APIs or added features
+2. **Add tests** for new functionality (when test framework is in place)
+3. **Ensure all checks pass** (type-check, build)
+4. **Request review** from maintainers
+5. **Address feedback** promptly and professionally
+
+### PR Review Criteria
+
+- Code quality and style consistency
+- TypeScript type safety
+- Performance considerations
+- Security implications
+- Documentation completeness
+
+## Project Structure
+
+```
+oracode/
+├── apps/
+│ ├── app/ # Main Next.js frontend
+│ ├── www/ # Marketing site
+│ └── preview/ # Cloudflare Worker for previews
+├── packages/
+│ ├── convex/ # Convex backend (shared)
+│ └── sandbox-worker/ # Claude Agent SDK worker
+└── scripts/ # Utility scripts
+```
+
+### Key Areas
+
+- **Frontend (`apps/app/src`)**: React components, hooks, pages
+- **Backend (`packages/convex`)**: Convex functions, schema, actions
+- **Sandbox Worker (`packages/sandbox-worker`)**: Claude Agent SDK integration
+- **Preview Service (`apps/preview`)**: Cloudflare Worker for live previews
+
+## License
+
+By contributing to Oracode, you agree that your contributions will be licensed under the **AGPL-3.0 license**.
+
+This means:
+- Your code will be open source
+- Derivatives must also be AGPL-3.0
+- If used as a SaaS, source must be made available
+
+See [LICENSE](LICENSE) for full details.
+
+## Questions?
+
+- **GitHub Issues**: For bugs and feature requests
+- **GitHub Discussions**: For questions and community discussion
+- **CLAUDE.md**: For AI assistant development guidelines
+
+Thank you for contributing to Oracode!
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..be3f7b2
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,661 @@
+ GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+ A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+ The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+ An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU Affero General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Remote Network Interaction; Use with the GNU General Public License.
+
+ Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software. This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU Affero General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU Affero General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU Affero General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU Affero General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU AGPL, see
+.
diff --git a/README.md b/README.md
index 9e80e06..cd23af8 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,248 @@
# Oracode
-docs coming soon
+**AI-powered coding assistant that creates branches, writes code, and opens pull requests—all from a chat interface.**
+
+Oracode combines Claude AI with cloud development environments to help technical and non-technical users ship code changes quickly. Chat with Claude, see live previews, and publish directly to GitHub.
+
+[](https://www.gnu.org/licenses/agpl-3.0)
+
+## Features
+
+- **AI-Powered Development** - Chat with Claude Code to write, edit, and refactor code
+- **Live Preview** - See changes instantly in an integrated web preview panel
+- **Branch-Based Workflow** - Each conversation maps to a git branch for isolated development
+- **Cloud Sandboxes** - Powered by Daytona for consistent, reproducible development environments
+- **GitHub Integration** - Connect your repositories and open pull requests directly from the UI
+- **Real-time Collaboration** - Built on Convex for instant updates across all connected clients
+- **Permission Controls** - Granular control over what AI can modify (default, accept edits, bypass)
+
+## Architecture
+
+Oracode is a monorepo consisting of:
+
+- **`apps/app`** - Next.js 15 frontend with React 19 and Convex real-time sync
+- **`packages/convex`** - Convex backend for messages, branches, projects, and settings
+- **`packages/sandbox-worker`** - Standalone Node.js worker bridging Convex ↔ Claude Agent SDK
+- **`apps/preview`** - Cloudflare Worker for serving live previews from sandboxes
+- **`apps/www`** - Marketing website (Next.js)
+
+### How It Works
+
+1. **User creates a branch** → Oracode provisions a Daytona sandbox and clones the GitHub repo
+2. **User chats with Claude** → Messages sync via Convex to the sandbox worker
+3. **Claude Agent SDK executes** → Reads/writes files, runs commands, streams responses back
+4. **Live preview updates** → Dev server runs in sandbox, preview panel shows changes in real-time
+5. **Publish to GitHub** → Commit changes, push branch, open pull request—all automated
+
+## Prerequisites
+
+Before running Oracode locally, you'll need accounts and API keys for:
+
+- **Node.js** 20+ and **pnpm** 10+
+- **[Clerk](https://clerk.com)** - User authentication and organization management
+- **[Convex](https://convex.dev)** - Real-time backend database
+- **[Anthropic](https://console.anthropic.com)** - Claude API key (stored encrypted per-org)
+- **[Daytona](https://daytona.io)** - Cloud development environment provider
+- **GitHub App** - For repository access (see [GITHUB_APP_SETUP.md](./GITHUB_APP_SETUP.md))
+
+## Quick Start
+
+### 1. Clone the repository
+
+```bash
+git clone https://github.com/chickencoder/oracode.git
+cd oracode
+```
+
+### 2. Install dependencies
+
+```bash
+pnpm install
+```
+
+### 3. Set up environment variables
+
+Create `.env` or `.env.local` files in the following locations:
+
+#### `apps/app/.env`
+```bash
+VITE_CONVEX_URL=https://your-deployment.convex.cloud
+VITE_CLERK_PUBLISHABLE_KEY=pk_test_...
+VITE_GITHUB_APP_SLUG=your-github-app-slug
+```
+
+#### `packages/convex/.env.local`
+```bash
+CLERK_ISSUER_URL=https://your-clerk-domain.clerk.accounts.dev
+CLERK_JWT_KEY=clerk-jwt-key-from-dashboard
+GITHUB_APP_ID=123456
+GITHUB_APP_SLUG=your-github-app-slug
+GITHUB_WEBHOOK_SECRET=your-webhook-secret
+GITHUB_APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n..."
+DAYTONA_API_URL=https://api.daytona.io
+DAYTONA_API_KEY=your-daytona-api-key
+ENCRYPTION_KEY=your-32-byte-hex-encryption-key
+```
+
+#### `packages/sandbox-worker/.env`
+```bash
+CONVEX_URL=https://your-deployment.convex.cloud
+ANTHROPIC_API_KEY=sk-ant-...
+BRANCH_ID=
+CLERK_TOKEN=
+```
+
+See [`.env.example`](.env.example) files in each workspace for complete configuration.
+
+### 4. Set up Convex
+
+```bash
+cd packages/convex
+pnpm convex dev
+```
+
+This will create your Convex deployment and generate types.
+
+### 5. Set up GitHub App
+
+Follow the detailed guide in [GITHUB_APP_SETUP.md](./GITHUB_APP_SETUP.md) to create and configure your GitHub App.
+
+### 6. Run the development server
+
+```bash
+# From the root directory
+pnpm dev
+```
+
+This starts:
+- Next.js app on `http://localhost:5173`
+- Convex dev server with live reload
+
+### 7. Deploy Convex functions
+
+```bash
+cd packages/convex
+pnpm convex deploy
+```
+
+## Development
+
+### Project Structure
+
+```
+oracode/
+├── apps/
+│ ├── app/ # Main Next.js application
+│ ├── www/ # Marketing website
+│ └── preview/ # Cloudflare Worker for previews
+├── packages/
+│ ├── convex/ # Convex backend (shared package)
+│ └── sandbox-worker/ # Claude Agent SDK worker
+├── scripts/ # Utility scripts
+├── CLAUDE.md # AI assistant instructions
+├── GITHUB_APP_SETUP.md # GitHub App setup guide
+└── README.md # This file
+```
+
+### Common Commands
+
+```bash
+# Development
+pnpm dev # Run all workspaces in dev mode
+pnpm build # Build all packages
+pnpm type-check # Type check all packages
+
+# Convex-specific
+cd packages/convex
+pnpm dev # Run Convex dev server
+pnpm deploy # Deploy Convex backend
+
+# Sandbox Worker
+cd packages/sandbox-worker
+pnpm build # Build worker bundle for deployment
+```
+
+### Key Technologies
+
+- **Frontend**: Next.js 15, React 19, Tailwind CSS v4, Radix UI
+- **Backend**: Convex (real-time database and functions)
+- **AI**: Claude Agent SDK (@anthropic-ai/claude-agent-sdk)
+- **Auth**: Clerk (user + org management)
+- **Sandboxes**: Daytona (cloud dev environments)
+- **Package Manager**: pnpm + Turborepo
+- **Type Safety**: TypeScript (strict mode)
+
+## Deployment
+
+### Frontend (Cloudflare Pages)
+
+```bash
+cd apps/app
+pnpm build
+wrangler deploy
+```
+
+### Preview Service (Cloudflare Workers)
+
+```bash
+cd apps/preview
+pnpm build
+wrangler deploy
+```
+
+### Convex Backend
+
+```bash
+cd packages/convex
+pnpm convex deploy --prod
+```
+
+### Sandbox Worker
+
+The sandbox worker is deployed automatically to each Daytona sandbox instance when a branch is created. The worker bundle is generated via `packages/convex/lib/workerBundle.ts` and injected into the sandbox.
+
+## Security
+
+- **Encrypted Secrets**: All API keys and environment variables are encrypted at rest using AES-256-GCM
+- **Webhook Verification**: GitHub webhooks use signature verification
+- **Sandbox Isolation**: Each branch runs in an isolated Daytona sandbox
+- **Permission Controls**: Users can control what file operations Claude can perform
+
+See [SECURITY.md](./SECURITY.md) for reporting security vulnerabilities.
+
+## Contributing
+
+We welcome contributions! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.
+
+## License
+
+This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**.
+
+This means:
+- ✅ You can use, modify, and distribute this software
+- ✅ You can run it privately for personal or internal use
+- ⚠️ If you run this as a public service (SaaS), you must release your source code under AGPL-3.0
+- ⚠️ Any modifications must also be released under AGPL-3.0
+
+For commercial licensing options, please contact us.
+
+See [LICENSE](./LICENSE) for the full license text.
+
+## Support
+
+- **Documentation**: See [CLAUDE.md](./CLAUDE.md) for architecture details
+- **Issues**: [GitHub Issues](https://github.com/chickencoder/oracode/issues)
+- **Discussions**: [GitHub Discussions](https://github.com/chickencoder/oracode/discussions)
+
+## Acknowledgments
+
+Built with:
+- [Claude](https://anthropic.com) by Anthropic
+- [Convex](https://convex.dev)
+- [Daytona](https://daytona.io)
+- [Clerk](https://clerk.com)
+- [Next.js](https://nextjs.org)
+
+---
+
+Made with ❤️ by the Oracode team
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 0000000..2c5302f
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,117 @@
+# Security Policy
+
+## Supported Versions
+
+| Version | Supported |
+| ------- | ------------------ |
+| 0.1.x | :white_check_mark: |
+
+## Reporting a Vulnerability
+
+We take the security of Oracode seriously. If you discover a security vulnerability, please follow these steps:
+
+### 1. **Do Not** Open a Public Issue
+
+Please do not report security vulnerabilities through public GitHub issues, as this could put users at risk.
+
+### 2. Report Privately
+
+**Email**: security@oracode.dev (or create a GitHub Security Advisory)
+
+**GitHub Security Advisory**: You can also use GitHub's private vulnerability reporting:
+1. Go to the [Security tab](https://github.com/chickencoder/oracode/security)
+2. Click "Report a vulnerability"
+3. Fill out the form with details
+
+### 3. What to Include
+
+Please provide as much information as possible:
+
+- **Type of vulnerability** (e.g., XSS, SQL injection, authentication bypass)
+- **Location** (file path, function name, line number)
+- **Steps to reproduce** the vulnerability
+- **Potential impact** of the vulnerability
+- **Suggested fix** (if you have one)
+- **Proof of concept** or exploit code (if applicable)
+- **Your contact information** for follow-up
+
+### 4. Response Timeline
+
+- **Initial Response**: We'll acknowledge your report within **48 hours**
+- **Status Update**: We'll provide a detailed response within **7 days**, including:
+ - Confirmation of the issue
+ - Our remediation timeline
+ - Any questions we have
+- **Resolution**: We aim to release a fix within **30 days** for high-severity issues
+
+### 5. Coordinated Disclosure
+
+We follow responsible disclosure practices:
+
+- We'll work with you to understand and resolve the issue
+- We'll keep you informed of our progress
+- We'll credit you in the fix announcement (unless you prefer to remain anonymous)
+- We ask that you wait for our fix to be released before public disclosure
+
+## Security Best Practices
+
+### For Self-Hosters
+
+If you're running Oracode on your own infrastructure:
+
+1. **Keep dependencies updated**: Run `pnpm audit` regularly
+2. **Use strong encryption keys**: Generate a secure `ENCRYPTION_KEY` (32 bytes, hex-encoded)
+ ```bash
+ openssl rand -hex 32
+ ```
+3. **Secure your environment variables**: Never commit `.env` files to git
+4. **Use HTTPS**: Always run Oracode behind HTTPS in production
+5. **Restrict webhook access**: Verify GitHub webhook signatures
+6. **Monitor logs**: Watch for suspicious activity in Convex and Daytona logs
+7. **Sandbox isolation**: Ensure Daytona sandboxes are properly isolated
+
+### Built-in Security Features
+
+Oracode includes several security measures:
+
+- **Encrypted secrets**: All API keys stored using AES-256-GCM encryption
+- **Webhook verification**: GitHub webhooks use HMAC-SHA256 signature verification
+- **Sandbox isolation**: Each branch runs in an isolated Daytona environment
+- **Permission controls**: Granular control over Claude's file access
+- **Authentication**: Clerk-based auth with JWT validation
+- **CORS**: Restricted cross-origin access
+
+### Known Limitations
+
+- **Sandbox security**: Sandboxes run user code—ensure you trust your team members
+- **AI-generated code**: Claude's code should be reviewed before merging
+- **Third-party dependencies**: Relies on Clerk, Convex, Daytona, and Anthropic security
+
+## Security Updates
+
+We'll announce security updates through:
+
+- GitHub Security Advisories
+- Release notes in [CHANGELOG.md](CHANGELOG.md)
+- GitHub Discussions (for major vulnerabilities)
+
+## Bug Bounty Program
+
+We do not currently have a bug bounty program, but we deeply appreciate security researchers' efforts. We'll publicly credit researchers who responsibly disclose vulnerabilities (with their permission).
+
+## Questions?
+
+If you have questions about Oracode's security that aren't vulnerability reports, feel free to:
+
+- Open a [GitHub Discussion](https://github.com/chickencoder/oracode/discussions)
+- Email: security@oracode.dev
+
+## Hall of Fame
+
+We'll recognize security researchers who have helped improve Oracode's security:
+
+- *Your name here!*
+
+---
+
+Thank you for helping keep Oracode and our users safe!
diff --git a/apps/app/.env.example b/apps/app/.env.example
new file mode 100644
index 0000000..0c3770d
--- /dev/null
+++ b/apps/app/.env.example
@@ -0,0 +1,14 @@
+# Oracode Frontend Environment Variables
+# Copy this to .env and fill in your values
+
+# Convex
+VITE_CONVEX_URL=https://your-deployment.convex.cloud
+
+# Clerk Authentication
+VITE_CLERK_PUBLISHABLE_KEY=pk_test_...
+
+# GitHub App
+VITE_GITHUB_APP_SLUG=your-github-app-slug
+
+# Optional: Site URL for production
+SITE_URL=http://localhost:5173
diff --git a/apps/app/README.md b/apps/app/README.md
index d2e7761..704b742 100644
--- a/apps/app/README.md
+++ b/apps/app/README.md
@@ -1,73 +1,141 @@
-# React + TypeScript + Vite
+# Oracode Frontend Application
-This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
+The main Next.js frontend application for Oracode, built with React 19 and Vite.
-Currently, two official plugins are available:
+## Overview
-- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
-- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
+This is the primary user interface for Oracode, providing:
-## React Compiler
+- **Chat Interface**: Interact with Claude Code in a conversational UI
+- **Branch Management**: Create, view, and manage git branches
+- **Live Preview**: See your code changes in real-time
+- **Project Settings**: Configure repositories, dev commands, and environment variables
+- **GitHub Integration**: Connect repositories and manage installations
+- **Organization Management**: Multi-tenant support with Clerk
-The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
+## Tech Stack
-## Expanding the ESLint configuration
+- **Framework**: Next.js 15 with React 19
+- **Build Tool**: Vite (using Rolldown)
+- **Styling**: Tailwind CSS v4
+- **UI Components**: Radix UI + custom AI component library
+- **State Management**: Convex real-time queries
+- **Authentication**: Clerk (user + organization management)
+- **Routing**: React Router v7
+- **Form Handling**: React Hook Form + Zod validation
+- **Deployment**: Cloudflare Pages
-If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
+## Development
-```js
-export default defineConfig([
- globalIgnores(['dist']),
- {
- files: ['**/*.{ts,tsx}'],
- extends: [
- // Other configs...
+### Prerequisites
- // Remove tseslint.configs.recommended and replace with this
- tseslint.configs.recommendedTypeChecked,
- // Alternatively, use this for stricter rules
- tseslint.configs.strictTypeChecked,
- // Optionally, add this for stylistic rules
- tseslint.configs.stylisticTypeChecked,
+- Node.js 20+
+- pnpm 10+
+- Convex deployment running
+- Environment variables configured (see `.env.example`)
- // Other configs...
- ],
- languageOptions: {
- parserOptions: {
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
- tsconfigRootDir: import.meta.dirname,
- },
- // other options...
- },
- },
-])
+### Running Locally
+
+```bash
+# From the root directory
+pnpm dev
+
+# Or just this app
+cd apps/app
+pnpm dev
+```
+
+The app will be available at `http://localhost:5173`
+
+### Building
+
+```bash
+pnpm build
+```
+
+Output goes to `.next/` directory.
+
+### Type Checking
+
+```bash
+pnpm type-check
+```
+
+### Linting
+
+```bash
+pnpm lint
+```
+
+## Project Structure
+
+```
+src/
+├── components/
+│ ├── ai-elements/ # AI-specific UI components
+│ ├── ui/ # Radix UI components
+│ └── *.tsx # Feature components
+├── hooks/ # Custom React hooks
+├── layouts/ # Layout components
+├── lib/ # Utilities and helpers
+├── pages/ # Route pages
+├── types/ # TypeScript types
+└── main.tsx # Entry point
```
-You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
-
-```js
-// eslint.config.js
-import reactX from 'eslint-plugin-react-x'
-import reactDom from 'eslint-plugin-react-dom'
-
-export default defineConfig([
- globalIgnores(['dist']),
- {
- files: ['**/*.{ts,tsx}'],
- extends: [
- // Other configs...
- // Enable lint rules for React
- reactX.configs['recommended-typescript'],
- // Enable lint rules for React DOM
- reactDom.configs.recommended,
- ],
- languageOptions: {
- parserOptions: {
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
- tsconfigRootDir: import.meta.dirname,
- },
- // other options...
- },
- },
-])
+### Key Directories
+
+- **`components/ai-elements/`**: Custom components for AI interactions (conversation, messages, prompt input, tasks, etc.)
+- **`hooks/`**: Convex query hooks, custom utilities
+- **`pages/`**: Route components (projects, branches, settings)
+- **`layouts/`**: Shared layouts (dashboard, settings)
+
+## Environment Variables
+
+See `.env.example` for required variables:
+
+- `VITE_CONVEX_URL`: Your Convex deployment URL
+- `VITE_CLERK_PUBLISHABLE_KEY`: Clerk public key
+- `VITE_GITHUB_APP_SLUG`: GitHub App slug
+
+## Deployment
+
+### Cloudflare Pages
+
+```bash
+pnpm build
+wrangler deploy
```
+
+The app uses Cloudflare Pages for hosting with Vite build output.
+
+## Key Features
+
+### Chat Panel
+- Real-time message streaming from Claude
+- Tool use visualization (Read, Write, Edit, Bash, etc.)
+- Permission approval UI
+- Optimistic updates
+
+### Preview Panel
+- Live iframe preview of running dev server
+- Auto-refresh on file changes
+- Authentication via preview tokens
+
+### Branch Management
+- Create new branches from UI
+- Automatic sandbox provisioning
+- Git status tracking
+- Publish flow (commit, push, create PR)
+
+### Settings
+- Organization-level: Claude API key, GitHub connection
+- Project-level: Dev commands, environment variables, sandbox config
+
+## Contributing
+
+See [CONTRIBUTING.md](../../CONTRIBUTING.md) in the root directory.
+
+## License
+
+AGPL-3.0 - See [LICENSE](../../LICENSE) in the root directory.
diff --git a/apps/app/package.json b/apps/app/package.json
index 69f0c3d..da50514 100644
--- a/apps/app/package.json
+++ b/apps/app/package.json
@@ -1,8 +1,10 @@
{
"name": "app",
"private": true,
- "version": "0.0.0",
+ "version": "0.1.0",
+ "description": "Oracode frontend application",
"type": "module",
+ "license": "AGPL-3.0",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
diff --git a/apps/app/src/pages/org-settings/github.tsx b/apps/app/src/pages/org-settings/github.tsx
index 390c988..388b3c9 100644
--- a/apps/app/src/pages/org-settings/github.tsx
+++ b/apps/app/src/pages/org-settings/github.tsx
@@ -87,8 +87,13 @@ export function GitHubSettingsPage() {
};
const handleRemove = async () => {
- // TODO: Implement remove GitHub installation
- toast.info("Remove GitHub installation - coming soon");
+ // Note: GitHub App uninstallation must be done through GitHub's UI
+ // Users can uninstall at: https://github.com/settings/installations
+ // or https://github.com/organizations/{org}/settings/installations
+ toast.info(
+ "To remove the GitHub connection, please uninstall the app from your GitHub settings",
+ { duration: 5000 }
+ );
setShowRemoveDialog(false);
};
diff --git a/apps/preview/package.json b/apps/preview/package.json
index 840d4a4..6f9d083 100644
--- a/apps/preview/package.json
+++ b/apps/preview/package.json
@@ -11,7 +11,7 @@
"dependencies": {
"@repo/convex": "workspace:*",
"convex": "catalog:",
- "hono": "^4.7.9"
+ "hono": "^4.10.3"
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20250110.0",
diff --git a/package.json b/package.json
index f051f10..1315ae6 100644
--- a/package.json
+++ b/package.json
@@ -1,9 +1,34 @@
{
"name": "oracode",
"version": "0.1.0",
+ "description": "AI-powered coding assistant that creates branches, writes code, and opens pull requests—all from a chat interface",
"private": true,
"type": "module",
+ "license": "AGPL-3.0",
+ "author": "Oracode Team",
+ "homepage": "https://github.com/chickencoder/oracode#readme",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/chickencoder/oracode.git"
+ },
+ "bugs": {
+ "url": "https://github.com/chickencoder/oracode/issues"
+ },
+ "keywords": [
+ "ai",
+ "coding-assistant",
+ "claude",
+ "convex",
+ "daytona",
+ "github",
+ "nextjs",
+ "typescript"
+ ],
"packageManager": "pnpm@10.9.0",
+ "engines": {
+ "node": ">=20.0.0",
+ "pnpm": ">=10.0.0"
+ },
"workspaces": [
"apps/*",
"packages/*"
diff --git a/packages/convex/.env.example b/packages/convex/.env.example
new file mode 100644
index 0000000..210fcf5
--- /dev/null
+++ b/packages/convex/.env.example
@@ -0,0 +1,26 @@
+# Convex Backend Environment Variables
+# Copy this to .env.local and fill in your values
+
+# Clerk Authentication
+# Get from Clerk Dashboard → API Keys → Advanced → JWT public key
+CLERK_ISSUER_URL=https://your-clerk-domain.clerk.accounts.dev
+CLERK_JWT_KEY=-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----
+
+# GitHub App Configuration
+# See GITHUB_APP_SETUP.md for setup instructions
+GITHUB_APP_ID=123456
+GITHUB_APP_SLUG=your-github-app-slug
+GITHUB_WEBHOOK_SECRET=your-webhook-secret-generated-with-openssl
+GITHUB_APP_PRIVATE_KEY=-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----
+
+# Daytona (Cloud Development Environments)
+# Get from https://daytona.io dashboard
+DAYTONA_API_URL=https://api.daytona.io
+DAYTONA_API_KEY=your-daytona-api-key
+
+# Encryption Key for Secrets Storage
+# Generate with: openssl rand -hex 32
+ENCRYPTION_KEY=your-64-character-hex-string
+
+# Optional: Site URL
+SITE_URL=http://localhost:5173
diff --git a/packages/convex/README.md b/packages/convex/README.md
new file mode 100644
index 0000000..8992e9f
--- /dev/null
+++ b/packages/convex/README.md
@@ -0,0 +1,213 @@
+# Oracode Convex Backend
+
+Convex backend functions and schema for Oracode. This package provides the real-time database, functions, and HTTP endpoints that power the Oracode platform.
+
+## Overview
+
+This package contains:
+
+- **Schema**: Database tables for messages, branches, projects, users, organizations, secrets, etc.
+- **Queries**: Real-time data fetching functions
+- **Mutations**: Data modification functions
+- **Actions**: External API integrations (GitHub, Daytona, Anthropic)
+- **HTTP Endpoints**: Webhooks and callbacks
+- **Internal Functions**: Private helper functions
+
+## Key Features
+
+- **Real-time Sync**: All data updates propagate instantly to connected clients
+- **Type-Safe**: Full TypeScript support with generated types
+- **Encrypted Secrets**: AES-256-GCM encryption for API keys and environment variables
+- **GitHub Integration**: App installation, webhook handling, token generation
+- **Sandbox Provisioning**: Daytona sandbox creation and management
+- **Permission System**: Granular approval flow for AI tool use
+
+## Development
+
+### Prerequisites
+
+- Convex account ([convex.dev](https://convex.dev))
+- Environment variables configured (see `.env.example`)
+
+### Running Locally
+
+```bash
+cd packages/convex
+pnpm convex dev
+```
+
+This starts the Convex dev server and watches for file changes.
+
+### Deploying
+
+```bash
+pnpm convex deploy
+```
+
+This deploys your functions to production.
+
+### Type Checking
+
+```bash
+pnpm type-check
+```
+
+## Project Structure
+
+```
+packages/convex/
+├── _generated/ # Auto-generated Convex types (gitignored)
+├── lib/ # Helper utilities
+│ ├── clerkAuth.ts # Clerk authentication
+│ ├── crypto.ts # Encryption utilities
+│ ├── githubAuth.ts # GitHub token generation
+│ ├── sandbox.ts # Sandbox utilities
+│ └── ...
+├── schema.ts # Database schema definition
+├── messages.ts # Message CRUD operations
+├── branches.ts # Branch management
+├── projects.ts # Project management
+├── sandboxActions.ts # Daytona sandbox provisioning
+├── githubActions.ts # GitHub API interactions
+├── http.ts # HTTP endpoints (webhooks, callbacks)
+├── secrets.ts # Encrypted secret storage
+├── variables.ts # Project environment variables
+├── settings.ts # Organization settings
+└── types.ts # Shared TypeScript types
+```
+
+## Schema
+
+### Tables
+
+- **`orgs`**: Clerk organizations
+- **`users`**: User profiles synced from Clerk
+- **`messages`**: Chat messages between users and Claude
+- **`branches`**: Git branches with sandbox state
+- **`projects`**: GitHub repositories linked to organizations
+- **`secrets`**: Encrypted API keys and tokens
+- **`settings`**: Organization-level settings (Claude API key)
+- **`variables`**: Project environment variables
+- **`permissions`**: Tool use approval requests
+- **`githubInstallations`**: GitHub App installations
+- **`githubAppState`**: OAuth-like flow state tokens
+- **`snapshots`**: Git status snapshots per branch
+
+See [schema.ts](./schema.ts) for full definitions.
+
+## Convex Conventions
+
+This project follows strict Convex best practices:
+
+### Function Syntax
+
+Always use the new function syntax with explicit `args` and `returns` validators:
+
+```typescript
+export const exampleQuery = query({
+ args: { branchId: v.id("branches") },
+ returns: v.array(v.object({ /* ... */ })),
+ handler: async (ctx, args) => {
+ return await ctx.db
+ .query("branches")
+ .withIndex("by_id", (q) => q.eq("_id", args.branchId))
+ .collect();
+ },
+});
+```
+
+### Internal Functions
+
+Use `internalQuery`, `internalMutation`, `internalAction` for private functions:
+
+```typescript
+export const internalHelper = internalQuery({
+ args: { userId: v.string() },
+ returns: v.union(v.object({ /* ... */ }), v.null()),
+ handler: async (ctx, args) => {
+ // Implementation
+ },
+});
+```
+
+### Indexes
+
+Define indexes in `schema.ts` with descriptive names:
+
+```typescript
+branches: defineTable({
+ projectId: v.id("projects"),
+ branchName: v.string(),
+ // ...
+})
+ .index("by_project", ["projectId"])
+ .index("by_project_and_branch_name", ["projectId", "branchName"])
+```
+
+Use `.withIndex()` for queries:
+
+```typescript
+await ctx.db
+ .query("branches")
+ .withIndex("by_project", (q) => q.eq("projectId", projectId))
+ .collect();
+```
+
+## Environment Variables
+
+See `.env.example` for required variables:
+
+- `CLERK_ISSUER_URL`: Clerk issuer URL for JWT validation
+- `CLERK_JWT_KEY`: Clerk JWT public key
+- `GITHUB_APP_ID`: GitHub App ID
+- `GITHUB_APP_PRIVATE_KEY`: GitHub App private key (PEM format)
+- `GITHUB_WEBHOOK_SECRET`: Webhook signature secret
+- `DAYTONA_API_KEY`: Daytona API key
+- `ENCRYPTION_KEY`: 32-byte hex key for secret encryption
+
+## HTTP Endpoints
+
+### Webhooks
+
+- **`POST /github/webhook`**: GitHub App webhook handler
+ - Handles `installation`, `installation_repositories` events
+ - Verifies HMAC-SHA256 signature
+ - Creates/updates `githubInstallations` records
+
+### Callbacks
+
+- **`GET /github/callback`**: GitHub App installation callback
+ - Completes installation flow
+ - Validates state token
+ - Redirects back to app
+
+## Security
+
+- **Encryption**: All secrets encrypted with AES-256-GCM before storage
+- **Authentication**: Clerk JWT validation on all authenticated functions
+- **Webhook Verification**: HMAC signature validation for GitHub webhooks
+- **Permission System**: User approval required for sensitive AI operations
+
+## Exports
+
+This package exports:
+
+- `_generated/api`: All Convex function references
+- `_generated/dataModel`: TypeScript types for tables
+- `types.ts`: Custom shared types (e.g., `MessageData`, `UserInfo`)
+
+Usage in other packages:
+
+```typescript
+import { api } from "@repo/convex/_generated/api";
+import type { Id, Doc } from "@repo/convex/_generated/dataModel";
+import type { MessageData } from "@repo/convex/types";
+```
+
+## Contributing
+
+See [CONTRIBUTING.md](../../CONTRIBUTING.md) in the root directory.
+
+## License
+
+AGPL-3.0 - See [LICENSE](../../LICENSE) in the root directory.
diff --git a/packages/convex/package.json b/packages/convex/package.json
index 11d36da..4d223d9 100644
--- a/packages/convex/package.json
+++ b/packages/convex/package.json
@@ -1,8 +1,10 @@
{
"name": "@repo/convex",
"version": "0.1.0",
+ "description": "Oracode Convex backend functions and schema",
"private": true,
"type": "module",
+ "license": "AGPL-3.0",
"main": "_generated/api.js",
"types": "_generated/api.d.ts",
"exports": {
diff --git a/packages/sandbox-worker/.env.example b/packages/sandbox-worker/.env.example
new file mode 100644
index 0000000..cc5e635
--- /dev/null
+++ b/packages/sandbox-worker/.env.example
@@ -0,0 +1,17 @@
+# Sandbox Worker Environment Variables
+# These are set automatically by the sandbox provisioning process
+# This file is for reference only
+
+# Convex Connection (required)
+CONVEX_URL=https://your-deployment.convex.cloud
+
+# Anthropic API Key (optional - can also be set per-org in UI)
+ANTHROPIC_API_KEY=sk-ant-...
+
+# Branch and Auth (set automatically by provisioning)
+BRANCH_ID=
+CLERK_TOKEN=
+SANDBOX_ID=
+
+# Optional: Project Root (for monorepos)
+PROJECT_ROOT=/path/to/subdirectory
diff --git a/packages/sandbox-worker/package.json b/packages/sandbox-worker/package.json
index 926f7dc..46a4810 100644
--- a/packages/sandbox-worker/package.json
+++ b/packages/sandbox-worker/package.json
@@ -1,7 +1,9 @@
{
"name": "@repo/sandbox-worker",
"version": "0.1.0",
+ "description": "Oracode sandbox worker bridging Convex and Claude Agent SDK",
"private": true,
+ "license": "AGPL-3.0",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2f69d7c..a31321b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -31,13 +31,13 @@ importers:
dependencies:
'@clerk/clerk-react':
specifier: ^5.50.0
- version: 5.51.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 5.53.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@clerk/react-router':
specifier: ^2.0.2
- version: 2.1.0(react-dom@19.2.0(react@19.2.0))(react-router@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
+ version: 2.1.5(react-dom@19.2.0(react@19.2.0))(react-router@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
'@clerk/themes':
specifier: ^2.4.24
- version: 2.4.25
+ version: 2.4.29
'@daytonaio/sdk':
specifier: ^0.109.0
version: 0.109.0(ws@8.18.3)
@@ -52,43 +52,43 @@ importers:
version: 5.2.2(react-hook-form@7.65.0(react@19.2.0))
'@radix-ui/react-alert-dialog':
specifier: ^1.1.15
- version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 1.1.15(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-avatar':
specifier: ^1.1.10
- version: 1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 1.1.10(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-collapsible':
specifier: ^1.1.12
- version: 1.1.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 1.1.12(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-dialog':
specifier: ^1.1.15
- version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 1.1.15(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-dropdown-menu':
specifier: ^2.1.16
- version: 2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 2.1.16(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-label':
specifier: ^2.1.7
- version: 2.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 2.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-popover':
specifier: ^1.1.15
- version: 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 1.1.15(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-scroll-area':
specifier: ^1.2.10
- version: 1.2.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 1.2.10(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-select':
specifier: ^2.2.6
- version: 2.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 2.2.6(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-separator':
specifier: ^1.1.7
- version: 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-slot':
specifier: ^1.2.3
version: 1.2.3(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-tabs':
specifier: ^1.1.13
- version: 1.1.13(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 1.1.13(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-tooltip':
specifier: ^1.2.8
- version: 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 1.2.8(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@repo/convex':
specifier: workspace:*
version: link:../../packages/convex
@@ -97,10 +97,10 @@ importers:
version: 3.35.0(react@19.2.0)
'@tailwindcss/vite':
specifier: ^4.1.14
- version: 4.1.14(rolldown-vite@7.1.14(@types/node@24.7.2)(esbuild@0.25.4)(jiti@2.6.0)(tsx@4.20.6))
+ version: 4.1.16(rolldown-vite@7.1.14(@types/node@24.9.1)(esbuild@0.25.4)(jiti@2.6.1)(tsx@4.20.6))
ai:
specifier: ^5.0.60
- version: 5.0.68(zod@4.1.12)
+ version: 5.0.81(zod@4.1.12)
class-variance-authority:
specifier: ^0.7.1
version: 0.7.1
@@ -109,10 +109,10 @@ importers:
version: 2.1.1
cmdk:
specifier: ^1.1.1
- version: 1.1.1(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 1.1.1(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
convex:
specifier: 'catalog:'
- version: 1.27.5(@clerk/clerk-react@5.51.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
+ version: 1.27.5(@clerk/clerk-react@5.53.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
date-fns:
specifier: ^4.1.0
version: 4.1.0
@@ -127,7 +127,7 @@ importers:
version: 0.4.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
nuqs:
specifier: ^2.7.0
- version: 2.7.1(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-router-dom@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-router@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
+ version: 2.7.2(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-router-dom@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-router@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
react:
specifier: ^19.1.1
version: 19.2.0
@@ -154,7 +154,7 @@ importers:
version: 3.3.1
tailwindcss:
specifier: ^4.1.13
- version: 4.1.14
+ version: 4.1.16
use-stick-to-bottom:
specifier: ^1.1.1
version: 1.1.1(react@19.2.0)
@@ -164,31 +164,31 @@ importers:
devDependencies:
'@cloudflare/vite-plugin':
specifier: ^1.13.13
- version: 1.13.13(rolldown-vite@7.1.14(@types/node@24.7.2)(esbuild@0.25.4)(jiti@2.6.0)(tsx@4.20.6))(workerd@1.20251008.0)(wrangler@4.43.0(@cloudflare/workers-types@4.20251011.0))
+ version: 1.13.15(rolldown-vite@7.1.14(@types/node@24.9.1)(esbuild@0.25.4)(jiti@2.6.1)(tsx@4.20.6))(workerd@1.20251011.0)(wrangler@4.45.0(@cloudflare/workers-types@4.20251014.0))
'@eslint/js':
specifier: ^9.36.0
- version: 9.37.0
+ version: 9.38.0
'@types/node':
specifier: ^24.7.0
- version: 24.7.2
+ version: 24.9.1
'@types/react':
specifier: ^19.1.16
version: 19.2.2
'@types/react-dom':
specifier: ^19.1.9
- version: 19.2.1(@types/react@19.2.2)
+ version: 19.2.2(@types/react@19.2.2)
'@vitejs/plugin-react':
specifier: ^5.0.4
- version: 5.0.4(rolldown-vite@7.1.14(@types/node@24.7.2)(esbuild@0.25.4)(jiti@2.6.0)(tsx@4.20.6))
+ version: 5.1.0(rolldown-vite@7.1.14(@types/node@24.9.1)(esbuild@0.25.4)(jiti@2.6.1)(tsx@4.20.6))
eslint:
specifier: ^9.36.0
- version: 9.37.0(jiti@2.6.0)
+ version: 9.38.0(jiti@2.6.1)
eslint-plugin-react-hooks:
specifier: ^5.2.0
- version: 5.2.0(eslint@9.37.0(jiti@2.6.0))
+ version: 5.2.0(eslint@9.38.0(jiti@2.6.1))
eslint-plugin-react-refresh:
specifier: ^0.4.22
- version: 0.4.23(eslint@9.37.0(jiti@2.6.0))
+ version: 0.4.24(eslint@9.38.0(jiti@2.6.1))
globals:
specifier: ^16.4.0
version: 16.4.0
@@ -200,13 +200,13 @@ importers:
version: 5.9.3
typescript-eslint:
specifier: ^8.45.0
- version: 8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)
+ version: 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
vite:
specifier: npm:rolldown-vite@7.1.14
- version: rolldown-vite@7.1.14(@types/node@24.7.2)(esbuild@0.25.4)(jiti@2.6.0)(tsx@4.20.6)
+ version: rolldown-vite@7.1.14(@types/node@24.9.1)(esbuild@0.25.4)(jiti@2.6.1)(tsx@4.20.6)
wrangler:
specifier: ^4.43.0
- version: 4.43.0(@cloudflare/workers-types@4.20251011.0)
+ version: 4.45.0(@cloudflare/workers-types@4.20251014.0)
apps/preview:
dependencies:
@@ -215,20 +215,20 @@ importers:
version: link:../../packages/convex
convex:
specifier: 'catalog:'
- version: 1.27.5(@clerk/clerk-react@5.51.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
+ version: 1.27.5(@clerk/clerk-react@5.53.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
hono:
- specifier: ^4.7.9
- version: 4.9.12
+ specifier: ^4.10.3
+ version: 4.10.3
devDependencies:
'@cloudflare/workers-types':
specifier: ^4.20250110.0
- version: 4.20251011.0
+ version: 4.20251014.0
typescript:
specifier: ^5.9.3
version: 5.9.3
wrangler:
specifier: ^4.43.0
- version: 4.43.0(@cloudflare/workers-types@4.20251011.0)
+ version: 4.45.0(@cloudflare/workers-types@4.20251014.0)
apps/www:
dependencies:
@@ -265,19 +265,19 @@ importers:
version: 2.2.0
'@tailwindcss/postcss':
specifier: ^4
- version: 4.1.14
+ version: 4.1.16
'@types/node':
specifier: ^20
- version: 20.19.21
+ version: 20.19.23
'@types/react':
specifier: ^19
version: 19.2.2
'@types/react-dom':
specifier: ^19
- version: 19.2.1(@types/react@19.2.2)
+ version: 19.2.2(@types/react@19.2.2)
tailwindcss:
specifier: ^4
- version: 4.1.14
+ version: 4.1.16
tw-animate-css:
specifier: ^1.4.0
version: 1.4.0
@@ -289,7 +289,7 @@ importers:
dependencies:
'@clerk/backend':
specifier: ^2.17.2
- version: 2.17.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ version: 2.19.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@daytonaio/sdk':
specifier: ^0.109.0
version: 0.109.0(ws@8.18.3)
@@ -298,7 +298,7 @@ importers:
version: 8.1.1
convex:
specifier: ^1.27.5
- version: 1.27.5(@clerk/clerk-react@5.51.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
+ version: 1.28.0(@clerk/clerk-react@5.53.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
ms:
specifier: ^2.1.3
version: 2.1.3
@@ -307,10 +307,10 @@ importers:
version: 5.1.6
octokit:
specifier: ^5.0.3
- version: 5.0.3
+ version: 5.0.4
svix:
specifier: ^1.77.0
- version: 1.77.0
+ version: 1.80.0
zod:
specifier: ^4.1.12
version: 4.1.12
@@ -320,7 +320,7 @@ importers:
version: 2.1.0
'@types/node':
specifier: ^24.7.2
- version: 24.7.2
+ version: 24.9.1
typescript:
specifier: ^5.9.3
version: 5.9.3
@@ -329,7 +329,7 @@ importers:
dependencies:
'@anthropic-ai/claude-agent-sdk':
specifier: ^0.1.0
- version: 0.1.14(zod@4.1.12)
+ version: 0.1.27(zod@4.1.12)
'@anthropic-ai/sdk':
specifier: ^0.65.0
version: 0.65.0(zod@4.1.12)
@@ -338,7 +338,7 @@ importers:
version: link:../convex
convex:
specifier: 'catalog:'
- version: 1.27.5(@clerk/clerk-react@5.51.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
+ version: 1.27.5(@clerk/clerk-react@5.53.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
dotenv:
specifier: ^17.2.2
version: 17.2.3
@@ -357,21 +357,21 @@ importers:
version: 10.0.0
tsup:
specifier: ^8.3.5
- version: 8.5.0(jiti@2.6.0)(postcss@8.5.6)(tsx@4.20.6)(typescript@5.9.3)
+ version: 8.5.0(jiti@2.6.1)(postcss@8.5.6)(tsx@4.20.6)(typescript@5.9.3)
typescript:
specifier: ^5
version: 5.9.3
packages:
- '@ai-sdk/gateway@1.0.39':
- resolution: {integrity: sha512-ijYCKG2sbn2RBVfIgaXNXvzHAf2HpFXxQODtjMI+T7Z4CLryflytchsZZ9qrGtsjiQVopKOV6m6kj4lq5fnbsg==}
+ '@ai-sdk/gateway@2.0.2':
+ resolution: {integrity: sha512-25F1qPqZxOw9IcV9OQCL29hV4HAFLw5bFWlzQLBi5aDhEZsTMT2rMi3umSqNaUxrrw+dLRtjOL7RbHC+WjbA/A==}
engines: {node: '>=18'}
peerDependencies:
zod: ^3.25.76 || ^4.1.8
- '@ai-sdk/provider-utils@3.0.12':
- resolution: {integrity: sha512-ZtbdvYxdMoria+2SlNarEk6Hlgyf+zzcznlD55EAl+7VZvJaSg2sqPvwArY7L6TfDEDJsnCq0fdhBSkYo0Xqdg==}
+ '@ai-sdk/provider-utils@3.0.13':
+ resolution: {integrity: sha512-aXFLBLRPTUYA853MJliItefSXeJPl+mg0KSjbToP41kJ+banBmHO8ZPGLJhNqGlCU82o11TYN7G05EREKX8CkA==}
engines: {node: '>=18'}
peerDependencies:
zod: ^3.25.76 || ^4.1.8
@@ -390,8 +390,8 @@ packages:
'@antfu/utils@9.2.1':
resolution: {integrity: sha512-TMilPqXyii1AsiEii6l6ubRzbo76p6oshUSYPaKsmXDavyMLqjzVDkcp3pHp5ELMUNJHATcEOGxKTTsX9yYhGg==}
- '@anthropic-ai/claude-agent-sdk@0.1.14':
- resolution: {integrity: sha512-FdFPxeogLCOzk+ok5ITTwaemr1gGj104ynHt3LJdTADE8idsWlbJjaWlybx5WYpN+UtJTeVi3bQ8BQLojpO8ww==}
+ '@anthropic-ai/claude-agent-sdk@0.1.27':
+ resolution: {integrity: sha512-HuMPW6spj2q8FODiP/WBCqUZAYGwDPoI1EpicP9KUXvuYk+2MZQYSaD7oiN6iNPupR2T5oJ2HY/D9OzjyCD2Mw==}
engines: {node: '>=18.0.0'}
peerDependencies:
zod: ^3.24.1
@@ -724,27 +724,27 @@ packages:
'@chevrotain/utils@11.0.3':
resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==}
- '@clerk/backend@2.17.2':
- resolution: {integrity: sha512-zgKySfoOXySYOMEDc+S2vXLchCldwPVb85tyvP1NnmxvgyAm10yCA+xd4No4dNWm+lwkwHuNWX3rM9ro8khSmw==}
+ '@clerk/backend@2.19.0':
+ resolution: {integrity: sha512-EXeuG97O0c/OtXVQqw4a0RK1xfMe5+zkp5f0hZWkUob5l7NXX/f/PzbbtNQ1Ae+Maam0aC08uFNwgy2BpGvn6w==}
engines: {node: '>=18.17.0'}
- '@clerk/clerk-react@5.51.0':
- resolution: {integrity: sha512-jBreKiUS4DKm+JUIt59B1699aRr3wQmQ1O+DlWCEY3iEz+F6ETir1SJcRNG5mHVoA9EGn+m93USJSUWZBRG8yQ==}
+ '@clerk/clerk-react@5.53.3':
+ resolution: {integrity: sha512-7bEaJox6TzVhUSX6PjOuKpu6KPFT92bdeFSm8gtcA5ix4ce1WE0pC6K7mWdNZXxpLWmBbbqqsOuQSBFVIcC0hw==}
engines: {node: '>=18.17.0'}
peerDependencies:
react: ^18.0.0 || ^19.0.0 || ^19.0.0-0
react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-0
- '@clerk/react-router@2.1.0':
- resolution: {integrity: sha512-qAfMxiiPmSs7Vv5oj1qXYedyCrGnL4c/susr2P74BW07Fyz13wT1/ZEJ5Y4g+u1GGSPxvbQtv8OWsNIsulclKw==}
+ '@clerk/react-router@2.1.5':
+ resolution: {integrity: sha512-xL0lzgYA+nU56gBO7Vq6/13kuUju6+sc9QyCwvK7Bi9VQJPHhcvCN20tlBMOm+r6plClml+brVBHTgvRVzrbIQ==}
engines: {node: '>=20.0.0'}
peerDependencies:
react: ^18.0.0 || ^19.0.0 || ^19.0.0-0
react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-0
react-router: ^7.9.0
- '@clerk/shared@3.27.3':
- resolution: {integrity: sha512-OJqWwlQGi6XMVWJVtY1YmOESAkEAflDrynFSjwQQ/sC8c4hmUukIq07XTOlcv6j4u1i4akhtNwy40B1qiRrLdg==}
+ '@clerk/shared@3.28.3':
+ resolution: {integrity: sha512-IjuEHf2faKohv7Q4Q/C1P7bvXonbatuGwTu2ZUQ5wnULafHRpT6GfR82bhk/OaxTZ0CI+sPzHr7yoC3Kp8Ho1g==}
engines: {node: '>=18.17.0'}
peerDependencies:
react: ^18.0.0 || ^19.0.0 || ^19.0.0-0
@@ -755,20 +755,20 @@ packages:
react-dom:
optional: true
- '@clerk/themes@2.4.25':
- resolution: {integrity: sha512-Bj+HV6t63zzIvCakC2rF7dTgEey13w2hl9wz1wSv78m5pNrUKKU9uIv+DV9Y/iD5t4abBXNFnfgcmLKZ/Il8dA==}
+ '@clerk/themes@2.4.29':
+ resolution: {integrity: sha512-CgN11e4IhLd03Q+fiNmLBH/yEJq4TulkMB93QT6jfjXbN91eYeFu1+JyVSYCQ4HcjJQgCjhi6owPmA7SPAQI+Q==}
engines: {node: '>=18.17.0'}
- '@clerk/types@4.92.0':
- resolution: {integrity: sha512-+bUiHjqVXEHJIOOhshIy3uYDF/c4/yNc2BPfgPTXxxsbz/2wG0XUx0PL+mxUPiruPZOD+D63AtmORuFW3yBa2w==}
+ '@clerk/types@4.95.1':
+ resolution: {integrity: sha512-YZ7fiWS1IL7zl6o3azw+9HRO1keeEhaTieqSpwlesHASp3dE8EIB6WwSkGlcGOWRZyrOgisoBRDERP6tdzprZA==}
engines: {node: '>=18.17.0'}
'@cloudflare/kv-asset-handler@0.4.0':
resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==}
engines: {node: '>=18.0.0'}
- '@cloudflare/unenv-preset@2.7.7':
- resolution: {integrity: sha512-HtZuh166y0Olbj9bqqySckz0Rw9uHjggJeoGbDx5x+sgezBXlxO6tQSig2RZw5tgObF8mWI8zaPvQMkQZtAODw==}
+ '@cloudflare/unenv-preset@2.7.8':
+ resolution: {integrity: sha512-Ky929MfHh+qPhwCapYrRPwPVHtA2Ioex/DbGZyskGyNRDe9Ru3WThYZivyNVaPy5ergQSgMs9OKrM9Ajtz9F6w==}
peerDependencies:
unenv: 2.0.0-rc.21
workerd: ^1.20250927.0
@@ -776,44 +776,44 @@ packages:
workerd:
optional: true
- '@cloudflare/vite-plugin@1.13.13':
- resolution: {integrity: sha512-RgyoPy0fzqEETVmhzb2yhr2Jqz2N8dxwhL9+1bDiO0Bajdfb8cCURgBgppcRfmcYKlBTXYl9xvus+nnH5KRmRQ==}
+ '@cloudflare/vite-plugin@1.13.15':
+ resolution: {integrity: sha512-tVkdkRmwGzqs7RzRIwKkJp/FvRZ0YL108jXhQRYTSCDcuDVROK4O1hjf9bcC7Gr0KISSaEPj9oJtR5eTSNN+Ag==}
peerDependencies:
vite: ^6.1.0 || ^7.0.0
- wrangler: ^4.43.0
+ wrangler: ^4.45.0
- '@cloudflare/workerd-darwin-64@1.20251008.0':
- resolution: {integrity: sha512-yph0H+8mMOK5Z9oDwjb8rI96oTVt4no5lZ43aorcbzsWG9VUIaXSXlBBoB3von6p4YCRW+J3n36fBM9XZ6TLaA==}
+ '@cloudflare/workerd-darwin-64@1.20251011.0':
+ resolution: {integrity: sha512-0DirVP+Z82RtZLlK2B+VhLOkk+ShBqDYO/jhcRw4oVlp0TOvk3cOVZChrt3+y3NV8Y/PYgTEywzLKFSziK4wCg==}
engines: {node: '>=16'}
cpu: [x64]
os: [darwin]
- '@cloudflare/workerd-darwin-arm64@1.20251008.0':
- resolution: {integrity: sha512-Yc4lMGSbM4AEtYRpyDpmk77MsHb6X2BSwJgMgGsLVPmckM7ZHivZkJChfcNQjZ/MGR6nkhYc4iF6TcVS+UMEVw==}
+ '@cloudflare/workerd-darwin-arm64@1.20251011.0':
+ resolution: {integrity: sha512-1WuFBGwZd15p4xssGN/48OE2oqokIuc51YvHvyNivyV8IYnAs3G9bJNGWth1X7iMDPe4g44pZrKhRnISS2+5dA==}
engines: {node: '>=16'}
cpu: [arm64]
os: [darwin]
- '@cloudflare/workerd-linux-64@1.20251008.0':
- resolution: {integrity: sha512-AjoQnylw4/5G6SmfhZRsli7EuIK7ZMhmbxtU0jkpciTlVV8H01OsFOgS1d8zaTXMfkWamEfMouy8oH/L7B9YcQ==}
+ '@cloudflare/workerd-linux-64@1.20251011.0':
+ resolution: {integrity: sha512-BccMiBzFlWZyFghIw2szanmYJrJGBGHomw2y/GV6pYXChFzMGZkeCEMfmCyJj29xczZXxcZmUVJxNy4eJxO8QA==}
engines: {node: '>=16'}
cpu: [x64]
os: [linux]
- '@cloudflare/workerd-linux-arm64@1.20251008.0':
- resolution: {integrity: sha512-hRy9yyvzVq1HsqHZUmFkAr0C8JGjAD/PeeVEGCKL3jln3M9sNCKIrbDXiL+efe+EwajJNNlDxpO+s30uVWVaRg==}
+ '@cloudflare/workerd-linux-arm64@1.20251011.0':
+ resolution: {integrity: sha512-79o/216lsbAbKEVDZYXR24ivEIE2ysDL9jvo0rDTkViLWju9dAp3CpyetglpJatbSi3uWBPKZBEOqN68zIjVsQ==}
engines: {node: '>=16'}
cpu: [arm64]
os: [linux]
- '@cloudflare/workerd-windows-64@1.20251008.0':
- resolution: {integrity: sha512-Gm0RR+ehfNMsScn2pUcn3N9PDUpy7FyvV9ecHEyclKttvztyFOcmsF14bxEaSVv7iM4TxWEBn1rclmYHxDM4ow==}
+ '@cloudflare/workerd-windows-64@1.20251011.0':
+ resolution: {integrity: sha512-RIXUQRchFdqEvaUqn1cXZXSKjpqMaSaVAkI5jNZ8XzAw/bw2bcdOVUtakrflgxDprltjFb0PTNtuss1FKtH9Jg==}
engines: {node: '>=16'}
cpu: [x64]
os: [win32]
- '@cloudflare/workers-types@4.20251011.0':
- resolution: {integrity: sha512-gQpih+pbq3sP4uXltUeCSbPgZxTNp2gQd8639SaIbQMwgA6oJNHLhIART1fWy6DQACngiRzDVULA2x0ohmkGTQ==}
+ '@cloudflare/workers-types@4.20251014.0':
+ resolution: {integrity: sha512-tEW98J/kOa0TdylIUOrLKRdwkUw0rvvYVlo+Ce0mqRH3c8kSoxLzUH9gfCvwLe0M89z1RkzFovSKAW2Nwtyn3w==}
'@cspotcode/source-map-support@0.8.1':
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
@@ -831,6 +831,9 @@ packages:
'@emnapi/runtime@1.5.0':
resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
+ '@emnapi/runtime@1.6.0':
+ resolution: {integrity: sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA==}
+
'@emnapi/wasi-threads@1.1.0':
resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
@@ -994,12 +997,16 @@ packages:
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/config-array@0.21.0':
- resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
+ '@eslint-community/regexpp@4.12.2':
+ resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ '@eslint/config-array@0.21.1':
+ resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/config-helpers@0.4.0':
- resolution: {integrity: sha512-WUFvV4WoIwW8Bv0KeKCIIEgdSiFOsulyN0xrMu+7z43q/hkOLXjvb5u7UC9jDxvRzcrbEmuZBX5yJZz1741jog==}
+ '@eslint/config-helpers@0.4.1':
+ resolution: {integrity: sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/core@0.16.0':
@@ -1010,12 +1017,12 @@ packages:
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.37.0':
- resolution: {integrity: sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==}
+ '@eslint/js@9.38.0':
+ resolution: {integrity: sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/object-schema@2.1.6':
- resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
+ '@eslint/object-schema@2.1.7':
+ resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/plugin-kit@0.4.0':
@@ -1308,10 +1315,6 @@ packages:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
- '@isaacs/fs-minipass@4.0.1':
- resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
- engines: {node: '>=18.0.0'}
-
'@jridgewell/gen-mapping@0.3.13':
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
@@ -1452,9 +1455,6 @@ packages:
resolution: {integrity: sha512-xi6Iut3izMCFzXBJtxxJehxJmAKjE8iwj6L5+raPRwlTNKAbOOBJX7/Z8AF5apD4aXvc2skwIdOnC+CQ4QuA8Q==}
engines: {node: '>= 20'}
- '@octokit/openapi-types@25.1.0':
- resolution: {integrity: sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==}
-
'@octokit/openapi-types@26.0.0':
resolution: {integrity: sha512-7AtcfKtpo77j7Ts73b4OWhOZHTKo/gGY8bB3bNBQz4H+GRSWqx2yvj8TXRsbdTE0eRmYmXOEY66jM7mJ7LzfsA==}
@@ -1499,12 +1499,12 @@ packages:
resolution: {integrity: sha512-TXnouHIYLtgDhKo+N6mXATnDBkV05VwbR0TtMWpgTHIoQdRQfCSzmy/LGqR1AbRMbijq/EckC/E3/ZNcU92NaQ==}
engines: {node: '>= 20'}
- '@octokit/types@14.1.0':
- resolution: {integrity: sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==}
-
'@octokit/types@15.0.0':
resolution: {integrity: sha512-8o6yDfmoGJUIeR9OfYU0/TUJTnMPG2r68+1yEdUeG2Fdqpj8Qetg0ziKIgcBm0RW/j29H41WP37CYCEhp6GoHQ==}
+ '@octokit/types@15.0.1':
+ resolution: {integrity: sha512-sdiirM93IYJ9ODDCBgmRPIboLbSkpLa5i+WLuXH8b8Atg+YMLAyLvDDhNWLV4OYd08tlvYfVm/dw88cqHWtw1Q==}
+
'@octokit/webhooks-methods@6.0.0':
resolution: {integrity: sha512-MFlzzoDJVw/GcbfzVC1RLR36QqkTLUf79vLVO3D+xn7r0QgxnFoLZgtrzxiQErAjFUOdH6fas2KeQJ1yr/qaXQ==}
engines: {node: '>= 20'}
@@ -2066,12 +2066,12 @@ packages:
cpu: [x64]
os: [win32]
- '@rolldown/pluginutils@1.0.0-beta.38':
- resolution: {integrity: sha512-N/ICGKleNhA5nc9XXQG/kkKHJ7S55u0x0XUJbbkmdCnFuoRkM1Il12q9q0eX19+M7KKUEPw/daUPIRnxhcxAIw==}
-
'@rolldown/pluginutils@1.0.0-beta.41':
resolution: {integrity: sha512-ycMEPrS3StOIeb87BT3/+bu+blEtyvwQ4zmo2IcJQy0Rd1DAAhKksA0iUZ3MYSpJtjlPhg0Eo6mvVS6ggPhRbw==}
+ '@rolldown/pluginutils@1.0.0-beta.43':
+ resolution: {integrity: sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ==}
+
'@rollup/rollup-android-arm-eabi@4.52.3':
resolution: {integrity: sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw==}
cpu: [arm]
@@ -2423,8 +2423,8 @@ packages:
resolution: {integrity: sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw==}
engines: {node: '>=18.0.0'}
- '@speed-highlight/core@1.2.7':
- resolution: {integrity: sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==}
+ '@speed-highlight/core@1.2.8':
+ resolution: {integrity: sha512-IGytNtnUnPIobIbOq5Y6LIlqiHNX+vnToQIS7lj6L5819C+rA8TXRDkkG8vePsiBOGcoW9R6i+dp2YBUKdB09Q==}
'@stablelib/base64@1.0.1':
resolution: {integrity: sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==}
@@ -2446,65 +2446,65 @@ packages:
'@tabler/icons@3.35.0':
resolution: {integrity: sha512-yYXe+gJ56xlZFiXwV9zVoe3FWCGuZ/D7/G4ZIlDtGxSx5CGQK110wrnT29gUj52kEZoxqF7oURTk97GQxELOFQ==}
- '@tailwindcss/node@4.1.14':
- resolution: {integrity: sha512-hpz+8vFk3Ic2xssIA3e01R6jkmsAhvkQdXlEbRTk6S10xDAtiQiM3FyvZVGsucefq764euO/b8WUW9ysLdThHw==}
+ '@tailwindcss/node@4.1.16':
+ resolution: {integrity: sha512-BX5iaSsloNuvKNHRN3k2RcCuTEgASTo77mofW0vmeHkfrDWaoFAFvNHpEgtu0eqyypcyiBkDWzSMxJhp3AUVcw==}
- '@tailwindcss/oxide-android-arm64@4.1.14':
- resolution: {integrity: sha512-a94ifZrGwMvbdeAxWoSuGcIl6/DOP5cdxagid7xJv6bwFp3oebp7y2ImYsnZBMTwjn5Ev5xESvS3FFYUGgPODQ==}
+ '@tailwindcss/oxide-android-arm64@4.1.16':
+ resolution: {integrity: sha512-8+ctzkjHgwDJ5caq9IqRSgsP70xhdhJvm+oueS/yhD5ixLhqTw9fSL1OurzMUhBwE5zK26FXLCz2f/RtkISqHA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
- '@tailwindcss/oxide-darwin-arm64@4.1.14':
- resolution: {integrity: sha512-HkFP/CqfSh09xCnrPJA7jud7hij5ahKyWomrC3oiO2U9i0UjP17o9pJbxUN0IJ471GTQQmzwhp0DEcpbp4MZTA==}
+ '@tailwindcss/oxide-darwin-arm64@4.1.16':
+ resolution: {integrity: sha512-C3oZy5042v2FOALBZtY0JTDnGNdS6w7DxL/odvSny17ORUnaRKhyTse8xYi3yKGyfnTUOdavRCdmc8QqJYwFKA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@tailwindcss/oxide-darwin-x64@4.1.14':
- resolution: {integrity: sha512-eVNaWmCgdLf5iv6Qd3s7JI5SEFBFRtfm6W0mphJYXgvnDEAZ5sZzqmI06bK6xo0IErDHdTA5/t7d4eTfWbWOFw==}
+ '@tailwindcss/oxide-darwin-x64@4.1.16':
+ resolution: {integrity: sha512-vjrl/1Ub9+JwU6BP0emgipGjowzYZMjbWCDqwA2Z4vCa+HBSpP4v6U2ddejcHsolsYxwL5r4bPNoamlV0xDdLg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@tailwindcss/oxide-freebsd-x64@4.1.14':
- resolution: {integrity: sha512-QWLoRXNikEuqtNb0dhQN6wsSVVjX6dmUFzuuiL09ZeXju25dsei2uIPl71y2Ic6QbNBsB4scwBoFnlBfabHkEw==}
+ '@tailwindcss/oxide-freebsd-x64@4.1.16':
+ resolution: {integrity: sha512-TSMpPYpQLm+aR1wW5rKuUuEruc/oOX3C7H0BTnPDn7W/eMw8W+MRMpiypKMkXZfwH8wqPIRKppuZoedTtNj2tg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
- '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.14':
- resolution: {integrity: sha512-VB4gjQni9+F0VCASU+L8zSIyjrLLsy03sjcR3bM0V2g4SNamo0FakZFKyUQ96ZVwGK4CaJsc9zd/obQy74o0Fw==}
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.16':
+ resolution: {integrity: sha512-p0GGfRg/w0sdsFKBjMYvvKIiKy/LNWLWgV/plR4lUgrsxFAoQBFrXkZ4C0w8IOXfslB9vHK/JGASWD2IefIpvw==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
- '@tailwindcss/oxide-linux-arm64-gnu@4.1.14':
- resolution: {integrity: sha512-qaEy0dIZ6d9vyLnmeg24yzA8XuEAD9WjpM5nIM1sUgQ/Zv7cVkharPDQcmm/t/TvXoKo/0knI3me3AGfdx6w1w==}
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.16':
+ resolution: {integrity: sha512-DoixyMmTNO19rwRPdqviTrG1rYzpxgyYJl8RgQvdAQUzxC1ToLRqtNJpU/ATURSKgIg6uerPw2feW0aS8SNr/w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@tailwindcss/oxide-linux-arm64-musl@4.1.14':
- resolution: {integrity: sha512-ISZjT44s59O8xKsPEIesiIydMG/sCXoMBCqsphDm/WcbnuWLxxb+GcvSIIA5NjUw6F8Tex7s5/LM2yDy8RqYBQ==}
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.16':
+ resolution: {integrity: sha512-H81UXMa9hJhWhaAUca6bU2wm5RRFpuHImrwXBUvPbYb+3jo32I9VIwpOX6hms0fPmA6f2pGVlybO6qU8pF4fzQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@tailwindcss/oxide-linux-x64-gnu@4.1.14':
- resolution: {integrity: sha512-02c6JhLPJj10L2caH4U0zF8Hji4dOeahmuMl23stk0MU1wfd1OraE7rOloidSF8W5JTHkFdVo/O7uRUJJnUAJg==}
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.16':
+ resolution: {integrity: sha512-ZGHQxDtFC2/ruo7t99Qo2TTIvOERULPl5l0K1g0oK6b5PGqjYMga+FcY1wIUnrUxY56h28FxybtDEla+ICOyew==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@tailwindcss/oxide-linux-x64-musl@4.1.14':
- resolution: {integrity: sha512-TNGeLiN1XS66kQhxHG/7wMeQDOoL0S33x9BgmydbrWAb9Qw0KYdd8o1ifx4HOGDWhVmJ+Ul+JQ7lyknQFilO3Q==}
+ '@tailwindcss/oxide-linux-x64-musl@4.1.16':
+ resolution: {integrity: sha512-Oi1tAaa0rcKf1Og9MzKeINZzMLPbhxvm7rno5/zuP1WYmpiG0bEHq4AcRUiG2165/WUzvxkW4XDYCscZWbTLZw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@tailwindcss/oxide-wasm32-wasi@4.1.14':
- resolution: {integrity: sha512-uZYAsaW/jS/IYkd6EWPJKW/NlPNSkWkBlaeVBi/WsFQNP05/bzkebUL8FH1pdsqx4f2fH/bWFcUABOM9nfiJkQ==}
+ '@tailwindcss/oxide-wasm32-wasi@4.1.16':
+ resolution: {integrity: sha512-B01u/b8LteGRwucIBmCQ07FVXLzImWESAIMcUU6nvFt/tYsQ6IHz8DmZ5KtvmwxD+iTYBtM1xwoGXswnlu9v0Q==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
bundledDependencies:
@@ -2515,27 +2515,27 @@ packages:
- '@emnapi/wasi-threads'
- tslib
- '@tailwindcss/oxide-win32-arm64-msvc@4.1.14':
- resolution: {integrity: sha512-Az0RnnkcvRqsuoLH2Z4n3JfAef0wElgzHD5Aky/e+0tBUxUhIeIqFBTMNQvmMRSP15fWwmvjBxZ3Q8RhsDnxAA==}
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.16':
+ resolution: {integrity: sha512-zX+Q8sSkGj6HKRTMJXuPvOcP8XfYON24zJBRPlszcH1Np7xuHXhWn8qfFjIujVzvH3BHU+16jBXwgpl20i+v9A==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@tailwindcss/oxide-win32-x64-msvc@4.1.14':
- resolution: {integrity: sha512-ttblVGHgf68kEE4om1n/n44I0yGPkCPbLsqzjvybhpwa6mKKtgFfAzy6btc3HRmuW7nHe0OOrSeNP9sQmmH9XA==}
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.16':
+ resolution: {integrity: sha512-m5dDFJUEejbFqP+UXVstd4W/wnxA4F61q8SoL+mqTypId2T2ZpuxosNSgowiCnLp2+Z+rivdU0AqpfgiD7yCBg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
- '@tailwindcss/oxide@4.1.14':
- resolution: {integrity: sha512-23yx+VUbBwCg2x5XWdB8+1lkPajzLmALEfMb51zZUBYaYVPDQvBSD/WYDqiVyBIo2BZFa3yw1Rpy3G2Jp+K0dw==}
+ '@tailwindcss/oxide@4.1.16':
+ resolution: {integrity: sha512-2OSv52FRuhdlgyOQqgtQHuCgXnS8nFSYRp2tJ+4WZXKgTxqPy7SMSls8c3mPT5pkZ17SBToGM5LHEJBO7miEdg==}
engines: {node: '>= 10'}
- '@tailwindcss/postcss@4.1.14':
- resolution: {integrity: sha512-BdMjIxy7HUNThK87C7BC8I1rE8BVUsfNQSI5siQ4JK3iIa3w0XyVvVL9SXLWO//CtYTcp1v7zci0fYwJOjB+Zg==}
+ '@tailwindcss/postcss@4.1.16':
+ resolution: {integrity: sha512-Qn3SFGPXYQMKR/UtqS+dqvPrzEeBZHrFA92maT4zijCVggdsXnDBMsPFJo1eArX3J+O+Gi+8pV4PkqjLCNBk3A==}
- '@tailwindcss/vite@4.1.14':
- resolution: {integrity: sha512-BoFUoU0XqgCUS1UXWhmDJroKKhNXeDzD7/XwabjkDIAbMnc4ULn5e2FuEuBbhZ6ENZoSYzKlzvZ44Yr6EUDUSA==}
+ '@tailwindcss/vite@4.1.16':
+ resolution: {integrity: sha512-bbguNBcDxsRmi9nnlWJxhfDWamY3lmcyACHcdO1crxfzuLpOhHLLtEIN/nCbbAtj5rchUgQD17QVAKi1f7IsKg==}
peerDependencies:
vite: ^5.2.0 || ^6 || ^7
@@ -2677,14 +2677,14 @@ packages:
'@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
- '@types/node@20.19.21':
- resolution: {integrity: sha512-CsGG2P3I5y48RPMfprQGfy4JPRZ6csfC3ltBZSRItG3ngggmNY/qs2uZKp4p9VbrpqNNSMzUZNFZKzgOGnd/VA==}
+ '@types/node@20.19.23':
+ resolution: {integrity: sha512-yIdlVVVHXpmqRhtyovZAcSy0MiPcYWGkoO4CGe/+jpP0hmNuihm4XhHbADpK++MsiLHP5MVlv+bcgdF99kSiFQ==}
- '@types/node@24.7.2':
- resolution: {integrity: sha512-/NbVmcGTP+lj5oa4yiYxxeBjRivKQ5Ns1eSZeB99ExsEQ6rX5XYU1Zy/gGxY/ilqtD4Etx9mKyrPxZRetiahhA==}
+ '@types/node@24.9.1':
+ resolution: {integrity: sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==}
- '@types/react-dom@19.2.1':
- resolution: {integrity: sha512-/EEvYBdT3BflCWvTMO7YkYBHVE9Ci6XdqZciZANQgKpaiDRGOLIlRo91jbTNRQjgPFWVaRxcYc0luVNFitz57A==}
+ '@types/react-dom@19.2.2':
+ resolution: {integrity: sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==}
peerDependencies:
'@types/react': ^19.2.0
@@ -2703,74 +2703,74 @@ packages:
'@types/uuid@10.0.0':
resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==}
- '@typescript-eslint/eslint-plugin@8.46.0':
- resolution: {integrity: sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==}
+ '@typescript-eslint/eslint-plugin@8.46.2':
+ resolution: {integrity: sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.46.0
+ '@typescript-eslint/parser': ^8.46.2
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@8.46.0':
- resolution: {integrity: sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==}
+ '@typescript-eslint/parser@8.46.2':
+ resolution: {integrity: sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/project-service@8.46.0':
- resolution: {integrity: sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==}
+ '@typescript-eslint/project-service@8.46.2':
+ resolution: {integrity: sha512-PULOLZ9iqwI7hXcmL4fVfIsBi6AN9YxRc0frbvmg8f+4hQAjQ5GYNKK0DIArNo+rOKmR/iBYwkpBmnIwin4wBg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.46.0':
- resolution: {integrity: sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==}
+ '@typescript-eslint/scope-manager@8.46.2':
+ resolution: {integrity: sha512-LF4b/NmGvdWEHD2H4MsHD8ny6JpiVNDzrSZr3CsckEgCbAGZbYM4Cqxvi9L+WqDMT+51Ozy7lt2M+d0JLEuBqA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.46.0':
- resolution: {integrity: sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==}
+ '@typescript-eslint/tsconfig-utils@8.46.2':
+ resolution: {integrity: sha512-a7QH6fw4S57+F5y2FIxxSDyi5M4UfGF+Jl1bCGd7+L4KsaUY80GsiF/t0UoRFDHAguKlBaACWJRmdrc6Xfkkag==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/type-utils@8.46.0':
- resolution: {integrity: sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==}
+ '@typescript-eslint/type-utils@8.46.2':
+ resolution: {integrity: sha512-HbPM4LbaAAt/DjxXaG9yiS9brOOz6fabal4uvUmaUYe6l3K1phQDMQKBRUrr06BQkxkvIZVVHttqiybM9nJsLA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/types@8.46.0':
- resolution: {integrity: sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==}
+ '@typescript-eslint/types@8.46.2':
+ resolution: {integrity: sha512-lNCWCbq7rpg7qDsQrd3D6NyWYu+gkTENkG5IKYhUIcxSb59SQC/hEQ+MrG4sTgBVghTonNWq42bA/d4yYumldQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.46.0':
- resolution: {integrity: sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==}
+ '@typescript-eslint/typescript-estree@8.46.2':
+ resolution: {integrity: sha512-f7rW7LJ2b7Uh2EiQ+7sza6RDZnajbNbemn54Ob6fRwQbgcIn+GWfyuHDHRYgRoZu1P4AayVScrRW+YfbTvPQoQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.46.0':
- resolution: {integrity: sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==}
+ '@typescript-eslint/utils@8.46.2':
+ resolution: {integrity: sha512-sExxzucx0Tud5tE0XqR0lT0psBQvEpnpiul9XbGUB1QwpWJJAps1O/Z7hJxLGiZLBKMCutjTzDgmd1muEhBnVg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/visitor-keys@8.46.0':
- resolution: {integrity: sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==}
+ '@typescript-eslint/visitor-keys@8.46.2':
+ resolution: {integrity: sha512-tUFMXI4gxzzMXt4xpGJEsBsTox0XbNQ1y94EwlD/CuZwFcQP79xfQqMhau9HsRc/J0cAPA/HZt1dZPtGn9V/7w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@ungap/structured-clone@1.3.0':
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
- '@vercel/oidc@3.0.2':
- resolution: {integrity: sha512-JekxQ0RApo4gS4un/iMGsIL1/k4KUBe3HmnGcDvzHuFBdQdudEJgTqcsJC7y6Ul4Yw5CeykgvQbX2XeEJd0+DA==}
+ '@vercel/oidc@3.0.3':
+ resolution: {integrity: sha512-yNEQvPcVrK9sIe637+I0jD6leluPxzwJKx/Haw6F4H77CdDsszUn5V3o96LPziXkSNE2B83+Z3mjqGKBK/R6Gg==}
engines: {node: '>= 20'}
- '@vitejs/plugin-react@5.0.4':
- resolution: {integrity: sha512-La0KD0vGkVkSk6K+piWDKRUyg8Rl5iAIKRMH0vMJI0Eg47bq1eOxmoObAaQG37WMW9MSyk7Cs8EIWwJC1PtzKA==}
+ '@vitejs/plugin-react@5.1.0':
+ resolution: {integrity: sha512-4LuWrg7EKWgQaMJfnN+wcmbAW+VSsCmqGohftWjuct47bv8uE4n/nPpq4XjJPsxgq00GGG5J8dvBczp8uxScew==}
engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
@@ -2794,8 +2794,8 @@ packages:
engines: {node: '>=0.4.0'}
hasBin: true
- ai@5.0.68:
- resolution: {integrity: sha512-SB6r+4TkKVlSg2ozGBSfuf6Is5hrcX/bpGBzOoyHIN3b4ILGhaly0IHEvP8+3GGIHXqtkPVEUmR6V05jKdjNlg==}
+ ai@5.0.81:
+ resolution: {integrity: sha512-SB7oMC9QSpIu1VLswFTZuhhpfQfrGtFBUbWLtHBkhjWZIQskjtcdEhB+N4yO9hscdc2wYtjw/tacgoxX93QWFw==}
engines: {node: '>=18'}
peerDependencies:
zod: ^3.25.76 || ^4.1.8
@@ -2942,10 +2942,6 @@ packages:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
- chownr@3.0.0:
- resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
- engines: {node: '>=18'}
-
class-variance-authority@0.7.1:
resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
@@ -3027,6 +3023,22 @@ packages:
react:
optional: true
+ convex@1.28.0:
+ resolution: {integrity: sha512-40FgeJ/LxP9TxnkDDztU/A5gcGTdq1klcTT5mM0Ak+kSlQiDktMpjNX1TfkWLxXaE3lI4qvawKH95v2RiYgFxA==}
+ engines: {node: '>=18.0.0', npm: '>=7.0.0'}
+ hasBin: true
+ peerDependencies:
+ '@auth0/auth0-react': ^2.0.1
+ '@clerk/clerk-react': ^4.12.8 || ^5.0.0
+ react: ^18.0.0 || ^19.0.0-0 || ^19.0.0
+ peerDependenciesMeta:
+ '@auth0/auth0-react':
+ optional: true
+ '@clerk/clerk-react':
+ optional: true
+ react:
+ optional: true
+
cookie@0.7.2:
resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
engines: {node: '>= 0.6'}
@@ -3243,6 +3255,10 @@ packages:
resolution: {integrity: sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==}
engines: {node: '>=8'}
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
detect-node-es@1.1.0:
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
@@ -3322,8 +3338,8 @@ packages:
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
- eslint-plugin-react-refresh@0.4.23:
- resolution: {integrity: sha512-G4j+rv0NmbIR45kni5xJOrYvCtyD3/7LjpVH8MPPcudXDcNu8gv+4ATTDXTtbRR8rTCM5HxECvCSsRmxKnWDsA==}
+ eslint-plugin-react-refresh@0.4.24:
+ resolution: {integrity: sha512-nLHIW7TEq3aLrEYWpVaJ1dRgFR+wLDPN8e8FpYAql/bMV2oBEfC37K0gLEGgv9fy66juNShSMV8OkTqzltcG/w==}
peerDependencies:
eslint: '>=8.40'
@@ -3339,8 +3355,8 @@ packages:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.37.0:
- resolution: {integrity: sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==}
+ eslint@9.38.0:
+ resolution: {integrity: sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -3602,8 +3618,8 @@ packages:
resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==}
engines: {node: '>=0.10.0'}
- hono@4.9.12:
- resolution: {integrity: sha512-SrTC0YxqPwnN7yKa8gg/giLyQ2pILCKoideIHbYbFQlWZjYt68D2A4Ae1hehO/aDQ6RmTcpqOV/O2yBtMzx/VQ==}
+ hono@4.10.3:
+ resolution: {integrity: sha512-2LOYWUbnhdxdL8MNbNg9XZig6k+cZXm5IjHn2Aviv7honhBMOHb+jxrKIeJRZJRmn+htUCKhaicxwXuUDlchRA==}
engines: {node: '>=16.9.0'}
html-url-attributes@3.0.1:
@@ -3694,8 +3710,8 @@ packages:
jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
- jiti@2.6.0:
- resolution: {integrity: sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==}
+ jiti@2.6.1:
+ resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
joycon@3.1.1:
@@ -3770,70 +3786,140 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
+ lightningcss-android-arm64@1.30.2:
+ resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
lightningcss-darwin-arm64@1.30.1:
resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [darwin]
+ lightningcss-darwin-arm64@1.30.2:
+ resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
lightningcss-darwin-x64@1.30.1:
resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [darwin]
+ lightningcss-darwin-x64@1.30.2:
+ resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
lightningcss-freebsd-x64@1.30.1:
resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [freebsd]
+ lightningcss-freebsd-x64@1.30.2:
+ resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
lightningcss-linux-arm-gnueabihf@1.30.1:
resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==}
engines: {node: '>= 12.0.0'}
cpu: [arm]
os: [linux]
+ lightningcss-linux-arm-gnueabihf@1.30.2:
+ resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
lightningcss-linux-arm64-gnu@1.30.1:
resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ lightningcss-linux-arm64-gnu@1.30.2:
+ resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
lightningcss-linux-arm64-musl@1.30.1:
resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ lightningcss-linux-arm64-musl@1.30.2:
+ resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
lightningcss-linux-x64-gnu@1.30.1:
resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ lightningcss-linux-x64-gnu@1.30.2:
+ resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
lightningcss-linux-x64-musl@1.30.1:
resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ lightningcss-linux-x64-musl@1.30.2:
+ resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
lightningcss-win32-arm64-msvc@1.30.1:
resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [win32]
+ lightningcss-win32-arm64-msvc@1.30.2:
+ resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
lightningcss-win32-x64-msvc@1.30.1:
resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [win32]
+ lightningcss-win32-x64-msvc@1.30.2:
+ resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
lightningcss@1.30.1:
resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
engines: {node: '>= 12.0.0'}
+ lightningcss@1.30.2:
+ resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==}
+ engines: {node: '>= 12.0.0'}
+
lilconfig@3.1.3:
resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
engines: {node: '>=14'}
@@ -3884,6 +3970,9 @@ packages:
magic-string@0.30.19:
resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+
markdown-table@3.0.4:
resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
@@ -4055,8 +4144,8 @@ packages:
engines: {node: '>=10.0.0'}
hasBin: true
- miniflare@4.20251008.0:
- resolution: {integrity: sha512-sKCNYNzXG6l8qg0Oo7y8WcDKcpbgw0qwZsxNpdZilFTR4EavRow2TlcwuPSVN99jqAjhz0M4VXvTdSGdtJ2VfQ==}
+ miniflare@4.20251011.1:
+ resolution: {integrity: sha512-Qbw1Z8HTYM1adWl6FAtzhrj34/6dPRDPwdYOx21dkae8a/EaxbMzRIPbb4HKVGMVvtqbK1FaRCgDLVLolNzGHg==}
engines: {node: '>=18.0.0'}
hasBin: true
@@ -4083,10 +4172,6 @@ packages:
resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
engines: {node: '>= 8'}
- minizlib@3.1.0:
- resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==}
- engines: {node: '>= 18'}
-
mkdirp@1.0.4:
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
engines: {node: '>=10'}
@@ -4144,8 +4229,8 @@ packages:
node-releases@2.0.23:
resolution: {integrity: sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==}
- nuqs@2.7.1:
- resolution: {integrity: sha512-3WDgrOZWat0QyOheyljTlXK4TGFh1JKSLvXMgusMDcTyMJXe1xL8+q3zuQ6ke1vyeGnpJwztlZl2aDkMW2eIUg==}
+ nuqs@2.7.2:
+ resolution: {integrity: sha512-wOPJoz5om7jMJQick9zU1S/Q+joL+B2DZTZxfCleHEcUzjUnPoujGod4+nAmUWb+G9TwZnyv+mfNqlyfEi8Zag==}
peerDependencies:
'@remix-run/react': '>=2'
'@tanstack/react-router': ^1
@@ -4169,8 +4254,8 @@ packages:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
- octokit@5.0.3:
- resolution: {integrity: sha512-+bwYsAIRmYv30NTmBysPIlgH23ekVDriB07oRxlPIAH5PI0yTMSxg5i5Xy0OetcnZw+nk/caD4szD7a9YZ3QyQ==}
+ octokit@5.0.4:
+ resolution: {integrity: sha512-4n/mMoLQs2npBE+aTG5o4H+hZhFKu8aDqZFP/nmUNRUYrTpXpaqvX1ppK5eiCtQ+uP/8jI6vbdfCB2udlBgccA==}
engines: {node: '>= 20'}
ohash@2.0.11:
@@ -4338,8 +4423,8 @@ packages:
'@types/react': '>=18'
react: '>=18'
- react-refresh@0.17.0:
- resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
+ react-refresh@0.18.0:
+ resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==}
engines: {node: '>=0.10.0'}
react-remove-scroll-bar@2.3.8:
@@ -4595,8 +4680,8 @@ packages:
standardwebhooks@1.0.0:
resolution: {integrity: sha512-BbHGOQK9olHPMvQNHWul6MYlrRTAOKn03rOe4A8O3CLWhNf4YHBqq2HJKKC+sfqpxiBY52pNeesD6jIiLDz8jg==}
- std-env@3.9.0:
- resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
+ std-env@3.10.0:
+ resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==}
stoppable@1.1.0:
resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==}
@@ -4678,8 +4763,8 @@ packages:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
- svix@1.77.0:
- resolution: {integrity: sha512-rqyvcFHMq1eGIjYwZEEsW5MkeLH4FRr23TuSsLLhH+/wilK4sjdJSYmALTke3kyMqab7lqWTc9jyKFw6o0/oKg==}
+ svix@1.80.0:
+ resolution: {integrity: sha512-OdWaotwCJnPP1q381gacgwGm9HUAKgv0/EhMv+YdL0k3EI009i/3V8CvUka8a/MUDGgRQ0BsRPDzTy6ldxf13Q==}
swr@2.3.4:
resolution: {integrity: sha512-bYd2lrhc+VarcpkgWclcUi92wYCpOgMws9Sd1hG1ntAu0NEy+14CbotuFjshBU2kt9rYj9TSmDcybpxpeTU1fg==}
@@ -4689,21 +4774,17 @@ packages:
tailwind-merge@3.3.1:
resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==}
- tailwindcss@4.1.14:
- resolution: {integrity: sha512-b7pCxjGO98LnxVkKjaZSDeNuljC4ueKUddjENJOADtubtdo8llTaJy7HwBMeLNSSo2N5QIAgklslK1+Ir8r6CA==}
+ tailwindcss@4.1.16:
+ resolution: {integrity: sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==}
- tapable@2.2.3:
- resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==}
+ tapable@2.3.0:
+ resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
engines: {node: '>=6'}
tar@6.2.1:
resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
engines: {node: '>=10'}
- tar@7.5.1:
- resolution: {integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==}
- engines: {node: '>=18'}
-
thenify-all@1.6.0:
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
engines: {node: '>=0.8'}
@@ -4826,8 +4907,8 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- typescript-eslint@8.46.0:
- resolution: {integrity: sha512-6+ZrB6y2bT2DX3K+Qd9vn7OFOJR+xSLDj+Aw/N3zBwUt27uTw2sw2TE2+UcY1RiyBZkaGbTkVg9SSdPNUG6aUw==}
+ typescript-eslint@8.46.2:
+ resolution: {integrity: sha512-vbw8bOmiuYNdzzV3lsiWv6sRwjyuKJMQqWulBOU7M0RrxedXledX8G8kBbQeiOYDnTfiXz0Y4081E1QMNB6iQg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -4844,8 +4925,8 @@ packages:
undici-types@6.21.0:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
- undici-types@7.14.0:
- resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==}
+ undici-types@7.16.0:
+ resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
undici@7.14.0:
resolution: {integrity: sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==}
@@ -4923,6 +5004,11 @@ packages:
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ use-sync-external-store@1.6.0:
+ resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -4981,17 +5067,17 @@ packages:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
- workerd@1.20251008.0:
- resolution: {integrity: sha512-HwaJmXO3M1r4S8x2ea2vy8Rw/y/38HRQuK/gNDRQ7w9cJXn6xSl1sIIqKCffULSUjul3wV3I3Nd/GfbmsRReEA==}
+ workerd@1.20251011.0:
+ resolution: {integrity: sha512-Dq35TLPEJAw7BuYQMkN3p9rge34zWMU2Gnd4DSJFeVqld4+DAO2aPG7+We2dNIAyM97S8Y9BmHulbQ00E0HC7Q==}
engines: {node: '>=16'}
hasBin: true
- wrangler@4.43.0:
- resolution: {integrity: sha512-IBNqXlYHSUSCNNWj/tQN4hFiQy94l7fTxEnJWETXyW69+cjUyjQ7MfeoId3vIV9KBgY8y5M5uf2XulU95OikJg==}
+ wrangler@4.45.0:
+ resolution: {integrity: sha512-2qM6bHw8l7r89Z9Y5A7Wn4L9U+dFoLjYgEUVpqy7CcmXpppL3QIYqU6rU5lre7/SRzBuPu/H93Vwfh538gZ3iw==}
engines: {node: '>=18.0.0'}
hasBin: true
peerDependencies:
- '@cloudflare/workers-types': ^4.20251008.0
+ '@cloudflare/workers-types': ^4.20251011.0
peerDependenciesMeta:
'@cloudflare/workers-types':
optional: true
@@ -5034,10 +5120,6 @@ packages:
yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- yallist@5.0.0:
- resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
- engines: {node: '>=18'}
-
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
@@ -5059,14 +5141,14 @@ packages:
snapshots:
- '@ai-sdk/gateway@1.0.39(zod@4.1.12)':
+ '@ai-sdk/gateway@2.0.2(zod@4.1.12)':
dependencies:
'@ai-sdk/provider': 2.0.0
- '@ai-sdk/provider-utils': 3.0.12(zod@4.1.12)
- '@vercel/oidc': 3.0.2
+ '@ai-sdk/provider-utils': 3.0.13(zod@4.1.12)
+ '@vercel/oidc': 3.0.3
zod: 4.1.12
- '@ai-sdk/provider-utils@3.0.12(zod@4.1.12)':
+ '@ai-sdk/provider-utils@3.0.13(zod@4.1.12)':
dependencies:
'@ai-sdk/provider': 2.0.0
'@standard-schema/spec': 1.0.0
@@ -5086,7 +5168,7 @@ snapshots:
'@antfu/utils@9.2.1': {}
- '@anthropic-ai/claude-agent-sdk@0.1.14(zod@4.1.12)':
+ '@anthropic-ai/claude-agent-sdk@0.1.27(zod@4.1.12)':
dependencies:
zod: 4.1.12
optionalDependencies:
@@ -5750,10 +5832,10 @@ snapshots:
'@chevrotain/utils@11.0.3': {}
- '@clerk/backend@2.17.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@clerk/backend@2.19.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
- '@clerk/shared': 3.27.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@clerk/types': 4.92.0
+ '@clerk/shared': 3.28.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@clerk/types': 4.95.1
cookie: 1.0.2
standardwebhooks: 1.0.0
tslib: 2.8.1
@@ -5761,44 +5843,44 @@ snapshots:
- react
- react-dom
- '@clerk/clerk-react@5.51.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@clerk/clerk-react@5.53.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
- '@clerk/shared': 3.27.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@clerk/types': 4.92.0
+ '@clerk/shared': 3.28.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@clerk/types': 4.95.1
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
tslib: 2.8.1
- '@clerk/react-router@2.1.0(react-dom@19.2.0(react@19.2.0))(react-router@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)':
+ '@clerk/react-router@2.1.5(react-dom@19.2.0(react@19.2.0))(react-router@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)':
dependencies:
- '@clerk/backend': 2.17.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@clerk/clerk-react': 5.51.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@clerk/shared': 3.27.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@clerk/types': 4.92.0
+ '@clerk/backend': 2.19.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@clerk/clerk-react': 5.53.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@clerk/shared': 3.28.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@clerk/types': 4.95.1
cookie: 0.7.2
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
react-router: 7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
tslib: 2.8.1
- '@clerk/shared@3.27.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@clerk/shared@3.28.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
- '@clerk/types': 4.92.0
+ '@clerk/types': 4.95.1
dequal: 2.0.3
glob-to-regexp: 0.4.1
js-cookie: 3.0.5
- std-env: 3.9.0
+ std-env: 3.10.0
swr: 2.3.4(react@19.2.0)
optionalDependencies:
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
- '@clerk/themes@2.4.25':
+ '@clerk/themes@2.4.29':
dependencies:
- '@clerk/types': 4.92.0
+ '@clerk/types': 4.95.1
tslib: 2.8.1
- '@clerk/types@4.92.0':
+ '@clerk/types@4.95.1':
dependencies:
csstype: 3.1.3
@@ -5806,45 +5888,45 @@ snapshots:
dependencies:
mime: 3.0.0
- '@cloudflare/unenv-preset@2.7.7(unenv@2.0.0-rc.21)(workerd@1.20251008.0)':
+ '@cloudflare/unenv-preset@2.7.8(unenv@2.0.0-rc.21)(workerd@1.20251011.0)':
dependencies:
unenv: 2.0.0-rc.21
optionalDependencies:
- workerd: 1.20251008.0
+ workerd: 1.20251011.0
- '@cloudflare/vite-plugin@1.13.13(rolldown-vite@7.1.14(@types/node@24.7.2)(esbuild@0.25.4)(jiti@2.6.0)(tsx@4.20.6))(workerd@1.20251008.0)(wrangler@4.43.0(@cloudflare/workers-types@4.20251011.0))':
+ '@cloudflare/vite-plugin@1.13.15(rolldown-vite@7.1.14(@types/node@24.9.1)(esbuild@0.25.4)(jiti@2.6.1)(tsx@4.20.6))(workerd@1.20251011.0)(wrangler@4.45.0(@cloudflare/workers-types@4.20251014.0))':
dependencies:
- '@cloudflare/unenv-preset': 2.7.7(unenv@2.0.0-rc.21)(workerd@1.20251008.0)
+ '@cloudflare/unenv-preset': 2.7.8(unenv@2.0.0-rc.21)(workerd@1.20251011.0)
'@remix-run/node-fetch-server': 0.8.1
get-port: 7.1.0
- miniflare: 4.20251008.0
+ miniflare: 4.20251011.1
picocolors: 1.1.1
tinyglobby: 0.2.15
unenv: 2.0.0-rc.21
- vite: rolldown-vite@7.1.14(@types/node@24.7.2)(esbuild@0.25.4)(jiti@2.6.0)(tsx@4.20.6)
- wrangler: 4.43.0(@cloudflare/workers-types@4.20251011.0)
+ vite: rolldown-vite@7.1.14(@types/node@24.9.1)(esbuild@0.25.4)(jiti@2.6.1)(tsx@4.20.6)
+ wrangler: 4.45.0(@cloudflare/workers-types@4.20251014.0)
ws: 8.18.0
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- workerd
- '@cloudflare/workerd-darwin-64@1.20251008.0':
+ '@cloudflare/workerd-darwin-64@1.20251011.0':
optional: true
- '@cloudflare/workerd-darwin-arm64@1.20251008.0':
+ '@cloudflare/workerd-darwin-arm64@1.20251011.0':
optional: true
- '@cloudflare/workerd-linux-64@1.20251008.0':
+ '@cloudflare/workerd-linux-64@1.20251011.0':
optional: true
- '@cloudflare/workerd-linux-arm64@1.20251008.0':
+ '@cloudflare/workerd-linux-arm64@1.20251011.0':
optional: true
- '@cloudflare/workerd-windows-64@1.20251008.0':
+ '@cloudflare/workerd-windows-64@1.20251011.0':
optional: true
- '@cloudflare/workers-types@4.20251011.0': {}
+ '@cloudflare/workers-types@4.20251014.0': {}
'@cspotcode/source-map-support@0.8.1':
dependencies:
@@ -5888,6 +5970,11 @@ snapshots:
tslib: 2.8.1
optional: true
+ '@emnapi/runtime@1.6.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@emnapi/wasi-threads@1.1.0':
dependencies:
tslib: 2.8.1
@@ -5968,22 +6055,24 @@ snapshots:
'@esbuild/win32-x64@0.25.4':
optional: true
- '@eslint-community/eslint-utils@4.9.0(eslint@9.37.0(jiti@2.6.0))':
+ '@eslint-community/eslint-utils@4.9.0(eslint@9.38.0(jiti@2.6.1))':
dependencies:
- eslint: 9.37.0(jiti@2.6.0)
+ eslint: 9.38.0(jiti@2.6.1)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
- '@eslint/config-array@0.21.0':
+ '@eslint-community/regexpp@4.12.2': {}
+
+ '@eslint/config-array@0.21.1':
dependencies:
- '@eslint/object-schema': 2.1.6
+ '@eslint/object-schema': 2.1.7
debug: 4.4.3
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
- '@eslint/config-helpers@0.4.0':
+ '@eslint/config-helpers@0.4.1':
dependencies:
'@eslint/core': 0.16.0
@@ -6005,9 +6094,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.37.0': {}
+ '@eslint/js@9.38.0': {}
- '@eslint/object-schema@2.1.6': {}
+ '@eslint/object-schema@2.1.7': {}
'@eslint/plugin-kit@0.4.0':
dependencies:
@@ -6209,7 +6298,7 @@ snapshots:
'@img/sharp-wasm32@0.33.5':
dependencies:
- '@emnapi/runtime': 1.5.0
+ '@emnapi/runtime': 1.6.0
optional: true
'@img/sharp-wasm32@0.34.4':
@@ -6241,10 +6330,6 @@ snapshots:
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
- '@isaacs/fs-minipass@4.0.1':
- dependencies:
- minipass: 7.1.2
-
'@jridgewell/gen-mapping@0.3.13':
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -6325,7 +6410,7 @@ snapshots:
'@octokit/core': 7.0.5
'@octokit/oauth-app': 8.0.2
'@octokit/plugin-paginate-rest': 13.2.0(@octokit/core@7.0.5)
- '@octokit/types': 15.0.0
+ '@octokit/types': 15.0.1
'@octokit/webhooks': 14.1.3
'@octokit/auth-app@8.1.1':
@@ -6367,7 +6452,7 @@ snapshots:
'@octokit/auth-unauthenticated@7.0.2':
dependencies:
'@octokit/request-error': 7.0.1
- '@octokit/types': 15.0.0
+ '@octokit/types': 15.0.1
'@octokit/core@7.0.5':
dependencies:
@@ -6375,7 +6460,7 @@ snapshots:
'@octokit/graphql': 9.0.2
'@octokit/request': 10.0.5
'@octokit/request-error': 7.0.1
- '@octokit/types': 15.0.0
+ '@octokit/types': 15.0.1
before-after-hook: 4.0.0
universal-user-agent: 7.0.3
@@ -6387,7 +6472,7 @@ snapshots:
'@octokit/graphql@9.0.2':
dependencies:
'@octokit/request': 10.0.5
- '@octokit/types': 15.0.0
+ '@octokit/types': 15.0.1
universal-user-agent: 7.0.3
'@octokit/oauth-app@8.0.2':
@@ -6410,8 +6495,6 @@ snapshots:
'@octokit/request-error': 7.0.1
'@octokit/types': 15.0.0
- '@octokit/openapi-types@25.1.0': {}
-
'@octokit/openapi-types@26.0.0': {}
'@octokit/openapi-webhooks-types@12.0.3': {}
@@ -6423,24 +6506,24 @@ snapshots:
'@octokit/plugin-paginate-rest@13.2.0(@octokit/core@7.0.5)':
dependencies:
'@octokit/core': 7.0.5
- '@octokit/types': 15.0.0
+ '@octokit/types': 15.0.1
'@octokit/plugin-rest-endpoint-methods@16.1.0(@octokit/core@7.0.5)':
dependencies:
'@octokit/core': 7.0.5
- '@octokit/types': 15.0.0
+ '@octokit/types': 15.0.1
'@octokit/plugin-retry@8.0.2(@octokit/core@7.0.5)':
dependencies:
'@octokit/core': 7.0.5
'@octokit/request-error': 7.0.1
- '@octokit/types': 15.0.0
+ '@octokit/types': 15.0.1
bottleneck: 2.19.5
'@octokit/plugin-throttling@11.0.2(@octokit/core@7.0.5)':
dependencies:
'@octokit/core': 7.0.5
- '@octokit/types': 15.0.0
+ '@octokit/types': 15.0.1
bottleneck: 2.19.5
'@octokit/request-error@7.0.1':
@@ -6455,11 +6538,11 @@ snapshots:
fast-content-type-parse: 3.0.0
universal-user-agent: 7.0.3
- '@octokit/types@14.1.0':
+ '@octokit/types@15.0.0':
dependencies:
- '@octokit/openapi-types': 25.1.0
+ '@octokit/openapi-types': 26.0.0
- '@octokit/types@15.0.0':
+ '@octokit/types@15.0.1':
dependencies:
'@octokit/openapi-types': 26.0.0
@@ -6496,33 +6579,33 @@ snapshots:
'@radix-ui/primitive@1.1.3': {}
- '@radix-ui/react-alert-dialog@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-alert-dialog@1.1.15(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/primitive': 1.1.3
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-avatar@1.1.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-avatar@1.1.10(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0)
@@ -6530,35 +6613,35 @@ snapshots:
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/primitive': 1.1.3
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
'@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.2)(react@19.1.0)':
dependencies:
@@ -6578,18 +6661,18 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.2
- '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/primitive': 1.1.3
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0)
aria-hidden: 1.2.6
@@ -6598,7 +6681,7 @@ snapshots:
react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
'@radix-ui/react-direction@1.1.1(@types/react@19.2.2)(react@19.2.0)':
dependencies:
@@ -6606,33 +6689,33 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.2
- '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/primitive': 1.1.3
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.2)(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/primitive': 1.1.3
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
'@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.2)(react@19.2.0)':
dependencies:
@@ -6640,16 +6723,16 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.2
- '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
'@radix-ui/react-id@1.1.1(@types/react@19.2.2)(react@19.2.0)':
dependencies:
@@ -6658,31 +6741,31 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.2
- '@radix-ui/react-label@2.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-label@2.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0)
aria-hidden: 1.2.6
@@ -6691,21 +6774,21 @@ snapshots:
react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/primitive': 1.1.3
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0)
aria-hidden: 1.2.6
@@ -6714,15 +6797,15 @@ snapshots:
react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@floating-ui/react-dom': 2.1.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.2)(react@19.2.0)
@@ -6732,19 +6815,19 @@ snapshots:
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0)
@@ -6752,88 +6835,88 @@ snapshots:
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/number': 1.1.1
'@radix-ui/primitive': 1.1.3
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/number': 1.1.1
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
aria-hidden: 1.2.6
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
react-remove-scroll: 2.7.1(@types/react@19.2.2)(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-separator@1.1.7(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-separator@1.1.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
'@radix-ui/react-slot@1.2.3(@types/react@19.2.2)(react@19.1.0)':
dependencies:
@@ -6849,41 +6932,41 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.2
- '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/primitive': 1.1.3
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-direction': 1.1.1(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
- '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
'@radix-ui/primitive': 1.1.3
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-slot': 1.2.3(@types/react@19.2.2)(react@19.2.0)
'@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
'@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.2)(react@19.2.0)':
dependencies:
@@ -6946,14 +7029,14 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.2
- '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
+ '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
optionalDependencies:
'@types/react': 19.2.2
- '@types/react-dom': 19.2.1(@types/react@19.2.2)
+ '@types/react-dom': 19.2.2(@types/react@19.2.2)
'@radix-ui/rect@1.1.1': {}
@@ -7003,10 +7086,10 @@ snapshots:
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.41':
optional: true
- '@rolldown/pluginutils@1.0.0-beta.38': {}
-
'@rolldown/pluginutils@1.0.0-beta.41': {}
+ '@rolldown/pluginutils@1.0.0-beta.43': {}
+
'@rollup/rollup-android-arm-eabi@4.52.3':
optional: true
@@ -7445,7 +7528,7 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@speed-highlight/core@1.2.7': {}
+ '@speed-highlight/core@1.2.8': {}
'@stablelib/base64@1.0.1': {}
@@ -7464,84 +7547,81 @@ snapshots:
'@tabler/icons@3.35.0': {}
- '@tailwindcss/node@4.1.14':
+ '@tailwindcss/node@4.1.16':
dependencies:
'@jridgewell/remapping': 2.3.5
enhanced-resolve: 5.18.3
- jiti: 2.6.0
- lightningcss: 1.30.1
- magic-string: 0.30.19
+ jiti: 2.6.1
+ lightningcss: 1.30.2
+ magic-string: 0.30.21
source-map-js: 1.2.1
- tailwindcss: 4.1.14
+ tailwindcss: 4.1.16
- '@tailwindcss/oxide-android-arm64@4.1.14':
+ '@tailwindcss/oxide-android-arm64@4.1.16':
optional: true
- '@tailwindcss/oxide-darwin-arm64@4.1.14':
+ '@tailwindcss/oxide-darwin-arm64@4.1.16':
optional: true
- '@tailwindcss/oxide-darwin-x64@4.1.14':
+ '@tailwindcss/oxide-darwin-x64@4.1.16':
optional: true
- '@tailwindcss/oxide-freebsd-x64@4.1.14':
+ '@tailwindcss/oxide-freebsd-x64@4.1.16':
optional: true
- '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.14':
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.16':
optional: true
- '@tailwindcss/oxide-linux-arm64-gnu@4.1.14':
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.16':
optional: true
- '@tailwindcss/oxide-linux-arm64-musl@4.1.14':
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.16':
optional: true
- '@tailwindcss/oxide-linux-x64-gnu@4.1.14':
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.16':
optional: true
- '@tailwindcss/oxide-linux-x64-musl@4.1.14':
+ '@tailwindcss/oxide-linux-x64-musl@4.1.16':
optional: true
- '@tailwindcss/oxide-wasm32-wasi@4.1.14':
+ '@tailwindcss/oxide-wasm32-wasi@4.1.16':
optional: true
- '@tailwindcss/oxide-win32-arm64-msvc@4.1.14':
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.16':
optional: true
- '@tailwindcss/oxide-win32-x64-msvc@4.1.14':
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.16':
optional: true
- '@tailwindcss/oxide@4.1.14':
- dependencies:
- detect-libc: 2.1.1
- tar: 7.5.1
+ '@tailwindcss/oxide@4.1.16':
optionalDependencies:
- '@tailwindcss/oxide-android-arm64': 4.1.14
- '@tailwindcss/oxide-darwin-arm64': 4.1.14
- '@tailwindcss/oxide-darwin-x64': 4.1.14
- '@tailwindcss/oxide-freebsd-x64': 4.1.14
- '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.14
- '@tailwindcss/oxide-linux-arm64-gnu': 4.1.14
- '@tailwindcss/oxide-linux-arm64-musl': 4.1.14
- '@tailwindcss/oxide-linux-x64-gnu': 4.1.14
- '@tailwindcss/oxide-linux-x64-musl': 4.1.14
- '@tailwindcss/oxide-wasm32-wasi': 4.1.14
- '@tailwindcss/oxide-win32-arm64-msvc': 4.1.14
- '@tailwindcss/oxide-win32-x64-msvc': 4.1.14
-
- '@tailwindcss/postcss@4.1.14':
+ '@tailwindcss/oxide-android-arm64': 4.1.16
+ '@tailwindcss/oxide-darwin-arm64': 4.1.16
+ '@tailwindcss/oxide-darwin-x64': 4.1.16
+ '@tailwindcss/oxide-freebsd-x64': 4.1.16
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.16
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.1.16
+ '@tailwindcss/oxide-linux-arm64-musl': 4.1.16
+ '@tailwindcss/oxide-linux-x64-gnu': 4.1.16
+ '@tailwindcss/oxide-linux-x64-musl': 4.1.16
+ '@tailwindcss/oxide-wasm32-wasi': 4.1.16
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.1.16
+ '@tailwindcss/oxide-win32-x64-msvc': 4.1.16
+
+ '@tailwindcss/postcss@4.1.16':
dependencies:
'@alloc/quick-lru': 5.2.0
- '@tailwindcss/node': 4.1.14
- '@tailwindcss/oxide': 4.1.14
+ '@tailwindcss/node': 4.1.16
+ '@tailwindcss/oxide': 4.1.16
postcss: 8.5.6
- tailwindcss: 4.1.14
+ tailwindcss: 4.1.16
- '@tailwindcss/vite@4.1.14(rolldown-vite@7.1.14(@types/node@24.7.2)(esbuild@0.25.4)(jiti@2.6.0)(tsx@4.20.6))':
+ '@tailwindcss/vite@4.1.16(rolldown-vite@7.1.14(@types/node@24.9.1)(esbuild@0.25.4)(jiti@2.6.1)(tsx@4.20.6))':
dependencies:
- '@tailwindcss/node': 4.1.14
- '@tailwindcss/oxide': 4.1.14
- tailwindcss: 4.1.14
- vite: rolldown-vite@7.1.14(@types/node@24.7.2)(esbuild@0.25.4)(jiti@2.6.0)(tsx@4.20.6)
+ '@tailwindcss/node': 4.1.16
+ '@tailwindcss/oxide': 4.1.16
+ tailwindcss: 4.1.16
+ vite: rolldown-vite@7.1.14(@types/node@24.9.1)(esbuild@0.25.4)(jiti@2.6.1)(tsx@4.20.6)
'@tybys/wasm-util@0.10.1':
dependencies:
@@ -7714,15 +7794,15 @@ snapshots:
'@types/ms@2.1.0': {}
- '@types/node@20.19.21':
+ '@types/node@20.19.23':
dependencies:
undici-types: 6.21.0
- '@types/node@24.7.2':
+ '@types/node@24.9.1':
dependencies:
- undici-types: 7.14.0
+ undici-types: 7.16.0
- '@types/react-dom@19.2.1(@types/react@19.2.2)':
+ '@types/react-dom@19.2.2(@types/react@19.2.2)':
dependencies:
'@types/react': 19.2.2
@@ -7739,15 +7819,15 @@ snapshots:
'@types/uuid@10.0.0': {}
- '@typescript-eslint/eslint-plugin@8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)':
+ '@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)
- '@typescript-eslint/scope-manager': 8.46.0
- '@typescript-eslint/type-utils': 8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)
- '@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.46.0
- eslint: 9.37.0(jiti@2.6.0)
+ '@eslint-community/regexpp': 4.12.2
+ '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.46.2
+ '@typescript-eslint/type-utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.46.2
+ eslint: 9.38.0(jiti@2.6.1)
graphemer: 1.4.0
ignore: 7.0.5
natural-compare: 1.4.0
@@ -7756,56 +7836,56 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)':
+ '@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.46.0
- '@typescript-eslint/types': 8.46.0
- '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.46.0
+ '@typescript-eslint/scope-manager': 8.46.2
+ '@typescript-eslint/types': 8.46.2
+ '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.46.2
debug: 4.4.3
- eslint: 9.37.0(jiti@2.6.0)
+ eslint: 9.38.0(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.46.0(typescript@5.9.3)':
+ '@typescript-eslint/project-service@8.46.2(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3)
+ '@typescript-eslint/types': 8.46.2
debug: 4.4.3
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.46.0':
+ '@typescript-eslint/scope-manager@8.46.2':
dependencies:
- '@typescript-eslint/types': 8.46.0
- '@typescript-eslint/visitor-keys': 8.46.0
+ '@typescript-eslint/types': 8.46.2
+ '@typescript-eslint/visitor-keys': 8.46.2
- '@typescript-eslint/tsconfig-utils@8.46.0(typescript@5.9.3)':
+ '@typescript-eslint/tsconfig-utils@8.46.2(typescript@5.9.3)':
dependencies:
typescript: 5.9.3
- '@typescript-eslint/type-utils@8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)':
+ '@typescript-eslint/type-utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/types': 8.46.0
- '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.46.2
+ '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
debug: 4.4.3
- eslint: 9.37.0(jiti@2.6.0)
+ eslint: 9.38.0(jiti@2.6.1)
ts-api-utils: 2.1.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.46.0': {}
+ '@typescript-eslint/types@8.46.2': {}
- '@typescript-eslint/typescript-estree@8.46.0(typescript@5.9.3)':
+ '@typescript-eslint/typescript-estree@8.46.2(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/project-service': 8.46.0(typescript@5.9.3)
- '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.46.0
- '@typescript-eslint/visitor-keys': 8.46.0
+ '@typescript-eslint/project-service': 8.46.2(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3)
+ '@typescript-eslint/types': 8.46.2
+ '@typescript-eslint/visitor-keys': 8.46.2
debug: 4.4.3
fast-glob: 3.3.3
is-glob: 4.0.3
@@ -7816,35 +7896,35 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)':
+ '@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.0))
- '@typescript-eslint/scope-manager': 8.46.0
- '@typescript-eslint/types': 8.46.0
- '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3)
- eslint: 9.37.0(jiti@2.6.0)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1))
+ '@typescript-eslint/scope-manager': 8.46.2
+ '@typescript-eslint/types': 8.46.2
+ '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
+ eslint: 9.38.0(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.46.0':
+ '@typescript-eslint/visitor-keys@8.46.2':
dependencies:
- '@typescript-eslint/types': 8.46.0
+ '@typescript-eslint/types': 8.46.2
eslint-visitor-keys: 4.2.1
'@ungap/structured-clone@1.3.0': {}
- '@vercel/oidc@3.0.2': {}
+ '@vercel/oidc@3.0.3': {}
- '@vitejs/plugin-react@5.0.4(rolldown-vite@7.1.14(@types/node@24.7.2)(esbuild@0.25.4)(jiti@2.6.0)(tsx@4.20.6))':
+ '@vitejs/plugin-react@5.1.0(rolldown-vite@7.1.14(@types/node@24.9.1)(esbuild@0.25.4)(jiti@2.6.1)(tsx@4.20.6))':
dependencies:
'@babel/core': 7.28.4
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4)
'@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.4)
- '@rolldown/pluginutils': 1.0.0-beta.38
+ '@rolldown/pluginutils': 1.0.0-beta.43
'@types/babel__core': 7.20.5
- react-refresh: 0.17.0
- vite: rolldown-vite@7.1.14(@types/node@24.7.2)(esbuild@0.25.4)(jiti@2.6.0)(tsx@4.20.6)
+ react-refresh: 0.18.0
+ vite: rolldown-vite@7.1.14(@types/node@24.9.1)(esbuild@0.25.4)(jiti@2.6.1)(tsx@4.20.6)
transitivePeerDependencies:
- supports-color
@@ -7858,11 +7938,11 @@ snapshots:
acorn@8.15.0: {}
- ai@5.0.68(zod@4.1.12):
+ ai@5.0.81(zod@4.1.12):
dependencies:
- '@ai-sdk/gateway': 1.0.39(zod@4.1.12)
+ '@ai-sdk/gateway': 2.0.2(zod@4.1.12)
'@ai-sdk/provider': 2.0.0
- '@ai-sdk/provider-utils': 3.0.12(zod@4.1.12)
+ '@ai-sdk/provider-utils': 3.0.13(zod@4.1.12)
'@opentelemetry/api': 1.9.0
zod: 4.1.12
@@ -8000,8 +8080,6 @@ snapshots:
chownr@2.0.0: {}
- chownr@3.0.0: {}
-
class-variance-authority@0.7.1:
dependencies:
clsx: 2.1.1
@@ -8010,12 +8088,12 @@ snapshots:
clsx@2.1.1: {}
- cmdk@1.1.1(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
+ cmdk@1.1.1(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
dependencies:
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
'@radix-ui/react-id': 1.1.1(@types/react@19.2.2)(react@19.2.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
transitivePeerDependencies:
@@ -8060,12 +8138,20 @@ snapshots:
convert-source-map@2.0.0: {}
- convex@1.27.5(@clerk/clerk-react@5.51.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0):
+ convex@1.27.5(@clerk/clerk-react@5.53.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0):
+ dependencies:
+ esbuild: 0.25.4
+ prettier: 3.6.2
+ optionalDependencies:
+ '@clerk/clerk-react': 5.53.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ react: 19.2.0
+
+ convex@1.28.0(@clerk/clerk-react@5.53.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0):
dependencies:
esbuild: 0.25.4
prettier: 3.6.2
optionalDependencies:
- '@clerk/clerk-react': 5.51.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ '@clerk/clerk-react': 5.53.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
react: 19.2.0
cookie@0.7.2: {}
@@ -8298,6 +8384,8 @@ snapshots:
detect-libc@2.1.1: {}
+ detect-libc@2.1.2: {}
+
detect-node-es@1.1.0: {}
devlop@1.1.0:
@@ -8327,7 +8415,7 @@ snapshots:
enhanced-resolve@5.18.3:
dependencies:
graceful-fs: 4.2.11
- tapable: 2.2.3
+ tapable: 2.3.0
entities@6.0.1: {}
@@ -8382,13 +8470,13 @@ snapshots:
escape-string-regexp@5.0.0: {}
- eslint-plugin-react-hooks@5.2.0(eslint@9.37.0(jiti@2.6.0)):
+ eslint-plugin-react-hooks@5.2.0(eslint@9.38.0(jiti@2.6.1)):
dependencies:
- eslint: 9.37.0(jiti@2.6.0)
+ eslint: 9.38.0(jiti@2.6.1)
- eslint-plugin-react-refresh@0.4.23(eslint@9.37.0(jiti@2.6.0)):
+ eslint-plugin-react-refresh@0.4.24(eslint@9.38.0(jiti@2.6.1)):
dependencies:
- eslint: 9.37.0(jiti@2.6.0)
+ eslint: 9.38.0(jiti@2.6.1)
eslint-scope@8.4.0:
dependencies:
@@ -8399,21 +8487,20 @@ snapshots:
eslint-visitor-keys@4.2.1: {}
- eslint@9.37.0(jiti@2.6.0):
+ eslint@9.38.0(jiti@2.6.1):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.6.0))
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1))
'@eslint-community/regexpp': 4.12.1
- '@eslint/config-array': 0.21.0
- '@eslint/config-helpers': 0.4.0
+ '@eslint/config-array': 0.21.1
+ '@eslint/config-helpers': 0.4.1
'@eslint/core': 0.16.0
'@eslint/eslintrc': 3.3.1
- '@eslint/js': 9.37.0
+ '@eslint/js': 9.38.0
'@eslint/plugin-kit': 0.4.0
'@humanfs/node': 0.16.7
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3
'@types/estree': 1.0.8
- '@types/json-schema': 7.0.15
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.6
@@ -8437,7 +8524,7 @@ snapshots:
natural-compare: 1.4.0
optionator: 0.9.4
optionalDependencies:
- jiti: 2.6.0
+ jiti: 2.6.1
transitivePeerDependencies:
- supports-color
@@ -8752,7 +8839,7 @@ snapshots:
dependencies:
parse-passwd: 1.0.0
- hono@4.9.12: {}
+ hono@4.10.3: {}
html-url-attributes@3.0.1: {}
@@ -8820,7 +8907,7 @@ snapshots:
optionalDependencies:
'@pkgjs/parseargs': 0.11.0
- jiti@2.6.0: {}
+ jiti@2.6.1: {}
joycon@3.1.1: {}
@@ -8880,36 +8967,69 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
+ lightningcss-android-arm64@1.30.2:
+ optional: true
+
lightningcss-darwin-arm64@1.30.1:
optional: true
+ lightningcss-darwin-arm64@1.30.2:
+ optional: true
+
lightningcss-darwin-x64@1.30.1:
optional: true
+ lightningcss-darwin-x64@1.30.2:
+ optional: true
+
lightningcss-freebsd-x64@1.30.1:
optional: true
+ lightningcss-freebsd-x64@1.30.2:
+ optional: true
+
lightningcss-linux-arm-gnueabihf@1.30.1:
optional: true
+ lightningcss-linux-arm-gnueabihf@1.30.2:
+ optional: true
+
lightningcss-linux-arm64-gnu@1.30.1:
optional: true
+ lightningcss-linux-arm64-gnu@1.30.2:
+ optional: true
+
lightningcss-linux-arm64-musl@1.30.1:
optional: true
+ lightningcss-linux-arm64-musl@1.30.2:
+ optional: true
+
lightningcss-linux-x64-gnu@1.30.1:
optional: true
+ lightningcss-linux-x64-gnu@1.30.2:
+ optional: true
+
lightningcss-linux-x64-musl@1.30.1:
optional: true
+ lightningcss-linux-x64-musl@1.30.2:
+ optional: true
+
lightningcss-win32-arm64-msvc@1.30.1:
optional: true
+ lightningcss-win32-arm64-msvc@1.30.2:
+ optional: true
+
lightningcss-win32-x64-msvc@1.30.1:
optional: true
+ lightningcss-win32-x64-msvc@1.30.2:
+ optional: true
+
lightningcss@1.30.1:
dependencies:
detect-libc: 2.1.1
@@ -8925,6 +9045,22 @@ snapshots:
lightningcss-win32-arm64-msvc: 1.30.1
lightningcss-win32-x64-msvc: 1.30.1
+ lightningcss@1.30.2:
+ dependencies:
+ detect-libc: 2.1.2
+ optionalDependencies:
+ lightningcss-android-arm64: 1.30.2
+ lightningcss-darwin-arm64: 1.30.2
+ lightningcss-darwin-x64: 1.30.2
+ lightningcss-freebsd-x64: 1.30.2
+ lightningcss-linux-arm-gnueabihf: 1.30.2
+ lightningcss-linux-arm64-gnu: 1.30.2
+ lightningcss-linux-arm64-musl: 1.30.2
+ lightningcss-linux-x64-gnu: 1.30.2
+ lightningcss-linux-x64-musl: 1.30.2
+ lightningcss-win32-arm64-msvc: 1.30.2
+ lightningcss-win32-x64-msvc: 1.30.2
+
lilconfig@3.1.3: {}
lines-and-columns@1.2.4: {}
@@ -8971,6 +9107,10 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
+ magic-string@0.30.21:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
markdown-table@3.0.4: {}
marked@16.3.0: {}
@@ -9383,7 +9523,7 @@ snapshots:
mime@3.0.0: {}
- miniflare@4.20251008.0:
+ miniflare@4.20251011.1:
dependencies:
'@cspotcode/source-map-support': 0.8.1
acorn: 8.14.0
@@ -9393,7 +9533,7 @@ snapshots:
sharp: 0.33.5
stoppable: 1.1.0
undici: 7.14.0
- workerd: 1.20251008.0
+ workerd: 1.20251011.0
ws: 8.18.0
youch: 4.1.0-beta.10
zod: 3.22.3
@@ -9422,10 +9562,6 @@ snapshots:
minipass: 3.3.6
yallist: 4.0.0
- minizlib@3.1.0:
- dependencies:
- minipass: 7.1.2
-
mkdirp@1.0.4: {}
mlly@1.8.0:
@@ -9505,7 +9641,7 @@ snapshots:
node-releases@2.0.23: {}
- nuqs@2.7.1(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-router-dom@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-router@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0):
+ nuqs@2.7.2(next@15.5.4(@babel/core@7.28.4)(@opentelemetry/api@1.9.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-router-dom@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-router@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0):
dependencies:
'@standard-schema/spec': 1.0.0
react: 19.2.0
@@ -9516,7 +9652,7 @@ snapshots:
object-assign@4.1.1: {}
- octokit@5.0.3:
+ octokit@5.0.4:
dependencies:
'@octokit/app': 16.1.1
'@octokit/core': 7.0.5
@@ -9527,7 +9663,7 @@ snapshots:
'@octokit/plugin-retry': 8.0.2(@octokit/core@7.0.5)
'@octokit/plugin-throttling': 11.0.2(@octokit/core@7.0.5)
'@octokit/request-error': 7.0.1
- '@octokit/types': 14.1.0
+ '@octokit/types': 15.0.1
'@octokit/webhooks': 14.1.3
ohash@2.0.11: {}
@@ -9623,11 +9759,11 @@ snapshots:
path-data-parser: 0.1.0
points-on-curve: 0.2.0
- postcss-load-config@6.0.1(jiti@2.6.0)(postcss@8.5.6)(tsx@4.20.6):
+ postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.6)(tsx@4.20.6):
dependencies:
lilconfig: 3.1.3
optionalDependencies:
- jiti: 2.6.0
+ jiti: 2.6.1
postcss: 8.5.6
tsx: 4.20.6
@@ -9691,7 +9827,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- react-refresh@0.17.0: {}
+ react-refresh@0.18.0: {}
react-remove-scroll-bar@2.3.8(@types/react@19.2.2)(react@19.2.0):
dependencies:
@@ -9827,7 +9963,7 @@ snapshots:
robust-predicates@3.0.2: {}
- rolldown-vite@7.1.14(@types/node@24.7.2)(esbuild@0.25.4)(jiti@2.6.0)(tsx@4.20.6):
+ rolldown-vite@7.1.14(@types/node@24.9.1)(esbuild@0.25.4)(jiti@2.6.1)(tsx@4.20.6):
dependencies:
'@oxc-project/runtime': 0.92.0
fdir: 6.5.0(picomatch@4.0.3)
@@ -9837,10 +9973,10 @@ snapshots:
rolldown: 1.0.0-beta.41
tinyglobby: 0.2.15
optionalDependencies:
- '@types/node': 24.7.2
+ '@types/node': 24.9.1
esbuild: 0.25.4
fsevents: 2.3.3
- jiti: 2.6.0
+ jiti: 2.6.1
tsx: 4.20.6
rolldown@1.0.0-beta.41:
@@ -9925,7 +10061,7 @@ snapshots:
sharp@0.33.5:
dependencies:
color: 4.2.3
- detect-libc: 2.1.1
+ detect-libc: 2.1.2
semver: 7.7.3
optionalDependencies:
'@img/sharp-darwin-arm64': 0.33.5
@@ -10026,7 +10162,7 @@ snapshots:
'@stablelib/base64': 1.0.1
fast-sha256: 1.3.0
- std-env@3.9.0: {}
+ std-env@3.10.0: {}
stoppable@1.1.0: {}
@@ -10129,7 +10265,7 @@ snapshots:
dependencies:
has-flag: 4.0.0
- svix@1.77.0:
+ svix@1.80.0:
dependencies:
'@stablelib/base64': 1.0.1
fast-sha256: 1.3.0
@@ -10139,13 +10275,13 @@ snapshots:
dependencies:
dequal: 2.0.3
react: 19.2.0
- use-sync-external-store: 1.5.0(react@19.2.0)
+ use-sync-external-store: 1.6.0(react@19.2.0)
tailwind-merge@3.3.1: {}
- tailwindcss@4.1.14: {}
+ tailwindcss@4.1.16: {}
- tapable@2.2.3: {}
+ tapable@2.3.0: {}
tar@6.2.1:
dependencies:
@@ -10156,14 +10292,6 @@ snapshots:
mkdirp: 1.0.4
yallist: 4.0.0
- tar@7.5.1:
- dependencies:
- '@isaacs/fs-minipass': 4.0.1
- chownr: 3.0.0
- minipass: 7.1.2
- minizlib: 3.1.0
- yallist: 5.0.0
-
thenify-all@1.6.0:
dependencies:
thenify: 3.3.1
@@ -10209,7 +10337,7 @@ snapshots:
tslib@2.8.1: {}
- tsup@8.5.0(jiti@2.6.0)(postcss@8.5.6)(tsx@4.20.6)(typescript@5.9.3):
+ tsup@8.5.0(jiti@2.6.1)(postcss@8.5.6)(tsx@4.20.6)(typescript@5.9.3):
dependencies:
bundle-require: 5.1.0(esbuild@0.25.4)
cac: 6.7.14
@@ -10220,7 +10348,7 @@ snapshots:
fix-dts-default-cjs-exports: 1.0.1
joycon: 3.1.1
picocolors: 1.1.1
- postcss-load-config: 6.0.1(jiti@2.6.0)(postcss@8.5.6)(tsx@4.20.6)
+ postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.6)(tsx@4.20.6)
resolve-from: 5.0.0
rollup: 4.52.3
source-map: 0.8.0-beta.0
@@ -10277,13 +10405,13 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
- typescript-eslint@8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3):
+ typescript-eslint@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.46.0(@typescript-eslint/parser@8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3))(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)
- '@typescript-eslint/parser': 8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.46.0(eslint@9.37.0(jiti@2.6.0))(typescript@5.9.3)
- eslint: 9.37.0(jiti@2.6.0)
+ '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.38.0(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -10294,7 +10422,7 @@ snapshots:
undici-types@6.21.0: {}
- undici-types@7.14.0: {}
+ undici-types@7.16.0: {}
undici@7.14.0: {}
@@ -10386,6 +10514,10 @@ snapshots:
dependencies:
react: 19.2.0
+ use-sync-external-store@1.6.0(react@19.2.0):
+ dependencies:
+ react: 19.2.0
+
util-deprecate@1.0.2: {}
uuid@10.0.0: {}
@@ -10440,26 +10572,26 @@ snapshots:
word-wrap@1.2.5: {}
- workerd@1.20251008.0:
+ workerd@1.20251011.0:
optionalDependencies:
- '@cloudflare/workerd-darwin-64': 1.20251008.0
- '@cloudflare/workerd-darwin-arm64': 1.20251008.0
- '@cloudflare/workerd-linux-64': 1.20251008.0
- '@cloudflare/workerd-linux-arm64': 1.20251008.0
- '@cloudflare/workerd-windows-64': 1.20251008.0
+ '@cloudflare/workerd-darwin-64': 1.20251011.0
+ '@cloudflare/workerd-darwin-arm64': 1.20251011.0
+ '@cloudflare/workerd-linux-64': 1.20251011.0
+ '@cloudflare/workerd-linux-arm64': 1.20251011.0
+ '@cloudflare/workerd-windows-64': 1.20251011.0
- wrangler@4.43.0(@cloudflare/workers-types@4.20251011.0):
+ wrangler@4.45.0(@cloudflare/workers-types@4.20251014.0):
dependencies:
'@cloudflare/kv-asset-handler': 0.4.0
- '@cloudflare/unenv-preset': 2.7.7(unenv@2.0.0-rc.21)(workerd@1.20251008.0)
+ '@cloudflare/unenv-preset': 2.7.8(unenv@2.0.0-rc.21)(workerd@1.20251011.0)
blake3-wasm: 2.1.5
esbuild: 0.25.4
- miniflare: 4.20251008.0
+ miniflare: 4.20251011.1
path-to-regexp: 6.3.0
unenv: 2.0.0-rc.21
- workerd: 1.20251008.0
+ workerd: 1.20251011.0
optionalDependencies:
- '@cloudflare/workers-types': 4.20251011.0
+ '@cloudflare/workers-types': 4.20251014.0
fsevents: 2.3.3
transitivePeerDependencies:
- bufferutil
@@ -10485,8 +10617,6 @@ snapshots:
yallist@4.0.0: {}
- yallist@5.0.0: {}
-
yocto-queue@0.1.0: {}
youch-core@0.3.3:
@@ -10498,7 +10628,7 @@ snapshots:
dependencies:
'@poppinss/colors': 4.1.5
'@poppinss/dumper': 0.6.4
- '@speed-highlight/core': 1.2.7
+ '@speed-highlight/core': 1.2.8
cookie: 1.0.2
youch-core: 0.3.3