Full Code of di-sukharev/opencommit for AI

master 40182f26b311 cached
116 files
8.8 MB
2.3M tokens
3271 symbols
1 requests
Download .txt
Showing preview only (9,216K chars total). Download the full file or copy to clipboard to get everything.
Repository: di-sukharev/opencommit
Branch: master
Commit: 40182f26b311
Files: 116
Total size: 8.8 MB

Directory structure:
gitextract_owtnm45i/

├── .dockerignore
├── .eslintrc.json
├── .github/
│   ├── CONTRIBUTING.md
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug.yaml
│   │   └── featureRequest.yaml
│   ├── TODO.md
│   └── workflows/
│       ├── codeql.yml
│       ├── dependency-review.yml
│       └── test.yml
├── .gitignore
├── .npmignore
├── .opencommitignore
├── .prettierignore
├── .prettierrc
├── LICENSE
├── README.md
├── action.yml
├── esbuild.config.js
├── jest.config.ts
├── out/
│   ├── cli.cjs
│   ├── github-action.cjs
│   └── tiktoken_bg.wasm
├── package.json
├── src/
│   ├── CommandsEnum.ts
│   ├── cli.ts
│   ├── commands/
│   │   ├── ENUMS.ts
│   │   ├── README.md
│   │   ├── commit.ts
│   │   ├── commitlint.ts
│   │   ├── config.ts
│   │   ├── githook.ts
│   │   ├── models.ts
│   │   ├── prepare-commit-msg-hook.ts
│   │   └── setup.ts
│   ├── engine/
│   │   ├── Engine.ts
│   │   ├── aimlapi.ts
│   │   ├── anthropic.ts
│   │   ├── azure.ts
│   │   ├── deepseek.ts
│   │   ├── flowise.ts
│   │   ├── gemini.ts
│   │   ├── groq.ts
│   │   ├── mistral.ts
│   │   ├── mlx.ts
│   │   ├── ollama.ts
│   │   ├── openAi.ts
│   │   ├── openrouter.ts
│   │   └── testAi.ts
│   ├── generateCommitMessageFromGitDiff.ts
│   ├── github-action.ts
│   ├── i18n/
│   │   ├── cs.json
│   │   ├── de.json
│   │   ├── en.json
│   │   ├── es_ES.json
│   │   ├── fr.json
│   │   ├── id_ID.json
│   │   ├── index.ts
│   │   ├── it.json
│   │   ├── ja.json
│   │   ├── ko.json
│   │   ├── nl.json
│   │   ├── pl.json
│   │   ├── pt_br.json
│   │   ├── ru.json
│   │   ├── sv.json
│   │   ├── th.json
│   │   ├── tr.json
│   │   ├── vi_VN.json
│   │   ├── zh_CN.json
│   │   └── zh_TW.json
│   ├── migrations/
│   │   ├── 00_use_single_api_key_and_url.ts
│   │   ├── 01_remove_obsolete_config_keys_from_global_file.ts
│   │   ├── 02_set_missing_default_values.ts
│   │   ├── _migrations.ts
│   │   └── _run.ts
│   ├── modules/
│   │   └── commitlint/
│   │       ├── config.ts
│   │       ├── constants.ts
│   │       ├── crypto.ts
│   │       ├── prompts.ts
│   │       ├── pwd-commitlint.ts
│   │       ├── types.ts
│   │       └── utils.ts
│   ├── prompts.ts
│   ├── utils/
│   │   ├── checkIsLatestVersion.ts
│   │   ├── engine.ts
│   │   ├── engineErrorHandler.ts
│   │   ├── errors.ts
│   │   ├── git.ts
│   │   ├── mergeDiffs.ts
│   │   ├── modelCache.ts
│   │   ├── randomIntFromInterval.ts
│   │   ├── removeContentTags.ts
│   │   ├── removeConventionalCommitWord.ts
│   │   ├── sleep.ts
│   │   ├── tokenCount.ts
│   │   └── trytm.ts
│   └── version.ts
├── test/
│   ├── Dockerfile
│   ├── e2e/
│   │   ├── gitPush.test.ts
│   │   ├── noChanges.test.ts
│   │   ├── oneFile.test.ts
│   │   ├── prompt-module/
│   │   │   ├── commitlint.test.ts
│   │   │   └── data/
│   │   │       ├── commitlint_18/
│   │   │       │   ├── commitlint.config.js
│   │   │       │   └── package.json
│   │   │       ├── commitlint_19/
│   │   │       │   ├── commitlint.config.js
│   │   │       │   └── package.json
│   │   │       └── commitlint_9/
│   │   │           ├── commitlint.config.js
│   │   │           └── package.json
│   │   ├── setup.sh
│   │   └── utils.ts
│   ├── jest-setup.ts
│   └── unit/
│       ├── config.test.ts
│       ├── gemini.test.ts
│       ├── removeContentTags.test.ts
│       └── utils.ts
└── tsconfig.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .dockerignore
================================================
.env


================================================
FILE: .eslintrc.json
================================================
{
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:prettier/recommended"
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 12,
    "sourceType": "module"
  },
  "plugins": ["simple-import-sort", "import", "@typescript-eslint", "prettier"],
  "settings": {
    "import/resolver": {
      "node": {
        "extensions": [".js", ".jsx", ".ts", ".tsx"]
      }
    }
  },
  "packageManager": "npm",
  "rules": {
    "prettier/prettier": "error",
    "no-console": "error",
    "import/order": "off",
    "sort-imports": "off",
    "simple-import-sort/imports": "error",
    "simple-import-sort/exports": "error",
    "import/first": "error",
    "import/newline-after-import": "error",
    "import/no-duplicates": "error",
    "@typescript-eslint/no-non-null-assertion": "off"
  }
}


================================================
FILE: .github/CONTRIBUTING.md
================================================
# Contribution Guidelines

Thanks for considering contributing to the project.

## How to contribute

1. Fork the project repository on GitHub.
2. Clone your forked repository locally.
3. Create a new branch for your changes.
4. Make your changes and commit them with descriptive commit messages.
5. Push your changes to your forked repository.
6. Create a pull request from your branch to the `dev` branch. Not `master` branch, PR to `dev` branch, please.

## Getting started

To get started, follow these steps:

1. Clone the project repository locally.
2. Install dependencies with `npm install`.
3. Run the project with `npm run dev`.
4. See [issues](https://github.com/di-sukharev/opencommit/issues) or [TODO.md](TODO.md) to help the project.

## Commit message guidelines

Use the library to generate commits, stage the files and run `npm run dev` :)

## Reporting issues

If you encounter any issues while using the project, please report them on the GitHub issue tracker. When reporting issues, please include as much information as possible, such as steps to reproduce the issue, expected behavior, and actual behavior.

## Contacts

If you have any questions about contributing to the project, please contact by [creating an issue](https://github.com/di-sukharev/opencommit/issues) on the GitHub issue tracker.

## License

By contributing to this project, you agree that your contributions will be licensed under the MIT license, as specified in the `LICENSE` file in the root of the project.


================================================
FILE: .github/ISSUE_TEMPLATE/bug.yaml
================================================
name: 🐞 Bug Report
description: File a bug report
title: "[Bug]: "
labels: ["bug", "triage"]
assignees:
  - octocat
body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to fill out this bug report!
  - type: input
    id: opencommit-version
    attributes:
      label: Opencommit Version
      description: What version of our software are you running?
      placeholder: ex. 1.1.22
    validations:
      required: true
  - type: input
    id: node-version
    attributes:
      label: Node Version
      description: What version of node are you running?
      placeholder: ex. 19.8.1
    validations:
      required: true
  - type: input
    id: npm-version
    attributes:
      label: NPM Version
      description: What version of npm are you running?
      placeholder: ex. 9.6.2
    validations:
      required: true
  - type: dropdown
    id: OS
    attributes:
      label: What OS are you seeing the problem on?
      multiple: true
      options:
        - Mac
        - Windows
        - Other Linux Distro
  - type: textarea
    id: what-happened
    attributes:
      label: What happened?
      description: Also tell us, what did you expect to happen?
      placeholder: Tell us what you see!
      value: "A bug happened!"
    validations:
      required: true
  - type: textarea
    id: expected-behavior
    attributes:
      label: Expected Behavior
      description: Also tell us, what did you expect to happen?
      placeholder: Tell us what you expected to happen!
    validations:
      required: true   
  - type: textarea
    id: current-behavior
    attributes:
      label: Current Behavior
      description: Also tell us, what is currently happening?
      placeholder: Tell us what is happening now.
    validations:
      required: true
  - type: textarea
    id: possible-solution
    attributes:
      label: Possible Solution
      description: Do you have a solution for the issue?
      placeholder: Tell us what the solution could look like.
    validations:
      required: false
  - type: textarea
    id: steps-to-reproduce
    attributes:
      label: Steps to Reproduce
      description: Tell us how to reproduce the issue?
      placeholder: Tell us how to reproduce the issue?
    validations:
      required: false
  - type: textarea
    id: logs
    attributes:
      label: Relevant log output
      description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
      render: shell

================================================
FILE: .github/ISSUE_TEMPLATE/featureRequest.yaml
================================================
---
name: 🛠️ Feature Request
description: Suggest an idea to help us improve Opencommit
title: "[Feature]: "
labels:
  - "feature_request"

body:
  - type: markdown
    attributes:
      value: |
        **Thanks :heart: for taking the time to fill out this feature request report!**
        We kindly ask that you search to see if an issue [already exists](https://github.com/di-sukharev/opencommit/issues?q=is%3Aissue+sort%3Acreated-desc+) for your feature.

        We are also happy to accept contributions from our users. For more details see [here](https://github.com/di-sukharev/opencommit/blob/master/.github/CONTRIBUTING.md).

  - type: textarea
    attributes:
      label: Description
      description: |
        A clear and concise description of the feature you're interested in.
    validations:
      required: true

  - type: textarea
    attributes:
      label: Suggested Solution
      description: |
        Describe the solution you'd like. A clear and concise description of what you want to happen.
    validations:
      required: true

  - type: textarea
    attributes:
      label: Alternatives
      description: |
        Describe alternatives you've considered.
        A clear and concise description of any alternative solutions or features you've considered.
    validations:
      required: false

  - type: textarea
    attributes:
      label: Additional Context
      description: |
        Add any other context about the problem here.
    validations:
      required: false

================================================
FILE: .github/TODO.md
================================================
# TODOs

- [x] set prepare-commit-msg hook
- [] show "new version available" message, look into this commit e146d4d cli.ts file
- [] make bundle smaller by properly configuring esbuild
- [] [build for both mjs and cjs](https://snyk.io/blog/best-practices-create-modern-npm-package/)
- [] do // TODOs in the code
- [x] batch small files in one request
- [] add tests
- [] optimize prompt, maybe no prompt would be cleaner
- [] try setting max commit msg length, maybe it will make commits short and more concise


================================================
FILE: .github/workflows/codeql.yml
================================================
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
  push:
    branches: [ "master" ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ "master" ]
  schedule:
    - cron: '21 16 * * 0'

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest
    permissions:
      actions: read
      contents: read
      security-events: write

    strategy:
      fail-fast: false
      matrix:
        language: [ 'javascript' ]
        # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
        # Use only 'java' to analyze code written in Java, Kotlin or both
        # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
        # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

    steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    # Initializes the CodeQL tools for scanning.
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v3
      with:
        languages: ${{ matrix.language }}
        # If you wish to specify custom queries, you can do so here or in a config file.
        # By default, queries listed here will override any specified in a config file.
        # Prefix the list here with "+" to use these queries and those in the config file.

        # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
        # queries: security-extended,security-and-quality


    # Autobuild attempts to build any compiled languages  (C/C++, C#, Go, or Java).
    # If this step fails, then you should remove it and run the build manually (see below)
    - name: Autobuild
      uses: github/codeql-action/autobuild@v3

    # ℹ️ Command-line programs to run using the OS shell.
    # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

    #   If the Autobuild fails above, remove it and uncomment the following three lines.
    #   modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

    # - run: |
    #     echo "Run, Build Application using script"
    #     ./location_of_script_within_repo/buildscript.sh

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v3
      with:
        category: "/language:${{matrix.language}}"


================================================
FILE: .github/workflows/dependency-review.yml
================================================
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: 'Dependency Review'
on: [pull_request]

permissions:
  contents: read

jobs:
  dependency-review:
    runs-on: ubuntu-latest
    steps:
      - name: 'Checkout Repository'
        uses: actions/checkout@v4
      - name: 'Dependency Review'
        uses: actions/dependency-review-action@v3


================================================
FILE: .github/workflows/test.yml
================================================
name: Testing

on:
  pull_request:
  push:
    branches:
      - master
      - main

jobs:
  unit-test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [20.x]
    steps:
    - uses: actions/checkout@v4
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v3
      with:
        node-version: ${{ matrix.node-version }}
        cache: 'npm'
    - name: Install dependencies
      run: npm install
    - name: Run Unit Tests
      run: npm run test:unit
  e2e-test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [20.x]
    steps:
    - uses: actions/checkout@v4
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v3
      with:
        node-version: ${{ matrix.node-version }}
        cache: 'npm'
    - name: Install git
      run: |
        sudo apt-get update
        sudo apt-get install -y git
        git --version
    - name: Setup git
      run: |
        git config --global user.email "test@example.com"
        git config --global user.name "Test User"
    - name: Install dependencies
      run: npm install
    - name: Build
      run: npm run build
    - name: Run E2E Tests
      run: npm run test:e2e
  prettier:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Use Node.js
      uses: actions/setup-node@v4
      with:
        node-version: '20.x'
        cache: 'npm'
    - name: Install dependencies
      run: npm ci
    - name: Run Prettier
      run: npm run format:check
    - name: Prettier Output
      if: failure()
      run: |
        echo "Prettier check failed. Please run 'npm run format' to fix formatting issues."
        exit 1


================================================
FILE: .gitignore
================================================
node_modules/
coverage/
temp/
build/
application.log
.DS_Store
/*.env
logfile.log
uncaughtExceptions.log
.vscode
src/*.json
.idea
test.ts
notes.md
.nvmrc

================================================
FILE: .npmignore
================================================
out/github-action.cjs

================================================
FILE: .opencommitignore
================================================
out

================================================
FILE: .prettierignore
================================================
/build
/dist
/out

================================================
FILE: .prettierrc
================================================
{
  "trailingComma": "none",
  "singleQuote": true
}


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) Dima Sukharev, https://github.com/di-sukharev

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


================================================
FILE: README.md
================================================
<div align="center">
  <div>
    <img src=".github/logo-grad.svg" alt="OpenCommit logo"/>
    <h1 align="center">OpenCommit</h1>
    <h4 align="center">Author <a href="https://twitter.com/_sukharev_"><img src="https://img.shields.io/twitter/follow/_sukharev_?style=flat&label=_sukharev_&logo=twitter&color=0bf&logoColor=fff" align="center"></a>
  </div>
	<h2>Auto-generate meaningful commits in a second</h2>
	<p>Killing lame commits with AI 🤯🔫</p>
	<a href="https://www.npmjs.com/package/opencommit"><img src="https://img.shields.io/npm/v/opencommit" alt="Current version"></a>
  <h4 align="center">🪩 Winner of <a href="https://twitter.com/_sukharev_/status/1683448136973582336">GitHub 2023 hackathon</a> 🪩</h4>
</div>

---

<div align="center">
    <img src=".github/opencommit-example.png" alt="OpenCommit example"/>
</div>

All the commits in this repo are authored by OpenCommit — look at [the commits](https://github.com/di-sukharev/opencommit/commit/eae7618d575ee8d2e9fff5de56da79d40c4bc5fc) to see how OpenCommit works. Emojis and long commit descriptions are configurable, basically everything is.

## Setup OpenCommit as a CLI tool

You can use OpenCommit by simply running it via the CLI like this `oco`. 2 seconds and your staged changes are committed with a meaningful message.

1. Install OpenCommit globally to use in any repository:

   ```sh
   npm install -g opencommit
   ```

2. Get your API key from [OpenAI](https://platform.openai.com/account/api-keys) or other supported LLM providers (we support them all). Make sure that you add your OpenAI payment details to your account, so the API works.

3. Set the key to OpenCommit config:

   ```sh
   oco config set OCO_API_KEY=<your_api_key>
   ```

   Your API key is stored locally in the `~/.opencommit` config file.

## Usage

You can call OpenCommit with `oco` command to generate a commit message for your staged changes:

```sh
git add <files...>
oco
```

Running `git add` is optional, `oco` will do it for you.

### Running locally with Ollama

You can also run it with local model through ollama:

- install and start ollama
- run `ollama run mistral` (do this only once, to pull model)
- run (in your project directory):

```sh
git add <files...>
oco config set OCO_AI_PROVIDER='ollama' OCO_MODEL='llama3:8b'
```

Default model is `mistral`.

If you have ollama that is set up in docker/ on another machine with GPUs (not locally), you can change the default endpoint url.

You can do so by setting the `OCO_API_URL` environment variable as follows:

```sh
oco config set OCO_API_URL='http://192.168.1.10:11434/api/chat'
```

where 192.168.1.10 is example of endpoint URL, where you have ollama set up.

#### Troubleshooting Ollama IPv6/IPv4 Connection Fix

If you encounter issues with Ollama, such as the error

```sh
✖ local model issues. details: connect ECONNREFUSED ::1:11434
```

It's likely because Ollama is not listening on IPv6 by default. To fix this, you can set the OLLAMA_HOST environment variable to 0.0.0.0 before starting Ollama:

```bash
export OLLAMA_HOST=0.0.0.0
```

This will make Ollama listen on all interfaces, including IPv6 and IPv4, resolving the connection issue. You can add this line to your shell configuration file (like `.bashrc` or `.zshrc`) to make it persistent across sessions.

### Flags

There are multiple optional flags that can be used with the `oco` command:

#### Use Full GitMoji Specification

Link to the GitMoji specification: https://gitmoji.dev/

This flag can only be used if the `OCO_EMOJI` configuration item is set to `true`. This flag allows users to use all emojis in the GitMoji specification, By default, the GitMoji full specification is set to `false`, which only includes 10 emojis (🐛✨📝🚀✅♻️⬆️🔧🌐💡).

This is due to limit the number of tokens sent in each request. However, if you would like to use the full GitMoji specification, you can use the `--fgm` flag.

```
oco --fgm
```

#### Skip Commit Confirmation

This flag allows users to automatically commit the changes without having to manually confirm the commit message. This is useful for users who want to streamline the commit process and avoid additional steps. To use this flag, you can run the following command:

```
oco --yes
```

## Configuration

### Local per repo configuration

Create a `.env` file and add OpenCommit config variables there like this:

```env
...
OCO_AI_PROVIDER=<openai (default), anthropic, azure, ollama, gemini, flowise, deepseek, aimlapi>
OCO_API_KEY=<your OpenAI API token> // or other LLM provider API token
OCO_API_URL=<may be used to set proxy path to OpenAI api>
OCO_API_CUSTOM_HEADERS=<JSON string of custom HTTP headers to include in API requests>
OCO_TOKENS_MAX_INPUT=<max model token limit (default: 4096)>
OCO_TOKENS_MAX_OUTPUT=<max response tokens (default: 500)>
OCO_DESCRIPTION=<postface a message with ~3 sentences description of the changes>
OCO_EMOJI=<boolean, add GitMoji>
OCO_MODEL=<either 'gpt-4o-mini' (default), 'gpt-4o', 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo', 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview' or 'gpt-4-0125-preview' or any Anthropic or Ollama model or any string basically, but it should be a valid model name>
OCO_LANGUAGE=<locale, scroll to the bottom to see options>
OCO_MESSAGE_TEMPLATE_PLACEHOLDER=<message template placeholder, default: '$msg'>
OCO_PROMPT_MODULE=<either conventional-commit or @commitlint, default: conventional-commit>
OCO_ONE_LINE_COMMIT=<one line commit message, default: false>
```

Global configs are same as local configs, but they are stored in the global `~/.opencommit` config file and set with `oco config set` command, e.g. `oco config set OCO_MODEL=gpt-4o`.

### Global config for all repos

Local config still has more priority than Global config, but you may set `OCO_MODEL` and `OCO_LOCALE` globally and set local configs for `OCO_EMOJI` and `OCO_DESCRIPTION` per repo which is more convenient.

Simply set any of the variables above like this:

```sh
oco config set OCO_MODEL=gpt-4o-mini
```

To see all available configuration parameters and their accepted values:

```sh
oco config describe
```

To see details for a specific parameter:

```sh
oco config describe OCO_MODEL
```

Configure [GitMoji](https://gitmoji.dev/) to preface a message.

```sh
oco config set OCO_EMOJI=true
```

To remove preface emojis:

```sh
oco config set OCO_EMOJI=false
```

Other config options are behaving the same.

### Output WHY the changes were done (WIP)

You can set the `OCO_WHY` config to `true` to have OpenCommit output a short description of WHY the changes were done after the commit message. Default is `false`.

To make this perform accurate we must store 'what files do' in some kind of an index or embedding and perform a lookup (kinda RAG) for the accurate git commit message. If you feel like building this comment on this ticket https://github.com/di-sukharev/opencommit/issues/398 and let's go from there together.

```sh
oco config set OCO_WHY=true
```

### Switch to GPT-4 or other models

By default, OpenCommit uses `gpt-4o-mini` model.

You may switch to gpt-4o which performs better, but costs more 🤠

```sh
oco config set OCO_MODEL=gpt-4o
```

or for as a cheaper option:

```sh
oco config set OCO_MODEL=gpt-3.5-turbo
```

### Model Management

OpenCommit automatically fetches available models from your provider when you run `oco setup`. Models are cached for 7 days to reduce API calls.

To see available models for your current provider:

```sh
oco models
```

To refresh the model list (e.g., after new models are released):

```sh
oco models --refresh
```

To see models for a specific provider:

```sh
oco models --provider anthropic
```

### Switch to other LLM providers with a custom URL

By default OpenCommit uses [OpenAI](https://openai.com).

You could switch to [Azure OpenAI Service](https://learn.microsoft.com/azure/cognitive-services/openai/) or Flowise or Ollama.

```sh
oco config set OCO_AI_PROVIDER=azure OCO_API_KEY=<your_azure_api_key> OCO_API_URL=<your_azure_endpoint>

oco config set OCO_AI_PROVIDER=flowise OCO_API_KEY=<your_flowise_api_key> OCO_API_URL=<your_flowise_endpoint>

oco config set OCO_AI_PROVIDER=ollama OCO_API_KEY=<your_ollama_api_key> OCO_API_URL=<your_ollama_endpoint>
```

### Locale configuration

To globally specify the language used to generate commit messages:

```sh
# de, German, Deutsch
oco config set OCO_LANGUAGE=de
oco config set OCO_LANGUAGE=German
oco config set OCO_LANGUAGE=Deutsch

# fr, French, française
oco config set OCO_LANGUAGE=fr
oco config set OCO_LANGUAGE=French
oco config set OCO_LANGUAGE=française
```

The default language setting is **English**
All available languages are currently listed in the [i18n](https://github.com/di-sukharev/opencommit/tree/master/src/i18n) folder

### Push to git (gonna be deprecated)

A prompt for pushing to git is on by default but if you would like to turn it off just use:

```sh
oco config set OCO_GITPUSH=false
```

and it will exit right after commit is confirmed without asking if you would like to push to remote.

### Switch to `@commitlint`

OpenCommit allows you to choose the prompt module used to generate commit messages. By default, OpenCommit uses its conventional-commit message generator. However, you can switch to using the `@commitlint` prompt module if you prefer. This option lets you generate commit messages in respect with the local config.

You can set this option by running the following command:

```sh
oco config set OCO_PROMPT_MODULE=<module>
```

Replace `<module>` with either `conventional-commit` or `@commitlint`.

#### Example:

To switch to using the `'@commitlint` prompt module, run:

```sh
oco config set OCO_PROMPT_MODULE=@commitlint
```

To switch back to the default conventional-commit message generator, run:

```sh
oco config set OCO_PROMPT_MODULE=conventional-commit
```

#### Integrating with `@commitlint`

The integration between `@commitlint` and OpenCommit is done automatically the first time OpenCommit is run with `OCO_PROMPT_MODULE` set to `@commitlint`. However, if you need to force set or reset the configuration for `@commitlint`, you can run the following command:

```sh
oco commitlint force
```

To view the generated configuration for `@commitlint`, you can use this command:

```sh
oco commitlint get
```

This allows you to ensure that the configuration is set up as desired.

Additionally, the integration creates a file named `.opencommit-commitlint` which contains the prompts used for the local `@commitlint` configuration. You can modify this file to fine-tune the example commit message generated by OpenAI. This gives you the flexibility to make adjustments based on your preferences or project guidelines.

OpenCommit generates a file named `.opencommit-commitlint` in your project directory which contains the prompts used for the local `@commitlint` configuration. You can modify this file to fine-tune the example commit message generated by OpenAI. If the local `@commitlint` configuration changes, this file will be updated the next time OpenCommit is run.

This offers you greater control over the generated commit messages, allowing for customization that aligns with your project's conventions.

## Git flags

The `opencommit` or `oco` commands can be used in place of the `git commit -m "${generatedMessage}"` command. This means that any regular flags that are used with the `git commit` command will also be applied when using `opencommit` or `oco`.

```sh
oco --no-verify
```

is translated to :

```sh
git commit -m "${generatedMessage}" --no-verify
```

To include a message in the generated message, you can utilize the template function, for instance:

```sh
oco '#205: $msg’
```

> opencommit examines placeholders in the parameters, allowing you to append additional information before and after the placeholders, such as the relevant Issue or Pull Request. Similarly, you have the option to customize the OCO_MESSAGE_TEMPLATE_PLACEHOLDER configuration item, for example, simplifying it to $m!"

### Message Template Placeholder Config

#### Overview

The `OCO_MESSAGE_TEMPLATE_PLACEHOLDER` feature in the `opencommit` tool allows users to embed a custom message within the generated commit message using a template function. This configuration is designed to enhance the flexibility and customizability of commit messages, making it easier for users to include relevant information directly within their commits.

#### Implementation Details

In our codebase, the implementation of this feature can be found in the following segment:

```javascript
commitMessage = messageTemplate.replace(
  config.OCO_MESSAGE_TEMPLATE_PLACEHOLDER,
  commitMessage
);
```

This line is responsible for replacing the placeholder in the `messageTemplate` with the actual `commitMessage`.

#### Usage

For instance, using the command `oco '$msg #205’`, users can leverage this feature. The provided code represents the backend mechanics of such commands, ensuring that the placeholder is replaced with the appropriate commit message.

#### Committing with the Message

Once users have generated their desired commit message, they can proceed to commit using the generated message. By understanding the feature's full potential and its implementation details, users can confidently use the generated messages for their commits.

### Ignore files

You can remove files from being sent to OpenAI by creating a `.opencommitignore` file. For example:

```ignorelang
path/to/large-asset.zip
**/*.jpg
```

This helps prevent opencommit from uploading artifacts and large files.

By default, opencommit ignores files matching: `*-lock.*` and `*.lock`

## Git hook (KILLER FEATURE)

You can set OpenCommit as Git [`prepare-commit-msg`](https://git-scm.com/docs/githooks#_prepare_commit_msg) hook. Hook integrates with your IDE Source Control and allows you to edit the message before committing.

To set the hook:

```sh
oco hook set
```

To unset the hook:

```sh
oco hook unset
```

To use the hook:

```sh
git add <files...>
git commit
```

Or follow the process of your IDE Source Control feature, when it calls `git commit` command — OpenCommit will integrate into the flow.

## Setup OpenCommit as a GitHub Action (BETA) 🔥

OpenCommit is now available as a GitHub Action which automatically improves all new commits messages when you push to remote!

This is great if you want to make sure all commits in all of your repository branches are meaningful and not lame like `fix1` or `done2`.

Create a file `.github/workflows/opencommit.yml` with the contents below:

```yml
name: 'OpenCommit Action'

on:
  push:
    # this list of branches is often enough,
    # but you may still ignore other public branches
    branches-ignore: [main master dev development release]

jobs:
  opencommit:
    timeout-minutes: 10
    name: OpenCommit
    runs-on: ubuntu-latest
    permissions: write-all
    steps:
      - name: Setup Node.js Environment
        uses: actions/setup-node@v2
        with:
          node-version: '16'
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - uses: di-sukharev/opencommit@github-action-v1.0.4
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

        env:
          # set openAI api key in repo actions secrets,
          # for openAI keys go to: https://platform.openai.com/account/api-keys
          # for repo secret go to: <your_repo_url>/settings/secrets/actions
          OCO_API_KEY: ${{ secrets.OCO_API_KEY }}

          # customization
          OCO_TOKENS_MAX_INPUT: 4096
          OCO_TOKENS_MAX_OUTPUT: 500
          OCO_OPENAI_BASE_PATH: ''
          OCO_DESCRIPTION: false
          OCO_EMOJI: false
          OCO_MODEL: gpt-4o
          OCO_LANGUAGE: en
          OCO_PROMPT_MODULE: conventional-commit
```

That is it. Now when you push to any branch in your repo — all NEW commits are being improved by your never-tired AI.

Make sure you exclude public collaboration branches (`main`, `dev`, `etc`) in `branches-ignore`, so OpenCommit does not rebase commits there while improving the messages.

Interactive rebase (`rebase -i`) changes commits' SHA, so the commit history in remote becomes different from your local branch history. This is okay if you work on the branch alone, but may be inconvenient for other collaborators.

## Payments

You pay for your requests to OpenAI API on your own.

OpenCommit stores your key locally.

OpenCommit by default uses 3.5-turbo model, it should not exceed $0.10 per casual working day.

You may switch to gpt-4, it's better, but more expensive.


================================================
FILE: action.yml
================================================
name: 'OpenCommit — improve commits with AI 🧙'
description: 'Replaces lame commit messages with meaningful AI-generated messages when you push to remote'
author: 'https://github.com/di-sukharev'
repo: 'https://github.com/di-sukharev/opencommit/tree/github-action'
branding:
  icon: 'git-commit'
  color: 'green'
keywords:
  [
    'git',
    'chatgpt',
    'gpt',
    'ai',
    'openai',
    'opencommit',
    'aicommit',
    'aicommits',
    'gptcommit',
    'commit'
  ]

inputs:
  GITHUB_TOKEN:
    description: 'GitHub token'
    required: true

runs:
  using: 'node16'
  main: 'out/github-action.cjs'


================================================
FILE: esbuild.config.js
================================================
import { build } from 'esbuild';
import fs from 'fs';

await build({
  entryPoints: ['./src/cli.ts'],
  bundle: true,
  platform: 'node',
  format: 'cjs',
  outfile: './out/cli.cjs'
});

await build({
  entryPoints: ['./src/github-action.ts'],
  bundle: true,
  platform: 'node',
  format: 'cjs',
  outfile: './out/github-action.cjs'
});

const wasmFile = fs.readFileSync(
  './node_modules/@dqbd/tiktoken/lite/tiktoken_bg.wasm'
);

fs.writeFileSync('./out/tiktoken_bg.wasm', wasmFile);


================================================
FILE: jest.config.ts
================================================
/**
 * For a detailed explanation regarding each configuration property, visit:
 * https://jestjs.io/docs/configuration
 */

import type { Config } from 'jest';

const config: Config = {
  testTimeout: 100_000,
  coverageProvider: 'v8',
  moduleDirectories: ['node_modules', 'src'],
  preset: 'ts-jest/presets/default-esm',
  setupFilesAfterEnv: ['<rootDir>/test/jest-setup.ts'],
  testEnvironment: 'node',
  testRegex: ['.*\\.test\\.ts$'],
  // Tell Jest to ignore the specific duplicate package.json files
  // that are causing Haste module naming collisions
  modulePathIgnorePatterns: [
    '<rootDir>/test/e2e/prompt-module/data/'
  ],
  transformIgnorePatterns: [
    'node_modules/(?!(cli-testing-library|@clack|cleye)/.*)'
  ],
  transform: {
    '^.+\\.(ts|tsx|js|jsx|mjs)$': [
      'ts-jest',
      {
        diagnostics: false,
        useESM: true,
        tsconfig: {
          module: 'ESNext',
          target: 'ES2022'
        }
      }
    ]
  },
  moduleNameMapper: {
    '^(\\.{1,2}/.*)\\.js$': '$1'
  }
};

export default config;


================================================
FILE: out/cli.cjs
================================================
#!/usr/bin/env node
"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __esm = (fn, res) => function __init() {
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
};
var __commonJS = (cb, mod) => function __require() {
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all3) => {
  for (var name in all3)
    __defProp(target, name, { get: all3[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  // If the importer is in node compatibility mode or this is not an ESM
  // file that has been converted to a CommonJS file using a Babel-
  // compatible transform (i.e. "__esModule" has not been set), then set
  // "default" to the CommonJS "module.exports" for node compatibility.
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  mod
));

// node_modules/sisteransi/src/index.js
var require_src = __commonJS({
  "node_modules/sisteransi/src/index.js"(exports2, module2) {
    "use strict";
    var ESC = "\x1B";
    var CSI = `${ESC}[`;
    var beep = "\x07";
    var cursor = {
      to(x5, y6) {
        if (!y6) return `${CSI}${x5 + 1}G`;
        return `${CSI}${y6 + 1};${x5 + 1}H`;
      },
      move(x5, y6) {
        let ret = "";
        if (x5 < 0) ret += `${CSI}${-x5}D`;
        else if (x5 > 0) ret += `${CSI}${x5}C`;
        if (y6 < 0) ret += `${CSI}${-y6}A`;
        else if (y6 > 0) ret += `${CSI}${y6}B`;
        return ret;
      },
      up: (count = 1) => `${CSI}${count}A`,
      down: (count = 1) => `${CSI}${count}B`,
      forward: (count = 1) => `${CSI}${count}C`,
      backward: (count = 1) => `${CSI}${count}D`,
      nextLine: (count = 1) => `${CSI}E`.repeat(count),
      prevLine: (count = 1) => `${CSI}F`.repeat(count),
      left: `${CSI}G`,
      hide: `${CSI}?25l`,
      show: `${CSI}?25h`,
      save: `${ESC}7`,
      restore: `${ESC}8`
    };
    var scroll = {
      up: (count = 1) => `${CSI}S`.repeat(count),
      down: (count = 1) => `${CSI}T`.repeat(count)
    };
    var erase = {
      screen: `${CSI}2J`,
      up: (count = 1) => `${CSI}1J`.repeat(count),
      down: (count = 1) => `${CSI}J`.repeat(count),
      line: `${CSI}2K`,
      lineEnd: `${CSI}K`,
      lineStart: `${CSI}1K`,
      lines(count) {
        let clear = "";
        for (let i3 = 0; i3 < count; i3++)
          clear += this.line + (i3 < count - 1 ? cursor.up() : "");
        if (count)
          clear += cursor.left;
        return clear;
      }
    };
    module2.exports = { cursor, scroll, erase, beep };
  }
});

// node_modules/picocolors/picocolors.js
var require_picocolors = __commonJS({
  "node_modules/picocolors/picocolors.js"(exports2, module2) {
    var p4 = process || {};
    var argv = p4.argv || [];
    var env2 = p4.env || {};
    var isColorSupported = !(!!env2.NO_COLOR || argv.includes("--no-color")) && (!!env2.FORCE_COLOR || argv.includes("--color") || p4.platform === "win32" || (p4.stdout || {}).isTTY && env2.TERM !== "dumb" || !!env2.CI);
    var formatter = (open, close, replace = open) => (input) => {
      let string = "" + input, index = string.indexOf(close, open.length);
      return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
    };
    var replaceClose = (string, close, replace, index) => {
      let result = "", cursor = 0;
      do {
        result += string.substring(cursor, index) + replace;
        cursor = index + close.length;
        index = string.indexOf(close, cursor);
      } while (~index);
      return result + string.substring(cursor);
    };
    var createColors = (enabled2 = isColorSupported) => {
      let f4 = enabled2 ? formatter : () => String;
      return {
        isColorSupported: enabled2,
        reset: f4("\x1B[0m", "\x1B[0m"),
        bold: f4("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
        dim: f4("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
        italic: f4("\x1B[3m", "\x1B[23m"),
        underline: f4("\x1B[4m", "\x1B[24m"),
        inverse: f4("\x1B[7m", "\x1B[27m"),
        hidden: f4("\x1B[8m", "\x1B[28m"),
        strikethrough: f4("\x1B[9m", "\x1B[29m"),
        black: f4("\x1B[30m", "\x1B[39m"),
        red: f4("\x1B[31m", "\x1B[39m"),
        green: f4("\x1B[32m", "\x1B[39m"),
        yellow: f4("\x1B[33m", "\x1B[39m"),
        blue: f4("\x1B[34m", "\x1B[39m"),
        magenta: f4("\x1B[35m", "\x1B[39m"),
        cyan: f4("\x1B[36m", "\x1B[39m"),
        white: f4("\x1B[37m", "\x1B[39m"),
        gray: f4("\x1B[90m", "\x1B[39m"),
        bgBlack: f4("\x1B[40m", "\x1B[49m"),
        bgRed: f4("\x1B[41m", "\x1B[49m"),
        bgGreen: f4("\x1B[42m", "\x1B[49m"),
        bgYellow: f4("\x1B[43m", "\x1B[49m"),
        bgBlue: f4("\x1B[44m", "\x1B[49m"),
        bgMagenta: f4("\x1B[45m", "\x1B[49m"),
        bgCyan: f4("\x1B[46m", "\x1B[49m"),
        bgWhite: f4("\x1B[47m", "\x1B[49m"),
        blackBright: f4("\x1B[90m", "\x1B[39m"),
        redBright: f4("\x1B[91m", "\x1B[39m"),
        greenBright: f4("\x1B[92m", "\x1B[39m"),
        yellowBright: f4("\x1B[93m", "\x1B[39m"),
        blueBright: f4("\x1B[94m", "\x1B[39m"),
        magentaBright: f4("\x1B[95m", "\x1B[39m"),
        cyanBright: f4("\x1B[96m", "\x1B[39m"),
        whiteBright: f4("\x1B[97m", "\x1B[39m"),
        bgBlackBright: f4("\x1B[100m", "\x1B[49m"),
        bgRedBright: f4("\x1B[101m", "\x1B[49m"),
        bgGreenBright: f4("\x1B[102m", "\x1B[49m"),
        bgYellowBright: f4("\x1B[103m", "\x1B[49m"),
        bgBlueBright: f4("\x1B[104m", "\x1B[49m"),
        bgMagentaBright: f4("\x1B[105m", "\x1B[49m"),
        bgCyanBright: f4("\x1B[106m", "\x1B[49m"),
        bgWhiteBright: f4("\x1B[107m", "\x1B[49m")
      };
    };
    module2.exports = createColors();
    module2.exports.createColors = createColors;
  }
});

// node_modules/@clack/core/dist/index.mjs
function q3({ onlyFirst: t2 = false } = {}) {
  const u3 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");
  return new RegExp(u3, t2 ? void 0 : "g");
}
function S3(t2) {
  if (typeof t2 != "string") throw new TypeError(`Expected a \`string\`, got \`${typeof t2}\``);
  return t2.replace(q3(), "");
}
function j2(t2) {
  return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, "default") ? t2.default : t2;
}
function A2(t2, u3 = {}) {
  if (typeof t2 != "string" || t2.length === 0 || (u3 = { ambiguousIsNarrow: true, ...u3 }, t2 = S3(t2), t2.length === 0)) return 0;
  t2 = t2.replace(DD2(), "  ");
  const F5 = u3.ambiguousIsNarrow ? 1 : 2;
  let e3 = 0;
  for (const s2 of t2) {
    const C5 = s2.codePointAt(0);
    if (C5 <= 31 || C5 >= 127 && C5 <= 159 || C5 >= 768 && C5 <= 879) continue;
    switch (Q2.eastAsianWidth(s2)) {
      case "F":
      case "W":
        e3 += 2;
        break;
      case "A":
        e3 += F5;
        break;
      default:
        e3 += 1;
    }
  }
  return e3;
}
function tD2() {
  const t2 = /* @__PURE__ */ new Map();
  for (const [u3, F5] of Object.entries(r)) {
    for (const [e3, s2] of Object.entries(F5)) r[e3] = { open: `\x1B[${s2[0]}m`, close: `\x1B[${s2[1]}m` }, F5[e3] = r[e3], t2.set(s2[0], s2[1]);
    Object.defineProperty(r, u3, { value: F5, enumerable: false });
  }
  return Object.defineProperty(r, "codes", { value: t2, enumerable: false }), r.color.close = "\x1B[39m", r.bgColor.close = "\x1B[49m", r.color.ansi = T4(), r.color.ansi256 = P2(), r.color.ansi16m = W3(), r.bgColor.ansi = T4(m3), r.bgColor.ansi256 = P2(m3), r.bgColor.ansi16m = W3(m3), Object.defineProperties(r, { rgbToAnsi256: { value: (u3, F5, e3) => u3 === F5 && F5 === e3 ? u3 < 8 ? 16 : u3 > 248 ? 231 : Math.round((u3 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(u3 / 255 * 5) + 6 * Math.round(F5 / 255 * 5) + Math.round(e3 / 255 * 5), enumerable: false }, hexToRgb: { value: (u3) => {
    const F5 = /[a-f\d]{6}|[a-f\d]{3}/i.exec(u3.toString(16));
    if (!F5) return [0, 0, 0];
    let [e3] = F5;
    e3.length === 3 && (e3 = [...e3].map((C5) => C5 + C5).join(""));
    const s2 = Number.parseInt(e3, 16);
    return [s2 >> 16 & 255, s2 >> 8 & 255, s2 & 255];
  }, enumerable: false }, hexToAnsi256: { value: (u3) => r.rgbToAnsi256(...r.hexToRgb(u3)), enumerable: false }, ansi256ToAnsi: { value: (u3) => {
    if (u3 < 8) return 30 + u3;
    if (u3 < 16) return 90 + (u3 - 8);
    let F5, e3, s2;
    if (u3 >= 232) F5 = ((u3 - 232) * 10 + 8) / 255, e3 = F5, s2 = F5;
    else {
      u3 -= 16;
      const i3 = u3 % 36;
      F5 = Math.floor(u3 / 36) / 5, e3 = Math.floor(i3 / 6) / 5, s2 = i3 % 6 / 5;
    }
    const C5 = Math.max(F5, e3, s2) * 2;
    if (C5 === 0) return 30;
    let D5 = 30 + (Math.round(s2) << 2 | Math.round(e3) << 1 | Math.round(F5));
    return C5 === 2 && (D5 += 60), D5;
  }, enumerable: false }, rgbToAnsi: { value: (u3, F5, e3) => r.ansi256ToAnsi(r.rgbToAnsi256(u3, F5, e3)), enumerable: false }, hexToAnsi: { value: (u3) => r.ansi256ToAnsi(r.hexToAnsi256(u3)), enumerable: false } }), r;
}
function R4(t2, u3, F5) {
  return String(t2).normalize().replace(/\r\n/g, `
`).split(`
`).map((e3) => ED2(e3, u3, F5)).join(`
`);
}
function aD2(t2, u3) {
  if (t2 === u3) return;
  const F5 = t2.split(`
`), e3 = u3.split(`
`), s2 = [];
  for (let C5 = 0; C5 < Math.max(F5.length, e3.length); C5++) F5[C5] !== e3[C5] && s2.push(C5);
  return s2;
}
function hD2(t2) {
  return t2 === V4;
}
function v3(t2, u3) {
  t2.isTTY && t2.setRawMode(u3);
}
function WD({ input: t2 = import_node_process.stdin, output: u3 = import_node_process.stdout, overwrite: F5 = true, hideCursor: e3 = true } = {}) {
  const s2 = f.createInterface({ input: t2, output: u3, prompt: "", tabSize: 1 });
  f.emitKeypressEvents(t2, s2), t2.isTTY && t2.setRawMode(true);
  const C5 = (D5, { name: i3 }) => {
    if (String(D5) === "" && process.exit(0), !F5) return;
    let n2 = i3 === "return" ? 0 : -1, E4 = i3 === "return" ? -1 : 0;
    f.moveCursor(u3, n2, E4, () => {
      f.clearLine(u3, 1, () => {
        t2.once("keypress", C5);
      });
    });
  };
  return e3 && process.stdout.write(import_sisteransi.cursor.hide), t2.once("keypress", C5), () => {
    t2.off("keypress", C5), e3 && process.stdout.write(import_sisteransi.cursor.show), t2.isTTY && !PD && t2.setRawMode(false), s2.terminal = false, s2.close();
  };
}
var import_sisteransi, import_node_process, f, import_node_readline, import_node_tty, import_picocolors, M3, J3, Q2, X2, DD2, m3, T4, P2, W3, r, uD2, FD2, eD2, g2, sD2, b4, O3, CD2, I3, w4, N3, L4, iD2, y3, rD2, ED2, oD2, nD2, a, V4, z3, lD2, x3, xD2, BD2, cD2, G4, AD2, pD2, fD2, K3, gD2, vD, dD2, Y2, mD2, bD2, wD2, Z3, yD, $D, kD, H3, _D, SD, jD, MD, TD, PD;
var init_dist = __esm({
  "node_modules/@clack/core/dist/index.mjs"() {
    import_sisteransi = __toESM(require_src(), 1);
    import_node_process = require("node:process");
    f = __toESM(require("node:readline"), 1);
    import_node_readline = __toESM(require("node:readline"), 1);
    import_node_tty = require("node:tty");
    import_picocolors = __toESM(require_picocolors(), 1);
    M3 = { exports: {} };
    (function(t2) {
      var u3 = {};
      t2.exports = u3, u3.eastAsianWidth = function(e3) {
        var s2 = e3.charCodeAt(0), C5 = e3.length == 2 ? e3.charCodeAt(1) : 0, D5 = s2;
        return 55296 <= s2 && s2 <= 56319 && 56320 <= C5 && C5 <= 57343 && (s2 &= 1023, C5 &= 1023, D5 = s2 << 10 | C5, D5 += 65536), D5 == 12288 || 65281 <= D5 && D5 <= 65376 || 65504 <= D5 && D5 <= 65510 ? "F" : D5 == 8361 || 65377 <= D5 && D5 <= 65470 || 65474 <= D5 && D5 <= 65479 || 65482 <= D5 && D5 <= 65487 || 65490 <= D5 && D5 <= 65495 || 65498 <= D5 && D5 <= 65500 || 65512 <= D5 && D5 <= 65518 ? "H" : 4352 <= D5 && D5 <= 4447 || 4515 <= D5 && D5 <= 4519 || 4602 <= D5 && D5 <= 4607 || 9001 <= D5 && D5 <= 9002 || 11904 <= D5 && D5 <= 11929 || 11931 <= D5 && D5 <= 12019 || 12032 <= D5 && D5 <= 12245 || 12272 <= D5 && D5 <= 12283 || 12289 <= D5 && D5 <= 12350 || 12353 <= D5 && D5 <= 12438 || 12441 <= D5 && D5 <= 12543 || 12549 <= D5 && D5 <= 12589 || 12593 <= D5 && D5 <= 12686 || 12688 <= D5 && D5 <= 12730 || 12736 <= D5 && D5 <= 12771 || 12784 <= D5 && D5 <= 12830 || 12832 <= D5 && D5 <= 12871 || 12880 <= D5 && D5 <= 13054 || 13056 <= D5 && D5 <= 19903 || 19968 <= D5 && D5 <= 42124 || 42128 <= D5 && D5 <= 42182 || 43360 <= D5 && D5 <= 43388 || 44032 <= D5 && D5 <= 55203 || 55216 <= D5 && D5 <= 55238 || 55243 <= D5 && D5 <= 55291 || 63744 <= D5 && D5 <= 64255 || 65040 <= D5 && D5 <= 65049 || 65072 <= D5 && D5 <= 65106 || 65108 <= D5 && D5 <= 65126 || 65128 <= D5 && D5 <= 65131 || 110592 <= D5 && D5 <= 110593 || 127488 <= D5 && D5 <= 127490 || 127504 <= D5 && D5 <= 127546 || 127552 <= D5 && D5 <= 127560 || 127568 <= D5 && D5 <= 127569 || 131072 <= D5 && D5 <= 194367 || 177984 <= D5 && D5 <= 196605 || 196608 <= D5 && D5 <= 262141 ? "W" : 32 <= D5 && D5 <= 126 || 162 <= D5 && D5 <= 163 || 165 <= D5 && D5 <= 166 || D5 == 172 || D5 == 175 || 10214 <= D5 && D5 <= 10221 || 10629 <= D5 && D5 <= 10630 ? "Na" : D5 == 161 || D5 == 164 || 167 <= D5 && D5 <= 168 || D5 == 170 || 173 <= D5 && D5 <= 174 || 176 <= D5 && D5 <= 180 || 182 <= D5 && D5 <= 186 || 188 <= D5 && D5 <= 191 || D5 == 198 || D5 == 208 || 215 <= D5 && D5 <= 216 || 222 <= D5 && D5 <= 225 || D5 == 230 || 232 <= D5 && D5 <= 234 || 236 <= D5 && D5 <= 237 || D5 == 240 || 242 <= D5 && D5 <= 243 || 247 <= D5 && D5 <= 250 || D5 == 252 || D5 == 254 || D5 == 257 || D5 == 273 || D5 == 275 || D5 == 283 || 294 <= D5 && D5 <= 295 || D5 == 299 || 305 <= D5 && D5 <= 307 || D5 == 312 || 319 <= D5 && D5 <= 322 || D5 == 324 || 328 <= D5 && D5 <= 331 || D5 == 333 || 338 <= D5 && D5 <= 339 || 358 <= D5 && D5 <= 359 || D5 == 363 || D5 == 462 || D5 == 464 || D5 == 466 || D5 == 468 || D5 == 470 || D5 == 472 || D5 == 474 || D5 == 476 || D5 == 593 || D5 == 609 || D5 == 708 || D5 == 711 || 713 <= D5 && D5 <= 715 || D5 == 717 || D5 == 720 || 728 <= D5 && D5 <= 731 || D5 == 733 || D5 == 735 || 768 <= D5 && D5 <= 879 || 913 <= D5 && D5 <= 929 || 931 <= D5 && D5 <= 937 || 945 <= D5 && D5 <= 961 || 963 <= D5 && D5 <= 969 || D5 == 1025 || 1040 <= D5 && D5 <= 1103 || D5 == 1105 || D5 == 8208 || 8211 <= D5 && D5 <= 8214 || 8216 <= D5 && D5 <= 8217 || 8220 <= D5 && D5 <= 8221 || 8224 <= D5 && D5 <= 8226 || 8228 <= D5 && D5 <= 8231 || D5 == 8240 || 8242 <= D5 && D5 <= 8243 || D5 == 8245 || D5 == 8251 || D5 == 8254 || D5 == 8308 || D5 == 8319 || 8321 <= D5 && D5 <= 8324 || D5 == 8364 || D5 == 8451 || D5 == 8453 || D5 == 8457 || D5 == 8467 || D5 == 8470 || 8481 <= D5 && D5 <= 8482 || D5 == 8486 || D5 == 8491 || 8531 <= D5 && D5 <= 8532 || 8539 <= D5 && D5 <= 8542 || 8544 <= D5 && D5 <= 8555 || 8560 <= D5 && D5 <= 8569 || D5 == 8585 || 8592 <= D5 && D5 <= 8601 || 8632 <= D5 && D5 <= 8633 || D5 == 8658 || D5 == 8660 || D5 == 8679 || D5 == 8704 || 8706 <= D5 && D5 <= 8707 || 8711 <= D5 && D5 <= 8712 || D5 == 8715 || D5 == 8719 || D5 == 8721 || D5 == 8725 || D5 == 8730 || 8733 <= D5 && D5 <= 8736 || D5 == 8739 || D5 == 8741 || 8743 <= D5 && D5 <= 8748 || D5 == 8750 || 8756 <= D5 && D5 <= 8759 || 8764 <= D5 && D5 <= 8765 || D5 == 8776 || D5 == 8780 || D5 == 8786 || 8800 <= D5 && D5 <= 8801 || 8804 <= D5 && D5 <= 8807 || 8810 <= D5 && D5 <= 8811 || 8814 <= D5 && D5 <= 8815 || 8834 <= D5 && D5 <= 8835 || 8838 <= D5 && D5 <= 8839 || D5 == 8853 || D5 == 8857 || D5 == 8869 || D5 == 8895 || D5 == 8978 || 9312 <= D5 && D5 <= 9449 || 9451 <= D5 && D5 <= 9547 || 9552 <= D5 && D5 <= 9587 || 9600 <= D5 && D5 <= 9615 || 9618 <= D5 && D5 <= 9621 || 9632 <= D5 && D5 <= 9633 || 9635 <= D5 && D5 <= 9641 || 9650 <= D5 && D5 <= 9651 || 9654 <= D5 && D5 <= 9655 || 9660 <= D5 && D5 <= 9661 || 9664 <= D5 && D5 <= 9665 || 9670 <= D5 && D5 <= 9672 || D5 == 9675 || 9678 <= D5 && D5 <= 9681 || 9698 <= D5 && D5 <= 9701 || D5 == 9711 || 9733 <= D5 && D5 <= 9734 || D5 == 9737 || 9742 <= D5 && D5 <= 9743 || 9748 <= D5 && D5 <= 9749 || D5 == 9756 || D5 == 9758 || D5 == 9792 || D5 == 9794 || 9824 <= D5 && D5 <= 9825 || 9827 <= D5 && D5 <= 9829 || 9831 <= D5 && D5 <= 9834 || 9836 <= D5 && D5 <= 9837 || D5 == 9839 || 9886 <= D5 && D5 <= 9887 || 9918 <= D5 && D5 <= 9919 || 9924 <= D5 && D5 <= 9933 || 9935 <= D5 && D5 <= 9953 || D5 == 9955 || 9960 <= D5 && D5 <= 9983 || D5 == 10045 || D5 == 10071 || 10102 <= D5 && D5 <= 10111 || 11093 <= D5 && D5 <= 11097 || 12872 <= D5 && D5 <= 12879 || 57344 <= D5 && D5 <= 63743 || 65024 <= D5 && D5 <= 65039 || D5 == 65533 || 127232 <= D5 && D5 <= 127242 || 127248 <= D5 && D5 <= 127277 || 127280 <= D5 && D5 <= 127337 || 127344 <= D5 && D5 <= 127386 || 917760 <= D5 && D5 <= 917999 || 983040 <= D5 && D5 <= 1048573 || 1048576 <= D5 && D5 <= 1114109 ? "A" : "N";
      }, u3.characterLength = function(e3) {
        var s2 = this.eastAsianWidth(e3);
        return s2 == "F" || s2 == "W" || s2 == "A" ? 2 : 1;
      };
      function F5(e3) {
        return e3.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || [];
      }
      u3.length = function(e3) {
        for (var s2 = F5(e3), C5 = 0, D5 = 0; D5 < s2.length; D5++) C5 = C5 + this.characterLength(s2[D5]);
        return C5;
      }, u3.slice = function(e3, s2, C5) {
        textLen = u3.length(e3), s2 = s2 || 0, C5 = C5 || 1, s2 < 0 && (s2 = textLen + s2), C5 < 0 && (C5 = textLen + C5);
        for (var D5 = "", i3 = 0, n2 = F5(e3), E4 = 0; E4 < n2.length; E4++) {
          var h4 = n2[E4], o3 = u3.length(h4);
          if (i3 >= s2 - (o3 == 2 ? 1 : 0)) if (i3 + o3 <= C5) D5 += h4;
          else break;
          i3 += o3;
        }
        return D5;
      };
    })(M3);
    J3 = M3.exports;
    Q2 = j2(J3);
    X2 = function() {
      return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
    };
    DD2 = j2(X2);
    m3 = 10;
    T4 = (t2 = 0) => (u3) => `\x1B[${u3 + t2}m`;
    P2 = (t2 = 0) => (u3) => `\x1B[${38 + t2};5;${u3}m`;
    W3 = (t2 = 0) => (u3, F5, e3) => `\x1B[${38 + t2};2;${u3};${F5};${e3}m`;
    r = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], overline: [53, 55], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29] }, color: { black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], blackBright: [90, 39], gray: [90, 39], grey: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], blueBright: [94, 39], magentaBright: [95, 39], cyanBright: [96, 39], whiteBright: [97, 39] }, bgColor: { bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgBlackBright: [100, 49], bgGray: [100, 49], bgGrey: [100, 49], bgRedBright: [101, 49], bgGreenBright: [102, 49], bgYellowBright: [103, 49], bgBlueBright: [104, 49], bgMagentaBright: [105, 49], bgCyanBright: [106, 49], bgWhiteBright: [107, 49] } };
    Object.keys(r.modifier);
    uD2 = Object.keys(r.color);
    FD2 = Object.keys(r.bgColor);
    [...uD2, ...FD2];
    eD2 = tD2();
    g2 = /* @__PURE__ */ new Set(["\x1B", "\x9B"]);
    sD2 = 39;
    b4 = "\x07";
    O3 = "[";
    CD2 = "]";
    I3 = "m";
    w4 = `${CD2}8;;`;
    N3 = (t2) => `${g2.values().next().value}${O3}${t2}${I3}`;
    L4 = (t2) => `${g2.values().next().value}${w4}${t2}${b4}`;
    iD2 = (t2) => t2.split(" ").map((u3) => A2(u3));
    y3 = (t2, u3, F5) => {
      const e3 = [...u3];
      let s2 = false, C5 = false, D5 = A2(S3(t2[t2.length - 1]));
      for (const [i3, n2] of e3.entries()) {
        const E4 = A2(n2);
        if (D5 + E4 <= F5 ? t2[t2.length - 1] += n2 : (t2.push(n2), D5 = 0), g2.has(n2) && (s2 = true, C5 = e3.slice(i3 + 1).join("").startsWith(w4)), s2) {
          C5 ? n2 === b4 && (s2 = false, C5 = false) : n2 === I3 && (s2 = false);
          continue;
        }
        D5 += E4, D5 === F5 && i3 < e3.length - 1 && (t2.push(""), D5 = 0);
      }
      !D5 && t2[t2.length - 1].length > 0 && t2.length > 1 && (t2[t2.length - 2] += t2.pop());
    };
    rD2 = (t2) => {
      const u3 = t2.split(" ");
      let F5 = u3.length;
      for (; F5 > 0 && !(A2(u3[F5 - 1]) > 0); ) F5--;
      return F5 === u3.length ? t2 : u3.slice(0, F5).join(" ") + u3.slice(F5).join("");
    };
    ED2 = (t2, u3, F5 = {}) => {
      if (F5.trim !== false && t2.trim() === "") return "";
      let e3 = "", s2, C5;
      const D5 = iD2(t2);
      let i3 = [""];
      for (const [E4, h4] of t2.split(" ").entries()) {
        F5.trim !== false && (i3[i3.length - 1] = i3[i3.length - 1].trimStart());
        let o3 = A2(i3[i3.length - 1]);
        if (E4 !== 0 && (o3 >= u3 && (F5.wordWrap === false || F5.trim === false) && (i3.push(""), o3 = 0), (o3 > 0 || F5.trim === false) && (i3[i3.length - 1] += " ", o3++)), F5.hard && D5[E4] > u3) {
          const B3 = u3 - o3, p4 = 1 + Math.floor((D5[E4] - B3 - 1) / u3);
          Math.floor((D5[E4] - 1) / u3) < p4 && i3.push(""), y3(i3, h4, u3);
          continue;
        }
        if (o3 + D5[E4] > u3 && o3 > 0 && D5[E4] > 0) {
          if (F5.wordWrap === false && o3 < u3) {
            y3(i3, h4, u3);
            continue;
          }
          i3.push("");
        }
        if (o3 + D5[E4] > u3 && F5.wordWrap === false) {
          y3(i3, h4, u3);
          continue;
        }
        i3[i3.length - 1] += h4;
      }
      F5.trim !== false && (i3 = i3.map((E4) => rD2(E4)));
      const n2 = [...i3.join(`
`)];
      for (const [E4, h4] of n2.entries()) {
        if (e3 += h4, g2.has(h4)) {
          const { groups: B3 } = new RegExp(`(?:\\${O3}(?<code>\\d+)m|\\${w4}(?<uri>.*)${b4})`).exec(n2.slice(E4).join("")) || { groups: {} };
          if (B3.code !== void 0) {
            const p4 = Number.parseFloat(B3.code);
            s2 = p4 === sD2 ? void 0 : p4;
          } else B3.uri !== void 0 && (C5 = B3.uri.length === 0 ? void 0 : B3.uri);
        }
        const o3 = eD2.codes.get(Number(s2));
        n2[E4 + 1] === `
` ? (C5 && (e3 += L4("")), s2 && o3 && (e3 += N3(o3))) : h4 === `
` && (s2 && o3 && (e3 += N3(s2)), C5 && (e3 += L4(C5)));
      }
      return e3;
    };
    oD2 = Object.defineProperty;
    nD2 = (t2, u3, F5) => u3 in t2 ? oD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5;
    a = (t2, u3, F5) => (nD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5);
    V4 = Symbol("clack:cancel");
    z3 = /* @__PURE__ */ new Map([["k", "up"], ["j", "down"], ["h", "left"], ["l", "right"]]);
    lD2 = /* @__PURE__ */ new Set(["up", "down", "left", "right", "space", "enter"]);
    x3 = class {
      constructor({ render: u3, input: F5 = import_node_process.stdin, output: e3 = import_node_process.stdout, ...s2 }, C5 = true) {
        a(this, "input"), a(this, "output"), a(this, "rl"), a(this, "opts"), a(this, "_track", false), a(this, "_render"), a(this, "_cursor", 0), a(this, "state", "initial"), a(this, "value"), a(this, "error", ""), a(this, "subscribers", /* @__PURE__ */ new Map()), a(this, "_prevFrame", ""), this.opts = s2, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = u3.bind(this), this._track = C5, this.input = F5, this.output = e3;
      }
      prompt() {
        const u3 = new import_node_tty.WriteStream(0);
        return u3._write = (F5, e3, s2) => {
          this._track && (this.value = this.rl.line.replace(/\t/g, ""), this._cursor = this.rl.cursor, this.emit("value", this.value)), s2();
        }, this.input.pipe(u3), this.rl = import_node_readline.default.createInterface({ input: this.input, output: u3, tabSize: 2, prompt: "", escapeCodeTimeout: 50 }), import_node_readline.default.emitKeypressEvents(this.input, this.rl), this.rl.prompt(), this.opts.initialValue !== void 0 && this._track && this.rl.write(this.opts.initialValue), this.input.on("keypress", this.onKeypress), v3(this.input, true), this.output.on("resize", this.render), this.render(), new Promise((F5, e3) => {
          this.once("submit", () => {
            this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), v3(this.input, false), F5(this.value);
          }), this.once("cancel", () => {
            this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), v3(this.input, false), F5(V4);
          });
        });
      }
      on(u3, F5) {
        const e3 = this.subscribers.get(u3) ?? [];
        e3.push({ cb: F5 }), this.subscribers.set(u3, e3);
      }
      once(u3, F5) {
        const e3 = this.subscribers.get(u3) ?? [];
        e3.push({ cb: F5, once: true }), this.subscribers.set(u3, e3);
      }
      emit(u3, ...F5) {
        const e3 = this.subscribers.get(u3) ?? [], s2 = [];
        for (const C5 of e3) C5.cb(...F5), C5.once && s2.push(() => e3.splice(e3.indexOf(C5), 1));
        for (const C5 of s2) C5();
      }
      unsubscribe() {
        this.subscribers.clear();
      }
      onKeypress(u3, F5) {
        if (this.state === "error" && (this.state = "active"), F5?.name && !this._track && z3.has(F5.name) && this.emit("cursor", z3.get(F5.name)), F5?.name && lD2.has(F5.name) && this.emit("cursor", F5.name), u3 && (u3.toLowerCase() === "y" || u3.toLowerCase() === "n") && this.emit("confirm", u3.toLowerCase() === "y"), u3 === "	" && this.opts.placeholder && (this.value || (this.rl.write(this.opts.placeholder), this.emit("value", this.opts.placeholder))), u3 && this.emit("key", u3.toLowerCase()), F5?.name === "return") {
          if (this.opts.validate) {
            const e3 = this.opts.validate(this.value);
            e3 && (this.error = e3, this.state = "error", this.rl.write(this.value));
          }
          this.state !== "error" && (this.state = "submit");
        }
        u3 === "" && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close();
      }
      close() {
        this.input.unpipe(), this.input.removeListener("keypress", this.onKeypress), this.output.write(`
`), v3(this.input, false), this.rl.close(), this.emit(`${this.state}`, this.value), this.unsubscribe();
      }
      restoreCursor() {
        const u3 = R4(this._prevFrame, process.stdout.columns, { hard: true }).split(`
`).length - 1;
        this.output.write(import_sisteransi.cursor.move(-999, u3 * -1));
      }
      render() {
        const u3 = R4(this._render(this) ?? "", process.stdout.columns, { hard: true });
        if (u3 !== this._prevFrame) {
          if (this.state === "initial") this.output.write(import_sisteransi.cursor.hide);
          else {
            const F5 = aD2(this._prevFrame, u3);
            if (this.restoreCursor(), F5 && F5?.length === 1) {
              const e3 = F5[0];
              this.output.write(import_sisteransi.cursor.move(0, e3)), this.output.write(import_sisteransi.erase.lines(1));
              const s2 = u3.split(`
`);
              this.output.write(s2[e3]), this._prevFrame = u3, this.output.write(import_sisteransi.cursor.move(0, s2.length - e3 - 1));
              return;
            } else if (F5 && F5?.length > 1) {
              const e3 = F5[0];
              this.output.write(import_sisteransi.cursor.move(0, e3)), this.output.write(import_sisteransi.erase.down());
              const s2 = u3.split(`
`).slice(e3);
              this.output.write(s2.join(`
`)), this._prevFrame = u3;
              return;
            }
            this.output.write(import_sisteransi.erase.down());
          }
          this.output.write(u3), this.state === "initial" && (this.state = "active"), this._prevFrame = u3;
        }
      }
    };
    xD2 = class extends x3 {
      get cursor() {
        return this.value ? 0 : 1;
      }
      get _value() {
        return this.cursor === 0;
      }
      constructor(u3) {
        super(u3, false), this.value = !!u3.initialValue, this.on("value", () => {
          this.value = this._value;
        }), this.on("confirm", (F5) => {
          this.output.write(import_sisteransi.cursor.move(0, -1)), this.value = F5, this.state = "submit", this.close();
        }), this.on("cursor", () => {
          this.value = !this.value;
        });
      }
    };
    BD2 = Object.defineProperty;
    cD2 = (t2, u3, F5) => u3 in t2 ? BD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5;
    G4 = (t2, u3, F5) => (cD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5);
    AD2 = class extends x3 {
      constructor(u3) {
        super(u3, false), G4(this, "options"), G4(this, "cursor", 0);
        const { options: F5 } = u3;
        this.options = Object.entries(F5).flatMap(([e3, s2]) => [{ value: e3, group: true, label: e3 }, ...s2.map((C5) => ({ ...C5, group: e3 }))]), this.value = [...u3.initialValues ?? []], this.cursor = Math.max(this.options.findIndex(({ value: e3 }) => e3 === u3.cursorAt), 0), this.on("cursor", (e3) => {
          switch (e3) {
            case "left":
            case "up":
              this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1;
              break;
            case "down":
            case "right":
              this.cursor = this.cursor === this.options.length - 1 ? 0 : this.cursor + 1;
              break;
            case "space":
              this.toggleValue();
              break;
          }
        });
      }
      getGroupItems(u3) {
        return this.options.filter((F5) => F5.group === u3);
      }
      isGroupSelected(u3) {
        return this.getGroupItems(u3).every((F5) => this.value.includes(F5.value));
      }
      toggleValue() {
        const u3 = this.options[this.cursor];
        if (u3.group === true) {
          const F5 = u3.value, e3 = this.getGroupItems(F5);
          this.isGroupSelected(F5) ? this.value = this.value.filter((s2) => e3.findIndex((C5) => C5.value === s2) === -1) : this.value = [...this.value, ...e3.map((s2) => s2.value)], this.value = Array.from(new Set(this.value));
        } else {
          const F5 = this.value.includes(u3.value);
          this.value = F5 ? this.value.filter((e3) => e3 !== u3.value) : [...this.value, u3.value];
        }
      }
    };
    pD2 = Object.defineProperty;
    fD2 = (t2, u3, F5) => u3 in t2 ? pD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5;
    K3 = (t2, u3, F5) => (fD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5);
    gD2 = class extends x3 {
      constructor(u3) {
        super(u3, false), K3(this, "options"), K3(this, "cursor", 0), this.options = u3.options, this.value = [...u3.initialValues ?? []], this.cursor = Math.max(this.options.findIndex(({ value: F5 }) => F5 === u3.cursorAt), 0), this.on("key", (F5) => {
          F5 === "a" && this.toggleAll();
        }), this.on("cursor", (F5) => {
          switch (F5) {
            case "left":
            case "up":
              this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1;
              break;
            case "down":
            case "right":
              this.cursor = this.cursor === this.options.length - 1 ? 0 : this.cursor + 1;
              break;
            case "space":
              this.toggleValue();
              break;
          }
        });
      }
      get _value() {
        return this.options[this.cursor].value;
      }
      toggleAll() {
        const u3 = this.value.length === this.options.length;
        this.value = u3 ? [] : this.options.map((F5) => F5.value);
      }
      toggleValue() {
        const u3 = this.value.includes(this._value);
        this.value = u3 ? this.value.filter((F5) => F5 !== this._value) : [...this.value, this._value];
      }
    };
    vD = Object.defineProperty;
    dD2 = (t2, u3, F5) => u3 in t2 ? vD(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5;
    Y2 = (t2, u3, F5) => (dD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5);
    mD2 = class extends x3 {
      constructor({ mask: u3, ...F5 }) {
        super(F5), Y2(this, "valueWithCursor", ""), Y2(this, "_mask", "\u2022"), this._mask = u3 ?? "\u2022", this.on("finalize", () => {
          this.valueWithCursor = this.masked;
        }), this.on("value", () => {
          if (this.cursor >= this.value.length) this.valueWithCursor = `${this.masked}${import_picocolors.default.inverse(import_picocolors.default.hidden("_"))}`;
          else {
            const e3 = this.masked.slice(0, this.cursor), s2 = this.masked.slice(this.cursor);
            this.valueWithCursor = `${e3}${import_picocolors.default.inverse(s2[0])}${s2.slice(1)}`;
          }
        });
      }
      get cursor() {
        return this._cursor;
      }
      get masked() {
        return this.value.replaceAll(/./g, this._mask);
      }
    };
    bD2 = Object.defineProperty;
    wD2 = (t2, u3, F5) => u3 in t2 ? bD2(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5;
    Z3 = (t2, u3, F5) => (wD2(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5);
    yD = class extends x3 {
      constructor(u3) {
        super(u3, false), Z3(this, "options"), Z3(this, "cursor", 0), this.options = u3.options, this.cursor = this.options.findIndex(({ value: F5 }) => F5 === u3.initialValue), this.cursor === -1 && (this.cursor = 0), this.changeValue(), this.on("cursor", (F5) => {
          switch (F5) {
            case "left":
            case "up":
              this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1;
              break;
            case "down":
            case "right":
              this.cursor = this.cursor === this.options.length - 1 ? 0 : this.cursor + 1;
              break;
          }
          this.changeValue();
        });
      }
      get _value() {
        return this.options[this.cursor];
      }
      changeValue() {
        this.value = this._value.value;
      }
    };
    $D = Object.defineProperty;
    kD = (t2, u3, F5) => u3 in t2 ? $D(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5;
    H3 = (t2, u3, F5) => (kD(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5);
    _D = class extends x3 {
      constructor(u3) {
        super(u3, false), H3(this, "options"), H3(this, "cursor", 0), this.options = u3.options;
        const F5 = this.options.map(({ value: [e3] }) => e3?.toLowerCase());
        this.cursor = Math.max(F5.indexOf(u3.initialValue), 0), this.on("key", (e3) => {
          if (!F5.includes(e3)) return;
          const s2 = this.options.find(({ value: [C5] }) => C5?.toLowerCase() === e3);
          s2 && (this.value = s2.value, this.state = "submit", this.emit("submit"));
        });
      }
    };
    SD = Object.defineProperty;
    jD = (t2, u3, F5) => u3 in t2 ? SD(t2, u3, { enumerable: true, configurable: true, writable: true, value: F5 }) : t2[u3] = F5;
    MD = (t2, u3, F5) => (jD(t2, typeof u3 != "symbol" ? u3 + "" : u3, F5), F5);
    TD = class extends x3 {
      constructor(u3) {
        super(u3), MD(this, "valueWithCursor", ""), this.on("finalize", () => {
          this.value || (this.value = u3.defaultValue), this.valueWithCursor = this.value;
        }), this.on("value", () => {
          if (this.cursor >= this.value.length) this.valueWithCursor = `${this.value}${import_picocolors.default.inverse(import_picocolors.default.hidden("_"))}`;
          else {
            const F5 = this.value.slice(0, this.cursor), e3 = this.value.slice(this.cursor);
            this.valueWithCursor = `${F5}${import_picocolors.default.inverse(e3[0])}${e3.slice(1)}`;
          }
        });
      }
      get cursor() {
        return this._cursor;
      }
    };
    PD = globalThis.process.platform.startsWith("win");
  }
});

// node_modules/@clack/prompts/dist/index.mjs
var dist_exports = {};
__export(dist_exports, {
  cancel: () => ne,
  confirm: () => Q3,
  group: () => $e,
  groupMultiselect: () => se,
  intro: () => ae,
  isCancel: () => hD2,
  log: () => g3,
  multiselect: () => re,
  note: () => ie,
  outro: () => ce,
  password: () => Y3,
  select: () => ee,
  selectKey: () => te,
  spinner: () => le,
  text: () => J4
});
function N4() {
  return import_node_process2.default.platform !== "win32" ? import_node_process2.default.env.TERM !== "linux" : Boolean(import_node_process2.default.env.CI) || Boolean(import_node_process2.default.env.WT_SESSION) || Boolean(import_node_process2.default.env.TERMINUS_SUBLIME) || import_node_process2.default.env.ConEmuTask === "{cmd::Cmder}" || import_node_process2.default.env.TERM_PROGRAM === "Terminus-Sublime" || import_node_process2.default.env.TERM_PROGRAM === "vscode" || import_node_process2.default.env.TERM === "xterm-256color" || import_node_process2.default.env.TERM === "alacritty" || import_node_process2.default.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
}
function ue() {
  const r3 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");
  return new RegExp(r3, "g");
}
var import_node_process2, import_picocolors2, import_sisteransi2, p2, u, W4, D3, F3, f2, L5, a2, o, w5, S4, _5, y4, A3, q4, R5, G5, H4, K4, U5, Z4, z4, X3, h2, J4, Y3, Q3, ee, te, re, se, b5, ie, ne, ae, ce, g3, C3, le, $e;
var init_dist2 = __esm({
  "node_modules/@clack/prompts/dist/index.mjs"() {
    init_dist();
    init_dist();
    import_node_process2 = __toESM(require("node:process"), 1);
    import_picocolors2 = __toESM(require_picocolors(), 1);
    import_sisteransi2 = __toESM(require_src(), 1);
    p2 = N4();
    u = (r3, n2) => p2 ? r3 : n2;
    W4 = u("\u25C6", "*");
    D3 = u("\u25A0", "x");
    F3 = u("\u25B2", "x");
    f2 = u("\u25C7", "o");
    L5 = u("\u250C", "T");
    a2 = u("\u2502", "|");
    o = u("\u2514", "\u2014");
    w5 = u("\u25CF", ">");
    S4 = u("\u25CB", " ");
    _5 = u("\u25FB", "[\u2022]");
    y4 = u("\u25FC", "[+]");
    A3 = u("\u25FB", "[ ]");
    q4 = u("\u25AA", "\u2022");
    R5 = u("\u2500", "-");
    G5 = u("\u256E", "+");
    H4 = u("\u251C", "+");
    K4 = u("\u256F", "+");
    U5 = u("\u25CF", "\u2022");
    Z4 = u("\u25C6", "*");
    z4 = u("\u25B2", "!");
    X3 = u("\u25A0", "x");
    h2 = (r3) => {
      switch (r3) {
        case "initial":
        case "active":
          return import_picocolors2.default.cyan(W4);
        case "cancel":
          return import_picocolors2.default.red(D3);
        case "error":
          return import_picocolors2.default.yellow(F3);
        case "submit":
          return import_picocolors2.default.green(f2);
      }
    };
    J4 = (r3) => new TD({ validate: r3.validate, placeholder: r3.placeholder, defaultValue: r3.defaultValue, initialValue: r3.initialValue, render() {
      const n2 = `${import_picocolors2.default.gray(a2)}
${h2(this.state)}  ${r3.message}
`, s2 = r3.placeholder ? import_picocolors2.default.inverse(r3.placeholder[0]) + import_picocolors2.default.dim(r3.placeholder.slice(1)) : import_picocolors2.default.inverse(import_picocolors2.default.hidden("_")), t2 = this.value ? this.valueWithCursor : s2;
      switch (this.state) {
        case "error":
          return `${n2.trim()}
${import_picocolors2.default.yellow(a2)}  ${t2}
${import_picocolors2.default.yellow(o)}  ${import_picocolors2.default.yellow(this.error)}
`;
        case "submit":
          return `${n2}${import_picocolors2.default.gray(a2)}  ${import_picocolors2.default.dim(this.value || r3.placeholder)}`;
        case "cancel":
          return `${n2}${import_picocolors2.default.gray(a2)}  ${import_picocolors2.default.strikethrough(import_picocolors2.default.dim(this.value ?? ""))}${this.value?.trim() ? `
` + import_picocolors2.default.gray(a2) : ""}`;
        default:
          return `${n2}${import_picocolors2.default.cyan(a2)}  ${t2}
${import_picocolors2.default.cyan(o)}
`;
      }
    } }).prompt();
    Y3 = (r3) => new mD2({ validate: r3.validate, mask: r3.mask ?? q4, render() {
      const n2 = `${import_picocolors2.default.gray(a2)}
${h2(this.state)}  ${r3.message}
`, s2 = this.valueWithCursor, t2 = this.masked;
      switch (this.state) {
        case "error":
          return `${n2.trim()}
${import_picocolors2.default.yellow(a2)}  ${t2}
${import_picocolors2.default.yellow(o)}  ${import_picocolors2.default.yellow(this.error)}
`;
        case "submit":
          return `${n2}${import_picocolors2.default.gray(a2)}  ${import_picocolors2.default.dim(t2)}`;
        case "cancel":
          return `${n2}${import_picocolors2.default.gray(a2)}  ${import_picocolors2.default.strikethrough(import_picocolors2.default.dim(t2 ?? ""))}${t2 ? `
` + import_picocolors2.default.gray(a2) : ""}`;
        default:
          return `${n2}${import_picocolors2.default.cyan(a2)}  ${s2}
${import_picocolors2.default.cyan(o)}
`;
      }
    } }).prompt();
    Q3 = (r3) => {
      const n2 = r3.active ?? "Yes", s2 = r3.inactive ?? "No";
      return new xD2({ active: n2, inactive: s2, initialValue: r3.initialValue ?? true, render() {
        const t2 = `${import_picocolors2.default.gray(a2)}
${h2(this.state)}  ${r3.message}
`, i3 = this.value ? n2 : s2;
        switch (this.state) {
          case "submit":
            return `${t2}${import_picocolors2.default.gray(a2)}  ${import_picocolors2.default.dim(i3)}`;
          case "cancel":
            return `${t2}${import_picocolors2.default.gray(a2)}  ${import_picocolors2.default.strikethrough(import_picocolors2.default.dim(i3))}
${import_picocolors2.default.gray(a2)}`;
          default:
            return `${t2}${import_picocolors2.default.cyan(a2)}  ${this.value ? `${import_picocolors2.default.green(w5)} ${n2}` : `${import_picocolors2.default.dim(S4)} ${import_picocolors2.default.dim(n2)}`} ${import_picocolors2.default.dim("/")} ${this.value ? `${import_picocolors2.default.dim(S4)} ${import_picocolors2.default.dim(s2)}` : `${import_picocolors2.default.green(w5)} ${s2}`}
${import_picocolors2.default.cyan(o)}
`;
        }
      } }).prompt();
    };
    ee = (r3) => {
      const n2 = (s2, t2) => {
        const i3 = s2.label ?? String(s2.value);
        return t2 === "active" ? `${import_picocolors2.default.green(w5)} ${i3} ${s2.hint ? import_picocolors2.default.dim(`(${s2.hint})`) : ""}` : t2 === "selected" ? `${import_picocolors2.default.dim(i3)}` : t2 === "cancelled" ? `${import_picocolors2.default.strikethrough(import_picocolors2.default.dim(i3))}` : `${import_picocolors2.default.dim(S4)} ${import_picocolors2.default.dim(i3)}`;
      };
      return new yD({ options: r3.options, initialValue: r3.initialValue, render() {
        const s2 = `${import_picocolors2.default.gray(a2)}
${h2(this.state)}  ${r3.message}
`;
        switch (this.state) {
          case "submit":
            return `${s2}${import_picocolors2.default.gray(a2)}  ${n2(this.options[this.cursor], "selected")}`;
          case "cancel":
            return `${s2}${import_picocolors2.default.gray(a2)}  ${n2(this.options[this.cursor], "cancelled")}
${import_picocolors2.default.gray(a2)}`;
          default:
            return `${s2}${import_picocolors2.default.cyan(a2)}  ${this.options.map((t2, i3) => n2(t2, i3 === this.cursor ? "active" : "inactive")).join(`
${import_picocolors2.default.cyan(a2)}  `)}
${import_picocolors2.default.cyan(o)}
`;
        }
      } }).prompt();
    };
    te = (r3) => {
      const n2 = (s2, t2 = "inactive") => {
        const i3 = s2.label ?? String(s2.value);
        return t2 === "selected" ? `${import_picocolors2.default.dim(i3)}` : t2 === "cancelled" ? `${import_picocolors2.default.strikethrough(import_picocolors2.default.dim(i3))}` : t2 === "active" ? `${import_picocolors2.default.bgCyan(import_picocolors2.default.gray(` ${s2.value} `))} ${i3} ${s2.hint ? import_picocolors2.default.dim(`(${s2.hint})`) : ""}` : `${import_picocolors2.default.gray(import_picocolors2.default.bgWhite(import_picocolors2.default.inverse(` ${s2.value} `)))} ${i3} ${s2.hint ? import_picocolors2.default.dim(`(${s2.hint})`) : ""}`;
      };
      return new _D({ options: r3.options, initialValue: r3.initialValue, render() {
        const s2 = `${import_picocolors2.default.gray(a2)}
${h2(this.state)}  ${r3.message}
`;
        switch (this.state) {
          case "submit":
            return `${s2}${import_picocolors2.default.gray(a2)}  ${n2(this.options.find((t2) => t2.value === this.value), "selected")}`;
          case "cancel":
            return `${s2}${import_picocolors2.default.gray(a2)}  ${n2(this.options[0], "cancelled")}
${import_picocolors2.default.gray(a2)}`;
          default:
            return `${s2}${import_picocolors2.default.cyan(a2)}  ${this.options.map((t2, i3) => n2(t2, i3 === this.cursor ? "active" : "inactive")).join(`
${import_picocolors2.default.cyan(a2)}  `)}
${import_picocolors2.default.cyan(o)}
`;
        }
      } }).prompt();
    };
    re = (r3) => {
      const n2 = (s2, t2) => {
        const i3 = s2.label ?? String(s2.value);
        return t2 === "active" ? `${import_picocolors2.default.cyan(_5)} ${i3} ${s2.hint ? import_picocolors2.default.dim(`(${s2.hint})`) : ""}` : t2 === "selected" ? `${import_picocolors2.default.green(y4)} ${import_picocolors2.default.dim(i3)}` : t2 === "cancelled" ? `${import_picocolors2.default.strikethrough(import_picocolors2.default.dim(i3))}` : t2 === "active-selected" ? `${import_picocolors2.default.green(y4)} ${i3} ${s2.hint ? import_picocolors2.default.dim(`(${s2.hint})`) : ""}` : t2 === "submitted" ? `${import_picocolors2.default.dim(i3)}` : `${import_picocolors2.default.dim(A3)} ${import_picocolors2.default.dim(i3)}`;
      };
      return new gD2({ options: r3.options, initialValues: r3.initialValues, required: r3.required ?? true, cursorAt: r3.cursorAt, validate(s2) {
        if (this.required && s2.length === 0) return `Please select at least one option.
${import_picocolors2.default.reset(import_picocolors2.default.dim(`Press ${import_picocolors2.default.gray(import_picocolors2.default.bgWhite(import_picocolors2.default.inverse(" space ")))} to select, ${import_picocolors2.default.gray(import_picocolors2.default.bgWhite(import_picocolors2.default.inverse(" enter ")))} to submit`))}`;
      }, render() {
        let s2 = `${import_picocolors2.default.gray(a2)}
${h2(this.state)}  ${r3.message}
`;
        switch (this.state) {
          case "submit":
            return `${s2}${import_picocolors2.default.gray(a2)}  ${this.options.filter(({ value: t2 }) => this.value.includes(t2)).map((t2) => n2(t2, "submitted")).join(import_picocolors2.default.dim(", ")) || import_picocolors2.default.dim("none")}`;
          case "cancel": {
            const t2 = this.options.filter(({ value: i3 }) => this.value.includes(i3)).map((i3) => n2(i3, "cancelled")).join(import_picocolors2.default.dim(", "));
            return `${s2}${import_picocolors2.default.gray(a2)}  ${t2.trim() ? `${t2}
${import_picocolors2.default.gray(a2)}` : ""}`;
          }
          case "error": {
            const t2 = this.error.split(`
`).map((i3, c4) => c4 === 0 ? `${import_picocolors2.default.yellow(o)}  ${import_picocolors2.default.yellow(i3)}` : `   ${i3}`).join(`
`);
            return s2 + import_picocolors2.default.yellow(a2) + "  " + this.options.map((i3, c4) => {
              const l3 = this.value.includes(i3.value), $6 = c4 === this.cursor;
              return $6 && l3 ? n2(i3, "active-selected") : l3 ? n2(i3, "selected") : n2(i3, $6 ? "active" : "inactive");
            }).join(`
${import_picocolors2.default.yellow(a2)}  `) + `
` + t2 + `
`;
          }
          default:
            return `${s2}${import_picocolors2.default.cyan(a2)}  ${this.options.map((t2, i3) => {
              const c4 = this.value.includes(t2.value), l3 = i3 === this.cursor;
              return l3 && c4 ? n2(t2, "active-selected") : c4 ? n2(t2, "selected") : n2(t2, l3 ? "active" : "inactive");
            }).join(`
${import_picocolors2.default.cyan(a2)}  `)}
${import_picocolors2.default.cyan(o)}
`;
        }
      } }).prompt();
    };
    se = (r3) => {
      const n2 = (s2, t2, i3 = []) => {
        const c4 = s2.label ?? String(s2.value), l3 = typeof s2.group == "string", $6 = l3 && (i3[i3.indexOf(s2) + 1] ?? { group: true }), v5 = l3 && $6.group === true, m5 = l3 ? `${v5 ? o : a2} ` : "";
        return t2 === "active" ? `${import_picocolors2.default.dim(m5)}${import_picocolors2.default.cyan(_5)} ${c4} ${s2.hint ? import_picocolors2.default.dim(`(${s2.hint})`) : ""}` : t2 === "group-active" ? `${m5}${import_picocolors2.default.cyan(_5)} ${import_picocolors2.default.dim(c4)}` : t2 === "group-active-selected" ? `${m5}${import_picocolors2.default.green(y4)} ${import_picocolors2.default.dim(c4)}` : t2 === "selected" ? `${import_picocolors2.default.dim(m5)}${import_picocolors2.default.green(y4)} ${import_picocolors2.default.dim(c4)}` : t2 === "cancelled" ? `${import_picocolors2.default.strikethrough(import_picocolors2.default.dim(c4))}` : t2 === "active-selected" ? `${import_picocolors2.default.dim(m5)}${import_picocolors2.default.green(y4)} ${c4} ${s2.hint ? import_picocolors2.default.dim(`(${s2.hint})`) : ""}` : t2 === "submitted" ? `${import_picocolors2.default.dim(c4)}` : `${import_picocolors2.default.dim(m5)}${import_picocolors2.default.dim(A3)} ${import_picocolors2.default.dim(c4)}`;
      };
      return new AD2({ options: r3.options, initialValues: r3.initialValues, required: r3.required ?? true, cursorAt: r3.cursorAt, validate(s2) {
        if (this.required && s2.length === 0) return `Please select at least one option.
${import_picocolors2.default.reset(import_picocolors2.default.dim(`Press ${import_picocolors2.default.gray(import_picocolors2.default.bgWhite(import_picocolors2.default.inverse(" space ")))} to select, ${import_picocolors2.default.gray(import_picocolors2.default.bgWhite(import_picocolors2.default.inverse(" enter ")))} to submit`))}`;
      }, render() {
        let s2 = `${import_picocolors2.default.gray(a2)}
${h2(this.state)}  ${r3.message}
`;
        switch (this.state) {
          case "submit":
            return `${s2}${import_picocolors2.default.gray(a2)}  ${this.options.filter(({ value: t2 }) => this.value.includes(t2)).map((t2) => n2(t2, "submitted")).join(import_picocolors2.default.dim(", "))}`;
          case "cancel": {
            const t2 = this.options.filter(({ value: i3 }) => this.value.includes(i3)).map((i3) => n2(i3, "cancelled")).join(import_picocolors2.default.dim(", "));
            return `${s2}${import_picocolors2.default.gray(a2)}  ${t2.trim() ? `${t2}
${import_picocolors2.default.gray(a2)}` : ""}`;
          }
          case "error": {
            const t2 = this.error.split(`
`).map((i3, c4) => c4 === 0 ? `${import_picocolors2.default.yellow(o)}  ${import_picocolors2.default.yellow(i3)}` : `   ${i3}`).join(`
`);
            return `${s2}${import_picocolors2.default.yellow(a2)}  ${this.options.map((i3, c4, l3) => {
              const $6 = this.value.includes(i3.value) || i3.group === true && this.isGroupSelected(`${i3.value}`), v5 = c4 === this.cursor;
              return !v5 && typeof i3.group == "string" && this.options[this.cursor].value === i3.group ? n2(i3, $6 ? "group-active-selected" : "group-active", l3) : v5 && $6 ? n2(i3, "active-selected", l3) : $6 ? n2(i3, "selected", l3) : n2(i3, v5 ? "active" : "inactive", l3);
            }).join(`
${import_picocolors2.default.yellow(a2)}  `)}
${t2}
`;
          }
          default:
            return `${s2}${import_picocolors2.default.cyan(a2)}  ${this.options.map((t2, i3, c4) => {
              const l3 = this.value.includes(t2.value) || t2.group === true && this.isGroupSelected(`${t2.value}`), $6 = i3 === this.cursor;
              return !$6 && typeof t2.group == "string" && this.options[this.cursor].value === t2.group ? n2(t2, l3 ? "group-active-selected" : "group-active", c4) : $6 && l3 ? n2(t2, "active-selected", c4) : l3 ? n2(t2, "selected", c4) : n2(t2, $6 ? "active" : "inactive", c4);
            }).join(`
${import_picocolors2.default.cyan(a2)}  `)}
${import_picocolors2.default.cyan(o)}
`;
        }
      } }).prompt();
    };
    b5 = (r3) => r3.replace(ue(), "");
    ie = (r3 = "", n2 = "") => {
      const s2 = `
${r3}
`.split(`
`), t2 = Math.max(s2.reduce((c4, l3) => (l3 = b5(l3), l3.length > c4 ? l3.length : c4), 0), b5(n2).length) + 2, i3 = s2.map((c4) => `${import_picocolors2.default.gray(a2)}  ${import_picocolors2.default.dim(c4)}${" ".repeat(t2 - b5(c4).length)}${import_picocolors2.default.gray(a2)}`).join(`
`);
      process.stdout.write(`${import_picocolors2.default.gray(a2)}
${import_picocolors2.default.green(f2)}  ${import_picocolors2.default.reset(n2)} ${import_picocolors2.default.gray(R5.repeat(Math.max(t2 - n2.length - 1, 1)) + G5)}
${i3}
${import_picocolors2.default.gray(H4 + R5.repeat(t2 + 2) + K4)}
`);
    };
    ne = (r3 = "") => {
      process.stdout.write(`${import_picocolors2.default.gray(o)}  ${import_picocolors2.default.red(r3)}

`);
    };
    ae = (r3 = "") => {
      process.stdout.write(`${import_picocolors2.default.gray(L5)}  ${r3}
`);
    };
    ce = (r3 = "") => {
      process.stdout.write(`${import_picocolors2.default.gray(a2)}
${import_picocolors2.default.gray(o)}  ${r3}

`);
    };
    g3 = { message: (r3 = "", { symbol: n2 = import_picocolors2.default.gray(a2) } = {}) => {
      const s2 = [`${import_picocolors2.default.gray(a2)}`];
      if (r3) {
        const [t2, ...i3] = r3.split(`
`);
        s2.push(`${n2}  ${t2}`, ...i3.map((c4) => `${import_picocolors2.default.gray(a2)}  ${c4}`));
      }
      process.stdout.write(`${s2.join(`
`)}
`);
    }, info: (r3) => {
      g3.message(r3, { symbol: import_picocolors2.default.blue(U5) });
    }, success: (r3) => {
      g3.message(r3, { symbol: import_picocolors2.default.green(Z4) });
    }, step: (r3) => {
      g3.message(r3, { symbol: import_picocolors2.default.green(f2) });
    }, warn: (r3) => {
      g3.message(r3, { symbol: import_picocolors2.default.yellow(z4) });
    }, warning: (r3) => {
      g3.warn(r3);
    }, error: (r3) => {
      g3.message(r3, { symbol: import_picocolors2.default.red(X3) });
    } };
    C3 = p2 ? ["\u25D2", "\u25D0", "\u25D3", "\u25D1"] : ["\u2022", "o", "O", "0"];
    le = () => {
      let r3, n2;
      const s2 = p2 ? 80 : 120;
      return { start(t2 = "") {
        t2 = t2.replace(/\.?\.?\.$/, ""), r3 = WD(), process.stdout.write(`${import_picocolors2.default.gray(a2)}
${import_picocolors2.default.magenta("\u25CB")}  ${t2}
`);
        let i3 = 0, c4 = 0;
        n2 = setInterval(() => {
          let l3 = C3[i3];
          process.stdout.write(import_sisteransi2.cursor.move(-999, -1)), process.stdout.write(`${import_picocolors2.default.magenta(l3)}  ${t2}${Math.floor(c4) >= 1 ? ".".repeat(Math.floor(c4)).slice(0, 3) : ""}   
`), i3 = i3 === C3.length - 1 ? 0 : i3 + 1, c4 = c4 === C3.length ? 0 : c4 + 0.125;
        }, s2);
      }, stop(t2 = "") {
        process.stdout.write(import_sisteransi2.cursor.move(-999, -2)), process.stdout.write(import_sisteransi2.erase.down(2)), clearInterval(n2), process.stdout.write(`${import_picocolors2.default.gray(a2)}
${import_picocolors2.default.green(f2)}  ${t2}
`), r3();
      } };
    };
    $e = async (r3, n2) => {
      const s2 = {}, t2 = Object.keys(r3);
      for (const i3 of t2) {
        const c4 = r3[i3], l3 = await c4({ results: s2 })?.catch(($6) => {
          throw $6;
        });
        if (typeof n2?.onCancel == "function" && hD2(l3)) {
          s2[i3] = "canceled", n2.onCancel({ results: s2 });
          continue;
        }
        s2[i3] = l3;
      }
      return s2;
    };
  }
});

// node_modules/isexe/windows.js
var require_windows = __commonJS({
  "node_modules/isexe/windows.js"(exports2, module2) {
    module2.exports = isexe;
    isexe.sync = sync;
    var fs7 = require("fs");
    function checkPathExt(path5, options) {
      var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT;
      if (!pathext) {
        return true;
      }
      pathext = pathext.split(";");
      if (pathext.indexOf("") !== -1) {
        return true;
      }
      for (var i3 = 0; i3 < pathext.length; i3++) {
        var p4 = pathext[i3].toLowerCase();
        if (p4 && path5.substr(-p4.length).toLowerCase() === p4) {
          return true;
        }
      }
      return false;
    }
    function checkStat(stat, path5, options) {
      if (!stat.isSymbolicLink() && !stat.isFile()) {
        return false;
      }
      return checkPathExt(path5, options);
    }
    function isexe(path5, options, cb) {
      fs7.stat(path5, function(er2, stat) {
        cb(er2, er2 ? false : checkStat(stat, path5, options));
      });
    }
    function sync(path5, options) {
      return checkStat(fs7.statSync(path5), path5, options);
    }
  }
});

// node_modules/isexe/mode.js
var require_mode = __commonJS({
  "node_modules/isexe/mode.js"(exports2, module2) {
    module2.exports = isexe;
    isexe.sync = sync;
    var fs7 = require("fs");
    function isexe(path5, options, cb) {
      fs7.stat(path5, function(er2, stat) {
        cb(er2, er2 ? false : checkStat(stat, options));
      });
    }
    function sync(path5, options) {
      return checkStat(fs7.statSync(path5), options);
    }
    function checkStat(stat, options) {
      return stat.isFile() && checkMode(stat, options);
    }
    function checkMode(stat, options) {
      var mod = stat.mode;
      var uid = stat.uid;
      var gid = stat.gid;
      var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid();
      var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid();
      var u3 = parseInt("100", 8);
      var g5 = parseInt("010", 8);
      var o3 = parseInt("001", 8);
      var ug = u3 | g5;
      var ret = mod & o3 || mod & g5 && gid === myGid || mod & u3 && uid === myUid || mod & ug && myUid === 0;
      return ret;
    }
  }
});

// node_modules/isexe/index.js
var require_isexe = __commonJS({
  "node_modules/isexe/index.js"(exports2, module2) {
    var fs7 = require("fs");
    var core;
    if (process.platform === "win32" || global.TESTING_WINDOWS) {
      core = require_windows();
    } else {
      core = require_mode();
    }
    module2.exports = isexe;
    isexe.sync = sync;
    function isexe(path5, options, cb) {
      if (typeof options === "function") {
        cb = options;
        options = {};
      }
      if (!cb) {
        if (typeof Promise !== "function") {
          throw new TypeError("callback not provided");
        }
        return new Promise(function(resolve, reject) {
          isexe(path5, options || {}, function(er2, is) {
            if (er2) {
              reject(er2);
            } else {
              resolve(is);
            }
          });
        });
      }
      core(path5, options || {}, function(er2, is) {
        if (er2) {
          if (er2.code === "EACCES" || options && options.ignoreErrors) {
            er2 = null;
            is = false;
          }
        }
        cb(er2, is);
      });
    }
    function sync(path5, options) {
      try {
        return core.sync(path5, options || {});
      } catch (er2) {
        if (options && options.ignoreErrors || er2.code === "EACCES") {
          return false;
        } else {
          throw er2;
        }
      }
    }
  }
});

// node_modules/which/which.js
var require_which = __commonJS({
  "node_modules/which/which.js"(exports2, module2) {
    var isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
    var path5 = require("path");
    var COLON = isWindows ? ";" : ":";
    var isexe = require_isexe();
    var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
    var getPathInfo = (cmd, opt) => {
      const colon = opt.colon || COLON;
      const pathEnv = cmd.match(/\//) || isWindows && cmd.match(/\\/) ? [""] : [
        // windows always checks the cwd first
        ...isWindows ? [process.cwd()] : [],
        ...(opt.path || process.env.PATH || /* istanbul ignore next: very unusual */
        "").split(colon)
      ];
      const pathExtExe = isWindows ? opt.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : "";
      const pathExt = isWindows ? pathExtExe.split(colon) : [""];
      if (isWindows) {
        if (cmd.indexOf(".") !== -1 && pathExt[0] !== "")
          pathExt.unshift("");
      }
      return {
        pathEnv,
        pathExt,
        pathExtExe
      };
    };
    var which = (cmd, opt, cb) => {
      if (typeof opt === "function") {
        cb = opt;
        opt = {};
      }
      if (!opt)
        opt = {};
      const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
      const found = [];
      const step = (i3) => new Promise((resolve, reject) => {
        if (i3 === pathEnv.length)
          return opt.all && found.length ? resolve(found) : reject(getNotFoundError(cmd));
        const ppRaw = pathEnv[i3];
        const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
        const pCmd = path5.join(pathPart, cmd);
        const p4 = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
        resolve(subStep(p4, i3, 0));
      });
      const subStep = (p4, i3, ii) => new Promise((resolve, reject) => {
        if (ii === pathExt.length)
          return resolve(step(i3 + 1));
        const ext = pathExt[ii];
        isexe(p4 + ext, { pathExt: pathExtExe }, (er2, is) => {
          if (!er2 && is) {
            if (opt.all)
              found.push(p4 + ext);
            else
              return resolve(p4 + ext);
          }
          return resolve(subStep(p4, i3, ii + 1));
        });
      });
      return cb ? step(0).then((res) => cb(null, res), cb) : step(0);
    };
    var whichSync = (cmd, opt) => {
      opt = opt || {};
      const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
      const found = [];
      for (let i3 = 0; i3 < pathEnv.length; i3++) {
        const ppRaw = pathEnv[i3];
        const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
        const pCmd = path5.join(pathPart, cmd);
        const p4 = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
        for (let j4 = 0; j4 < pathExt.length; j4++) {
          const cur = p4 + pathExt[j4];
          try {
            const is = isexe.sync(cur, { pathExt: pathExtExe });
            if (is) {
              if (opt.all)
                found.push(cur);
              else
                return cur;
            }
          } catch (ex) {
          }
        }
      }
      if (opt.all && found.length)
        return found;
      if (opt.nothrow)
        return null;
      throw getNotFoundError(cmd);
    };
    module2.exports = which;
    which.sync = whichSync;
  }
});

// node_modules/path-key/index.js
var require_path_key = __commonJS({
  "node_modules/path-key/index.js"(exports2, module2) {
    "use strict";
    var pathKey2 = (options = {}) => {
      const environment = options.env || process.env;
      const platform = options.platform || process.platform;
      if (platform !== "win32") {
        return "PATH";
      }
      return Object.keys(environment).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
    };
    module2.exports = pathKey2;
    module2.exports.default = pathKey2;
  }
});

// node_modules/cross-spawn/lib/util/resolveCommand.js
var require_resolveCommand = __commonJS({
  "node_modules/cross-spawn/lib/util/resolveCommand.js"(exports2, module2) {
    "use strict";
    var path5 = require("path");
    var which = require_which();
    var getPathKey = require_path_key();
    function resolveCommandAttempt(parsed, withoutPathExt) {
      const env2 = parsed.options.env || process.env;
      const cwd = process.cwd();
      const hasCustomCwd = parsed.options.cwd != null;
      const shouldSwitchCwd = hasCustomCwd && process.chdir !== void 0 && !process.chdir.disabled;
      if (shouldSwitchCwd) {
        try {
          process.chdir(parsed.options.cwd);
        } catch (err) {
        }
      }
      let resolved;
      try {
        resolved = which.sync(parsed.command, {
          path: env2[getPathKey({ env: env2 })],
          pathExt: withoutPathExt ? path5.delimiter : void 0
        });
      } catch (e3) {
      } finally {
        if (shouldSwitchCwd) {
          process.chdir(cwd);
        }
      }
      if (resolved) {
        resolved = path5.resolve(hasCustomCwd ? parsed.options.cwd : "", resolved);
      }
      return resolved;
    }
    function resolveCommand(parsed) {
      return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);
    }
    module2.exports = resolveCommand;
  }
});

// node_modules/cross-spawn/lib/util/escape.js
var require_escape = __commonJS({
  "node_modules/cross-spawn/lib/util/escape.js"(exports2, module2) {
    "use strict";
    var metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g;
    function escapeCommand(arg) {
      arg = arg.replace(metaCharsRegExp, "^$1");
      return arg;
    }
    function escapeArgument(arg, doubleEscapeMetaChars) {
      arg = `${arg}`;
      arg = arg.replace(/(?=(\\+?)?)\1"/g, '$1$1\\"');
      arg = arg.replace(/(?=(\\+?)?)\1$/, "$1$1");
      arg = `"${arg}"`;
      arg = arg.replace(metaCharsRegExp, "^$1");
      if (doubleEscapeMetaChars) {
        arg = arg.replace(metaCharsRegExp, "^$1");
      }
      return arg;
    }
    module2.exports.command = escapeCommand;
    module2.exports.argument = escapeArgument;
  }
});

// node_modules/shebang-regex/index.js
var require_shebang_regex = __commonJS({
  "node_modules/shebang-regex/index.js"(exports2, module2) {
    "use strict";
    module2.exports = /^#!(.*)/;
  }
});

// node_modules/shebang-command/index.js
var require_shebang_command = __commonJS({
  "node_modules/shebang-command/index.js"(exports2, module2) {
    "use strict";
    var shebangRegex = require_shebang_regex();
    module2.exports = (string = "") => {
      const match = string.match(shebangRegex);
      if (!match) {
        return null;
      }
      const [path5, argument] = match[0].replace(/#! ?/, "").split(" ");
      const binary = path5.split("/").pop();
      if (binary === "env") {
        return argument;
      }
      return argument ? `${binary} ${argument}` : binary;
    };
  }
});

// node_modules/cross-spawn/lib/util/readShebang.js
var require_readShebang = __commonJS({
  "node_modules/cross-spawn/lib/util/readShebang.js"(exports2, module2) {
    "use strict";
    var fs7 = require("fs");
    var shebangCommand = require_shebang_command();
    function readShebang(command) {
      const size = 150;
      const buffer = Buffer.alloc(size);
      let fd;
      try {
        fd = fs7.openSync(command, "r");
        fs7.readSync(fd, buffer, 0, size, 0);
        fs7.closeSync(fd);
      } catch (e3) {
      }
      return shebangCommand(buffer.toString());
    }
    module2.exports = readShebang;
  }
});

// node_modules/cross-spawn/lib/parse.js
var require_parse = __commonJS({
  "node_modules/cross-spawn/lib/parse.js"(exports2, module2) {
    "use strict";
    var path5 = require("path");
    var resolveCommand = require_resolveCommand();
    var escape2 = require_escape();
    var readShebang = require_readShebang();
    var isWin = process.platform === "win32";
    var isExecutableRegExp = /\.(?:com|exe)$/i;
    var isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
    function detectShebang(parsed) {
      parsed.file = resolveCommand(parsed);
      const shebang = parsed.file && readShebang(parsed.file);
      if (shebang) {
        parsed.args.unshift(parsed.file);
        parsed.command = shebang;
        return resolveCommand(parsed);
      }
      return parsed.file;
    }
    function parseNonShell(parsed) {
      if (!isWin) {
        return parsed;
      }
      const commandFile = detectShebang(parsed);
      const needsShell = !isExecutableRegExp.test(commandFile);
      if (parsed.options.forceShell || needsShell) {
        const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);
        parsed.command = path5.normalize(parsed.command);
        parsed.command = escape2.command(parsed.command);
        parsed.args = parsed.args.map((arg) => escape2.argument(arg, needsDoubleEscapeMetaChars));
        const shellCommand = [parsed.command].concat(parsed.args).join(" ");
        parsed.args = ["/d", "/s", "/c", `"${shellCommand}"`];
        parsed.command = process.env.comspec || "cmd.exe";
        parsed.options.windowsVerbatimArguments = true;
      }
      return parsed;
    }
    function parse(command, args, options) {
      if (args && !Array.isArray(args)) {
        options = args;
        args = null;
      }
      args = args ? args.slice(0) : [];
      options = Object.assign({}, options);
      const parsed = {
        command,
        args,
        options,
        file: void 0,
        original: {
          command,
          args
        }
      };
      return options.shell ? parsed : parseNonShell(parsed);
    }
    module2.exports = parse;
  }
});

// node_modules/cross-spawn/lib/enoent.js
var require_enoent = __commonJS({
  "node_modules/cross-spawn/lib/enoent.js"(exports2, module2) {
    "use strict";
    var isWin = process.platform === "win32";
    function notFoundError(original, syscall) {
      return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
        code: "ENOENT",
        errno: "ENOENT",
        syscall: `${syscall} ${original.command}`,
        path: original.command,
        spawnargs: original.args
      });
    }
    function hookChildProcess(cp, parsed) {
      if (!isWin) {
        return;
      }
      const originalEmit = cp.emit;
      cp.emit = function(name, arg1) {
        if (name === "exit") {
          const err = verifyENOENT(arg1, parsed);
          if (err) {
            return originalEmit.call(cp, "error", err);
          }
        }
        return originalEmit.apply(cp, arguments);
      };
    }
    function verifyENOENT(status, parsed) {
      if (isWin && status === 1 && !parsed.file) {
        return notFoundError(parsed.original, "spawn");
      }
      return null;
    }
    function verifyENOENTSync(status, parsed) {
      if (isWin && status === 1 && !parsed.file) {
        return notFoundError(parsed.original, "spawnSync");
      }
      return null;
    }
    module2.exports = {
      hookChildProcess,
      verifyENOENT,
      verifyENOENTSync,
      notFoundError
    };
  }
});

// node_modules/cross-spawn/index.js
var require_cross_spawn = __commonJS({
  "node_modules/cross-spawn/index.js"(exports2, module2) {
    "use strict";
    var cp = require("child_process");
    var parse = require_parse();
    var enoent = require_enoent();
    function spawn(command, args, options) {
      const parsed = parse(command, args, options);
      const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
      enoent.hookChildProcess(spawned, parsed);
      return spawned;
    }
    function spawnSync(command, args, options) {
      const parsed = parse(command, args, options);
      const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);
      result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
      return result;
    }
    module2.exports = spawn;
    module2.exports.spawn = spawn;
    module2.exports.sync = spawnSync;
    module2.exports._parse = parse;
    module2.exports._enoent = enoent;
  }
});

// node_modules/signal-exit/signals.js
var require_signals = __commonJS({
  "node_modules/signal-exit/signals.js"(exports2, module2) {
    module2.exports = [
      "SIGABRT",
      "SIGALRM",
      "SIGHUP",
      "SIGINT",
      "SIGTERM"
    ];
    if (process.platform !== "win32") {
      module2.exports.push(
        "SIGVTALRM",
        "SIGXCPU",
        "SIGXFSZ",
        "SIGUSR2",
        "SIGTRAP",
        "SIGSYS",
        "SIGQUIT",
        "SIGIOT"
        // should detect profiler and enable/disable accordingly.
        // see #21
        // 'SIGPROF'
      );
    }
    if (process.platform === "linux") {
      module2.exports.push(
        "SIGIO",
        "SIGPOLL",
        "SIGPWR",
        "SIGSTKFLT",
        "SIGUNUSED"
      );
    }
  }
});

// node_modules/signal-exit/index.js
var require_signal_exit = __commonJS({
  "node_modules/signal-exit/index.js"(exports2, module2) {
    var process9 = global.process;
    var processOk = function(process10) {
      return process10 && typeof process10 === "object" && typeof process10.removeListener === "function" && typeof process10.emit === "function" && typeof process10.reallyExit === "function" && typeof process10.listeners === "function" && typeof process10.kill === "function" && typeof process10.pid === "number" && typeof process10.on === "function";
    };
    if (!processOk(process9)) {
      module2.exports = function() {
        return function() {
        };
      };
    } else {
      assert = require("assert");
      signals = require_signals();
      isWin = /^win/i.test(process9.platform);
      EE = require("events");
      if (typeof EE !== "function") {
        EE = EE.EventEmitter;
      }
      if (process9.__signal_exit_emitter__) {
        emitter = process9.__signal_exit_emitter__;
      } else {
        emitter = process9.__signal_exit_emitter__ = new EE();
        emitter.count = 0;
        emitter.emitted = {};
      }
      if (!emitter.infinite) {
        emitter.setMaxListeners(Infinity);
        emitter.infinite = true;
      }
      module2.exports = function(cb, opts) {
        if (!processOk(global.process)) {
          return function() {
          };
        }
        assert.equal(typeof cb, "function", "a callback must be provided for exit handler");
        if (loaded === false) {
          load();
        }
        var ev = "exit";
        if (opts && opts.alwaysLast) {
          ev = "afterexit";
        }
        var remove = function() {
          emitter.removeListener(ev, cb);
          if (emitter.listeners("exit").length === 0 && emitter.listeners("afterexit").length === 0) {
            unload();
          }
        };
        emitter.on(ev, cb);
        return remove;
      };
      unload = function unload2() {
        if (!loaded || !processOk(global.process)) {
          return;
        }
        loaded = false;
        signals.forEach(function(sig) {
          try {
            process9.removeListener(sig, sigListeners[sig]);
          } catch (er2) {
          }
        });
        process9.emit = originalProcessEmit;
        process9.reallyExit = originalProcessReallyExit;
        emitter.count -= 1;
      };
      module2.exports.unload = unload;
      emit = function emit2(event, code, signal) {
        if (emitter.emitted[event]) {
          return;
        }
        emitter.emitted[event] = true;
        emitter.emit(event, code, signal);
      };
      sigListeners = {};
      signals.forEach(function(sig) {
        sigListeners[sig] = function listener() {
          if (!processOk(global.process)) {
            return;
          }
          var listeners = process9.listeners(sig);
          if (listeners.length === emitter.count) {
            unload();
            emit("exit", null, sig);
            emit("afterexit", null, sig);
            if (isWin && sig === "SIGHUP") {
              sig = "SIGINT";
            }
            process9.kill(process9.pid, sig);
          }
        };
      });
      module2.exports.signals = function() {
        return signals;
      };
      loaded = false;
      load = function load2() {
        if (loaded || !processOk(global.process)) {
          return;
        }
        loaded = true;
        emitter.count += 1;
        signals = signals.filter(function(sig) {
          try {
            process9.on(sig, sigListeners[sig]);
            return true;
          } catch (er2) {
            return false;
          }
        });
        process9.emit = processEmit;
        process9.reallyExit = processReallyExit;
      };
      module2.exports.load = load;
      originalProcessReallyExit = process9.reallyExit;
      processReallyExit = function processReallyExit2(code) {
        if (!processOk(global.process)) {
          return;
        }
        process9.exitCode = code || /* istanbul ignore next */
        0;
        emit("exit", process9.exitCode, null);
        emit("afterexit", process9.exitCode, null);
        originalProcessReallyExit.call(process9, process9.exitCode);
      };
      originalProcessEmit = process9.emit;
      processEmit = function processEmit2(ev, arg) {
        if (ev === "exit" && processOk(global.process)) {
          if (arg !== void 0) {
            process9.exitCode = arg;
          }
          var ret = originalProcessEmit.apply(this, arguments);
          emit("exit", process9.exitCode, null);
          emit("afterexit", process9.exitCode, null);
          return ret;
        } else {
          return originalProcessEmit.apply(this, arguments);
        }
      };
    }
    var assert;
    var signals;
    var isWin;
    var EE;
    var emitter;
    var unload;
    var emit;
    var sigListeners;
    var loaded;
    var load;
    var originalProcessReallyExit;
    var processReallyExit;
    var originalProcessEmit;
    var processEmit;
  }
});

// node_modules/get-stream/buffer-stream.js
var require_buffer_stream = __commonJS({
  "node_modules/get-stream/buffer-stream.js"(exports2, module2) {
    "use strict";
    var { PassThrough: PassThroughStream } = require("stream");
    module2.exports = (options) => {
      options = { ...options };
      const { array } = options;
      let { encoding } = options;
      const isBuffer2 = encoding === "buffer";
      let objectMode = false;
      if (array) {
        objectMode = !(encoding || isBuffer2);
      } else {
        encoding = encoding || "utf8";
      }
      if (isBuffer2) {
        encoding = null;
      }
      const stream4 = new PassThroughStream({ objectMode });
      if (encoding) {
        stream4.setEncoding(encoding);
      }
      let length = 0;
      const chunks = [];
      stream4.on("data", (chunk) => {
        chunks.push(chunk);
        if (objectMode) {
          length = chunks.length;
        } else {
          length += chunk.length;
        }
      });
      stream4.getBufferedValue = () => {
        if (array) {
          return chunks;
        }
        return isBuffer2 ? Buffer.concat(chunks, length) : chunks.join("");
      };
      stream4.getBufferedLength = () => length;
      return stream4;
    };
  }
});

// node_modules/get-stream/index.js
var require_get_stream = __commonJS({
  "node_modules/get-stream/index.js"(exports2, module2) {
    "use strict";
    var { constants: BufferConstants } = require("buffer");
    var stream4 = require("stream");
    var { promisify } = require("util");
    var bufferStream = require_buffer_stream();
    var streamPipelinePromisified = promisify(stream4.pipeline);
    var MaxBufferError = class extends Error {
      constructor() {
        super("maxBuffer exceeded");
        this.name = "MaxBufferError";
      }
    };
    async function getStream3(inputStream, options) {
      if (!inputStream) {
        throw new Error("Expected a stream");
      }
      options = {
        maxBuffer: Infinity,
        ...options
      };
      const { maxBuffer } = options;
      const stream5 = bufferStream(options);
      await new Promise((resolve, reject) => {
        const rejectPromise = (error) => {
          if (error && stream5.getBufferedLength() <= BufferConstants.MAX_LENGTH) {
            error.bufferedData = stream5.getBufferedValue();
          }
          reject(error);
        };
        (async () => {
          try {
            await streamPipelinePromisified(inputStream, stream5);
            resolve();
          } catch (error) {
            rejectPromise(error);
          }
        })();
        stream5.on("data", () => {
          if (stream5.getBufferedLength() > maxBuffer) {
            rejectPromise(new MaxBufferError());
          }
        });
      });
      return stream5.getBufferedValue();
    }
    module2.exports = getStream3;
    module2.exports.buffer = (stream5, options) => getStream3(stream5, { ...options, encoding: "buffer" });
    module2.exports.array = (stream5, options) => getStream3(stream5, { ...options, array: true });
    module2.exports.MaxBufferError = MaxBufferError;
  }
});

// node_modules/merge-stream/index.js
var require_merge_stream = __commonJS({
  "node_modules/merge-stream/index.js"(exports2, module2) {
    "use strict";
    var { PassThrough } = require("stream");
    module2.exports = function() {
      var sources = [];
      var output = new PassThrough({ objectMode: true });
      output.setMaxListeners(0);
      output.add = add;
      output.isEmpty = isEmpty;
      output.on("unpipe", remove);
      Array.prototype.slice.call(arguments).forEach(add);
      return output;
      function add(source) {
        if (Array.isArray(source)) {
          source.forEach(add);
          return this;
        }
        sources.push(source);
        source.once("end", remove.bind(null, source));
        source.once("error", output.emit.bind(output, "error"));
        source.pipe(output, { end: false });
        return this;
      }
      function isEmpty() {
        return sources.length == 0;
      }
      function remove(source) {
        sources = sources.filter(function(it2) {
          return it2 !== source;
        });
        if (!sources.length && output.readable) {
          output.end();
        }
      }
    };
  }
});

// node_modules/dotenv/package.json
var require_package = __commonJS({
  "node_modules/dotenv/package.json"(exports2, module2) {
    module2.exports = {
      name: "dotenv",
      version: "16.4.5",
      description: "Loads environment variables from .env file",
      main: "lib/main.js",
      types: "lib/main.d.ts",
      exports: {
        ".": {
          types: "./lib/main.d.ts",
          require: "./lib/main.js",
          default: "./lib/main.js"
        },
        "./config": "./config.js",
        "./config.js": "./config.js",
        "./lib/env-options": "./lib/env-options.js",
        "./lib/env-options.js": "./lib/env-options.js",
        "./lib/cli-options": "./lib/cli-options.js",
        "./lib/cli-options.js": "./lib/cli-options.js",
        "./package.json": "./package.json"
      },
      scripts: {
        "dts-check": "tsc --project tests/types/tsconfig.json",
        lint: "standard",
        "lint-readme": "standard-markdown",
        pretest: "npm run lint && npm run dts-check",
        test: "tap tests/*.js --100 -Rspec",
        "test:coverage": "tap --coverage-report=lcov",
        prerelease: "npm test",
        release: "standard-version"
      },
      repository: {
        type: "git",
        url: "git://github.com/motdotla/dotenv.git"
      },
      funding: "https://dotenvx.com",
      keywords: [
        "dotenv",
        "env",
        ".env",
        "environment",
        "variables",
        "config",
        "settings"
      ],
      readmeFilename: "README.md",
      license: "BSD-2-Clause",
      devDependencies: {
        "@definitelytyped/dtslint": "^0.0.133",
        "@types/node": "^18.11.3",
        decache: "^4.6.1",
        sinon: "^14.0.1",
        standard: "^17.0.0",
        "standard-markdown": "^7.1.0",
        "standard-version": "^9.5.0",
        tap: "^16.3.0",
        tar: "^6.1.11",
        typescript: "^4.8.4"
      },
      engines: {
        node: ">=12"
      },
      browser: {
        fs: false
      }
    };
  }
});

// node_modules/dotenv/lib/main.js
var require_main = __commonJS({
  "node_modules/dotenv/lib/main.js"(exports2, module2) {
    var fs7 = require("fs");
    var path5 = require("path");
    var os4 = require("os");
    var crypto3 = require("crypto");
    var packageJson = require_package();
    var version = packageJson.version;
    var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
    function parse(src) {
      const obj = {};
      let lines = src.toString();
      lines = lines.replace(/\r\n?/mg, "\n");
      let match;
      while ((match = LINE.exec(lines)) != null) {
        const key = match[1];
        let value = match[2] || "";
        value = value.trim();
        const maybeQuote = value[0];
        value = value.replace(/^(['"`])([\s\S]*)\1$/mg, "$2");
        if (maybeQuote === '"') {
          value = value.replace(/\\n/g, "\n");
          value = value.replace(/\\r/g, "\r");
        }
        obj[key] = value;
      }
      return obj;
    }
    function _parseVault(options) {
      const vaultPath = _vaultPath(options);
      const result = DotenvModule.configDotenv({ path: vaultPath });
      if (!result.parsed) {
        const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`);
        err.code = "MISSING_DATA";
        throw err;
      }
      const keys = _dotenvKey(options).split(",");
      const length = keys.length;
      let decrypted;
      for (let i3 = 0; i3 < length; i3++) {
        try {
          const key = keys[i3].trim();
          const attrs = _instructions(result, key);
          decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key);
          break;
        } catch (error) {
          if (i3 + 1 >= length) {
            throw error;
          }
        }
      }
      return DotenvModule.parse(decrypted);
    }
    function _log(message) {
      console.log(`[dotenv@${version}][INFO] ${message}`);
    }
    function _warn(message) {
      console.log(`[dotenv@${version}][WARN] ${message}`);
    }
    function _debug(message) {
      console.log(`[dotenv@${version}][DEBUG] ${message}`);
    }
    function _dotenvKey(options) {
      if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) {
        return options.DOTENV_KEY;
      }
      if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) {
        return process.env.DOTENV_KEY;
      }
      return "";
    }
    function _instructions(result, dotenvKey) {
      let uri;
      try {
        uri = new URL(dotenvKey);
      } catch (error) {
        if (error.code === "ERR_INVALID_URL") {
          const err = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");
          err.code = "INVALID_DOTENV_KEY";
          throw err;
        }
        throw error;
      }
      const key = uri.password;
      if (!key) {
        const err = new Error("INVALID_DOTENV_KEY: Missing key part");
        err.code = "INVALID_DOTENV_KEY";
        throw err;
      }
      const environment = uri.searchParams.get("environment");
      if (!environment) {
        const err = new Error("INVALID_DOTENV_KEY: Missing environment part");
        err.code = "INVALID_DOTENV_KEY";
        throw err;
      }
      const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`;
      const ciphertext = result.parsed[environmentKey];
      if (!ciphertext) {
        const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`);
        err.code = "NOT_FOUND_DOTENV_ENVIRONMENT";
        throw err;
      }
      return { ciphertext, key };
    }
    function _vaultPath(options) {
      let possibleVaultPath = null;
      if (options && options.path && options.path.length > 0) {
        if (Array.isArray(options.path)) {
          for (const filepath of options.path) {
            if (fs7.existsSync(filepath)) {
              possibleVaultPath = filepath.endsWith(".vault") ? filepath : `${filepath}.vault`;
            }
          }
        } else {
          possibleVaultPath = options.path.endsWith(".vault") ? options.path : `${options.path}.vault`;
        }
      } else {
        possibleVaultPath = path5.resolve(process.cwd(), ".env.vault");
      }
      if (fs7.existsSync(possibleVaultPath)) {
        return possibleVaultPath;
      }
      return null;
    }
    function _resolveHome(envPath) {
      return envPath[0] === "~" ? path5.join(os4.homedir(), envPath.slice(1)) : envPath;
    }
    function _configVault(options) {
      _log("Loading env from encrypted .env.vault");
      const parsed = DotenvModule._parseVault(options);
      let processEnv = process.env;
      if (options && options.processEnv != null) {
        processEnv = options.processEnv;
      }
      DotenvModule.populate(processEnv, parsed, options);
      return { parsed };
    }
    function configDotenv(options) {
      const dotenvPath = path5.resolve(process.cwd(), ".env");
      let encoding = "utf8";
      const debug3 = Boolean(options && options.debug);
      if (options && options.encoding) {
        encoding = options.encoding;
      } else {
        if (debug3) {
          _debug("No encoding is specified. UTF-8 is used by default");
        }
      }
      let optionPaths = [dotenvPath];
      if (options && options.path) {
        if (!Array.isArray(options.path)) {
          optionPaths = [_resolveHome(options.path)];
        } else {
          optionPaths = [];
          for (const filepath of options.path) {
            optionPaths.push(_resolveHome(filepath));
          }
        }
      }
      let lastError;
      const parsedAll = {};
      for (const path6 of optionPaths) {
        try {
          const parsed = DotenvModule.parse(fs7.readFileSync(path6, { encoding }));
          DotenvModule.populate(parsedAll, parsed, options);
        } catch (e3) {
          if (debug3) {
            _debug(`Failed to load ${path6} ${e3.message}`);
          }
          lastError = e3;
        }
      }
      let processEnv = process.env;
      if (options && options.processEnv != null) {
        processEnv = options.processEnv;
      }
      DotenvModule.populate(processEnv, parsedAll, options);
      if (lastError) {
        return { parsed: parsedAll, error: lastError };
      } else {
        return { parsed: parsedAll };
      }
    }
    function config7(options) {
      if (_dotenvKey(options).length === 0) {
        return DotenvModule.configDotenv(options);
      }
      const vaultPath = _vaultPath(options);
      if (!vaultPath) {
        _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`);
        return DotenvModule.configDotenv(options);
      }
      return DotenvModule._configVault(options);
    }
    function decrypt(encrypted, keyStr) {
      const key = Buffer.from(keyStr.slice(-64), "hex");
      let ciphertext = Buffer.from(encrypted, "base64");
      const nonce = ciphertext.subarray(0, 12);
      const authTag = ciphertext.subarray(-16);
      ciphertext = ciphertext.subarray(12, -16);
      try {
        const aesgcm = crypto3.createDecipheriv("aes-256-gcm", key, nonce);
        aesgcm.setAuthTag(authTag);
        return `${aesgcm.update(ciphertext)}${aesgcm.final()}`;
      } catch (error) {
        const isRange = error instanceof RangeError;
        const invalidKeyLength = error.message === "Invalid key length";
        const decryptionFailed = error.message === "Unsupported state or unable to authenticate data";
        if (isRange || invalidKeyLength) {
          const err = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");
          err.code = "INVALID_DOTENV_KEY";
          throw err;
        } else if (decryptionFailed) {
          const err = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");
          err.code = "DECRYPTION_FAILED";
          throw err;
        } else {
          throw error;
        }
      }
    }
    function populate(processEnv, parsed, options = {}) {
      const debug3 = Boolean(options && options.debug);
      const override = Boolean(options && options.override);
      if (typeof parsed !== "object") {
        const err = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");
        err.code = "OBJECT_REQUIRED";
        throw err;
      }
      for (const key of Object.keys(parsed)) {
        if (Object.prototype.hasOwnProperty.call(processEnv, key)) {
          if (override === true) {
            processEnv[key] = parsed[key];
          }
          if (debug3) {
            if (override === true) {
              _debug(`"${key}" is already defined and WAS overwritten`);
            } else {
              _debug(`"${key}" is already defined and was NOT overwritten`);
            }
          }
        } else {
          processEnv[key] = parsed[key];
        }
      }
    }
    var DotenvModule = {
      configDotenv,
      _configVault,
      _parseVault,
      config: config7,
      decrypt,
      parse,
      populate
    };
    module2.exports.configDotenv = DotenvModule.configDotenv;
    module2.exports._configVault = DotenvModule._configVault;
    module2.exports._parseVault = DotenvModule._parseVault;
    module2.exports.config = DotenvModule.config;
    module2.exports.decrypt = DotenvModule.decrypt;
    module2.exports.parse = DotenvModule.parse;
    module2.exports.populate = DotenvModule.populate;
    module2.exports = DotenvModule;
  }
});

// node_modules/ini/lib/ini.js
var require_ini = __commonJS({
  "node_modules/ini/lib/ini.js"(exports2, module2) {
    var { hasOwnProperty: hasOwnProperty2 } = Object.prototype;
    var eol = typeof process !== "undefined" && process.platform === "win32" ? "\r\n" : "\n";
    var encode3 = (obj, opt) => {
      const children = [];
      let out = "";
      if (typeof opt === "string") {
        opt = {
          section: opt,
          whitespace: false
        };
      } else {
        opt = opt || /* @__PURE__ */ Object.create(null);
        opt.whitespace = opt.whitespace === true;
      }
      const separator = opt.whitespace ? " = " : "=";
      for (const k7 of Object.keys(obj)) {
        const val = obj[k7];
        if (val && Array.isArray(val)) {
          for (const item of val) {
            out += safe(k7 + "[]") + separator + safe(item) + eol;
          }
        } else if (val && typeof val === "object") {
          children.push(k7);
        } else {
          out += safe(k7) + separator + safe(val) + eol;
        }
      }
      if (opt.section && out.length) {
        out = "[" + safe(opt.section) + "]" + eol + out;
      }
      for (const k7 of children) {
        const nk = dotSplit(k7).join("\\.");
        const section = (opt.section ? opt.section + "." : "") + nk;
        const { whitespace } = opt;
        const child = encode3(obj[k7], {
          section,
          whitespace
        });
        if (out.length && child.length) {
          out += eol;
        }
        out += child;
      }
      return out;
    };
    var dotSplit = (str2) => str2.replace(/\1/g, "LITERAL\\1LITERAL").replace(/\\\./g, "").split(/\./).map((part) => part.replace(/\1/g, "\\.").replace(/\2LITERAL\\1LITERAL\2/g, ""));
    var decode = (str2) => {
      const out = /* @__PURE__ */ Object.create(null);
      let p4 = out;
      let section = null;
      const re3 = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;
      const lines = str2.split(/[\r\n]+/g);
      for (const line of lines) {
        if (!line || line.match(/^\s*[;#]/)) {
          continue;
        }
        const match = line.match(re3);
        if (!match) {
          continue;
        }
        if (match[1] !== void 0) {
          section = unsafe(match[1]);
          if (section === "__proto__") {
            p4 = /* @__PURE__ */ Object.create(null);
            continue;
          }
          p4 = out[section] = out[section] || /* @__PURE__ */ Object.create(null);
          continue;
        }
        const keyRaw = unsafe(match[2]);
        const isArray2 = keyRaw.length > 2 && keyRaw.slice(-2) === "[]";
        const key = isArray2 ? keyRaw.slice(0, -2) : keyRaw;
        if (key === "__proto__") {
          continue;
        }
        const valueRaw = match[3] ? unsafe(match[4]) : true;
        const value = valueRaw === "true" || valueRaw === "false" || valueRaw === "null" ? JSON.parse(valueRaw) : valueRaw;
        if (isArray2) {
          if (!hasOwnProperty2.call(p4, key)) {
            p4[key] = [];
          } else if (!Array.isArray(p4[key])) {
            p4[key] = [p4[key]];
          }
        }
        if (Array.isArray(p4[key])) {
          p4[key].push(value);
        } else {
          p4[key] = value;
        }
      }
      const remove = [];
      for (const k7 of Object.keys(out)) {
        if (!hasOwnProperty2.call(out, k7) || typeof out[k7] !== "object" || Array.isArray(out[k7])) {
          continue;
        }
        const parts = dotSplit(k7);
        p4 = out;
        const l3 = parts.pop();
        const nl = l3.replace(/\\\./g, ".");
        for (const part of parts) {
          if (part === "__proto__") {
            continue;
          }
          if (!hasOwnProperty2.call(p4, part) || typeof p4[part] !== "object") {
            p4[part] = /* @__PURE__ */ Object.create(null);
          }
          p4 = p4[part];
        }
        if (p4 === out && nl === l3) {
          continue;
        }
        p4[nl] = out[k7];
        remove.push(k7);
      }
      for (const del of remove) {
        delete out[del];
      }
      return out;
    };
    var isQuoted = (val) => {
      return val.startsWith('"') && val.endsWith('"') || val.startsWith("'") && val.endsWith("'");
    };
    var safe = (val) => {
      if (typeof val !== "string" || val.match(/[=\r\n]/) || val.match(/^\[/) || val.length > 1 && isQuoted(val) || val !== val.trim()) {
        return JSON.stringify(val);
      }
      return val.split(";").join("\\;").split("#").join("\\#");
    };
    var unsafe = (val, doUnesc) => {
      val = (val || "").trim();
      if (isQuoted(val)) {
        if (val.charAt(0) === "'") {
          val = val.slice(1, -1);
        }
        try {
          val = JSON.parse(val);
        } catch {
        }
      } else {
        let esc = false;
        let unesc = "";
        for (let i3 = 0, l3 = val.length; i3 < l3; i3++) {
          const c4 = val.charAt(i3);
          if (esc) {
            if ("\\;#".indexOf(c4) !== -1) {
              unesc += c4;
            } else {
              unesc += "\\" + c4;
            }
            esc = false;
          } else if (";#".indexOf(c4) !== -1) {
            break;
          } else if (c4 === "\\") {
            esc = true;
          } else {
            unesc += c4;
          }
        }
        if (esc) {
          unesc += "\\";
        }
        return unesc.trim();
      }
      return val;
    };
    module2.exports = {
      parse: decode,
      decode,
      stringify: encode3,
      encode: encode3,
      safe,
      unsafe
    };
  }
});

// node_modules/webidl-conversions/lib/index.js
var require_lib = __commonJS({
  "node_modules/webidl-conversions/lib/index.js"(exports2) {
    "use strict";
    function makeException(ErrorType, message, options) {
      if (options.globals) {
        ErrorType = options.globals[ErrorType.name];
      }
      return new ErrorType(`${options.context ? options.context : "Value"} ${message}.`);
    }
    function toNumber(value, options) {
      if (typeof value === "bigint") {
        throw makeException(TypeError, "is a BigInt which cannot be converted to a number", options);
      }
      if (!options.globals) {
        return Number(value);
      }
      return options.globals.Number(value);
    }
    function evenRound(x5) {
      if (x5 > 0 && x5 % 1 === 0.5 && (x5 & 1) === 0 || x5 < 0 && x5 % 1 === -0.5 && (x5 & 1) === 1) {
        return censorNegativeZero(Math.floor(x5));
      }
      return censorNegativeZero(Math.round(x5));
    }
    function integerPart(n2) {
      return censorNegativeZero(Math.trunc(n2));
    }
    function sign(x5) {
      return x5 < 0 ? -1 : 1;
    }
    function modulo(x5, y6) {
      const signMightNotMatch = x5 % y6;
      if (sign(y6) !== sign(signMightNotMatch)) {
        return signMightNotMatch + y6;
      }
      return signMightNotMatch;
    }
    function censorNegativeZero(x5) {
      return x5 === 0 ? 0 : x5;
    }
    function createIntegerConversion(bitLength, { unsigned }) {
      let lowerBound, upperBound;
      if (unsigned) {
        lowerBound = 0;
        upperBound = 2 ** bitLength - 1;
      } else {
        lowerBound = -(2 ** (bitLength - 1));
        upperBound = 2 ** (bitLength - 1) - 1;
      }
      const twoToTheBitLength = 2 ** bitLength;
      const twoToOneLessThanTheBitLength = 2 ** (bitLength - 1);
      return (value, options = {}) => {
        let x5 = toNumber(value, options);
        x5 = censorNegativeZero(x5);
        if (options.enforceRange) {
          if (!Number.isFinite(x5)) {
            throw makeException(TypeError, "is not a finite number", options);
          }
          x5 = integerPart(x5);
          if (x5 < lowerBound || x5 > upperBound) {
            throw makeException(
              TypeError,
              `is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`,
              options
            );
          }
          return x5;
        }
        if (!Number.isNaN(x5) && options.clamp) {
          x5 = Math.min(Math.max(x5, lowerBound), upperBound);
          x5 = evenRound(x5);
          return x5;
        }
        if (!Number.isFinite(x5) || x5 === 0) {
          return 0;
        }
        x5 = integerPart(x5);
        if (x5 >= lowerBound && x5 <= upperBound) {
          return x5;
        }
        x5 = modulo(x5, twoToTheBitLength);
        if (!unsigned && x5 >= twoToOneLessThanTheBitLength) {
          return x5 - twoToTheBitLength;
        }
        return x5;
      };
    }
    function createLongLongConversion(bitLength, { unsigned }) {
      const upperBound = Number.MAX_SAFE_INTEGER;
      const lowerBound = unsigned ? 0 : Number.MIN_SAFE_INTEGER;
      const asBigIntN = unsigned ? BigInt.asUintN : BigInt.asIntN;
      return (value, options = {}) => {
        let x5 = toNumber(value, options);
        x5 = censorNegativeZero(x5);
        if (options.enforceRange) {
          if (!Number.isFinite(x5)) {
            throw makeException(TypeError, "is not a finite number", options);
          }
          x5 = integerPart(x5);
          if (x5 < lowerBound || x5 > upperBound) {
            throw makeException(
              TypeError,
              `is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`,
              options
            );
          }
          return x5;
        }
        if (!Number.isNaN(x5) && options.clamp) {
          x5 = Math.min(Math.max(x5, lowerBound), upperBound);
          x5 = evenRound(x5);
          return x5;
        }
        if (!Number.isFinite(x5) || x5 === 0) {
          return 0;
        }
        let xBigInt = BigInt(integerPart(x5));
        xBigInt = asBigIntN(bitLength, xBigInt);
        return Number(xBigInt);
      };
    }
    exports2.any = (value) => {
      return value;
    };
    exports2.undefined = () => {
      return void 0;
    };
    exports2.boolean = (value) => {
      return Boolean(value);
    };
    exports2.byte = createIntegerConversion(8, { unsigned: false });
    exports2.octet = createIntegerConversion(8, { unsigned: true });
    exports2.short = createIntegerConversion(16, { unsigned: false });
    exports2["unsigned short"] = createIntegerConversion(16, { unsigned: true });
    exports2.long = createIntegerConversion(32, { unsigned: false });
    exports2["unsigned long"] = createIntegerConversion(32, { unsigned: true });
    exports2["long long"] = createLongLongConversion(64, { unsigned: false });
    exports2["unsigned long long"] = createLongLongConversion(64, { unsigned: true });
    exports2.double = (value, options = {}) => {
      const x5 = toNumber(value, options);
      if (!Number.isFinite(x5)) {
        throw makeException(TypeError, "is not a finite floating-point value", options);
      }
      return x5;
    };
    exports2["unrestricted double"] = (value, options = {}) => {
      const x5 = toNumber(value, options);
      return x5;
    };
    exports2.float = (value, options = {}) => {
      const x5 = toNumber(value, options);
      if (!Number.isFinite(x5)) {
        throw makeException(TypeError, "is not a finite floating-point value", options);
      }
      if (Object.is(x5, -0)) {
        return x5;
      }
      const y6 = Math.fround(x5);
      if (!Number.isFinite(y6)) {
        throw makeException(TypeError, "is outside the range of a single-precision floating-point value", options);
      }
      return y6;
    };
    exports2["unrestricted float"] = (value, options = {}) => {
      const x5 = toNumber(value, options);
      if (isNaN(x5)) {
        return x5;
      }
      if (Object.is(x5, -0)) {
        return x5;
      }
      return Math.fround(x5);
    };
    exports2.DOMString = (value, options = {}) => {
      if (options.treatNullAsEmptyString && value === null) {
        return "";
      }
      if (typeof value === "symbol") {
        throw makeException(TypeError, "is a symbol, which cannot be converted to a string", options);
      }
      const StringCtor = options.globals ? options.globals.String : String;
      return StringCtor(value);
    };
    exports2.ByteString = (value, options = {}) => {
      const x5 = exports2.DOMString(value, options);
      let c4;
      for (let i3 = 0; (c4 = x5.codePointAt(i3)) !== void 0; ++i3) {
        if (c4 > 255) {
          throw makeException(TypeError, "is not a valid ByteString", options);
        }
      }
      return x5;
    };
    exports2.USVString = (value, options = {}) => {
      const S6 = exports2.DOMString(value, options);
      const n2 = S6.length;
      const U7 = [];
      for (let i3 = 0; i3 < n2; ++i3) {
        const c4 = S6.charCodeAt(i3);
        if (c4 < 55296 || c4 > 57343) {
          U7.push(String.fromCodePoint(c4));
        } else if (56320 <= c4 && c4 <= 57343) {
          U7.push(String.fromCodePoint(65533));
        } else if (i3 === n2 - 1) {
          U7.push(String.fromCodePoint(65533));
        } else {
          const d7 = S6.charCodeAt(i3 + 1);
          if (56320 <= d7 && d7 <= 57343) {
            const a4 = c4 & 1023;
            const b7 = d7 & 1023;
            U7.push(String.fromCodePoint((2 << 15) + (2 << 9) * a4 + b7));
            ++i3;
          } else {
            U7.push(String.fromCodePoint(65533));
          }
        }
      }
      return U7.join("");
    };
    exports2.object = (value, options = {}) => {
      if (value === null || typeof value !== "object" && typeof value !== "function") {
        throw makeException(TypeError, "is not an object", options);
      }
      return value;
    };
    var abByteLengthGetter = Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get;
    var sabByteLengthGetter = typeof SharedArrayBuffer === "function" ? Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, "byteLength").get : null;
    function isNonSharedArrayBuffer(value) {
      try {
        abByteLengthGetter.call(value);
        return true;
      } catch {
        return false;
      }
    }
    function isSharedArrayBuffer(value) {
      try {
        sabByteLengthGetter.call(value);
        return true;
      } catch {
        return false;
      }
    }
    function isArrayBufferDetached(value) {
      try {
        new Uint8Array(value);
        return false;
      } catch {
        return true;
      }
    }
    exports2.ArrayBuffer = (value, options = {}) => {
      if (!isNonSharedArrayBuffer(value)) {
        if (options.allowShared && !isSharedArrayBuffer(value)) {
          throw makeException(TypeError, "is not an ArrayBuffer or SharedArrayBuffer", options);
        }
        throw makeException(TypeError, "is not an ArrayBuffer", options);
      }
      if (isArrayBufferDetached(value)) {
        throw makeException(TypeError, "is a detached ArrayBuffer", options);
      }
      return value;
    };
    var dvByteLengthGetter = Object.getOwnPropertyDescriptor(DataView.prototype, "byteLength").get;
    exports2.DataView = (value, options = {}) => {
      try {
        dvByteLengthGetter.call(value);
      } catch (e3) {
        throw makeException(TypeError, "is not a DataView", options);
      }
      if (!options.allowShared && isSharedArrayBuffer(value.buffer)) {
        throw makeException(TypeError, "is backed by a SharedArrayBuffer, which is not allowed", options);
      }
      if (isArrayBufferDetached(value.buffer)) {
        throw makeException(TypeError, "is backed by a detached ArrayBuffer", options);
      }
      return value;
    };
    var typedArrayNameGetter = Object.getOwnPropertyDescriptor(
      Object.getPrototypeOf(Uint8Array).prototype,
      Symbol.toStringTag
    ).get;
    [
      Int8Array,
      Int16Array,
      Int32Array,
      Uint8Array,
      Uint16Array,
      Uint32Array,
      Uint8ClampedArray,
      Float32Array,
      Float64Array
    ].forEach((func) => {
      const { name } = func;
      const article = /^[AEIOU]/u.test(name) ? "an" : "a";
      exports2[name] = (value, options = {}) => {
        if (!ArrayBuffer.isView(value) || typedArrayNameGetter.call(value) !== name) {
          throw makeException(TypeError, `is not ${article} ${name} object`, options);
        }
        if (!options.allowShared && isSharedArrayBuffer(value.buffer)) {
          throw makeException(TypeError, "is a view on a SharedArrayBuffer, which is not allowed", options);
        }
        if (isArrayBufferDetached(value.buffer)) {
          throw makeException(TypeError, "is a view on a detached ArrayBuffer", options);
        }
        return value;
      };
    });
    exports2.ArrayBufferView = (value, options = {}) => {
      if (!ArrayBuffer.isView(value)) {
        throw makeException(TypeError, "is not a view on an ArrayBuffer or SharedArrayBuffer", options);
      }
      if (!options.allowShared && isSharedArrayBuffer(value.buffer)) {
        throw makeException(TypeError, "is a view on a SharedArrayBuffer, which is not allowed", options);
      }
      if (isArrayBufferDetached(value.buffer)) {
        throw makeException(TypeError, "is a view on a detached ArrayBuffer", options);
      }
      return value;
    };
    exports2.BufferSource = (value, options = {}) => {
      if (ArrayBuffer.isView(value)) {
        if (!options.allowShared && isSharedArrayBuffer(value.buffer)) {
          throw makeException(TypeError, "is a view on a SharedArrayBuffer, which is not allowed", options);
        }
        if (isArrayBufferDetached(value.buffer)) {
          throw makeException(TypeError, "is a view on a detached ArrayBuffer", options);
        }
        return value;
      }
      if (!options.allowShared && !isNonSharedArrayBuffer(value)) {
        throw makeException(TypeError, "is not an ArrayBuffer or a view on one", options);
      }
      if (options.allowShared && !isSharedArrayBuffer(value) && !isNonSharedArrayBuffer(value)) {
        throw makeException(TypeError, "is not an ArrayBuffer, SharedArrayBuffer, or a view on one", options);
      }
      if (isArrayBufferDetached(value)) {
        throw makeException(TypeError, "is a detached ArrayBuffer", options);
      }
      return value;
    };
    exports2.DOMTimeStamp = exports2["unsigned long long"];
  }
});

// node_modules/whatwg-url/lib/utils.js
var require_utils = __commonJS({
  "node_modules/whatwg-url/lib/utils.js"(exports2, module2) {
    "use strict";
    function isObject3(value) {
      return typeof value === "object" && value !== null || typeof value === "function";
    }
    var hasOwn3 = Function.prototype.call.bind(Object.prototype.hasOwnProperty);
    function define2(target, source) {
      for (const key of Reflect.ownKeys(source)) {
        const descriptor = Reflect.getOwnPropertyDescriptor(source, key);
        if (descriptor && !Reflect.defineProperty(target, key, descriptor)) {
          throw new TypeError(`Cannot redefine property: ${String(key)}`);
        }
      }
    }
    function newObjectInRealm(globalObject, object) {
      const ctorRegistry = initCtorRegistry(globalObject);
      return Object.defineProperties(
        Object.create(ctorRegistry["%Object.prototype%"]),
        Object.getOwnPropertyDescriptors(object)
      );
    }
    var wrapperSymbol = Symbol("wrapper");
    var implSymbol = Symbol("impl");
    var sameObjectCaches = Symbol("SameObject caches");
    var ctorRegistrySymbol = Symbol.for("[webidl2js] constructor registry");
    var AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () {
    }).prototype);
    function initCtorRegistry(globalObject) {
      if (hasOwn3(globalObject, ctorRegistrySymbol)) {
        return globalObject[ctorRegistrySymbol];
      }
      const ctorRegistry = /* @__PURE__ */ Object.create(null);
      ctorRegistry["%Object.prototype%"] = globalObject.Object.prototype;
      ctorRegistry["%IteratorPrototype%"] = Object.getPrototypeOf(
        Object.getPrototypeOf(new globalObject.Array()[Symbol.iterator]())
      );
      try {
        ctorRegistry["%AsyncIteratorPrototype%"] = Object.getPrototypeOf(
          Object.getPrototypeOf(
            globalObject.eval("(async function* () {})").prototype
          )
        );
      } catch {
        ctorRegistry["%AsyncIteratorPrototype%"] = AsyncIteratorPrototype;
      }
      globalObject[ctorRegistrySymbol] = ctorRegistry;
      return ctorRegistry;
    }
    function getSameObject(wrapper, prop, creator) {
      if (!wrapper[sameObjectCaches]) {
        wrapper[sameObjectCaches] = /* @__PURE__ */ Object.create(null);
      }
      if (prop in wrapper[sameObjectCaches]) {
        return wrapper[sameObjectCaches][prop];
      }
      wrapper[sameObjectCaches][prop] = creator();
      return wrapper[sameObjectCaches][prop];
    }
    function wrapperForImpl(impl) {
      return impl ? impl[wrapperSymbol] : null;
    }
    function implForWrapper(wrapper) {
      return wrapper ? wrapper[implSymbol] : null;
    }
    function tryWrapperForImpl(impl) {
      const wrapper = wrapperForImpl(impl);
      return wrapper ? wrapper : impl;
    }
    function tryImplForWrapper(wrapper) {
      const impl = implForWrapper(wrapper);
      return impl ? impl : wrapper;
    }
    var iterInternalSymbol = Symbol("internal");
    function isArrayIndexPropName(P4) {
      if (typeof P4 !== "string") {
        return false;
      }
      const i3 = P4 >>> 0;
      if (i3 === 2 ** 32 - 1) {
        return false;
      }
      const s2 = `${i3}`;
      if (P4 !== s2) {
        return false;
      }
      return true;
    }
    var byteLengthGetter = Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get;
    function isArrayBuffer3(value) {
      try {
        byteLengthGetter.call(value);
        return true;
      } catch (e3) {
        return false;
      }
    }
    function iteratorResult([key, value], kind3) {
      let result;
      switch (kind3) {
        case "key":
          result = key;
          break;
        case "value":
          result = value;
          break;
        case "key+value":
          result = [key, value];
          break;
      }
      return { value: result, done: false };
    }
    var supportsPropertyIndex = Symbol("supports property index");
    var supportedPropertyIndices = Symbol("supported property indices");
    var supportsPropertyName = Symbol("supports property name");
    var supportedPropertyNames = Symbol("supported property names");
    var indexedGet = Symbol("indexed property get");
    var indexedSetNew = Symbol("indexed property set new");
    var indexedSetExisting = Symbol("indexed property set existing");
    var namedGet = Symbol("named property get");
    var namedSetNew = Symbol("named property set new");
    var namedSetExisting = Symbol("named property set existing");
    var namedDelete = Symbol("named property delete");
    var asyncIteratorNext = Symbol("async iterator get the next iteration result");
    var asyncIteratorReturn = Symbol("async iterator return steps");
    var asyncIteratorInit = Symbol("async iterator initialization steps");
    var asyncIteratorEOI = Symbol("async iterator end of iteration");
    module2.exports = exports2 = {
      isObject: isObject3,
      hasOwn: hasOwn3,
      define: define2,
      newObjectInRealm,
      wrapperSymbol,
      implSymbol,
      getSameObject,
      ctorRegistrySymbol,
      initCtorRegistry,
      wrapperForImpl,
      implForWrapper,
      tryWrapperForImpl,
      tryImplForWrapper,
      iterInternalSymbol,
      isArrayBuffer: isArrayBuffer3,
      isArrayIndexPropName,
      supportsPropertyIndex,
      supportedPropertyIndices,
      supportsPropertyName,
      supportedPropertyNames,
      indexedGet,
      indexedSetNew,
      indexedSetExisting,
      namedGet,
      namedSetNew,
      namedSetExisting,
      namedDelete,
      asyncIteratorNext,
      asyncIteratorReturn,
      asyncIteratorInit,
      asyncIteratorEOI,
      iteratorResult
    };
  }
});

// node_modules/punycode/punycode.js
var require_punycode = __commonJS({
  "node_modules/punycode/punycode.js"(exports2, module2) {
    "use strict";
    var maxInt = 2147483647;
    var base = 36;
    var tMin = 1;
    var tMax = 26;
    var skew = 38;
    var damp = 700;
    var initialBias = 72;
    var initialN = 128;
    var delimiter = "-";
    var regexPunycode = /^xn--/;
    var regexNonASCII = /[^\0-\x7F]/;
    var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g;
    var errors = {
      "overflow": "Overflow: input needs wider integers to process",
      "not-basic": "Illegal input >= 0x80 (not a basic code point)",
      "invalid-input": "Invalid input"
    };
    var baseMinusTMin = base - tMin;
    var floor = Math.floor;
    var stringFromCharCode = String.fromCharCode;
    function error(type2) {
      throw new RangeError(errors[type2]);
    }
    function map(array, callback) {
      const result = [];
      let length = array.length;
      while (length--) {
        result[length] = callback(array[length]);
      }
      return result;
    }
    function mapDomain(domain, callback) {
      const parts = domain.split("@");
      let result = "";
      if (parts.length > 1) {
        result = parts[0] + "@";
        domain = parts[1];
      }
      domain = domain.replace(regexSeparators, ".");
      const labels = domain.split(".");
      const encoded = map(labels, callback).join(".");
      return result + encoded;
    }
    function ucs2decode(string) {
      const output = [];
      let counter = 0;
      const length = string.length;
      while (counter < length) {
        const value = string.charCodeAt(counter++);
        if (value >= 55296 && value <= 56319 && counter < length) {
          const extra = string.charCodeAt(counter++);
          if ((extra & 64512) == 56320) {
            output.push(((value & 1023) << 10) + (extra & 1023) + 65536);
          } else {
            output.push(value);
            counter--;
          }
        } else {
          output.push(value);
        }
      }
      return output;
    }
    var ucs2encode = (codePoints) => String.fromCodePoint(...codePoints);
    var basicToDigit = function(codePoint) {
      if (codePoint >= 48 && codePoint < 58) {
        return 26 + (codePoint - 48);
      }
      if (codePoint >= 65 && codePoint < 91) {
        return codePoint - 65;
      }
      if (codePoint >= 97 && codePoint < 123) {
        return codePoint - 97;
      }
      return base;
    };
    var digitToBasic = function(digit, flag) {
      return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
    };
    var adapt = function(delta, numPoints, firstTime) {
      let k7 = 0;
      delta = firstTime ? floor(delta / damp) : delta >> 1;
      delta += floor(delta / numPoints);
      for (; delta > baseMinusTMin * tMax >> 1; k7 += base) {
        delta = floor(delta / baseMinusTMin);
      }
      return floor(k7 + (baseMinusTMin + 1) * delta / (delta + skew));
    };
    var decode = function(input) {
      const output = [];
      const inputLength = input.length;
      let i3 = 0;
      let n2 = initialN;
      let bias = initialBias;
      let basic = input.lastIndexOf(delimiter);
      if (basic < 0) {
        basic = 0;
      }
      for (let j4 = 0; j4 < basic; ++j4) {
        if (input.charCodeAt(j4) >= 128) {
          error("not-basic");
        }
        output.push(input.charCodeAt(j4));
      }
      for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; ) {
        const oldi = i3;
        for (let w7 = 1, k7 = base; ; k7 += base) {
          if (index >= inputLength) {
            error("invalid-input");
          }
          const digit = basicToDigit(input.charCodeAt(index++));
          if (digit >= base) {
            error("invalid-input");
          }
          if (digit > floor((maxInt - i3) / w7)) {
            error("overflow");
          }
          i3 += digit * w7;
          const t2 = k7 <= bias ? tMin : k7 >= bias + tMax ? tMax : k7 - bias;
          if (digit < t2) {
            break;
          }
          const baseMinusT = base - t2;
          if (w7 > floor(maxInt / baseMinusT)) {
            error("overflow");
          }
          w7 *= baseMinusT;
        }
        const out = output.length + 1;
        bias = adapt(i3 - oldi, out, oldi == 0);
        if (floor(i3 / out) > maxInt - n2) {
          error("overflow");
        }
        n2 += floor(i3 / out);
        i3 %= out;
        output.splice(i3++, 0, n2);
      }
      return String.fromCodePoint(...output);
    };
    var encode3 = function(input) {
      const output = [];
      input = ucs2decode(input);
      const inputLength = input.length;
      let n2 = initialN;
      let delta = 0;
      let bias = initialBias;
      for (const currentValue of input) {
        if (currentValue < 128) {
          output.push(stringFromCharCode(currentValue));
        }
      }
      const basicLength = output.length;
      let handledCPCount = basicLength;
      if (basicLength) {
        output.push(delimiter);
      }
      while (handledCPCount < inputLength) {
        let m5 = maxInt;
        for (const currentValue of input) {
          if (currentValue >= n2 && currentValue < m5) {
            m5 = currentValue;
          }
        }
        const handledCPCountPlusOne = handledCPCount + 1;
        if (m5 - n2 > floor((maxInt - delta) / handledCPCountPlusOne)) {
          error("overflow");
        }
        delta += (m5 - n2) * handledCPCountPlusOne;
        n2 = m5;
        for (const currentValue of input) {
          if (currentValue < n2 && ++delta > maxInt) {
            error("overflow");
          }
          if (currentValue === n2) {
            let q6 = delta;
            for (let k7 = base; ; k7 += base) {
              const t2 = k7 <= bias ? tMin : k7 >= bias + tMax ? tMax : k7 - bias;
              if (q6 < t2) {
                break;
              }
              const qMinusT = q6 - t2;
              const baseMinusT = base - t2;
              output.push(
                stringFromCharCode(digitToBasic(t2 + qMinusT % baseMinusT, 0))
              );
              q6 = floor(qMinusT / baseMinusT);
            }
            output.push(stringFromCharCode(digitToBasic(q6, 0)));
            bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);
            delta = 0;
            ++handledCPCount;
          }
        }
        ++delta;
        ++n2;
      }
      return output.join("");
    };
    var toUnicode = function(input) {
      return mapDomain(input, function(string) {
        return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;
      });
    };
    var toASCII = function(input) {
      return mapDomain(input, function(string) {
        return regexNonASCII.test(string) ? "xn--" + encode3(string) : string;
      });
    };
    var punycode = {
      /**
       * A string representing the current Punycode.js version number.
       * @memberOf punycode
       * @type String
       */
      "version": "2.3.1",
      /**
       * An object of methods to convert from JavaScript's internal character
       * representation (UCS-2) to Unicode code points, and back.
       * @see <https://mathiasbynens.be/notes/javascript-encoding>
       * @memberOf punycode
       * @type Object
       */
      "ucs2": {
        "decode": ucs2decode,
        "encode": ucs2encode
      },
      "decode": decode,
      "encode": encode3,
      "toASCII": toASCII,
      "toUnicode": toUnicode
    };
    module2.exports = punycode;
  }
});

// node_modules/tr46/lib/regexes.js
var require_regexes = __commonJS({
  "node_modules/tr46/lib/regexes.js"(exports2, module2) {
    "use strict";
    var combiningMarks = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10D69}-\u{10D6D}\u{10EAB}\u{10EAC}\u{10EFC}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11000}-\u{11002}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11082}\u{110B0}-\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{11134}\u{11145}\u{11146}\u{11173}\u{11180}-\u{11182}\u{111B3}-\u{111C0}\u{111C9}-\u{111CC}\u{111CE}\u{111CF}\u{1122C}-\u{11237}\u{1123E}\u{11241}\u{112DF}-\u{112EA}\u{11300}-\u{11303}\u{1133B}\u{1133C}\u{1133E}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11357}\u{11362}\u{11363}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{113B8}-\u{113C0}\u{113C2}\u{113C5}\u{113C7}-\u{113CA}\u{113CC}-\u{113D0}\u{113D2}\u{113E1}\u{113E2}\u{11435}-\u{11446}\u{1145E}\u{114B0}-\u{114C3}\u{115AF}-\u{115B5}\u{115B8}-\u{115C0}\u{115DC}\u{115DD}\u{11630}-\u{11640}\u{116AB}-\u{116B7}\u{1171D}-\u{1172B}\u{1182C}-\u{1183A}\u{11930}-\u{11935}\u{11937}\u{11938}\u{1193B}-\u{1193E}\u{11940}\u{11942}\u{11943}\u{119D1}-\u{119D7}\u{119DA}-\u{119E0}\u{119E4}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A39}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A5B}\u{11A8A}-\u{11A99}\u{11C2F}-\u{11C36}\u{11C38}-\u{11C3F}\u{11C92}-\u{11CA7}\u{11CA9}-\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D8A}-\u{11D8E}\u{11D90}\u{11D91}\u{11D93}-\u{11D97}\u{11EF3}-\u{11EF6}\u{11F00}\u{11F01}\u{11F03}\u{11F34}-\u{11F3A}\u{11F3E}-\u{11F42}\u{11F5A}\u{13440}\u{13447}-\u{13455}\u{1611E}-\u{1612F}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F51}-\u{16F87}\u{16F8F}-\u{16F92}\u{16FE4}\u{16FF0}\u{16FF1}\u{1BC9D}\u{1BC9E}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D165}-\u{1D169}\u{1D16D}-\u{1D172}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E5EE}\u{1E5EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]/u;
    var combiningClassVirama = /[\u094D\u09CD\u0A4D\u0ACD\u0B4D\u0BCD\u0C4D\u0CCD\u0D3B\u0D3C\u0D4D\u0DCA\u0E3A\u0EBA\u0F84\u1039\u103A\u1714\u1715\u1734\u17D2\u1A60\u1B44\u1BAA\u1BAB\u1BF2\u1BF3\u2D7F\uA806\uA82C\uA8C4\uA953\uA9C0\uAAF6\uABED\u{10A3F}\u{11046}\u{11070}\u{1107F}\u{110B9}\u{11133}\u{11134}\u{111C0}\u{11235}\u{112EA}\u{1134D}\u{113CE}-\u{113D0}\u{11442}\u{114C2}\u{115BF}\u{1163F}\u{116B6}\u{1172B}\u{11839}\u{1193D}\u{1193E}\u{119E0}\u{11A34}\u{11A47}\u{11A99}\u{11C3F}\u{11D44}\u{11D45}\u{11D97}\u{11F41}\u{11F42}\u{1612F}]/u;
    var validZWNJ = /[\u0620\u0626\u0628\u062A-\u062E\u0633-\u063F\u0641-\u0647\u0649\u064A\u066E\u066F\u0678-\u0687\u069A-\u06BF\u06C1\u06C2\u06CC\u06CE\u06D0\u06D1\u06FA-\u06FC\u06FF\u0712-\u0714\u071A-\u071D\u071F-\u0727\u0729\u072B\u072D\u072E\u074E-\u0758\u075C-\u076A\u076D-\u0770\u0772\u0775-\u0777\u077A-\u077F\u07CA-\u07EA\u0841-\u0845\u0848\u084A-\u0853\u0855\u0860\u0862-\u0865\u0868\u0886\u0889-\u088D\u08A0-\u08A9\u08AF\u08B0\u08B3-\u08B8\u08BA-\u08C8\u1807\u1820-\u1878\u1887-\u18A8\u18AA\uA840-\uA872\u{10AC0}-\u{10AC4}\u{10ACD}\u{10AD3}-\u{10ADC}\u{10ADE}-\u{10AE0}\u{10AEB}-\u{10AEE}\u{10B80}\u{10B82}\u{10B86}-\u{10B88}\u{10B8A}\u{10B8B}\u{10B8D}\u{10B90}\u{10BAD}\u{10BAE}\u{10D00}-\u{10D21}\u{10D23}\u{10EC3}\u{10EC4}\u{10F30}-\u{10F32}\u{10F34}-\u{10F44}\u{10F51}-\u{10F53}\u{10F70}-\u{10F73}\u{10F76}-\u{10F81}\u{10FB0}\u{10FB2}\u{10FB3}\u{10FB8}\u{10FBB}\u{10FBC}\u{10FBE}\u{10FBF}\u{10FC1}\u{10FC4}\u{10FCA}\u{10FCB}\u{1E900}-\u{1E943}][\xAD\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u061C\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200B\u200E\u200F\u202A-\u202E\u2060-\u2064\u206A-\u206F\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFEFF\uFFF9-\uFFFB\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10D69}-\u{10D6D}\u{10EAB}\u{10EAC}\u{10EFC}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{113BB}-\u{113C0}\u{113CE}\u{113D0}\u{113D2}\u{113E1}\u{113E2}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C3F}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{11F5A}\u{13430}-\u{13440}\u{13447}-\u{13455}\u{1611E}-\u{16129}\u{1612D}-\u{1612F}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1BCA0}-\u{1BCA3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D173}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E5EE}\u{1E5EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94B}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}]*\u200C[\xAD\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u061C\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200B\u200E\u200F\u202A-\u202E\u2060-\u2064\u206A-\u206F\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFEFF\uFFF9-\uFFFB\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10D69}-\u{10D6D}\u{10EAB}\u{10EAC}\u{10EFC}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{113BB}-\u{113C0}\u{113CE}\u{113D0}\u{113D2}\u{113E1}\u{113E2}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C3F}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{11F5A}\u{13430}-\u{13440}\u{13447}-\u{13455}\u{1611E}-\u{16129}\u{1612D}-\u{1612F}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1BCA0}-\u{1BCA3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D173}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E5EE}\u{1E5EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94B}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}]*[\u0620\u0622-\u063F\u0641-\u064A\u066E\u066F\u0671-\u0673\u0675-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u077F\u07CA-\u07EA\u0840-\u0858\u0860\u0862-\u0865\u0867-\u086A\u0870-\u0882\u0886\u0889-\u088E\u08A0-\u08AC\u08AE-\u08C8\u1807\u1820-\u1878\u1887-\u18A8\u18AA\uA840-\uA871\u{10AC0}-\u{10AC5}\u{10AC7}\u{10AC9}\u{10ACA}\u{10ACE}-\u{10AD6}\u{10AD8}-\u{10AE1}\u{10AE4}\u{10AEB}-\u{10AEF}\u{10B80}-\u{10B91}\u{10BA9}-\u{10BAE}\u{10D01}-\u{10D23}\u{10EC2}-\u{10EC4}\u{10F30}-\u{10F44}\u{10F51}-\u{10F54}\u{10F70}-\u{10F81}\u{10FB0}\u{10FB2}-\u{10FB6}\u{10FB8}-\u{10FBF}\u{10FC1}-\u{10FC4}\u{10FC9}\u{10FCA}\u{1E900}-\u{1E943}]/u;
    var bidiDomain = /[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0605\u0608\u060B\u060D\u061B-\u064A\u0660-\u0669\u066B-\u066F\u0671-\u06D5\u06DD\u06E5\u06E6\u06EE\u06EF\u06FA-\u070D\u070F\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u083E\u0840-\u0858\u085E\u0860-\u086A\u0870-\u088E\u0890\u0891\u08A0-\u08C9\u08E2\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFC\uFE70-\uFE74\uFE76-\uFEFC\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{10920}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A40}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE4}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D23}\u{10D30}-\u{10D39}\u{10D40}-\u{10D65}\u{10D6F}-\u{10D85}\u{10D8E}\u{10D8F}\u{10E60}-\u{10E7E}\u{10E80}-\u{10EA9}\u{10EAD}\u{10EB0}\u{10EB1}\u{10EC2}-\u{10EC4}\u{10F00}-\u{10F27}\u{10F30}-\u{10F45}\u{10F51}-\u{10F59}\u{10F70}-\u{10F81}\u{10F86}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8CF}\u{1E900}-\u{1E943}\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}]/u;
    var bidiS1LTR = /[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02BB-\u02C1\u02D0\u02D1\u02E0-\u02E4\u02EE\u0370-\u0373\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0482\u048A-\u052F\u0531-\u0556\u0559-\u0589\u0903-\u0939\u093B\u093D-\u0940\u0949-\u094C\u094E-\u0950\u0958-\u0961\u0964-\u0980\u0982\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD-\u09C0\u09C7\u09C8\u09CB\u09CC\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09FA\u09FC\u09FD\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3E-\u0A40\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A76\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD-\u0AC0\u0AC9\u0ACB\u0ACC\u0AD0\u0AE0\u0AE1\u0AE6-\u0AF0\u0AF9\u0B02\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7\u0BE6-\u0BF2\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C41-\u0C44\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C77\u0C7F\u0C80\u0C82-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD-\u0CC4\u0CC6-\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D02-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D4F\u0D54-\u0D61\u0D66-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E4F-\u0E5B\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00-\u0F17\u0F1A-\u0F34\u0F36\u0F38\u0F3E-\u0F47\u0F49-\u0F6C\u0F7F\u0F85\u0F88-\u0F8C\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE-\u0FDA\u1000-\u102C\u1031\u1038\u103B\u103C\u103F-\u1057\u105A-\u105D\u1061-\u1070\u1075-\u1081\u1083\u1084\u1087-\u108C\u108E-\u109C\u109E-\u10C5\u10C7\u10CD\u10D0-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1360-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u167F\u1681-\u169A\u16A0-\u16F8\u1700-\u1711\u1715\u171F-\u1731\u1734-\u1736\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17B6\u17BE-\u17C5\u17C7\u17C8\u17D4-\u17DA\u17DC\u17E0-\u17E9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A19\u1A1A\u1A1E-\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1A80-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD\u1B04-\u1B33\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B4C\u1B4E-\u1B6A\u1B74-\u1B7F\u1B82-\u1BA1\u1BA6\u1BA7\u1BAA\u1BAE-\u1BE5\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1BFC-\u1C2B\u1C34\u1C35\u1C3B-\u1C49\u1C4D-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CC7\u1CD3\u1CE1\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5-\u1CF7\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200E\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u214F\u2160-\u2188\u2336-\u237A\u2395\u249C-\u24E9\u26AC\u2800-\u28FF\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D70\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u302E\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\u31BF\u31F0-\u321C\u3220-\u324F\u3260-\u327B\u327F-\u32B0\u32C0-\u32CB\u32D0-\u3376\u337B-\u33DD\u33E0-\u33FE\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA60C\uA610-\uA62B\uA640-\uA66E\uA680-\uA69D\uA6A0-\uA6EF\uA6F2-\uA6F7\uA722-\uA787\uA789-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA824\uA827\uA830-\uA837\uA840-\uA873\uA880-\uA8C3\uA8CE-\uA8D9\uA8F2-\uA8FE\uA900-\uA925\uA92E-\uA946\uA952\uA953\uA95F-\uA97C\uA983-\uA9B2\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9CD\uA9CF-\uA9D9\uA9DE-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA2F\uAA30\uAA33\uAA34\uAA40-\uAA42\uAA44-\uAA4B\uAA4D\uAA50-\uAA59\uAA5C-\uAA7B\uAA7D-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAAEB\uAAEE-\uAAF5\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB69\uAB70-\uABE4\uABE6\uABE7\uABE9-\uABEC\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uD800-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10100}\u{10102}\u{10107}-\u{10133}\u{10137}-\u{1013F}\u{1018D}\u{1018E}\u{101D0}-\u{101FC}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{10300}-\u{10323}\u{1032D}-\u{1034A}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{1039F}-\u{103C3}\u{103C8}-\u{103D5}\u{10400}-\u{1049D}\u{104A0}-\u{104A9}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{1056F}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u
Download .txt
gitextract_owtnm45i/

├── .dockerignore
├── .eslintrc.json
├── .github/
│   ├── CONTRIBUTING.md
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug.yaml
│   │   └── featureRequest.yaml
│   ├── TODO.md
│   └── workflows/
│       ├── codeql.yml
│       ├── dependency-review.yml
│       └── test.yml
├── .gitignore
├── .npmignore
├── .opencommitignore
├── .prettierignore
├── .prettierrc
├── LICENSE
├── README.md
├── action.yml
├── esbuild.config.js
├── jest.config.ts
├── out/
│   ├── cli.cjs
│   ├── github-action.cjs
│   └── tiktoken_bg.wasm
├── package.json
├── src/
│   ├── CommandsEnum.ts
│   ├── cli.ts
│   ├── commands/
│   │   ├── ENUMS.ts
│   │   ├── README.md
│   │   ├── commit.ts
│   │   ├── commitlint.ts
│   │   ├── config.ts
│   │   ├── githook.ts
│   │   ├── models.ts
│   │   ├── prepare-commit-msg-hook.ts
│   │   └── setup.ts
│   ├── engine/
│   │   ├── Engine.ts
│   │   ├── aimlapi.ts
│   │   ├── anthropic.ts
│   │   ├── azure.ts
│   │   ├── deepseek.ts
│   │   ├── flowise.ts
│   │   ├── gemini.ts
│   │   ├── groq.ts
│   │   ├── mistral.ts
│   │   ├── mlx.ts
│   │   ├── ollama.ts
│   │   ├── openAi.ts
│   │   ├── openrouter.ts
│   │   └── testAi.ts
│   ├── generateCommitMessageFromGitDiff.ts
│   ├── github-action.ts
│   ├── i18n/
│   │   ├── cs.json
│   │   ├── de.json
│   │   ├── en.json
│   │   ├── es_ES.json
│   │   ├── fr.json
│   │   ├── id_ID.json
│   │   ├── index.ts
│   │   ├── it.json
│   │   ├── ja.json
│   │   ├── ko.json
│   │   ├── nl.json
│   │   ├── pl.json
│   │   ├── pt_br.json
│   │   ├── ru.json
│   │   ├── sv.json
│   │   ├── th.json
│   │   ├── tr.json
│   │   ├── vi_VN.json
│   │   ├── zh_CN.json
│   │   └── zh_TW.json
│   ├── migrations/
│   │   ├── 00_use_single_api_key_and_url.ts
│   │   ├── 01_remove_obsolete_config_keys_from_global_file.ts
│   │   ├── 02_set_missing_default_values.ts
│   │   ├── _migrations.ts
│   │   └── _run.ts
│   ├── modules/
│   │   └── commitlint/
│   │       ├── config.ts
│   │       ├── constants.ts
│   │       ├── crypto.ts
│   │       ├── prompts.ts
│   │       ├── pwd-commitlint.ts
│   │       ├── types.ts
│   │       └── utils.ts
│   ├── prompts.ts
│   ├── utils/
│   │   ├── checkIsLatestVersion.ts
│   │   ├── engine.ts
│   │   ├── engineErrorHandler.ts
│   │   ├── errors.ts
│   │   ├── git.ts
│   │   ├── mergeDiffs.ts
│   │   ├── modelCache.ts
│   │   ├── randomIntFromInterval.ts
│   │   ├── removeContentTags.ts
│   │   ├── removeConventionalCommitWord.ts
│   │   ├── sleep.ts
│   │   ├── tokenCount.ts
│   │   └── trytm.ts
│   └── version.ts
├── test/
│   ├── Dockerfile
│   ├── e2e/
│   │   ├── gitPush.test.ts
│   │   ├── noChanges.test.ts
│   │   ├── oneFile.test.ts
│   │   ├── prompt-module/
│   │   │   ├── commitlint.test.ts
│   │   │   └── data/
│   │   │       ├── commitlint_18/
│   │   │       │   ├── commitlint.config.js
│   │   │       │   └── package.json
│   │   │       ├── commitlint_19/
│   │   │       │   ├── commitlint.config.js
│   │   │       │   └── package.json
│   │   │       └── commitlint_9/
│   │   │           ├── commitlint.config.js
│   │   │           └── package.json
│   │   ├── setup.sh
│   │   └── utils.ts
│   ├── jest-setup.ts
│   └── unit/
│       ├── config.test.ts
│       ├── gemini.test.ts
│       ├── removeContentTags.test.ts
│       └── utils.ts
└── tsconfig.json
Download .txt
Showing preview only (337K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3271 symbols across 45 files)

FILE: out/cli.cjs
  method "node_modules/sisteransi/src/index.js" (line 38) | "node_modules/sisteransi/src/index.js"(exports2, module2) {
  method "node_modules/picocolors/picocolors.js" (line 94) | "node_modules/picocolors/picocolors.js"(exports2, module2) {
  function q3 (line 165) | function q3({ onlyFirst: t2 = false } = {}) {
  function S3 (line 169) | function S3(t2) {
  function j2 (line 173) | function j2(t2) {
  function A2 (line 176) | function A2(t2, u3 = {}) {
  function tD2 (line 198) | function tD2() {
  function R4 (line 227) | function R4(t2, u3, F5) {
  function aD2 (line 233) | function aD2(t2, u3) {
  function hD2 (line 241) | function hD2(t2) {
  function v3 (line 244) | function v3(t2, u3) {
  function WD (line 247) | function WD({ input: t2 = import_node_process.stdin, output: u3 = import...
  method "node_modules/@clack/core/dist/index.mjs" (line 265) | "node_modules/@clack/core/dist/index.mjs"() {
  function N4 (line 669) | function N4() {
  function ue (line 672) | function ue() {
  method "node_modules/@clack/prompts/dist/index.mjs" (line 678) | "node_modules/@clack/prompts/dist/index.mjs"() {
  method "node_modules/isexe/windows.js" (line 1003) | "node_modules/isexe/windows.js"(exports2, module2) {
  method "node_modules/isexe/mode.js" (line 1043) | "node_modules/isexe/mode.js"(exports2, module2) {
  method "node_modules/isexe/index.js" (line 1076) | "node_modules/isexe/index.js"(exports2, module2) {
  method "node_modules/which/which.js" (line 1131) | "node_modules/which/which.js"(exports2, module2) {
  method "node_modules/path-key/index.js" (line 1227) | "node_modules/path-key/index.js"(exports2, module2) {
  method "node_modules/cross-spawn/lib/util/resolveCommand.js" (line 1244) | "node_modules/cross-spawn/lib/util/resolveCommand.js"(exports2, module2) {
  method "node_modules/cross-spawn/lib/util/escape.js" (line 1286) | "node_modules/cross-spawn/lib/util/escape.js"(exports2, module2) {
  method "node_modules/shebang-regex/index.js" (line 1311) | "node_modules/shebang-regex/index.js"(exports2, module2) {
  method "node_modules/shebang-command/index.js" (line 1319) | "node_modules/shebang-command/index.js"(exports2, module2) {
  method "node_modules/cross-spawn/lib/util/readShebang.js" (line 1339) | "node_modules/cross-spawn/lib/util/readShebang.js"(exports2, module2) {
  method "node_modules/cross-spawn/lib/parse.js" (line 1361) | "node_modules/cross-spawn/lib/parse.js"(exports2, module2) {
  method "node_modules/cross-spawn/lib/enoent.js" (line 1423) | "node_modules/cross-spawn/lib/enoent.js"(exports2, module2) {
  method "node_modules/cross-spawn/index.js" (line 1473) | "node_modules/cross-spawn/index.js"(exports2, module2) {
  method "node_modules/signal-exit/signals.js" (line 1500) | "node_modules/signal-exit/signals.js"(exports2, module2) {
  method "node_modules/signal-exit/index.js" (line 1537) | "node_modules/signal-exit/index.js"(exports2, module2) {
  method "node_modules/get-stream/buffer-stream.js" (line 1696) | "node_modules/get-stream/buffer-stream.js"(exports2, module2) {
  method "node_modules/get-stream/index.js" (line 1741) | "node_modules/get-stream/index.js"(exports2, module2) {
  method "node_modules/merge-stream/index.js" (line 1796) | "node_modules/merge-stream/index.js"(exports2, module2) {
  method "node_modules/dotenv/package.json" (line 1836) | "node_modules/dotenv/package.json"(exports2, module2) {
  method "node_modules/dotenv/lib/main.js" (line 1907) | "node_modules/dotenv/lib/main.js"(exports2, module2) {
  method "node_modules/ini/lib/ini.js" (line 2174) | "node_modules/ini/lib/ini.js"(exports2, module2) {
  method "node_modules/webidl-conversions/lib/index.js" (line 2353) | "node_modules/webidl-conversions/lib/index.js"(exports2) {
  method "node_modules/whatwg-url/lib/utils.js" (line 2699) | "node_modules/whatwg-url/lib/utils.js"(exports2, module2) {
  method "node_modules/punycode/punycode.js" (line 2864) | "node_modules/punycode/punycode.js"(exports2, module2) {
  method "node_modules/tr46/lib/regexes.js" (line 3103) | "node_modules/tr46/lib/regexes.js"(exports2, module2) {
  method "node_modules/tr46/lib/mappingTable.json" (line 3136) | "node_modules/tr46/lib/mappingTable.json"(exports2, module2) {
  method "node_modules/tr46/lib/statusMapping.js" (line 3143) | "node_modules/tr46/lib/statusMapping.js"(exports2, module2) {
  method "node_modules/tr46/index.js" (line 3157) | "node_modules/tr46/index.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/infra.js" (line 3435) | "node_modules/whatwg-url/lib/infra.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/encoding.js" (line 3460) | "node_modules/whatwg-url/lib/encoding.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/percent-encoding.js" (line 3479) | "node_modules/whatwg-url/lib/percent-encoding.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/url-state-machine.js" (line 3588) | "node_modules/whatwg-url/lib/url-state-machine.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/urlencoded.js" (line 4639) | "node_modules/whatwg-url/lib/urlencoded.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/Function.js" (line 4716) | "node_modules/whatwg-url/lib/Function.js"(exports2) {
  method "node_modules/whatwg-url/lib/URLSearchParams-impl.js" (line 4751) | "node_modules/whatwg-url/lib/URLSearchParams-impl.js"(exports2) {
  method "node_modules/whatwg-url/lib/URLSearchParams.js" (line 4875) | "node_modules/whatwg-url/lib/URLSearchParams.js"(exports2) {
  method "node_modules/whatwg-url/lib/URL-impl.js" (line 5326) | "node_modules/whatwg-url/lib/URL-impl.js"(exports2) {
  method "node_modules/whatwg-url/lib/URL.js" (line 5513) | "node_modules/whatwg-url/lib/URL.js"(exports2) {
  method "node_modules/whatwg-url/webidl2js-wrapper.js" (line 5915) | "node_modules/whatwg-url/webidl2js-wrapper.js"(exports2) {
  method "node_modules/whatwg-url/index.js" (line 5926) | "node_modules/whatwg-url/index.js"(exports2) {
  method "node_modules/node-fetch/lib/index.js" (line 5954) | "node_modules/node-fetch/lib/index.js"(exports2, module2) {
  function t (line 7192) | function t() {
  function r2 (line 7194) | function r2(e3) {
  function n (line 7197) | function n(e3, t2) {
  function u2 (line 7203) | function u2(e3) {
  function c3 (line 7206) | function c3(e3) {
  function d6 (line 7209) | function d6(e3) {
  function f3 (line 7212) | function f3(e3, t2, r3) {
  function b6 (line 7215) | function b6(e3, t2, r3) {
  function h3 (line 7218) | function h3(e3, t2) {
  function _6 (line 7221) | function _6(e3, t2) {
  function p3 (line 7224) | function p3(e3, t2, r3) {
  function m4 (line 7227) | function m4(e3) {
  function g4 (line 7230) | function g4(e3, t2, r3) {
  function w6 (line 7234) | function w6(e3, t2, r3) {
  function E3 (line 7241) | function E3(e3, t2) {
  function P3 (line 7246) | function P3(e3, t2) {
  function W5 (line 7249) | function W5(e3) {
  function k6 (line 7255) | function k6(e3) {
  function O4 (line 7258) | function O4(e3) {
  function B2 (line 7263) | function B2(e3, t2) {
  function A4 (line 7266) | function A4(e3, t2) {
  function j3 (line 7269) | function j3(e3) {
  function F4 (line 7272) | function F4(e3, t2) {
  function I4 (line 7276) | function I4(e3, t2) {
  function D4 (line 7279) | function D4(e3, t2) {
  function $5 (line 7284) | function $5(e3, t2, r3) {
  function M4 (line 7287) | function M4(e3, t2, r3) {
  function Y4 (line 7290) | function Y4(e3) {
  function Q4 (line 7293) | function Q4(e3) {
  function N5 (line 7296) | function N5(e3, t2) {
  function H5 (line 7305) | function H5(e3) {
  function x4 (line 7314) | function x4(e3) {
  function V5 (line 7323) | function V5(e3, t2) {
  function U6 (line 7326) | function U6(e3, t2) {
  function G6 (line 7329) | function G6(e3, t2, r3) {
  function X4 (line 7333) | function X4(e3) {
  function J5 (line 7336) | function J5(e3) {
  function K5 (line 7340) | function K5(e3) {
  function Z5 (line 7343) | function Z5(e3, t2) {
  function ee2 (line 7349) | function ee2(e3) {
  function oe (line 7352) | function oe(e3) {
  function ne2 (line 7361) | function ne2(e3) {
  function ie2 (line 7364) | function ie2(e3, t2, r3, o3, n2) {
  function le2 (line 7367) | function le2(e3) {
  function se2 (line 7375) | function se2(e3) {
  function ue2 (line 7379) | function ue2(e3, t2, r3) {
  function ce2 (line 7384) | function ce2(e3) {
  function de (line 7387) | function de(e3) {
  function fe (line 7390) | function fe(e3) {
  function be (line 7393) | function be(e3) {
  function he (line 7409) | function he(e3) {
  function _e (line 7412) | function _e(e3, t2) {
  function pe (line 7421) | function pe(e3) {
  function me (line 7425) | function me(e3, t2, r3, o3) {
  function ye (line 7428) | function ye(e3, t2, r3, o3) {
  function ge (line 7437) | function ge(e3, t2) {
  function we (line 7440) | function we(e3, t2) {
  function Se (line 7451) | function Se(e3, t2, r3) {
  function ve (line 7454) | function ve(e3) {
  function Re (line 7457) | function Re(e3) {
  function Te (line 7460) | function Te(e3) {
  function qe (line 7467) | function qe(e3, t2) {
  function Ce (line 7486) | function Ce(e3) {
  function Ee (line 7489) | function Ee(e3) {
  function Pe (line 7492) | function Pe(e3, t2) {
  function We (line 7496) | function We(e3, t2) {
  function ke (line 7502) | function ke(e3) {
  function Oe (line 7506) | function Oe(e3, t2, r3) {
  function Be (line 7517) | function Be(e3) {
  function Ae (line 7520) | function Ae(e3) {
  function je (line 7523) | function je(e3, t2) {
  function ze (line 7526) | function ze(e3) {
  function Le (line 7529) | function Le(e3) {
  function Fe (line 7533) | function Fe(e3) {
  function Ie (line 7536) | function Ie(e3, t2) {
  function De (line 7542) | function De(e3) {
  function $e2 (line 7545) | function $e2(e3, t2) {
  function Me (line 7551) | function Me(e3) {
  function Ye (line 7555) | function Ye(e3, t2) {
  function Qe (line 7560) | function Qe(e3, t2) {
  function Ne (line 7563) | function Ne(e3, t2, r3) {
  function He (line 7566) | function He(e3, t2, r3) {
  function xe (line 7569) | function xe(e3, t2, r3) {
  function Ve (line 7572) | function Ve(e3, t2, r3) {
  function Ge (line 7575) | function Ge(e3) {
  function Xe (line 7578) | function Xe(e3) {
  function Je (line 7581) | function Je(e3, t2) {
  function Ke (line 7595) | function Ke(e3) {
  function Ze (line 7605) | function Ze(e3, t2) {
  function et (line 7608) | function et(e3, t2) {
  function tt (line 7617) | function tt(e3) {
  function rt (line 7627) | function rt(e3) {
  function ot (line 7630) | function ot(e3) {
  function nt (line 7635) | function nt(e3, t2) {
  function at (line 7641) | function at(e3) {
  function it (line 7644) | function it(e3, t2) {
  function st (line 7649) | function st(e3) {
  function ut (line 7652) | function ut(e3) {
  function ct (line 7655) | function ct(e3) {
  function dt (line 7658) | function dt(e3) {
  function ft (line 7698) | function ft(e3, t2) {
  function bt (line 7701) | function bt(e3) {
  function ht (line 7704) | function ht(e3, t2) {
  function _t (line 7708) | function _t(e3) {
  function pt (line 7711) | function pt(e3) {
  function mt (line 7714) | function mt(e3) {
  function yt (line 7717) | function yt(e3) {
  function gt (line 7720) | function gt(e3) {
  function wt (line 7725) | function wt(e3, t2) {
  function St (line 7728) | function St(e3, t2) {
  function vt (line 7731) | function vt(e3) {
  function Rt (line 7734) | function Rt(e3) {
  function Tt (line 7739) | function Tt(e3, t2) {
  function qt (line 7742) | function qt(e3) {
  function Ct (line 7745) | function Ct(e3, t2) {
  function Et (line 7748) | function Et(e3) {
  function kt (line 7751) | function kt(e3, t2, r3, o3, n2, a4) {
  function Ot (line 7819) | function Ot(e3, t2) {
  function Bt (line 7941) | function Bt(e3) {
  function At (line 7944) | function At(e3) {
  function jt (line 7958) | function jt(e3) {
  function zt (line 7961) | function zt(e3, t2) {
  function Lt (line 7965) | function Lt(e3) {
  function Ft (line 7969) | function Ft(e3) {
  function It (line 7972) | function It(e3, t2, r3, o3) {
  function Dt (line 7980) | function Dt(e3) {
  function $t (line 7983) | function $t(e3, t2, r3) {
  function Mt (line 7986) | function Mt(e3, t2, r3) {
  function Yt (line 7989) | function Yt(e3, t2, r3) {
  function Qt (line 7992) | function Qt(e3, t2) {
  function Nt (line 7996) | function Nt(e3, t2) {
  function Ht (line 8000) | function Ht(e3, t2) {
  function xt (line 8014) | function xt(e3, t2) {
  function Vt (line 8025) | function Vt(e3) {
  function Ut (line 8028) | function Ut(e3) {
  function Gt (line 8031) | function Gt(e3, r3) {
  function Xt (line 8044) | function Xt(e3) {
  function Jt (line 8054) | function Jt(e3, t2) {
  function Kt (line 8059) | function Kt(e3) {
  function Zt (line 8062) | function Zt(e3, t2) {
  function tr (line 8067) | function tr(e3) {
  function rr (line 8070) | function rr(e3) {
  function nr (line 8073) | function nr(e3) {
  function ar (line 8076) | function ar(e3) {
  function ir (line 8079) | function ir(e3, t2, r3) {
  function lr (line 8082) | function lr(e3, t2, r3) {
  function sr (line 8085) | function sr(e3, t2, r3) {
  function ur (line 8088) | function ur(e3) {
  function cr (line 8091) | function cr(e3, t2) {
  function dr (line 8094) | function dr(e3, t2) {
  function fr (line 8100) | function fr(e3, t2) {
  function br (line 8105) | function br(e3) {
  function hr (line 8108) | function hr(e3) {
  function _r (line 8111) | function _r(e3, t2) {
  function pr (line 8136) | function pr(e3, t2) {
  function mr (line 8141) | function mr(e3) {
  function yr (line 8144) | function yr(e3) {
  function gr (line 8147) | function gr(e3) {
  function wr (line 8150) | function wr(e3) {
  function Sr (line 8153) | function Sr(e3, t2) {
  function vr (line 8156) | function vr(e3) {
  function Rr (line 8159) | function Rr(e3, t2) {
  function Tr (line 8162) | function Tr(e3, t2) {
  function qr (line 8167) | function qr(e3) {
  function Cr (line 8170) | function Cr(e3) {
  method "node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs" (line 8175) | "node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyf...
  method "node_modules/formdata-node/lib/esm/isFunction.js" (line 9005) | "node_modules/formdata-node/lib/esm/isFunction.js"() {
  method "node_modules/formdata-node/lib/esm/blobHelpers.js" (line 9076) | "node_modules/formdata-node/lib/esm/blobHelpers.js"() {
  method "node_modules/formdata-node/lib/esm/Blob.js" (line 9085) | "node_modules/formdata-node/lib/esm/Blob.js"() {
  method "node_modules/formdata-node/lib/esm/File.js" (line 9198) | "node_modules/formdata-node/lib/esm/File.js"() {
  method "node_modules/formdata-node/lib/esm/isFile.js" (line 9247) | "node_modules/formdata-node/lib/esm/isFile.js"() {
  method "node_modules/ms/index.js" (line 9255) | "node_modules/ms/index.js"(exports2, module2) {
  method "node_modules/humanize-ms/index.js" (line 9371) | "node_modules/humanize-ms/index.js"(exports2, module2) {
  method "node_modules/agentkeepalive/lib/constants.js" (line 9389) | "node_modules/agentkeepalive/lib/constants.js"(exports2, module2) {
  method "node_modules/agentkeepalive/lib/agent.js" (line 9408) | "node_modules/agentkeepalive/lib/agent.js"(exports2, module2) {
  method "node_modules/agentkeepalive/lib/https_agent.js" (line 9735) | "node_modules/agentkeepalive/lib/https_agent.js"(exports2, module2) {
  method "node_modules/agentkeepalive/index.js" (line 9781) | "node_modules/agentkeepalive/index.js"(exports2, module2) {
  method "node_modules/event-target-shim/dist/event-target-shim.js" (line 9791) | "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, mod...
  method "node_modules/abort-controller/dist/abort-controller.js" (line 10363) | "node_modules/abort-controller/dist/abort-controller.js"(exports2, modul...
  method "node_modules/web-streams-polyfill/dist/ponyfill.es2018.js" (line 10459) | "node_modules/web-streams-polyfill/dist/ponyfill.es2018.js"(exports2, mo...
  method "node_modules/node-domexception/index.js" (line 14734) | "node_modules/node-domexception/index.js"(exports2, module2) {
  function isPlainObject2 (line 14748) | function isPlainObject2(value) {
  method "node_modules/formdata-node/lib/esm/isPlainObject.js" (line 14761) | "node_modules/formdata-node/lib/esm/isPlainObject.js"() {
  function createFileFromPath (line 14774) | function createFileFromPath(path5, { mtimeMs, size }, filenameOrOptions,...
  function fileFromPathSync (line 14790) | function fileFromPathSync(path5, filenameOrOptions, options = {}) {
  function fileFromPath2 (line 14794) | async function fileFromPath2(path5, filenameOrOptions, options) {
  method "node_modules/formdata-node/lib/esm/fileFromPath.js" (line 14800) | "node_modules/formdata-node/lib/esm/fileFromPath.js"() {
  method "node_modules/delayed-stream/lib/delayed_stream.js" (line 14858) | "node_modules/delayed-stream/lib/delayed_stream.js"(exports2, module2) {
  method "node_modules/combined-stream/lib/combined_stream.js" (line 14949) | "node_modules/combined-stream/lib/combined_stream.js"(exports2, module2) {
  method "node_modules/mime-db/db.json" (line 15118) | "node_modules/mime-db/db.json"(exports2, module2) {
  method "node_modules/mime-db/index.js" (line 23643) | "node_modules/mime-db/index.js"(exports2, module2) {
  method "node_modules/mime-types/index.js" (line 23650) | "node_modules/mime-types/index.js"(exports2) {
  method "node_modules/asynckit/lib/defer.js" (line 23740) | "node_modules/asynckit/lib/defer.js"(exports2, module2) {
  method "node_modules/asynckit/lib/async.js" (line 23755) | "node_modules/asynckit/lib/async.js"(exports2, module2) {
  method "node_modules/asynckit/lib/abort.js" (line 23778) | "node_modules/asynckit/lib/abort.js"(exports2, module2) {
  method "node_modules/asynckit/lib/iterate.js" (line 23794) | "node_modules/asynckit/lib/iterate.js"(exports2, module2) {
  method "node_modules/asynckit/lib/state.js" (line 23827) | "node_modules/asynckit/lib/state.js"(exports2, module2) {
  method "node_modules/asynckit/lib/terminator.js" (line 23849) | "node_modules/asynckit/lib/terminator.js"(exports2, module2) {
  method "node_modules/asynckit/parallel.js" (line 23866) | "node_modules/asynckit/parallel.js"(exports2, module2) {
  method "node_modules/asynckit/serialOrdered.js" (line 23893) | "node_modules/asynckit/serialOrdered.js"(exports2, module2) {
  method "node_modules/asynckit/serial.js" (line 23927) | "node_modules/asynckit/serial.js"(exports2, module2) {
  method "node_modules/asynckit/index.js" (line 23938) | "node_modules/asynckit/index.js"(exports2, module2) {
  method "node_modules/form-data/lib/populate.js" (line 23949) | "node_modules/form-data/lib/populate.js"(exports2, module2) {
  method "node_modules/form-data/lib/form_data.js" (line 23961) | "node_modules/form-data/lib/form_data.js"(exports2, module2) {
  method "node_modules/proxy-from-env/index.js" (line 24275) | "node_modules/proxy-from-env/index.js"(exports2) {
  method "node_modules/debug/src/common.js" (line 24345) | "node_modules/debug/src/common.js"(exports2, module2) {
  method "node_modules/debug/src/browser.js" (line 24508) | "node_modules/debug/src/browser.js"(exports2, module2) {
  method "node_modules/has-flag/index.js" (line 24677) | "node_modules/has-flag/index.js"(exports2, module2) {
  method "node_modules/supports-color/index.js" (line 24690) | "node_modules/supports-color/index.js"(exports2, module2) {
  method "node_modules/debug/src/node.js" (line 24792) | "node_modules/debug/src/node.js"(exports2, module2) {
  method "node_modules/debug/src/index.js" (line 24966) | "node_modules/debug/src/index.js"(exports2, module2) {
  method "node_modules/follow-redirects/debug.js" (line 24977) | "node_modules/follow-redirects/debug.js"(exports2, module2) {
  method "node_modules/follow-redirects/index.js" (line 24997) | "node_modules/follow-redirects/index.js"(exports2, module2) {
  method "node_modules/@dqbd/tiktoken/lite/tiktoken_bg.cjs" (line 25483) | "node_modules/@dqbd/tiktoken/lite/tiktoken_bg.cjs"(exports2, module2) {
  method "node_modules/@dqbd/tiktoken/lite/tiktoken.cjs" (line 25824) | "node_modules/@dqbd/tiktoken/lite/tiktoken.cjs"(exports2) {
  method "node_modules/agent-base/dist/helpers.js" (line 25864) | "node_modules/agent-base/dist/helpers.js"(exports2) {
  method "node_modules/agent-base/dist/index.js" (line 25934) | "node_modules/agent-base/dist/index.js"(exports2) {
  method "node_modules/https-proxy-agent/dist/parse-proxy-response.js" (line 26086) | "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
  method "node_modules/https-proxy-agent/dist/index.js" (line 26182) | "node_modules/https-proxy-agent/dist/index.js"(exports2) {
  method "node_modules/http-proxy-agent/dist/index.js" (line 26329) | "node_modules/http-proxy-agent/dist/index.js"(exports2) {
  method "node_modules/@azure/core-tracing/dist/commonjs/state.js" (line 26459) | "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports2) {
  method "node_modules/es-errors/index.js" (line 26471) | "node_modules/es-errors/index.js"(exports2, module2) {
  method "node_modules/es-errors/eval.js" (line 26479) | "node_modules/es-errors/eval.js"(exports2, module2) {
  method "node_modules/es-errors/range.js" (line 26487) | "node_modules/es-errors/range.js"(exports2, module2) {
  method "node_modules/es-errors/ref.js" (line 26495) | "node_modules/es-errors/ref.js"(exports2, module2) {
  method "node_modules/es-errors/syntax.js" (line 26503) | "node_modules/es-errors/syntax.js"(exports2, module2) {
  method "node_modules/es-errors/type.js" (line 26511) | "node_modules/es-errors/type.js"(exports2, module2) {
  method "node_modules/es-errors/uri.js" (line 26519) | "node_modules/es-errors/uri.js"(exports2, module2) {
  method "node_modules/has-symbols/shams.js" (line 26527) | "node_modules/has-symbols/shams.js"(exports2, module2) {
  method "node_modules/has-symbols/index.js" (line 26579) | "node_modules/has-symbols/index.js"(exports2, module2) {
  method "node_modules/has-proto/index.js" (line 26603) | "node_modules/has-proto/index.js"(exports2, module2) {
  method "node_modules/function-bind/implementation.js" (line 26618) | "node_modules/function-bind/implementation.js"(exports2, module2) {
  method "node_modules/function-bind/index.js" (line 26694) | "node_modules/function-bind/index.js"(exports2, module2) {
  method "node_modules/hasown/index.js" (line 26703) | "node_modules/hasown/index.js"(exports2, module2) {
  method "node_modules/get-intrinsic/index.js" (line 26714) | "node_modules/get-intrinsic/index.js"(exports2, module2) {
  method "node_modules/es-define-property/index.js" (line 27028) | "node_modules/es-define-property/index.js"(exports2, module2) {
  method "node_modules/gopd/index.js" (line 27045) | "node_modules/gopd/index.js"(exports2, module2) {
  method "node_modules/define-data-property/index.js" (line 27062) | "node_modules/define-data-property/index.js"(exports2, module2) {
  method "node_modules/has-property-descriptors/index.js" (line 27110) | "node_modules/has-property-descriptors/index.js"(exports2, module2) {
  method "node_modules/set-function-length/index.js" (line 27132) | "node_modules/set-function-length/index.js"(exports2, module2) {
  method "node_modules/call-bind/index.js" (line 27185) | "node_modules/call-bind/index.js"(exports2, module2) {
  method "node_modules/call-bind/callBound.js" (line 27220) | "node_modules/call-bind/callBound.js"(exports2, module2) {
  method "node_modules/object-inspect/util.inspect.js" (line 27237) | "node_modules/object-inspect/util.inspect.js"(exports2, module2) {
  method "node_modules/object-inspect/index.js" (line 27244) | "node_modules/object-inspect/index.js"(exports2, module2) {
  method "node_modules/side-channel/index.js" (line 27759) | "node_modules/side-channel/index.js"(exports2, module2) {
  method "node_modules/qs/lib/formats.js" (line 27874) | "node_modules/qs/lib/formats.js"(exports2, module2) {
  method "node_modules/qs/lib/utils.js" (line 27900) | "node_modules/qs/lib/utils.js"(exports2, module2) {
  method "node_modules/qs/lib/stringify.js" (line 28105) | "node_modules/qs/lib/stringify.js"(exports2, module2) {
  method "node_modules/qs/lib/parse.js" (line 28385) | "node_modules/qs/lib/parse.js"(exports2, module2) {
  method "node_modules/qs/lib/index.js" (line 28612) | "node_modules/qs/lib/index.js"(exports2, module2) {
  method "node_modules/@mistralai/mistralai/lib/url.js" (line 28627) | "node_modules/@mistralai/mistralai/lib/url.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/config.js" (line 28652) | "node_modules/@mistralai/mistralai/lib/config.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/files.js" (line 28685) | "node_modules/@mistralai/mistralai/lib/files.js"(exports2) {
  method "node_modules/@mistralai/mistralai/hooks/custom_user_agent.js" (line 28716) | "node_modules/@mistralai/mistralai/hooks/custom_user_agent.js"(exports2) {
  method "node_modules/@mistralai/mistralai/hooks/deprecation_warning.js" (line 28738) | "node_modules/@mistralai/mistralai/hooks/deprecation_warning.js"(exports...
  method "node_modules/@mistralai/mistralai/hooks/registration.js" (line 28760) | "node_modules/@mistralai/mistralai/hooks/registration.js"(exports2) {
  method "node_modules/@mistralai/mistralai/hooks/hooks.js" (line 28777) | "node_modules/@mistralai/mistralai/hooks/hooks.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/errors/httpclienterrors.js" (line 28847) | "node_modules/@mistralai/mistralai/models/errors/httpclienterrors.js"(ex...
  method "node_modules/@mistralai/mistralai/types/fp.js" (line 28905) | "node_modules/@mistralai/mistralai/types/fp.js"(exports2) {
  method "node_modules/zod/lib/helpers/util.js" (line 28936) | "node_modules/zod/lib/helpers/util.js"(exports2) {
  method "node_modules/zod/lib/ZodError.js" (line 29077) | "node_modules/zod/lib/ZodError.js"(exports2) {
  method "node_modules/zod/lib/locales/en.js" (line 29204) | "node_modules/zod/lib/locales/en.js"(exports2) {
  method "node_modules/zod/lib/errors.js" (line 29313) | "node_modules/zod/lib/errors.js"(exports2) {
  method "node_modules/zod/lib/helpers/parseUtil.js" (line 29336) | "node_modules/zod/lib/helpers/parseUtil.js"(exports2) {
  method "node_modules/zod/lib/helpers/typeAliases.js" (line 29464) | "node_modules/zod/lib/helpers/typeAliases.js"(exports2) {
  method "node_modules/zod/lib/helpers/errorUtil.js" (line 29472) | "node_modules/zod/lib/helpers/errorUtil.js"(exports2) {
  method "node_modules/zod/lib/types.js" (line 29486) | "node_modules/zod/lib/types.js"(exports2) {
  method "node_modules/zod/lib/external.js" (line 32917) | "node_modules/zod/lib/external.js"(exports2) {
  method "node_modules/zod/lib/index.js" (line 32943) | "node_modules/zod/lib/index.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/base64.js" (line 32982) | "node_modules/@mistralai/mistralai/lib/base64.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/is-plain-object.js" (line 33045) | "node_modules/@mistralai/mistralai/lib/is-plain-object.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/encodings.js" (line 33061) | "node_modules/@mistralai/mistralai/lib/encodings.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/dlv.js" (line 33369) | "node_modules/@mistralai/mistralai/lib/dlv.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/env.js" (line 33386) | "node_modules/@mistralai/mistralai/lib/env.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/http.js" (line 33442) | "node_modules/@mistralai/mistralai/lib/http.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/retries.js" (line 33621) | "node_modules/@mistralai/mistralai/lib/retries.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/sdks.js" (line 33762) | "node_modules/@mistralai/mistralai/lib/sdks.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/errors/sdkerror.js" (line 34030) | "node_modules/@mistralai/mistralai/models/errors/sdkerror.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/event-streams.js" (line 34054) | "node_modules/@mistralai/mistralai/lib/event-streams.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/errors/sdkvalidationerror.js" (line 34262) | "node_modules/@mistralai/mistralai/models/errors/sdkvalidationerror.js"(...
  method "node_modules/@mistralai/mistralai/lib/schemas.js" (line 34374) | "node_modules/@mistralai/mistralai/lib/schemas.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/matchers.js" (line 34423) | "node_modules/@mistralai/mistralai/lib/matchers.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/security.js" (line 34613) | "node_modules/@mistralai/mistralai/lib/security.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/primitives.js" (line 34748) | "node_modules/@mistralai/mistralai/lib/primitives.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/components/imageurl.js" (line 34837) | "node_modules/@mistralai/mistralai/models/components/imageurl.js"(export...
  method "node_modules/@mistralai/mistralai/models/components/imageurlchunk.js" (line 34896) | "node_modules/@mistralai/mistralai/models/components/imageurlchunk.js"(e...
  method "node_modules/@mistralai/mistralai/models/components/referencechunk.js" (line 34990) | "node_modules/@mistralai/mistralai/models/components/referencechunk.js"(...
  method "node_modules/@mistralai/mistralai/models/components/textchunk.js" (line 35068) | "node_modules/@mistralai/mistralai/models/components/textchunk.js"(expor...
  method "node_modules/@mistralai/mistralai/models/components/contentchunk.js" (line 35137) | "node_modules/@mistralai/mistralai/models/components/contentchunk.js"(ex...
  method "node_modules/@mistralai/mistralai/models/components/functioncall.js" (line 35209) | "node_modules/@mistralai/mistralai/models/components/functioncall.js"(ex...
  method "node_modules/@mistralai/mistralai/types/enums.js" (line 35283) | "node_modules/@mistralai/mistralai/types/enums.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/components/tooltypes.js" (line 35295) | "node_modules/@mistralai/mistralai/models/components/tooltypes.js"(expor...
  method "node_modules/@mistralai/mistralai/models/components/toolcall.js" (line 35349) | "node_modules/@mistralai/mistralai/models/components/toolcall.js"(export...
  method "node_modules/@mistralai/mistralai/models/components/assistantmessage.js" (line 35412) | "node_modules/@mistralai/mistralai/models/components/assistantmessage.js...
  method "node_modules/@mistralai/mistralai/models/components/responseformats.js" (line 35511) | "node_modules/@mistralai/mistralai/models/components/responseformats.js"...
  method "node_modules/@mistralai/mistralai/models/components/responseformat.js" (line 35559) | "node_modules/@mistralai/mistralai/models/components/responseformat.js"(...
  method "node_modules/@mistralai/mistralai/models/components/systemmessage.js" (line 35617) | "node_modules/@mistralai/mistralai/models/components/systemmessage.js"(e...
  method "node_modules/@mistralai/mistralai/models/components/function.js" (line 35702) | "node_modules/@mistralai/mistralai/models/components/function.js"(export...
  method "node_modules/@mistralai/mistralai/models/components/tool.js" (line 35763) | "node_modules/@mistralai/mistralai/models/components/tool.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/components/functionname.js" (line 35824) | "node_modules/@mistralai/mistralai/models/components/functionname.js"(ex...
  method "node_modules/@mistralai/mistralai/models/components/toolchoice.js" (line 35881) | "node_modules/@mistralai/mistralai/models/components/toolchoice.js"(expo...
  method "node_modules/@mistralai/mistralai/models/components/toolchoiceenum.js" (line 35942) | "node_modules/@mistralai/mistralai/models/components/toolchoiceenum.js"(...
  method "node_modules/@mistralai/mistralai/models/components/toolmessage.js" (line 35992) | "node_modules/@mistralai/mistralai/models/components/toolmessage.js"(exp...
  method "node_modules/@mistralai/mistralai/models/components/usermessage.js" (line 36090) | "node_modules/@mistralai/mistralai/models/components/usermessage.js"(exp...
  method "node_modules/@mistralai/mistralai/models/components/agentscompletionrequest.js" (line 36175) | "node_modules/@mistralai/mistralai/models/components/agentscompletionreq...
  method "node_modules/@mistralai/mistralai/models/components/agentscompletionstreamrequest.js" (line 36375) | "node_modules/@mistralai/mistralai/models/components/agentscompletionstr...
  method "node_modules/@mistralai/mistralai/models/components/apiendpoint.js" (line 36575) | "node_modules/@mistralai/mistralai/models/components/apiendpoint.js"(exp...
  method "node_modules/@mistralai/mistralai/models/components/archiveftmodelout.js" (line 36633) | "node_modules/@mistralai/mistralai/models/components/archiveftmodelout.j...
  method "node_modules/@mistralai/mistralai/models/components/modelcapabilities.js" (line 36704) | "node_modules/@mistralai/mistralai/models/components/modelcapabilities.j...
  method "node_modules/@mistralai/mistralai/models/components/basemodelcard.js" (line 36784) | "node_modules/@mistralai/mistralai/models/components/basemodelcard.js"(e...
  method "node_modules/@mistralai/mistralai/models/components/batcherror.js" (line 36887) | "node_modules/@mistralai/mistralai/models/components/batcherror.js"(expo...
  method "node_modules/@mistralai/mistralai/models/components/batchjobin.js" (line 36946) | "node_modules/@mistralai/mistralai/models/components/batchjobin.js"(expo...
  method "node_modules/@mistralai/mistralai/models/components/batchjobstatus.js" (line 37023) | "node_modules/@mistralai/mistralai/models/components/batchjobstatus.js"(...
  method "node_modules/@mistralai/mistralai/models/components/batchjobout.js" (line 37076) | "node_modules/@mistralai/mistralai/models/components/batchjobout.js"(exp...
  method "node_modules/@mistralai/mistralai/models/components/batchjobsout.js" (line 37204) | "node_modules/@mistralai/mistralai/models/components/batchjobsout.js"(ex...
  method "node_modules/@mistralai/mistralai/models/components/chatclassificationrequest.js" (line 37276) | "node_modules/@mistralai/mistralai/models/components/chatclassificationr...
  method "node_modules/@mistralai/mistralai/models/components/chatcompletionchoice.js" (line 37561) | "node_modules/@mistralai/mistralai/models/components/chatcompletionchoic...
  method "node_modules/@mistralai/mistralai/models/components/chatcompletionrequest.js" (line 37653) | "node_modules/@mistralai/mistralai/models/components/chatcompletionreque...
  method "node_modules/@mistralai/mistralai/models/components/usageinfo.js" (line 37861) | "node_modules/@mistralai/mistralai/models/components/usageinfo.js"(expor...
  method "node_modules/@mistralai/mistralai/models/components/chatcompletionresponse.js" (line 37935) | "node_modules/@mistralai/mistralai/models/components/chatcompletionrespo...
  method "node_modules/@mistralai/mistralai/models/components/chatcompletionstreamrequest.js" (line 38004) | "node_modules/@mistralai/mistralai/models/components/chatcompletionstrea...
  method "node_modules/@mistralai/mistralai/models/components/metricout.js" (line 38212) | "node_modules/@mistralai/mistralai/models/components/metricout.js"(expor...
  method "node_modules/@mistralai/mistralai/models/components/checkpointout.js" (line 38286) | "node_modules/@mistralai/mistralai/models/components/checkpointout.js"(e...
  method "node_modules/@mistralai/mistralai/models/components/classificationobject.js" (line 38359) | "node_modules/@mistralai/mistralai/models/components/classificationobjec...
  method "node_modules/@mistralai/mistralai/models/components/classificationrequest.js" (line 38427) | "node_modules/@mistralai/mistralai/models/components/classificationreque...
  method "node_modules/@mistralai/mistralai/models/components/classificationresponse.js" (line 38510) | "node_modules/@mistralai/mistralai/models/components/classificationrespo...
  method "node_modules/@mistralai/mistralai/models/components/deltamessage.js" (line 38572) | "node_modules/@mistralai/mistralai/models/components/deltamessage.js"(ex...
  method "node_modules/@mistralai/mistralai/models/components/completionresponsestreamchoice.js" (line 38659) | "node_modules/@mistralai/mistralai/models/components/completionresponses...
  method "node_modules/@mistralai/mistralai/models/components/completionchunk.js" (line 38750) | "node_modules/@mistralai/mistralai/models/components/completionchunk.js"...
  method "node_modules/@mistralai/mistralai/models/components/completionevent.js" (line 38819) | "node_modules/@mistralai/mistralai/models/components/completionevent.js"...
  method "node_modules/@mistralai/mistralai/models/components/deletefileout.js" (line 38887) | "node_modules/@mistralai/mistralai/models/components/deletefileout.js"(e...
  method "node_modules/@mistralai/mistralai/models/components/deletemodelout.js" (line 38948) | "node_modules/@mistralai/mistralai/models/components/deletemodelout.js"(...
  method "node_modules/@mistralai/mistralai/models/components/eventout.js" (line 39009) | "node_modules/@mistralai/mistralai/models/components/eventout.js"(export...
  method "node_modules/@mistralai/mistralai/models/components/githubrepositoryout.js" (line 39079) | "node_modules/@mistralai/mistralai/models/components/githubrepositoryout...
  method "node_modules/@mistralai/mistralai/models/components/jobmetadataout.js" (line 39165) | "node_modules/@mistralai/mistralai/models/components/jobmetadataout.js"(...
  method "node_modules/@mistralai/mistralai/models/components/trainingparameters.js" (line 39253) | "node_modules/@mistralai/mistralai/models/components/trainingparameters....
  method "node_modules/@mistralai/mistralai/models/components/wandbintegrationout.js" (line 39341) | "node_modules/@mistralai/mistralai/models/components/wandbintegrationout...
  method "node_modules/@mistralai/mistralai/models/components/detailedjobout.js" (line 39423) | "node_modules/@mistralai/mistralai/models/components/detailedjobout.js"(...
  method "node_modules/@mistralai/mistralai/models/components/embeddingrequest.js" (line 39604) | "node_modules/@mistralai/mistralai/models/components/embeddingrequest.js...
  method "node_modules/@mistralai/mistralai/models/components/embeddingresponsedata.js" (line 39691) | "node_modules/@mistralai/mistralai/models/components/embeddingresponseda...
  method "node_modules/@mistralai/mistralai/models/components/embeddingresponse.js" (line 39752) | "node_modules/@mistralai/mistralai/models/components/embeddingresponse.j...
  method "node_modules/@mistralai/mistralai/models/components/filepurpose.js" (line 39819) | "node_modules/@mistralai/mistralai/models/components/filepurpose.js"(exp...
  method "node_modules/@mistralai/mistralai/models/components/sampletype.js" (line 39874) | "node_modules/@mistralai/mistralai/models/components/sampletype.js"(expo...
  method "node_modules/@mistralai/mistralai/models/components/source.js" (line 39932) | "node_modules/@mistralai/mistralai/models/components/source.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/components/fileschema.js" (line 39988) | "node_modules/@mistralai/mistralai/models/components/fileschema.js"(expo...
  method "node_modules/@mistralai/mistralai/models/components/filesignedurl.js" (line 40077) | "node_modules/@mistralai/mistralai/models/components/filesignedurl.js"(e...
  method "node_modules/@mistralai/mistralai/models/components/fimcompletionrequest.js" (line 40134) | "node_modules/@mistralai/mistralai/models/components/fimcompletionreques...
  method "node_modules/@mistralai/mistralai/models/components/fimcompletionresponse.js" (line 40239) | "node_modules/@mistralai/mistralai/models/components/fimcompletionrespon...
  method "node_modules/@mistralai/mistralai/models/components/fimcompletionstreamrequest.js" (line 40308) | "node_modules/@mistralai/mistralai/models/components/fimcompletionstream...
  method "node_modules/@mistralai/mistralai/models/components/ftmodelcapabilitiesout.js" (line 40413) | "node_modules/@mistralai/mistralai/models/components/ftmodelcapabilities...
  method "node_modules/@mistralai/mistralai/models/components/ftmodelcard.js" (line 40491) | "node_modules/@mistralai/mistralai/models/components/ftmodelcard.js"(exp...
  method "node_modules/@mistralai/mistralai/models/components/ftmodelout.js" (line 40600) | "node_modules/@mistralai/mistralai/models/components/ftmodelout.js"(expo...
  method "node_modules/@mistralai/mistralai/models/components/githubrepositoryin.js" (line 40701) | "node_modules/@mistralai/mistralai/models/components/githubrepositoryin....
  method "node_modules/@mistralai/mistralai/models/components/trainingfile.js" (line 40778) | "node_modules/@mistralai/mistralai/models/components/trainingfile.js"(ex...
  method "node_modules/@mistralai/mistralai/models/components/trainingparametersin.js" (line 40846) | "node_modules/@mistralai/mistralai/models/components/trainingparametersi...
  method "node_modules/@mistralai/mistralai/models/components/wandbintegration.js" (line 40934) | "node_modules/@mistralai/mistralai/models/components/wandbintegration.js...
  method "node_modules/@mistralai/mistralai/models/components/jobin.js" (line 41020) | "node_modules/@mistralai/mistralai/models/components/jobin.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/components/jobout.js" (line 41138) | "node_modules/@mistralai/mistralai/models/components/jobout.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/components/jobsout.js" (line 41313) | "node_modules/@mistralai/mistralai/models/components/jobsout.js"(exports...
  method "node_modules/@mistralai/mistralai/models/components/legacyjobmetadataout.js" (line 41385) | "node_modules/@mistralai/mistralai/models/components/legacyjobmetadataou...
  method "node_modules/@mistralai/mistralai/models/components/listfilesout.js" (line 41495) | "node_modules/@mistralai/mistralai/models/components/listfilesout.js"(ex...
  method "node_modules/@mistralai/mistralai/models/components/modellist.js" (line 41557) | "node_modules/@mistralai/mistralai/models/components/modellist.js"(expor...
  method "node_modules/@mistralai/mistralai/models/components/retrievefileout.js" (line 41661) | "node_modules/@mistralai/mistralai/models/components/retrievefileout.js"...
  method "node_modules/@mistralai/mistralai/models/components/security.js" (line 41752) | "node_modules/@mistralai/mistralai/models/components/security.js"(export...
  method "node_modules/@mistralai/mistralai/models/components/unarchiveftmodelout.js" (line 41818) | "node_modules/@mistralai/mistralai/models/components/unarchiveftmodelout...
  method "node_modules/@mistralai/mistralai/models/components/updateftmodelin.js" (line 41889) | "node_modules/@mistralai/mistralai/models/components/updateftmodelin.js"...
  method "node_modules/@mistralai/mistralai/models/components/uploadfileout.js" (line 41948) | "node_modules/@mistralai/mistralai/models/components/uploadfileout.js"(e...
  method "node_modules/@mistralai/mistralai/models/components/validationerror.js" (line 42037) | "node_modules/@mistralai/mistralai/models/components/validationerror.js"...
  method "node_modules/@mistralai/mistralai/models/components/index.js" (line 42113) | "node_modules/@mistralai/mistralai/models/components/index.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/errors/httpvalidationerror.js" (line 42220) | "node_modules/@mistralai/mistralai/models/errors/httpvalidationerror.js"...
  method "node_modules/@mistralai/mistralai/models/errors/index.js" (line 42282) | "node_modules/@mistralai/mistralai/models/errors/index.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/agentsComplete.js" (line 42310) | "node_modules/@mistralai/mistralai/funcs/agentsComplete.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/agentsStream.js" (line 42407) | "node_modules/@mistralai/mistralai/funcs/agentsStream.js"(exports2) {
  method "node_modules/@mistralai/mistralai/sdk/agents.js" (line 42514) | "node_modules/@mistralai/mistralai/sdk/agents.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/operations/deletemodelv1modelsmodeliddelete.js" (line 42545) | "node_modules/@mistralai/mistralai/models/operations/deletemodelv1models...
  method "node_modules/@mistralai/mistralai/models/operations/filesapiroutesdeletefile.js" (line 42611) | "node_modules/@mistralai/mistralai/models/operations/filesapiroutesdelet...
  method "node_modules/@mistralai/mistralai/models/operations/filesapiroutesdownloadfile.js" (line 42677) | "node_modules/@mistralai/mistralai/models/operations/filesapiroutesdownl...
  method "node_modules/@mistralai/mistralai/models/operations/filesapiroutesgetsignedurl.js" (line 42743) | "node_modules/@mistralai/mistralai/models/operations/filesapiroutesgetsi...
  method "node_modules/@mistralai/mistralai/models/operations/filesapirouteslistfiles.js" (line 42811) | "node_modules/@mistralai/mistralai/models/operations/filesapirouteslistf...
  method "node_modules/@mistralai/mistralai/models/operations/filesapiroutesretrievefile.js" (line 42890) | "node_modules/@mistralai/mistralai/models/operations/filesapiroutesretri...
  method "node_modules/@mistralai/mistralai/types/blobs.js" (line 42956) | "node_modules/@mistralai/mistralai/types/blobs.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/operations/filesapiroutesuploadfile.js" (line 43014) | "node_modules/@mistralai/mistralai/models/operations/filesapiroutesuploa...
  method "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesbatchcancelbatchjob.js" (line 43106) | "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesbatchc...
  method "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesbatchgetbatchjob.js" (line 43172) | "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesbatchg...
  method "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesbatchgetbatchjobs.js" (line 43238) | "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesbatchg...
  method "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetuningarchivefinetunedmodel.js" (line 43321) | "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetu...
  method "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetuningcancelfinetuningjob.js" (line 43387) | "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetu...
  method "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetuningcreatefinetuningjob.js" (line 43453) | "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetu...
  method "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetuninggetfinetuningjob.js" (line 43513) | "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetu...
  method "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetuninggetfinetuningjobs.js" (line 43579) | "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetu...
  method "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetuningstartfinetuningjob.js" (line 43688) | "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetu...
  method "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetuningunarchivefinetunedmodel.js" (line 43754) | "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetu...
  method "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetuningupdatefinetunedmodel.js" (line 43820) | "node_modules/@mistralai/mistralai/models/operations/jobsapiroutesfinetu...
  method "node_modules/@mistralai/mistralai/models/operations/retrievemodelv1modelsmodelidget.js" (line 43891) | "node_modules/@mistralai/mistralai/models/operations/retrievemodelv1mode...
  method "node_modules/@mistralai/mistralai/models/operations/index.js" (line 43987) | "node_modules/@mistralai/mistralai/models/operations/index.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/batchJobsCancel.js" (line 44030) | "node_modules/@mistralai/mistralai/funcs/batchJobsCancel.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/batchJobsCreate.js" (line 44129) | "node_modules/@mistralai/mistralai/funcs/batchJobsCreate.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/batchJobsGet.js" (line 44222) | "node_modules/@mistralai/mistralai/funcs/batchJobsGet.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/batchJobsList.js" (line 44321) | "node_modules/@mistralai/mistralai/funcs/batchJobsList.js"(exports2) {
  method "node_modules/@mistralai/mistralai/sdk/mistraljobs.js" (line 44424) | "node_modules/@mistralai/mistralai/sdk/mistraljobs.js"(exports2) {
  method "node_modules/@mistralai/mistralai/sdk/batch.js" (line 44478) | "node_modules/@mistralai/mistralai/sdk/batch.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/chatComplete.js" (line 44496) | "node_modules/@mistralai/mistralai/funcs/chatComplete.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/chatStream.js" (line 44593) | "node_modules/@mistralai/mistralai/funcs/chatStream.js"(exports2) {
  method "node_modules/@mistralai/mistralai/sdk/chat.js" (line 44700) | "node_modules/@mistralai/mistralai/sdk/chat.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/classifiersModerate.js" (line 44731) | "node_modules/@mistralai/mistralai/funcs/classifiersModerate.js"(exports...
  method "node_modules/@mistralai/mistralai/funcs/classifiersModerateChat.js" (line 44828) | "node_modules/@mistralai/mistralai/funcs/classifiersModerateChat.js"(exp...
  method "node_modules/@mistralai/mistralai/sdk/classifiers.js" (line 44925) | "node_modules/@mistralai/mistralai/sdk/classifiers.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/embeddingsCreate.js" (line 44953) | "node_modules/@mistralai/mistralai/funcs/embeddingsCreate.js"(exports2) {
  method "node_modules/@mistralai/mistralai/sdk/embeddings.js" (line 45050) | "node_modules/@mistralai/mistralai/sdk/embeddings.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/filesDelete.js" (line 45074) | "node_modules/@mistralai/mistralai/funcs/filesDelete.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/filesDownload.js" (line 45173) | "node_modules/@mistralai/mistralai/funcs/filesDownload.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/filesGetSignedUrl.js" (line 45272) | "node_modules/@mistralai/mistralai/funcs/filesGetSignedUrl.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/filesList.js" (line 45375) | "node_modules/@mistralai/mistralai/funcs/filesList.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/filesRetrieve.js" (line 45477) | "node_modules/@mistralai/mistralai/funcs/filesRetrieve.js"(exports2) {
  method "node_modules/@mistralai/mistralai/types/streams.js" (line 45576) | "node_modules/@mistralai/mistralai/types/streams.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/filesUpload.js" (line 45592) | "node_modules/@mistralai/mistralai/funcs/filesUpload.js"(exports2) {
  method "node_modules/@mistralai/mistralai/sdk/files.js" (line 45699) | "node_modules/@mistralai/mistralai/sdk/files.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/fimComplete.js" (line 45774) | "node_modules/@mistralai/mistralai/funcs/fimComplete.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/fimStream.js" (line 45871) | "node_modules/@mistralai/mistralai/funcs/fimStream.js"(exports2) {
  method "node_modules/@mistralai/mistralai/sdk/fim.js" (line 45978) | "node_modules/@mistralai/mistralai/sdk/fim.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/fineTuningJobsCancel.js" (line 46012) | "node_modules/@mistralai/mistralai/funcs/fineTuningJobsCancel.js"(export...
  method "node_modules/@mistralai/mistralai/funcs/fineTuningJobsCreate.js" (line 46111) | "node_modules/@mistralai/mistralai/funcs/fineTuningJobsCreate.js"(export...
  method "node_modules/@mistralai/mistralai/funcs/fineTuningJobsGet.js" (line 46205) | "node_modules/@mistralai/mistralai/funcs/fineTuningJobsGet.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/fineTuningJobsList.js" (line 46304) | "node_modules/@mistralai/mistralai/funcs/fineTuningJobsList.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/fineTuningJobsStart.js" (line 46409) | "node_modules/@mistralai/mistralai/funcs/fineTuningJobsStart.js"(exports...
  method "node_modules/@mistralai/mistralai/sdk/jobs.js" (line 46508) | "node_modules/@mistralai/mistralai/sdk/jobs.js"(exports2) {
  method "node_modules/@mistralai/mistralai/sdk/finetuning.js" (line 46572) | "node_modules/@mistralai/mistralai/sdk/finetuning.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/modelsArchive.js" (line 46590) | "node_modules/@mistralai/mistralai/funcs/modelsArchive.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/modelsDelete.js" (line 46689) | "node_modules/@mistralai/mistralai/funcs/modelsDelete.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/modelsList.js" (line 46792) | "node_modules/@mistralai/mistralai/funcs/modelsList.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/modelsRetrieve.js" (line 46879) | "node_modules/@mistralai/mistralai/funcs/modelsRetrieve.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/modelsUnarchive.js" (line 46981) | "node_modules/@mistralai/mistralai/funcs/modelsUnarchive.js"(exports2) {
  method "node_modules/@mistralai/mistralai/funcs/modelsUpdate.js" (line 47080) | "node_modules/@mistralai/mistralai/funcs/modelsUpdate.js"(exports2) {
  method "node_modules/@mistralai/mistralai/sdk/models.js" (line 47180) | "node_modules/@mistralai/mistralai/sdk/models.js"(exports2) {
  method "node_modules/@mistralai/mistralai/sdk/sdk.js" (line 47254) | "node_modules/@mistralai/mistralai/sdk/sdk.js"(exports2) {
  method "node_modules/@mistralai/mistralai/index.js" (line 47312) | "node_modules/@mistralai/mistralai/index.js"(exports2) {
  method "node_modules/@commitlint/types/lib/ensure.js" (line 47354) | "node_modules/@commitlint/types/lib/ensure.js"(exports2) {
  method "node_modules/@commitlint/types/lib/format.js" (line 47362) | "node_modules/@commitlint/types/lib/format.js"(exports2) {
  method "node_modules/@commitlint/types/lib/is-ignored.js" (line 47370) | "node_modules/@commitlint/types/lib/is-ignored.js"(exports2) {
  method "node_modules/@commitlint/types/lib/lint.js" (line 47378) | "node_modules/@commitlint/types/lib/lint.js"(exports2) {
  method "node_modules/@commitlint/types/lib/load.js" (line 47386) | "node_modules/@commitlint/types/lib/load.js"(exports2) {
  method "node_modules/@commitlint/types/lib/parse.js" (line 47394) | "node_modules/@commitlint/types/lib/parse.js"(exports2) {
  method "node_modules/@commitlint/types/lib/prompt.js" (line 47402) | "node_modules/@commitlint/types/lib/prompt.js"(exports2) {
  method "node_modules/@commitlint/types/lib/rules.js" (line 47410) | "node_modules/@commitlint/types/lib/rules.js"(exports2) {
  method "node_modules/@commitlint/types/lib/index.js" (line 47430) | "node_modules/@commitlint/types/lib/index.js"(exports2) {
  method "node_modules/ignore/index.js" (line 47462) | "node_modules/ignore/index.js"(exports2, module2) {
  method onFlag (line 47950) | onFlag(a4, l3, f4) {
  method onArgument (line 47961) | onArgument(a4, l3, f4) {
  function w2 (line 48017) | function w2({ onlyFirst: D5 = false } = {}) {
  function d2 (line 48021) | function d2(D5) {
  function y (line 48026) | function y(D5) {
  function g (line 48030) | function g(D5) {
  function aD (line 48075) | function aD(D5, F5) {
  function lD (line 48097) | function lD(D5, F5) {
  function Z (line 48119) | function Z(D5, F5, u3) {
  function AD (line 48130) | function AD() {
  function T2 (line 48231) | function T2(D5, F5, u3) {
  function P (line 48238) | function P(D5, F5) {
  function mD (line 48267) | function mD(D5, F5) {
  function xD (line 48279) | function xD(D5) {
  function wD (line 48282) | function wD(D5) {
  function D2 (line 48301) | function D2(t2) {
  function R3 (line 48313) | function R3(t2) {
  function L3 (line 48320) | function L3(t2) {
  function T3 (line 48325) | function T3(t2) {
  function _3 (line 48339) | function _3(t2) {
  function k3 (line 48342) | function k3(t2) {
  function F2 (line 48345) | function F2(t2) {
  function H2 (line 48352) | function H2(t2) {
  method text (line 48360) | text(e3) {
  method bold (line 48363) | bold(e3) {
  method indentText (line 48366) | indentText({ text: e3, spaces: r3 }) {
  method heading (line 48369) | heading(e3) {
  method section (line 48372) | section({ title: e3, body: r3, indentBody: n2 = 2 }) {
  method table (line 48377) | table({ tableData: e3, tableOptions: r3, tableBreakpoints: n2 }) {
  method flagParameter (line 48380) | flagParameter(e3) {
  method flagOperator (line 48383) | flagOperator(e3) {
  method flagName (line 48386) | flagName(e3) {
  method flagDefault (line 48396) | flagDefault(e3) {
  method flagDescription (line 48399) | flagDescription({ flag: e3 }) {
  method render (line 48407) | render(e3) {
  function w3 (line 48421) | function w3(t2) {
  function b3 (line 48439) | function b3(t2, e3, r3, n2) {
  function W2 (line 48449) | function W2(t2) {
  function x2 (line 48452) | function x2(t2, e3, r3, n2) {
  function z2 (line 48479) | function z2(t2, e3) {
  function Z2 (line 48491) | function Z2(t2, e3, r3 = process.argv.slice(2)) {
  function G3 (line 48501) | function G3(t2, e3) {
  function assembleStyles (line 48695) | function assembleStyles() {
  function hasFlag (line 48816) | function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : i...
  function envForceColor (line 48829) | function envForceColor() {
  function translateLevel (line 48840) | function translateLevel(level) {
  function _supportsColor (line 48851) | function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } =...
  function createSupportsColor (line 48925) | function createSupportsColor(stream4, options = {}) {
  function stringReplaceAll (line 48939) | function stringReplaceAll(string, substring, replacer) {
  function stringEncaseCRLFWithFirstIndex (line 48955) | function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
  function createChalk (line 48993) | function createChalk(options) {
  method get (line 48999) | get() {
  method get (line 49007) | get() {
  method get (line 49031) | get() {
  method get (line 49041) | get() {
  method get (line 49055) | get() {
  method set (line 49058) | set(level) {
  function stripFinalNewline (line 49123) | function stripFinalNewline(input) {
  function pathKey (line 49141) | function pathKey(options = {}) {
  function mimicFunction (line 49226) | function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) {
  function isStream (line 49808) | function isStream(stream4) {
  function isWritableStream (line 49811) | function isWritableStream(stream4) {
  function execa (line 50099) | function execa(file, args, options) {
  function execaSync (line 50176) | function execaSync(file, args, options) {
  function create$ (line 50238) | function create$(options) {
  method constructor (line 50275) | constructor(mockType) {
  method generateCommitMessage (line 50278) | async generateCommitMessage(_messages) {
  function getI18nLocal (line 50528) | function getI18nLocal(value) {
  method ["OCO_API_KEY" /* OCO_API_KEY */] (line 51131) | ["OCO_API_KEY" /* OCO_API_KEY */](value, config7 = {}) {
  method ["OCO_DESCRIPTION" /* OCO_DESCRIPTION */] (line 51145) | ["OCO_DESCRIPTION" /* OCO_DESCRIPTION */](value) {
  method ["OCO_API_CUSTOM_HEADERS" /* OCO_API_CUSTOM_HEADERS */] (line 51153) | ["OCO_API_CUSTOM_HEADERS" /* OCO_API_CUSTOM_HEADERS */](value) {
  method ["OCO_TOKENS_MAX_INPUT" /* OCO_TOKENS_MAX_INPUT */] (line 51167) | ["OCO_TOKENS_MAX_INPUT" /* OCO_TOKENS_MAX_INPUT */](value) {
  method ["OCO_TOKENS_MAX_OUTPUT" /* OCO_TOKENS_MAX_OUTPUT */] (line 51176) | ["OCO_TOKENS_MAX_OUTPUT" /* OCO_TOKENS_MAX_OUTPUT */](value) {
  method ["OCO_EMOJI" /* OCO_EMOJI */] (line 51185) | ["OCO_EMOJI" /* OCO_EMOJI */](value) {
  method ["OCO_OMIT_SCOPE" /* OCO_OMIT_SCOPE */] (line 51193) | ["OCO_OMIT_SCOPE" /* OCO_OMIT_SCOPE */](value) {
  method ["OCO_LANGUAGE" /* OCO_LANGUAGE */] (line 51201) | ["OCO_LANGUAGE" /* OCO_LANGUAGE */](value) {
  method ["OCO_API_URL" /* OCO_API_URL */] (line 51210) | ["OCO_API_URL" /* OCO_API_URL */](value) {
  method ["OCO_MODEL" /* OCO_MODEL */] (line 51218) | ["OCO_MODEL" /* OCO_MODEL */](value, config7 = {}) {
  method ["OCO_MESSAGE_TEMPLATE_PLACEHOLDER" /* OCO_MESSAGE_TEMPLATE_PLACEHOLDER */] (line 51232) | ["OCO_MESSAGE_TEMPLATE_PLACEHOLDER" /* OCO_MESSAGE_TEMPLATE_PLACEHOLDER ...
  method ["OCO_PROMPT_MODULE" /* OCO_PROMPT_MODULE */] (line 51240) | ["OCO_PROMPT_MODULE" /* OCO_PROMPT_MODULE */](value) {
  method ["OCO_GITPUSH" /* OCO_GITPUSH */] (line 51249) | ["OCO_GITPUSH" /* OCO_GITPUSH */](value) {
  method ["OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */] (line 51257) | ["OCO_AI_PROVIDER" /* OCO_AI_PROVIDER */](value) {
  method ["OCO_ONE_LINE_COMMIT" /* OCO_ONE_LINE_COMMIT */] (line 51278) | ["OCO_ONE_LINE_COMMIT" /* OCO_ONE_LINE_COMMIT */](value) {
  method ["OCO_TEST_MOCK_TYPE" /* OCO_TEST_MOCK_TYPE */] (line 51286) | ["OCO_TEST_MOCK_TYPE" /* OCO_TEST_MOCK_TYPE */](value) {
  method ["OCO_WHY" /* OCO_WHY */] (line 51296) | ["OCO_WHY" /* OCO_WHY */](value) {
  method ["OCO_HOOK_AUTO_UNCOMMENT" /* OCO_HOOK_AUTO_UNCOMMENT */] (line 51304) | ["OCO_HOOK_AUTO_UNCOMMENT" /* OCO_HOOK_AUTO_UNCOMMENT */](value) {
  function getConfigKeyDetails (line 51495) | function getConfigKeyDetails(key) {
  function printConfigKeyHelp (line 51589) | function printConfigKeyHelp(param) {
  function printAllConfigHelp (line 51625) | function printAllConfigHelp() {
  function setShims (line 51728) | function setShims(shims, options = { auto: false }) {
  method constructor (line 51781) | constructor(entries) {
  method [(_FormData_entries = /* @__PURE__ */ new WeakMap(), _FormData_instances = /* @__PURE__ */ new WeakSet(), Symbol.hasInstance)] (line 51789) | static [(_FormData_entries = /* @__PURE__ */ new WeakMap(), _FormData_in...
  method append (line 51792) | append(name, value, fileName) {
  method set (line 51801) | set(name, value, fileName) {
  method get (line 51810) | get(name) {
  method getAll (line 51817) | getAll(name) {
  method has (line 51824) | has(name) {
  method delete (line 51827) | delete(name) {
  method keys (line 51830) | *keys() {
  method entries (line 51835) | *entries() {
  method values (line 51843) | *values() {
  method [(_FormData_setEntry = function _FormData_setEntry2({ name, rawValue, append: append2, fileName, argsLength }) {
    const methodName = append2 ? "append" : "set";
    if (argsLength < 2) {
      throw new TypeError(`Failed to execute '${methodName}' on 'FormData': 2 arguments required, but only ${argsLength} present.`);
    }
    name = String(name);
    let value;
    if (isFile(rawValue)) {
      value = fileName === void 0 ? rawValue : new File3([rawValue], fileName, {
        type: rawValue.type,
        lastModified: rawValue.lastModified
      });
    } else if (isBlob(rawValue)) {
      value = new File3([rawValue], fileName === void 0 ? "blob" : fileName, {
        type: rawValue.type
      });
    } else if (fileName) {
      throw new TypeError(`Failed to execute '${methodName}' on 'FormData': parameter 2 is not of type 'Blob'.`);
    } else {
      value = String(rawValue);
    }
    const values = __classPrivateFieldGet3(this, _FormData_entries, "f").get(name);
    if (!values) {
      return void __classPrivateFieldGet3(this, _FormData_entries, "f").set(name, [value]);
    }
    if (!append2) {
      return void __classPrivateFieldGet3(this, _FormData_entries, "f").set(name, [value]);
    }
    values.push(value);
  }, Symbol.iterator)] (line 51848) | [(_FormData_setEntry = function _FormData_setEntry2({ name, rawValue, ap...
  method forEach (line 51880) | forEach(callback, thisArg) {
  method [Symbol.toStringTag] (line 51885) | get [Symbol.toStringTag]() {
  method [import_util2.inspect.custom] (line 51888) | [import_util2.inspect.custom]() {
  function createBoundary (line 51904) | function createBoundary() {
  function isPlainObject (line 51916) | function isPlainObject(value) {
  method constructor (line 51978) | constructor(form, boundaryOrOptions, options) {
  method getContentLength (line 52025) | getContentLength() {
  method values (line 52035) | *values() {
  method encode (line 52044) | async *encode() {
  method [(_FormDataEncoder_CRLF = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_CRLF_BYTES_LENGTH = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_DASHES = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_encoder = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_footer = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_form = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_options = /* @__PURE__ */ new WeakMap(), _FormDataEncoder_instances = /* @__PURE__ */ new WeakSet(), _FormDataEncoder_getFieldHeader = function _FormDataEncoder_getFieldHeader2(name, value) {
    let header = "";
    header += `${__classPrivateFieldGet4(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}`;
    header += `Content-Disposition: form-data; name="${escapeName_default(name)}"`;
    if (isFileLike(value)) {
      header += `; filename="${escapeName_default(value.name)}"${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}`;
      header += `Content-Type: ${value.type || "application/octet-stream"}`;
    }
    if (__classPrivateFieldGet4(this, _FormDataEncoder_options, "f").enableAdditionalHeaders === true) {
      header += `${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f")}Content-Length: ${isFileLike(value) ? value.size : value.byteLength}`;
    }
    return __classPrivateFieldGet4(this, _FormDataEncoder_encoder, "f").encode(`${header}${__classPrivateFieldGet4(this, _FormDataEncoder_CRLF, "f").repeat(2)}`);
  }, Symbol.iterator)] (line 52053) | [(_FormDataEncoder_CRLF = /* @__PURE__ */ new WeakMap(), _FormDataEncode...
  method [Symbol.asyncIterator] (line 52068) | [Symbol.asyncIterator]() {
  method constructor (line 52078) | constructor(body) {
  method [Symbol.toStringTag] (line 52081) | get [Symbol.toStringTag]() {
  function fileFromPath3 (line 52089) | async function fileFromPath3(path5, ...args) {
  function getMultipartRequestOptions2 (line 52099) | async function getMultipartRequestOptions2(form, opts) {
  function getRuntime (line 52110) | function getRuntime() {
  method constructor (line 52154) | constructor(status, error, message, headers) {
  method makeMessage (line 52160) | static makeMessage(status, error, message) {
  method generate (line 52173) | static generate(status, errorResponse, message, headers) {
  method constructor (line 52206) | constructor({ message } = {}) {
  method constructor (line 52212) | constructor({ message, cause }) {
  method constructor (line 52220) | constructor({ message } = {}) {
  method constructor (line 52225) | constructor() {
  method constructor (line 52231) | constructor() {
  method constructor (line 52237) | constructor() {
  method constructor (line 52243) | constructor() {
  method constructor (line 52249) | constructor() {
  method constructor (line 52255) | constructor() {
  method constructor (line 52261) | constructor() {
  method constructor (line 52271) | constructor(iterator2, controller) {
  method fromSSEResponse (line 52275) | static fromSSEResponse(response, controller) {
  method fromReadableStream (line 52329) | static fromReadableStream(readableStream, controller) {
  method [Symbol.asyncIterator] (line 52368) | [Symbol.asyncIterator]() {
  method tee (line 52375) | tee() {
  method toReadableStream (line 52401) | toReadableStream() {
  function findDoubleNewlineIndex (line 52468) | function findDoubleNewlineIndex(buffer) {
  method constructor (line 52485) | constructor() {
  method decode (line 52490) | decode(line) {
  method constructor (line 52524) | constructor() {
  method decode (line 52528) | decode(chunk) {
  method decodeText (line 52559) | decodeText(bytes) {
  method flush (line 52582) | flush() {
  function partition (line 52594) | function partition(str2, delimiter) {
  function readableStreamAsyncIterable (line 52601) | function readableStreamAsyncIterable(stream4) {
  function toFile (line 52633) | async function toFile(value, name, options) {
  function getBytes (line 52651) | async function getBytes(value) {
  function propsForError (line 52667) | function propsForError(value) {
  function getName (line 52671) | function getName(value) {
  function defaultParseResponse (line 52698) | async function defaultParseResponse(props) {
  method constructor (line 52725) | constructor(responsePromise, parseResponse = defaultParseResponse) {
  method _thenUnwrap (line 52732) | _thenUnwrap(transform) {
  method asResponse (line 52748) | asResponse() {
  method withResponse (line 52764) | async withResponse() {
  method parse (line 52768) | parse() {
  method then (line 52774) | then(onfulfilled, onrejected) {
  method catch (line 52777) | catch(onrejected) {
  method finally (line 52780) | finally(onfinally) {
  method constructor (line 52785) | constructor({
  method authHeaders (line 52799) | authHeaders(opts) {
  method defaultHeaders (line 52810) | defaultHeaders(opts) {
  method validateHeaders (line 52822) | validateHeaders(headers, customHeaders) {
  method defaultIdempotencyKey (line 52824) | defaultIdempotencyKey() {
  method get (line 52827) | get(path5, opts) {
  method post (line 52830) | post(path5, opts) {
  method patch (line 52833) | patch(path5, opts) {
  method put (line 52836) | put(path5, opts) {
  method delete (line 52839) | delete(path5, opts) {
  method methodRequest (line 52842) | methodRequest(method, path5, opts) {
  method getAPIList (line 52845) | getAPIList(path5, Page2, opts) {
  method calculateContentLength (line 52848) | calculateContentLength(body) {
  method buildRequest (line 52861) | buildRequest(options) {
  method buildHeaders (line 52891) | buildHeaders({ options, headers, contentLength }) {
  method prepareOptions (line 52908) | async prepareOptions(options) {
  method prepareRequest (line 52916) | async prepareRequest(request3, { url: url2, options }) {
  method parseHeaders (line 52918) | parseHeaders(headers) {
  method makeStatusError (line 52921) | makeStatusError(status, error, message, headers) {
  method request (line 52924) | request(options, remainingRetries = null) {
  method makeRequest (line 52927) | async makeRequest(optionsInput, retriesRemaining) {
  method requestAPIList (line 52970) | requestAPIList(Page2, options) {
  method buildURL (line 52974) | buildURL(path5, query) {
  method stringifyQuery (line 52985) | stringifyQuery(query) {
  method fetchWithTimeout (line 52996) | async fetchWithTimeout(url2, init, ms, controller) {
  method getRequestClient (line 53005) | getRequestClient() {
  method shouldRetry (line 53008) | shouldRetry(response) {
  method retryRequest (line 53024) | async retryRequest(options, retriesRemaining, responseHeaders) {
  method calculateDefaultRetryTimeoutMillis (line 53049) | calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) {
  method getUserAgent (line 53057) | getUserAgent() {
  method constructor (line 53062) | constructor(client, response, body, options) {
  method hasNextPage (line 53069) | hasNextPage() {
  method getNextPage (line 53075) | async getNextPage() {
  method iterPages (line 53093) | async *iterPages() {
  method [(_AbstractPage_client = /* @__PURE__ */ new WeakMap(), Symbol.asyncIterator)] (line 53101) | async *[(_AbstractPage_client = /* @__PURE__ */ new WeakMap(), Symbol.as...
  method constructor (line 53110) | constructor(client, request3, Page2) {
  method [Symbol.asyncIterator] (line 53120) | async *[Symbol.asyncIterator]() {
  method get (line 53132) | get(target, name) {
  function getBrowserInfo (line 53189) | function getBrowserInfo() {
  function isEmptyObj (line 53284) | function isEmptyObj(obj) {
  function hasOwn (line 53291) | function hasOwn(obj, key) {
  function applyHeadersMut (line 53294) | function applyHeadersMut(targetHeaders, newHeaders) {
  function debug (line 53309) | function debug(action, ...args) {
  method constructor (line 53324) | constructor(client) {
  method create (line 53331) | create(body, options) {
  method constructor (line 53376) | constructor() {
  method fromReadableStream (line 53436) | static fromReadableStream(stream4) {
  method createMessage (line 53441) | static createMessage(messages, params, options) {
  method _run (line 53449) | _run(executor) {
  method _addMessageParam (line 53455) | _addMessageParam(message) {
  method _addMessage (line 53458) | _addMessage(message, emit = true) {
  method _createMessage (line 53464) | async _createMessage(messages, params, options) {
  method _connected (line 53482) | _connected() {
  method ended (line 53488) | get ended() {
  method errored (line 53491) | get errored() {
  method aborted (line 53494) | get aborted() {
  method abort (line 53497) | abort() {
  method on (line 53507) | on(event, listener) {
  method off (line 53519) | off(event, listener) {
  method once (line 53533) | once(event, listener) {
  method emitted (line 53549) | emitted(event) {
  method done (line 53557) | async done() {
  method currentMessage (line 53561) | get currentMessage() {
  method finalMessage (line 53568) | async finalMessage() {
  method finalText (line 53577) | async finalText() {
  method _emit (line 53581) | _emit(event, ...args) {
  method _emitFinal (line 53613) | _emitFinal() {
  method _fromReadableStream (line 53619) | async _fromReadableStream(readableStream, options) {
  method [(_MessageStream_currentMessageSnapshot = /* @__PURE__ */ new WeakMap(), _MessageStream_connectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectConnectedPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_endPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_resolveEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_rejectEndPromise = /* @__PURE__ */ new WeakMap(), _MessageStream_listeners = /* @__PURE__ */ new WeakMap(), _MessageStream_ended = /* @__PURE__ */ new WeakMap(), _MessageStream_errored = /* @__PURE__ */ new WeakMap(), _MessageStream_aborted = /* @__PURE__ */ new WeakMap(), _MessageStream_catchingPromiseCreated = /* @__PURE__ */ new WeakMap(), _MessageStream_handleError = /* @__PURE__ */ new WeakMap(), _MessageStream_instances = /* @__PURE__ */ new WeakSet(), _MessageStream_getFinalMessage = function _MessageStream_getFinalMessage2() {
    if (this.receivedMessages.length === 0) {
      throw new AnthropicError("stream ended without producing a Message with role=assistant");
    }
    return this.receivedMessages.at(-1);
  }, _MessageStream_getFinalText = function _MessageStream_getFinalText2() {
    if (this.receivedMessages.length === 0) {
      throw new AnthropicError("stream ended without producing a Message with role=assistant");
    }
    const textBlocks = this.receivedMessages.at(-1).content.filter((block) => block.type === "text").map((block) => block.text);
    if (textBlocks.length === 0) {
      throw new AnthropicError("stream ended without producing a content block with type=text");
    }
    return textBlocks.join(" ");
  }, _MessageStream_beginRequest = function _MessageStream_beginRequest2() {
    if (this.ended)
      return;
    __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, void 0, "f");
  }, _MessageStream_addStreamEvent = function _MessageStream_addStreamEvent2(event) {
    if (this.ended)
      return;
    const messageSnapshot = __classPrivateFieldGet7(this, _MessageStream_instances, "m", _MessageStream_accumulateMessage).call(this, event);
    this._emit("streamEvent", event, messageSnapshot);
    switch (event.type) {
      case "content_block_delta": {
        if (event.delta.type === "text_delta") {
          this._emit("text", event.delta.text, messageSnapshot.content.at(-1).text || "");
        }
        break;
      }
      case "message_stop": {
        this._addMessageParam(messageSnapshot);
        this._addMessage(messageSnapshot, true);
        break;
      }
      case "content_block_stop": {
        this._emit("contentBlock", messageSnapshot.content.at(-1));
        break;
      }
      case "message_start": {
        __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, messageSnapshot, "f");
        break;
      }
      case "content_block_start":
      case "message_delta":
        break;
    }
  }, _MessageStream_endRequest = function _MessageStream_endRequest2() {
    if (this.ended) {
      throw new AnthropicError(`stream has ended, this shouldn't happen`);
    }
    const snapshot = __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f");
    if (!snapshot) {
      throw new AnthropicError(`request ended without sending any chunks`);
    }
    __classPrivateFieldSet6(this, _MessageStream_currentMessageSnapshot, void 0, "f");
    return snapshot;
  }, _MessageStream_accumulateMessage = function _MessageStream_accumulateMessage2(event) {
    let snapshot = __classPrivateFieldGet7(this, _MessageStream_currentMessageSnapshot, "f");
    if (event.type === "message_start") {
      if (snapshot) {
        throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`);
      }
      return event.message;
    }
    if (!snapshot) {
      throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`);
    }
    switch (event.type) {
      case "message_stop":
        return snapshot;
      case "message_delta":
        snapshot.stop_reason = event.delta.stop_reason;
        snapshot.stop_sequence = event.delta.stop_sequence;
        snapshot.usage.output_tokens = event.usage.output_tokens;
        return snapshot;
      case "content_block_start":
        snapshot.content.push(event.content_block);
        return snapshot;
      case "content_block_delta": {
        const snapshotContent = snapshot.content.at(event.index);
        if (snapshotContent?.type === "text" && event.delta.type === "text_delta") {
          snapshotContent.text += event.delta.text;
        }
        return snapshot;
      }
      case "content_block_stop":
        return snapshot;
    }
  }, Symbol.asyncIterator)] (line 53637) | [(_MessageStream_currentMessageSnapshot = /* @__PURE__ */ new WeakMap(),...
  method toReadableStream (line 53776) | toReadableStream() {
  method create (line 53784) | create(body, options) {
  method stream (line 53795) | stream(body, options) {
  method constructor (line 53818) | constructor({ baseURL = readEnv("ANTHROPIC_BASE_URL"), apiKey = readEnv(...
  method defaultQuery (line 53838) | defaultQuery() {
  method defaultHeaders (line 53841) | defaultHeaders(opts) {
  method validateHeaders (line 53848) | validateHeaders(headers, customHeaders) {
  method authHeaders (line 53863) | authHeaders(opts) {
  method apiKeyAuth (line 53874) | apiKeyAuth(opts) {
  method bearerAuth (line 53880) | bearerAuth(opts) {
  function bind (line 53915) | function bind(fn, thisArg) {
  function isBuffer (line 53936) | function isBuffer(val) {
  function isArrayBufferView (line 53940) | function isArrayBufferView(val) {
  function forEach (line 53974) | function forEach(obj, fn, { allOwnKeys = false } = {}) {
  function findKey (line 53997) | function findKey(obj, key) {
  function merge (line 54015) | function merge() {
  function isSpecCompliantForm (line 54178) | function isSpecCompliantForm(thing) {
  function AxiosError (line 54287) | function AxiosError(message, code, config7, request3, response) {
  function isVisitable (line 54366) | function isVisitable(thing) {
  function removeBrackets (line 54369) | function removeBrackets(key) {
  function renderKey (line 54372) | function renderKey(path5, key, dots) {
  function isFlatArray (line 54379) | function isFlatArray(arr) {
  function toFormData (line 54385) | function toFormData(obj, formData, options) {
  function encode (line 54478) | function encode(str2) {
  function AxiosURLSearchParams (line 54492) | function AxiosURLSearchParams(params, options) {
  function encode2 (line 54511) | function encode2(val) {
  function buildURL (line 54514) | function buildURL(url2, params, options) {
  method constructor (line 54543) | constructor() {
  method use (line 54554) | use(fulfilled, rejected, options) {
  method eject (line 54570) | eject(id) {
  method clear (line 54580) | clear() {
  method forEach (line 54595) | forEach(fn) {
  function toURLEncodedForm (line 54674) | function toURLEncodedForm(data, options) {
  function parsePropPath (line 54687) | function parsePropPath(name) {
  function arrayToObject (line 54692) | function arrayToObject(arr) {
  function formDataToJSON (line 54704) | function formDataToJSON(formData) {
  function stringifySafely (line 54740) | function stringifySafely(rawValue, parser, encoder) {
  function normalizeHeader (line 54895) | function normalizeHeader(header) {
  function normalizeValue2 (line 54898) | function normalizeValue2(value) {
  function parseTokens (line 54904) | function parseTokens(str2) {
  function matchHeaderValue (line 54914) | function matchHeaderValue(context, value, header, filter2, isHeaderNameF...
  function formatHeader (line 54929) | function formatHeader(header) {
  function buildAccessors (line 54934) | function buildAccessors(obj, header) {
  method constructor (line 54946) | constructor(headers) {
  method set (line 54949) | set(header, valueOrRewrite, rewrite) {
  method get (line 54980) | get(header, parser) {
  method has (line 55002) | has(header, matcher) {
  method delete (line 55010) | delete(header, matcher) {
  method clear (line 55030) | clear(matcher) {
  method normalize (line 55043) | normalize(format) {
  method concat (line 55062) | concat(...targets) {
  method toJSON (line 55065) | toJSON(asStrings) {
  method [Symbol.iterator] (line 55072) | [Symbol.iterator]() {
  method toString (line 55075) | toString() {
  method getSetCookie (line 55078) | getSetCookie() {
  method [Symbol.toStringTag] (line 55081) | get [Symbol.toStringTag]() {
  method from (line 55084) | static from(thing) {
  method concat (line 55087) | static concat(first, ...targets) {
  method accessor (line 55092) | static accessor(header) {
  method set (line 55114) | set(headerValue) {
  function transformData (line 55123) | function transformData(fns, response) {
  function isCancel (line 55136) | function isCancel(value) {
  function CanceledError (line 55141) | function CanceledError(message, config7, request3) {
  function settle (line 55151) | function settle(resolve, reject, response) {
  function isAbsoluteURL2 (line 55167) | function isAbsoluteURL2(url2) {
  function combineURLs (line 55172) | function combineURLs(baseURL, relativeURL) {
  function buildFullPath (line 55177) | function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
  function parseProtocol (line 55197) | function parseProtocol(url2) {
  function fromDataURI (line 55204) | function fromDataURI(uri, asBlob, options) {
  method constructor (line 55238) | constructor(options) {
  method _read (line 55272) | _read(size) {
  method _transform (line 55279) | _transform(chunk, encoding, callback) {
  method constructor (line 55378) | constructor(name, value) {
  method encode (line 55393) | async *encode() {
  method escapeName (line 55403) | static escapeName(name) {
  method __transform (line 55453) | __transform(chunk, encoding, callback) {
  method _transform (line 55457) | _transform(chunk, encoding, callback) {
  function speedometer (line 55488) | function speedometer(samplesCount, min) {
  function throttle (line 55524) | function throttle(fn, freq) {
  function dispatchBeforeRedirect (line 55612) | function dispatchBeforeRedirect(options, responseDetails) {
  function setProxy (line 55620) | function setProxy(options, configProxy, location) {
  function abort (line 55721) | function abort(reason) {
  method write (line 56107) | write(name, value, expires, path5, domain, secure) {
  method read (line 56115) | read(name) {
  method remove (line 56119) | remove(name) {
  method write (line 56126) | write() {
  method read (line 56128) | read() {
  method remove (line 56131) | remove() {
  function mergeConfig (line 56138) | function mergeConfig(config1, config22) {
  function done (line 56260) | function done() {
  function onloadend (line 56269) | function onloadend() {
  method pull (line 56461) | async pull(controller) {
  method cancel (line 56480) | cancel(reason) {
  method duplex (line 56505) | get duplex() {
  function throwIfCancellationRequested (line 56708) | function throwIfCancellationRequested(config7) {
  function dispatchRequest (line 56716) | function dispatchRequest(config7) {
  function formatMessage (line 56761) | function formatMessage(opt, desc) {
  function assertOptions (line 56789) | function assertOptions(options, schema, allowUnknown) {
  method constructor (line 56819) | constructor(instanceConfig) {
  method request (line 56834) | async request(configOrUrl, config7) {
  method _request (line 56854) | _request(configOrUrl, config7) {
  method getUri (line 56956) | getUri(config7) {
  function generateHTTPMethod (line 56972) | function generateHTTPMethod(isForm) {
  method constructor (line 56991) | constructor(executor) {
  method throwIfRequested (line 57030) | throwIfRequested() {
  method subscribe (line 57038) | subscribe(listener) {
  method unsubscribe (line 57052) | unsubscribe(listener) {
  method toAbortSignal (line 57061) | toAbortSignal() {
  method source (line 57074) | static source() {
  function spread (line 57088) | function spread(callback) {
  function isAxiosError (line 57095) | function isAxiosError(payload) {
  function createInstance (line 57171) | function createInstance(defaultConfig) {
  method constructor (line 57240) | constructor(provider, message) {
  method constructor (line 57247) | constructor(provider, retryAfter, message) {
  method constructor (line 57255) | constructor(provider, statusCode = 503, message) {
  method constructor (line 57263) | constructor(provider, message) {
  method constructor (line 57270) | constructor(modelName, provider, statusCode = 404) {
  method constructor (line 57279) | constructor(provider) {
  function isModelNotFoundError (line 57285) | function isModelNotFoundError(error) {
  function isApiKeyError (line 57309) | function isApiKeyError(error) {
  function getSuggestedModels (line 57327) | function getSuggestedModels(provider, failedModel) {
  function isInsufficientCreditsError (line 57335) | function isInsufficientCreditsError(error) {
  function isRateLimitError (line 57356) | function isRateLimitError(error) {
  function isServiceUnavailableError (line 57377) | function isServiceUnavailableError(error) {
  function formatUserFriendlyError (line 57393) | function formatUserFriendlyError(error, provider) {
  function printFormattedError (line 57485) | function printFormattedError(formatted) {
  function getStatusCode (line 57505) | function getStatusCode(error) {
  function getRetryAfter (line 57517) | function getRetryAfter(error) {
  function extractErrorMessage (line 57530) | function extractErrorMessage(error) {
  function isModelNotFoundMessage (line 57557) | function isModelNotFoundMessage(message) {
  function isInsufficientCreditsMessage (line 57561) | function isInsufficientCreditsMessage(message) {
  function normalizeEngineError (line 57565) | function normalizeEngineError(error, provider, model) {
  function removeContentTags (line 57607) | function removeContentTags(content, tag) {
  function tokenCount (line 57645) | function tokenCount(content) {
  method constructor (line 57658) | constructor(config7) {
  method key (line 57697) | get key() {
  method constructor (line 57706) | constructor(key) {
  method update (line 57720) | update(newKey) {
  method constructor (line 57727) | constructor(message) {
  function getRandomIntegerInclusive (line 57734) | function getRandomIntegerInclusive(min, max) {
  function isObject2 (line 57742) | function isObject2(input) {
  function isError (line 57747) | function isError(e3) {
  function getErrorMessage (line 57755) | function getErrorMessage(e3) {
  function randomUUID (line 57777) | function randomUUID() {
  function stringToUint8Array (line 57795) | function stringToUint8Array(value, format) {
  function isTokenCredential (line 57800) | function isTokenCredential(credential) {
  function __rest (line 57806) | function __rest(s2, e3) {
  function __values (line 57817) | function __values(o3) {
  function __await (line 57828) | function __await(v5) {
  function __asyncGenerator (line 57831) | function __asyncGenerator(thisArg, _arguments, generator) {
  function __asyncValues (line 57864) | function __asyncValues(o3) {
  method constructor (line 57887) | constructor(policies) {
  method addPolicy (line 57893) | addPolicy(policy, options = {}) {
  method removePolicy (line 57909) | removePolicy(options) {
  method sendRequest (line 57922) | sendRequest(httpClient, request3) {
  method getOrderedPolicies (line 57931) | getOrderedPolicies() {
  method clone (line 57937) | clone() {
  method create (line 57940) | static create() {
  method orderPolicies (line 57943) | orderPolicies() {
  function createEmptyPipeline (line 58061) | function createEmptyPipeline() {
  function log (line 58069) | function log(message, ...args) {
  function enable (line 58090) | function enable(namespaces) {
  function enabled (line 58107) | function enabled(namespace) {
  function disable (line 58123) | function disable() {
  function createDebugger (line 58128) | function createDebugger(namespace) {
  function destroy (line 58148) | function destroy() {
  function extend2 (line 58156) | function extend2(namespace) {
  function setLogLevel (line 58179) | function setLogLevel(level) {
  function createClientLogger (line 58198) | function createClientLogger(namespace) {
  function patchLogMethod (line 58208) | function patchLogMethod(parent, child) {
  function createLogger (line 58213) | function createLogger(parent, level) {
  function shouldEnable (line 58225) | function shouldEnable(logger3) {
  function isAzureLogLevel (line 58228) | function isAzureLogLevel(logLevel) {
  method constructor (line 58280) | constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], add...
  method sanitize (line 58286) | sanitize(obj) {
  method sanitizeHeaders (line 58313) | sanitizeHeaders(obj) {
  method sanitizeQuery (line 58324) | sanitizeQuery(value) {
  method sanitizeUrl (line 58338) | sanitizeUrl(value) {
  function logPolicy (line 58357) | function logPolicy(options = {}) {
  function redirectPolicy (line 58382) | function redirectPolicy(options = {}) {
  function handleRedirect (line 58392) | async function handleRedirect(next, response, maxRetries, currentRetries...
  function getHeaderName (line 58413) | function getHeaderName() {
  function setPlatformSpecificData (line 58416) | function setPlatformSpecificData(map) {
  function getUserAgentString (line 58433) | function getUserAgentString(telemetryInfo) {
  function getUserAgentHeaderName (line 58441) | function getUserAgentHeaderName() {
  function getUserAgentValue (line 58444) | function getUserAgentValue(prefix) {
  function userAgentPolicy (line 58456) | function userAgentPolicy(options = {}) {
  function isBlob3 (line 58473) | function isBlob3(x5) {
  function hasRawContent (line 58490) | function hasRawContent(x5) {
  function getRawContent (line 58493) | function getRawContent(blob) {
  function createFile (line 58500) | function createFile(content, name, options = {}) {
  function streamAsyncIterator (line 58510) | function streamAsyncIterator() {
  function makeAsyncIterable (line 58526) | function makeAsyncIterable(webStream) {
  function ensureNodeStream (line 58534) | function ensureNodeStream(stream4) {
  function toStream (line 58542) | function toStream(source) {
  function concat (line 58551) | async function concat(sources) {
  function generateBoundary (line 58581) | function generateBoundary() {
  function encodeHeaders (line 58584) | function encodeHeaders(headers) {
  function getLength (line 58592) | function getLength(source) {
  function getTotalLength (line 58601) | function getTotalLength(sources) {
  function buildRequestBody (line 58613) | async function buildRequestBody(request3, parts, boundary) {
  function assertValidBoundary (line 58635) | function assertValidBoundary(boundary) {
  function multipartPolicy (line 58643) | function multipartPolicy() {
  function decompressResponsePolicy (line 58680) | function decompressResponsePolicy() {
  function delay2 (line 58694) | function delay2(delayInMs, value, options) {
  function parseHeaderValueAsNumber (line 58725) | function parseHeaderValueAsNumber(response, headerName) {
  function getRetryAfterInMs (line 58738) | function getRetryAfterInMs(response) {
  function isThrottlingRetryResponse (line 58759) | function isThrottlingRetryResponse(response) {
  function throttlingRetryStrategy (line 58762) | function throttlingRetryStrategy() {
  function exponentialRetryStrategy (line 58780) | function exponentialRetryStrategy(options = {}) {
  function isExponentialRetryResponse (line 58806) | function isExponentialRetryResponse(response) {
  function isSystemError (line 58809) | function isSystemError(err) {
  function retryPolicy (line 58819) | function retryPolicy(strategies, options = { maxRetries: DEFAULT_RETRY_P...
  function defaultRetryPolicy (line 58903) | function defaultRetryPolicy(options = {}) {
  function normalizeName (line 58914) | function normalizeName(name) {
  method constructor (line 58923) | constructor(rawHeaders) {
  method set (line 58937) | set(name, value) {
  method get (line 58945) | get(name) {
  method has (line 58953) | has(name) {
  method delete (line 58960) | delete(name) {
  method toJSON (line 58966) | toJSON(options = {}) {
  method toString (line 58982) | toString() {
  method [Symbol.iterator] (line 58988) | [Symbol.iterator]() {
  function createHttpHeaders (line 58992) | function createHttpHeaders(rawHeaders) {
  function formDataPolicy (line 58998) | function formDataPolicy() {
  function wwwFormUrlEncode (line 59015) | function wwwFormUrlEncode(formData) {
  function prepareFormData (line 59028) | async function prepareFormData(formData, request3) {
  function getEnvironmentValue (line 59072) | function getEnvironmentValue(name) {
  function loadEnvironmentProxyValue (line 59080) | function loadEnvironmentProxyValue() {
  function isBypassed (line 59089) | function isBypassed(uri, noProxyList, bypassedMap) {
  function loadNoProxy (line 59116) | function loadNoProxy() {
  function getDefaultProxySettingsInternal (line 59124) | function getDefaultProxySettingsInternal() {
  function getUrlFromProxySettings (line 59128) | function getUrlFromProxySettings(settings) {
  function setProxyAgentOnRequest (line 59144) | function setProxyAgentOnRequest(request3, cachedAgents, proxyUrl) {
  function proxyPolicy (line 59166) | function proxyPolicy(proxySettings, options) {
  function setClientRequestIdPolicy (line 59188) | function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-req...
  function tlsPolicy (line 59202) | function tlsPolicy(tlsSettings) {
  function createTracingContext (line 59219) | function createTracingContext(options = {}) {
  method constructor (line 59230) | constructor(initialContext) {
  method setValue (line 59233) | setValue(key, value) {
  method getValue (line 59238) | getValue(key) {
  method deleteValue (line 59241) | deleteValue(key) {
  function createDefaultTracingSpan (line 59253) | function createDefaultTracingSpan() {
  function createDefaultInstrumenter (line 59266) | function createDefaultInstrumenter() {
  function getInstrumenter (line 59285) | function getInstrumenter() {
  function createTracingClient (line 59293) | function createTracingClient(options) {
  method constructor (line 59350) | constructor(message, options = {}) {
  method [custom] (line 59362) | [custom]() {
  function isRestError (line 59369) | function isRestError(e3) {
  function tracingPolicy (line 59378) | function tracingPolicy(options = {}) {
  function tryCreateTracingClient (line 59403) | function tryCreateTracingClient() {
  function tryCreateSpan (line 59415) | function tryCreateSpan(tracingClient, request3, userAgent) {
  function tryProcessError (line 59442) | function tryProcessError(span, error) {
  function tryProcessResponse (line 59456) | function tryProcessResponse(span, response) {
  function createPipelineFromOptions (line 59473) | function createPipelineFromOptions(options) {
  function isReadableStream2 (line 59502) | function isReadableStream2(body) {
  function isStreamComplete (line 59505) | function isStreamComplete(stream4) {
  function isArrayBuffer2 (line 59512) | function isArrayBuffer2(body) {
  method _transform (line 59517) | _transform(chunk, _encoding, callback) {
  method constructor (line 59527) | constructor(progressCallback) {
  method constructor (line 59534) | constructor() {
  method sendRequest (line 59541) | async sendRequest(request3) {
  method makeRequest (line 59637) | makeRequest(request3, abortController, body) {
  method getOrCreateAgent (line 59680) | getOrCreateAgent(request3, isInsecure) {
  function getResponseHeaders (line 59710) | function getResponseHeaders(res) {
  function getDecodedResponseStream (line 59724) | function getDecodedResponseStream(stream4, headers) {
  function streamToText (line 59737) | function streamToText(stream4) {
  function getBodyLength2 (line 59761) | function getBodyLength2(body) {
  function createNodeHttpClient (line 59776) | function createNodeHttpClient() {
  function createDefaultHttpClient (line 59781) | function createDefaultHttpClient() {
  method constructor (line 59787) | constructor(options) {
  function createPipelineRequest (line 59809) | function createPipelineRequest(options) {
  function beginRefresh (line 59822) | async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTi...
  function createTokenCycler (line 59845) | function createTokenCycler(credential, tokenCyclerOptions) {
  function defaultAuthorizeRequest (line 59909) | async function defaultAuthorizeRequest(options) {
  function getChallenge (line 59920) | function getChallenge(response) {
  function bearerTokenAuthenticationPolicy (line 59927) | function bearerTokenAuthenticationPolicy(options) {
  function apiVersionPolicy (line 59992) | function apiVersionPolicy(options) {
  function keyCredentialAuthenticationPolicy (line 60007) | function keyCredentialAuthenticationPolicy(credential, apiKeyHeaderName) {
  function addCredentialPipelinePolicy (line 60019) | function addCredentialPipelinePolicy(pipeline, endpoint, options = {}) {
  function createDefaultPipeline (line 60039) | function createDefaultPipeline(endpoint, credential, options = {}) {
  function isKeyCredential2 (line 60045) | function isKeyCredential2(credential) {
  function getCachedDefaultHttpsClient (line 60048) | function getCachedDefaultHttpsClient() {
  function operationOptionsToRequestParameters (line 60056) | function operationOptionsToRequestParameters(options) {
  function isReadableStream3 (line 60072) | function isReadableStream3(body) {
  function sendRequest (line 60077) | async function sendRequest(method, url2, pipeline, options = {}, customH...
  function getRequestContentType (line 60096) | function getRequestContentType(options = {}) {
  function getContentType (line 60100) | function getContentType(body) {
  function buildPipelineRequest (line 60114) | function buildPipelineRequest(method, url2, options = {}) {
  function getRequestBody (line 60138) | function getRequestBody(body, contentType = "") {
  function isRLCFormDataValue (line 60164) | function isRLCFormDataValue(value) {
  function isRLCFormDataInput (line 60168) | function isRLCFormDataInput(body) {
  function processFormDataValue (line 60171) | function processFormDataValue(value) {
  function processFormData (line 60174) | function processFormData(formData) {
  function getResponseBody (line 60182) | function getResponseBody(response) {
  function createParseError (line 60199) | function createParseError(response, err) {
  function buildRequestUrl (line 60212) | function buildRequestUrl(endpoint, routePath, pathParameters, options = ...
  function appendQueryParams (line 60222) | function appendQueryParams(url2, options = {}) {
  function skipQueryParameterEncoding (line 60244) | function skipQueryParameterEncoding(url2) {
  function buildBaseUrl (line 60255) | function buildBaseUrl(endpoint, options) {
  function buildRoutePath (line 60276) | function buildRoutePath(routePath, pathParameters, options = {}) {
  function replaceAll (line 60286) | function replaceAll(value, searchValue, replaceValue) {
  function getClient (line 60291) | function getClient(endpoint, credentialsOrPipelineOptions, clientOptions...
  function buildOperation (line 60347) | function buildOperation(method, url2, pipeline, options, allowInsecureCo...
  function isCredential (line 60362) | function isCredential(param) {
  function createClient (line 60373) | function createClient(endpoint, credentials, options = {}) {
  function isUnexpected (line 60403) | function isUnexpected(response) {
  function getParametrizedPathSuccess (line 60413) | function getParametrizedPathSuccess(method, path5) {
  function getPathFromMapKey (line 60446) | function getPathFromMapKey(mapKey) {
  function createOpenAI (line 60455) | function createOpenAI(endpoint, credential, options = {}) {
  function wrapError (line 60461) | function wrapError(f4, message) {
  function camelCaseKeys (line 60469) | function camelCaseKeys(obj) {
  function snakeCaseKeys (line 60486) | function snakeCaseKeys(obj) {
  function tocamelCase (line 60503) | function tocamelCase(str2) {
  function toSnakeCase (line 60506) | function toSnakeCase(str2) {
  function serializeChatRequestUserMessage (line 60511) | function serializeChatRequestUserMessage(obj) {
  function serializeChatRequestContentItemUnion (line 60518) | function serializeChatRequestContentItemUnion(obj) {
  function serializeChatRequestAssistantMessage (line 60526) | function serializeChatRequestAssistantMessage(obj) {
  function serializeChatRequestToolMessage (line 60533) | function serializeChatRequestToolMessage(obj) {
  function serializeChatRequestMessageUnion (line 60540) | function serializeChatRequestMessageUnion(obj) {
  function serializeChatMessageImageContentItem (line 60552) | function serializeChatMessageImageContentItem(obj) {
  function serializeAzureSearchChatExtensionConfiguration (line 60558) | function serializeAzureSearchChatExtensionConfiguration(obj) {
  function serializeAzureMachineLearningIndexChatExtensionConfiguration (line 60586) | function serializeAzureMachineLearningIndexChatExtensionConfiguration(ob...
  function serializeAzureCosmosDBChatExtensionConfiguration (line 60602) | function serializeAzureCosmosDBChatExtensionConfiguration(obj) {
  function serializeElasticsearchChatExtensionConfiguration (line 60626) | function serializeElasticsearchChatExtensionConfiguration(obj) {
  function serializePineconeChatExtensionConfiguration (line 60651) | function serializePineconeChatExtensionConfiguration(obj) {
  function serializeAzureChatExtensionConfigurationUnion (line 60673) | function serializeAzureChatExtensionConfigurationUnion(obj) {
  function serializeOnYourDataConnectionStringAuthenticationOptions (line 60689) | function serializeOnYourDataConnectionStringAuthenticationOptions(obj) {
  function serializeOnYourDataKeyAndKeyIdAuthenticationOptions (line 60692) | function serializeOnYourDataKeyAndKeyIdAuthenticationOptions(obj) {
  function serializeOnYourDataEncodedApiKeyAuthenticationOptions (line 60695) | function serializeOnYourDataEncodedApiKeyAuthenticationOptions(obj) {
  function serializeOnYourDataAccessTokenAuthenticationOptions (line 60698) | function serializeOnYourDataAccessTokenAuthenticationOptions(obj) {
  function serializeOnYourDataUserAssignedManagedIdentityAuthenticationOptions (line 60701) | function serializeOnYourDataUserAssignedManagedIdentityAuthenticationOpt...
  function serializeOnYourDataAuthenticationOptionsUnion (line 60707) | function serializeOnYourDataAuthenticationOptionsUnion(obj) {
  function serializeOnYourDataEndpointVectorizationSource (line 60723) | function serializeOnYourDataEndpointVectorizationSource(obj) {
  function serializeOnYourDataDeploymentNameVectorizationSource (line 60730) | function serializeOnYourDataDeploymentNameVectorizationSource(obj) {
  function serializeOnYourDataModelIdVectorizationSource (line 60733) | function serializeOnYourDataModelIdVectorizationSource(obj) {
  function serializeOnYourDataVectorizationSourceUnion (line 60736) | function serializeOnYourDataVectorizationSourceUnion(obj) {
  function getStream2 (line 60750) | async function getStream2(response) {
  function streamToText2 (line 60760) | function streamToText2(stream4) {
  function createStream (line 60786) | function createStream(asyncIter, cancel) {
  function polyfillStream (line 60790) | function polyfillStream(stream4, dispose) {
  function makeAsyncDisposable (line 60795) | function makeAsyncDisposable(webStream, dispose) {
  function makeAsyncIterable2 (line 60802) | function makeAsyncIterable2(webStream) {
  function iteratorToStream (line 60810) | function iteratorToStream(iterator2, cancel) {
  function ensureAsyncIterable (line 60823) | function ensureAsyncIterable(stream4) {
  function isReadableStream4 (line 60839) | function isReadableStream4(body) {
  function toAsyncIterable (line 60842) | function toAsyncIterable(stream4) {
  function createSseStream (line 60869) | function createSseStream(chunkStream) {
  function concatBuffer (line 60874) | function concatBuffer(a4, b7) {
  function createMessage (line 60880) | function createMessage() {
  function toLine (line 60888) | function toLine(chunkIter) {
  function toMessage (line 60958) | function toMessage(lineIter) {
  function polyfillStream2 (line 61008) | function polyfillStream2(stream4) {
  function makeAsyncIterable3 (line 61012) | function makeAsyncIterable3(webStream) {
  function toAsyncIterable2 (line 61020) | function toAsyncIterable2(stream4) {
  function getOaiSSEs (line 61040) | async function getOaiSSEs(response, toEvent) {
  function getAudioTranscription (line 61055) | async function getAudioTranscription(context, deploymentName, fileConten...
  function getAudioTranslation (line 61070) | async function getAudioTranslation(context, deploymentName, fileContent,...
  function _getCompletionsSend (line 61085) | function _getCompletionsSend(context, deploymentId, body, options = { re...
  function _getCompletionsDeserialize (line 61105) | async function _getCompletionsDeserialize(result) {
  function getCompletionsResult (line 61111) | function getCompletionsResult(body) {
  function getCompletions (line 61125) | async function getCompletions(context, deploymentId, body, options = { r...
  function streamCompletions (line 61129) | function streamCompletions(context, deploymentName, prompt, options = { ...
  function _getChatCompletionsSend (line 61134) | function _getChatCompletionsSend(context, deploymentId, body, options = ...
  function _getChatCompletionsDeserialize (line 61168) | async function _getChatCompletionsDeserialize(result) {
  function getChatCompletionsResult (line 61174) | function getChatCompletionsResult(body) {
  function getChatCompletions (line 61194) | async function getChatCompletions(context, deploymentName, messages, opt...
  function _getChatCompletionsSendX (line 61198) | function _getChatCompletionsSendX(context, deploymentName, messages, opt...
  function streamChatCompletions (line 61209) | function streamChatCompletions(context, deploymentName, messages, option...
  function _getImageGenerationsSend (line 61213) | function _getImageGenerationsSend(context, deploymentId, body, options =...
  function _getImageGenerationsDeserialize (line 61225) | async function _getImageGenerationsDeserialize(result) {
  function getImageGenerations (line 61285) | async function getImageGenerations(context, deploymentId, body, options ...
  function _getEmbeddingsSend (line 61289) | function _getEmbeddingsSend(context, deploymentId, body, options = { req...
  function _getEmbeddingsDeserialize (line 61297) | async function _getEmbeddingsDeserialize(result) {
  function getEmbeddings (line 61312) | async function getEmbeddings(context, deploymentId, body, options = { re...
  function getContentFilterResultsForPrompt (line 61316) | function getContentFilterResultsForPrompt({ prompt_annotations, prompt_f...
  function parseContentFilterResultDetailsForPromptOutput (line 61323) | function parseContentFilterResultDetailsForPromptOutput(_a5 = {}) {
  function parseError (line 61327) | function parseError(error) {
  function parseContentFilterResultsForChoiceOutput (line 61333) | function parseContentFilterResultsForChoiceOutput(_a5 = {}) {
  function nonAzurePolicy (line 61342) | function nonAzurePolicy() {
  function createOpenAIEndpoint (line 61382) | function createOpenAIEndpoint(version) {
  function isCred (line 61385) | function isCred(cred) {
  method constructor (line 61389) | constructor(endpointOrOpenAiKey, credOrOptions = {}, options = {}) {
  method setModel (line 61419) | setModel(model, options) {
  method getAudioTranslation (line 61425) | async getAudioTranslation(deploymentName, fileContent, formatOrOptions, ...
  method getAudioTranscription (line 61435) | async getAudioTranscription(deploymentName, fileContent, formatOrOptions...
  method getCompletions (line 61449) | getCompletions(deploymentName, prompt, options = { requestOptions: {} }) {
  method streamCompletions (line 61461) | streamCompletions(deploymentName, prompt, options = {}) {
  method getChatCompletions (line 61470) | getChatCompletions(deploymentName, messages, options = { requestOptions:...
  method streamChatCompletions (line 61481) | streamChatCompletions(deploymentName, messages, options = { requestOptio...
  method getImages (line 61486) | getImages(deploymentName, prompt, options = { requestOptions: {} }) {
  method getEmbeddings (line 61492) | getEmbeddings(deploymentName, input, options = { requestOptions: {} }) {
  method constructor (line 61501) | constructor(config7) {
  method constructor (line 61532) | constructor(config7) {
  method generateCommitMessage (line 61539) | async generateCommitMessage(messages) {
  method constructor (line 61626) | constructor(message) {
  method constructor (line 61631) | constructor(message, response) {
  method constructor (line 61637) | constructor(message, status, statusText, errorDetails) {
  method constructor (line 61659) | constructor(model, task, apiKey, stream4, requestOptions) {
  method toString (line 61666) | toString() {
  function getClientHeaders (line 61677) | function getClientHeaders(requestOptions) {
  function getHeaders (line 61685) | async function getHeaders(url2) {
  function constructRequest (line 61710) | async function constructRequest(model, task, apiKey, stream4, body, requ...
  function makeRequest (line 61717) | async function makeRequest(model, task, apiKey, stream4, body, requestOp...
  function _makeRequestInternal (line 61720) | async function _makeRequestInternal(model, task, apiKey, stream4, body, ...
  function buildFetchOptions (line 61750) | function buildFetchOptions(requestOptions) {
  function addHelpers (line 61760) | function addHelpers(response) {
  function getText (line 61806) | function getText(response) {
  function getFunctionCalls (line 61822) | function getFunctionCalls(response) {
  function hadBadFinishReason (line 61839) | function hadBadFinishReason(candidate) {
  function formatBlockErrorMessage (line 61842) | function formatBlockErrorMessage(response) {
  function __await2 (line 61864) | function __await2(v5) {
  function __asyncGenerator2 (line 61867) | function __asyncGenerator2(thisArg, _arguments, generator) {
  function processStream (line 61901) | function processStream(response) {
  function getResponsePromise (line 61910) | async function getResponsePromise(stream4) {
  function generateResponseSequence (line 61921) | function generateResponseSequence(stream4) {
  function getResponseStream (line 61933) | function getResponseStream(inputStream) {
  function aggregateResponses (line 61970) | function aggregateResponses(responses) {
  function generateContentStream (line 62017) | async function generateContentStream(apiKey, model, params, requestOptio...
  function generateContent (line 62029) | async function generateContent(apiKey, model, params, requestOptions) {
  function formatSystemInstruction (line 62045) | function formatSystemInstruction(input) {
  function formatNewContent (line 62060) | function formatNewContent(request3) {
  function assignRoleToPartsAndValidateSendMessageRequest (line 62075) | function assignRoleToPartsAndValidateSendMessageRequest(parts) {
  function formatGenerateContentInput (line 62100) | function formatGenerateContentInput(params) {
  function formatEmbedContentInput (line 62113) | function formatEmbedContentInput(params) {
  function validateChatHistory (line 62133) | function validateChatHistory(history) {
  method constructor (line 62174) | constructor(apiKey, model, params, requestOptions) {
  method getHistory (line 62191) | async getHistory() {
  method sendMessage (line 62199) | async sendMessage(request3) {
  method sendMessageStream (line 62238) | async sendMessageStream(request3) {
  function countTokens (line 62275) | async function countTokens(apiKey, model, params, requestOptions) {
  function embedContent (line 62279) | async function embedContent(apiKey, model, params, requestOptions) {
  function batchEmbedContents (line 62283) | async function batchEmbedContents(apiKey, model, params, requestOptions) {
  method constructor (line 62291) | constructor(apiKey, modelParams, requestOptions) {
  method generateContent (line 62309) | async generateContent(request3) {
  method generateContentStream (line 62319) | async generateContentStream(request3) {
  method startChat (line 62327) | startChat(startChatParams) {
  method countTokens (line 62333) | async countTokens(request3) {
  method embedContent (line 62340) | async embedContent(request3) {
  method batchEmbedContents (line 62347) | async batchEmbedContents(batchEmbedContentRequest) {
  method constructor (line 62352) | constructor(apiKey) {
  method getGenerativeModel (line 62358) | getGenerativeModel(modelParams, requestOptions) {
  method constructor (line 62368) | constructor(config7) {
  method generateCommitMessage (line 62372) | async generateCommitMessage(messages) {
  method constructor (line 62421) | constructor(config7) {
  method generateCommitMessage (line 62432) | async generateCommitMessage(messages) {
  function setShims2 (line 62491) | function setShims2(shims, options = { auto: false }) {
  method constructor (line 62523) | constructor(body) {
  method [Symbol.toStringTag] (line 62526) | get [Symbol.toStringTag]() {
  function fileFromPath5 (line 62534) | async function fileFromPath5(path5, ...args) {
  function getMultipartRequestOptions4 (line 62544) | async function getMultipartRequestOptions4(form, opts) {
  function getRuntime2 (line 62555) | function getRuntime2() {
  method constructor (line 62581) | constructor(iterator2, controller) {
  method fromSSEResponse (line 62585) | static fromSSEResponse(response, controller) {
  method fromReadableStream (line 62645) | static fromReadableStream(readableStream, controller) {
  method [Symbol.asyncIterator] (line 62684) | [Symbol.asyncIterator]() {
  method tee (line 62691) | tee() {
  method toReadableStream (line 62717) | toReadableStream() {
  function findDoubleNewlineIndex2 (line 62784) | function findDoubleNewlineIndex2(buffer) {
  method constructor (line 62801) | constructor() {
  method decode (line 62806) | decode(line) {
  method constructor (line 62840) | constructor() {
  method decode (line 62844) | decode(chunk) {
  method decodeText (line 62875) | decodeText(bytes) {
  method flush (line 62898) | flush() {
  function partition2 (line 62910) | function partition2(str2, delimiter) {
  function readableStreamAsyncIterable2 (line 62917) | function readableStreamAsyncIterable2(stream4) {
  function toFile2 (line 62952) | async function toFile2(value, name, options) {
  function getBytes2 (line 62970) | async function getBytes2(value) {
  function propsForError2 (line 62986) | function propsForError2(value) {
  function getName2 (line 62990) | function getName2(value) {
  function defaultParseResponse2 (line 63045) | async function defaultParseResponse2(props) {
  method constructor (line 63072) | constructor(responsePromise, parseResponse = defaultParseResponse2) {
  method _thenUnwrap (line 63079) | _thenUnwrap(transform) {
  method asResponse (line 63095) | asResponse() {
  method withResponse (line 63111) | async withResponse() {
  method parse (line 63115) | parse() {
  method then (line 63121) | then(onfulfilled, onrejected) {
  method catch (line 63124) | catch(onrejected) {
  method finally (line 63127) | finally(onfinally) {
  method constructor (line 63132) | constructor({
  method authHeaders (line 63146) | authHeaders(opts) {
  method defaultHeaders (line 63157) | defaultHeaders(opts) {
  method validateHeaders (line 63169) | validateHeaders(headers, customHeaders) {
  method defaultIdempotencyKey (line 63171) | defaultIdempotencyKey() {
  method get (line 63174) | get(path5, opts) {
  method post (line 63177) | post(path5, opts) {
  method patch (line 63180) | patch(path5, opts) {
  method put (line 63183) | put(path5, opts) {
  method delete (line 63186) | delete(path5, opts) {
  method methodRequest (line 63189) | methodRequest(method, path5, opts) {
  method getAPIList (line 63195) | getAPIList(path5, Page2, opts) {
  method calculateContentLength (line 63198) | calculateContentLength(body) {
  method buildRequest (line 63213) | buildRequest(options) {
  method buildHeaders (line 63243) | buildHeaders({ options, headers, contentLength }) {
  method prepareOptions (line 63260) | async prepareOptions(options) {
  method prepareRequest (line 63268) | async prepareRequest(request3, { url: url2, options }) {
  method parseHeaders (line 63270) | parseHeaders(headers) {
  method makeStatusError (line 63273) | makeStatusError(status, error, message, headers) {
  method request (line 63276) | request(options, remainingRetries = null) {
  method makeRequest (line 63279) | async makeRequest(optionsInput, retriesRemaining) {
  method requestAPIList (line 63322) | requestAPIList(Page2, options) {
  method buildURL (line 63326) | buildURL(path5, query) {
  method stringifyQuery (line 63337) | stringifyQuery(query) {
  method fetchWithTimeout (line 63348) | async fetchWithTimeout(url2, init, ms, controller) {
  method getRequestClient (line 63357) | getRequestClient() {
  method shouldRetry (line 63360) | shouldRetry(response) {
  method retryRequest (line 63376) | async retryRequest(options, retriesRemaining, responseHeaders) {
  method calculateDefaultRetryTimeoutMillis (line 63401) | calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) {
  method getUserAgent (line 63409) | getUserAgent() {
  method constructor (line 63414) | constructor(client, response, body, options) {
  method hasNextPage (line 63421) | hasNextPage() {
  method getNextPage (line 63427) | async getNextPage() {
  method iterPages (line 63445) | async *iterPages() {
  method [(_AbstractPage_client2 = /* @__PURE__ */ new WeakMap(), Symbol.asyncIterator)] (line 63453) | async *[(_AbstractPage_client2 = /* @__PURE__ */ new WeakMap(), Symbol.a...
  method constructor (line 63462) | constructor(client, request3, Page2) {
  method [Symbol.asyncIterator] (line 63472) | async *[Symbol.asyncIterator]() {
  method get (line 63484) | get(target, name) {
  function getBrowserInfo2 (line 63560) | function getBrowserInfo2() {
  function isEmptyObj2 (line 63655) | function isEmptyObj2(obj) {
  function hasOwn2 (line 63662) | function hasOwn2(obj, key) {
  function applyHeadersMut2 (line 63665) | function applyHeadersMut2(targetHeaders, newHeaders) {
  function debug2 (line 63680) | function debug2(action, ...args) {
  function isObj (line 63700) | function isObj(obj) {
  method constructor (line 63708) | constructor(status, error, message, headers) {
  method makeMessage (line 63719) | static makeMessage(status, error, message) {
  method generate (line 63732) | static generate(status, errorResponse, message, headers) {
  method constructor (line 63765) | constructor({ message } = {}) {
  method constructor (line 63771) | constructor({ message, cause }) {
  method constructor (line 63779) | constructor({ message } = {}) {
  method constructor (line 63784) | constructor() {
  method constructor (line 63790) | constructor() {
  method constructor (line 63796) | constructor() {
  method constructor (line 63802) | constructor() {
  method constructor (line 63808) | constructor() {
  method constructor (line 63814) | constructor() {
  method constructor (line 63820) | constructor() {
  method constructor (line 63828) | constructor() {
  method constructor (line 63833) | constructor() {
  method constructor (line 63843) | constructor(client, response, body, options) {
  method getPaginatedItems (line 63848) | getPaginatedItems() {
  method nextPageParams (line 63856) | nextPageParams() {
  method nextPageInfo (line 63859) | nextPageInfo() {
  method constructor (line 63864) | constructor(client, response, body, options) {
  method getPaginatedItems (line 63868) | getPaginatedItems() {
  method nextPageParams (line 63872) | nextPageParams() {
  method nextPageInfo (line 63883) | nextPageInfo() {
  method constructor (line 63898) | constructor(client) {
  method create (line 63905) | create(body, options) {
  method constructor (line 63914) | constructor() {
  method create (line 63928) | create(body, options) {
  method create (line 63940) | create(body, options) {
  method create (line 63952) | create(body, options) {
  method constructor (line 63961) | constructor() {
  method create (line 63979) | create(body, options) {
  method retrieve (line 63985) | retrieve(batchId, options) {
  method list (line 63988) | list(query = {}, options) {
  method cancel (line 63999) | cancel(batchId, options) {
  method create (line 64014) | create(body, options) {
  method retrieve (line 64024) | retrieve(assistantId, options) {
  method update (line 64033) | update(assistantId, body, options) {
  method list (line 64040) | list(query = {}, options) {
  method del (line 64053) | del(assistantId, options) {
  function isRunnableFunctionWithParse (line 64067) | function isRunnableFunctionWithParse(fn) {
  method constructor (line 64108) | constructor() {
  method _run (line 64139) | _run(executor) {
  method _connected (line 64147) | _connected() {
  method ended (line 64153) | get ended() {
  method errored (line 64156) | get errored() {
  method aborted (line 64159) | get aborted() {
  method abort (line 64162) | abort() {
  method on (line 64172) | on(event, listener) {
  method off (line 64184) | off(event, listener) {
  method once (line 64198) | once(event, listener) {
  method emitted (line 64214) | emitted(event) {
  method done (line 64222) | async done() {
  method _emit (line 64226) | _emit(event, ...args) {
  method _emitFinal (line 64259) | _emitFinal() {
  function isAutoParsableResponseFormat (line 64283) | function isAutoParsableResponseFormat(response_format) {
  function isAutoParsableTool (line 64286) | function isAutoParsableTool(tool) {
  function maybeParseChatCompletion (line 64289) | function maybeParseChatCompletion(completion, params) {
  function parseChatCompletion (line 64301) | function parseChatCompletion(completion, params) {
  function parseResponseFormat (line 64320) | function parseResponseFormat(params, content) {
  function parseToolCall (line 64333) | function parseToolCall(params, toolCall) {
  function shouldParseToolCall (line 64343) | function shouldParseToolCall(params, toolCall) {
  function hasAutoParseableInput (line 64350) | function hasAutoParseableInput(params) {
  function validateInputTools (line 64356) | function validateInputTools(tools) {
  method constructor (line 64383) | constructor() {
  method _addChatCompletion (line 64389) | _addChatCompletion(chatCompletion) {
  method _addMessage (line 64397) | _addMessage(message, emit = true) {
  method finalChatCompletion (line 64420) | async finalChatCompletion() {
  method finalContent (line 64431) | async finalContent() {
  method finalMessage (line 64439) | async finalMessage() {
  method finalFunctionCall (line 64447) | async finalFunctionCall() {
  method finalFunctionCallResult (line 64451) | async finalFunctionCallResult() {
  method totalUsage (line 64455) | async totalUsage() {
  method allChatCompletions (line 64459) | allChatCompletions() {
  method _emitFinal (line 64462) | _emitFinal() {
  method _createChatCompletion (line 64482) | async _createChatCompletion(client, params, options) {
  method _runChatCompletion (line 64494) | async _runChatCompletion(client, params, options) {
  method _runFunctions (line 64500) | async _runFunctions(client, params, options) {
  method _runTools (line 64559) | async _runTools(client, params, options) {
  method runFunctions (line 64716) | static runFunctions(client, params, options) {
  method runTools (line 64725) | static runTools(client, params, options) {
  method _addMessage (line 64734) | _addMessage(message) {
  method constructor (line 64987) | constructor(params) {
  method currentChatCompletionSnapshot (line 64996) | get currentChatCompletionSnapshot() {
  method fromReadableStream (line 65006) | static fromReadableStream(stream4) {
  method createChatCompletion (line 65011) | static createChatCompletion(client, params, options) {
  method _createChatCompletion (line 65016) | async _createChatCompletion(client, params, options) {
  method _fromReadableStream (line 65035) | async _fromReadableStream(readableStream, options) {
  method [(_ChatCompletionStream_params = /* @__PURE__ */ new WeakMap(), _ChatCompletionStream_choiceEventStates = /* @__PURE__ */ new WeakMap(), _ChatCompletionStream_currentChatCompletionSnapshot = /* @__PURE__ */ new WeakMap(), _ChatCompletionStream_instances = /* @__PURE__ */ new WeakSet(), _ChatCompletionStream_beginRequest = function _ChatCompletionStream_beginRequest2() {
    if (this.ended)
      return;
    __classPrivateFieldSet9(this, _ChatCompletionStream_currentChatCompletionSnapshot, void 0, "f");
  }, _ChatCompletionStream_getChoiceEventState = function _ChatCompletionStream_getChoiceEventState2(choice) {
    let state2 = __classPrivateFieldGet11(this, _ChatCompletionStream_choiceEventStates, "f")[choice.index];
    if (state2) {
      return state2;
    }
    state2 = {
      content_done: false,
      refusal_done: false,
      logprobs_content_done: false,
      logprobs_refusal_done: false,
      done_tool_calls: /* @__PURE__ */ new Set(),
      current_tool_call_index: null
    };
    __classPrivateFieldGet11(this, _ChatCompletionStream_choiceEventStates, "f")[choice.index] = state2;
    return state2;
  }, _ChatCompletionStream_addChunk = function _ChatCompletionStream_addChunk2(chunk) {
    if (this.ended)
      return;
    const completion = __classPrivateFieldGet11(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_accumulateChatCompletion).call(this, chunk);
    this._emit("chunk", chunk, completion);
    for (const choice of chunk.choices) {
      const choiceSnapshot = completion.choices[choice.index];
      if (choice.delta.content != null && choiceSnapshot.message?.role === "assistant" && choiceSnapshot.message?.content) {
        this._emit("content", choice.delta.content, choiceSnapshot.message.content);
        this._emit("content.delta", {
          delta: choice.delta.content,
          snapshot: choiceSnapshot.message.content,
          parsed: choiceSnapshot.message.parsed
        });
      }
      if (choice.delta.refusal != null && choiceSnapshot.message?.role === "assistant" && choiceSnapshot.message?.refusal) {
        this._emit("refusal.delta", {
          delta: choice.delta.refusal,
          snapshot: choiceSnapshot.message.refusal
        });
      }
      if (choice.logprobs?.content != null && choiceSnapshot.message?.role === "assistant") {
        this._emit("logprobs.content.delta", {
          content: choice.logprobs?.content,
          snapshot: choiceSnapshot.logprobs?.content ?? []
        });
      }
      if (choice.logprobs?.refusal != null && choiceSnapshot.message?.role === "assistant") {
        this._emit("logprobs.refusal.delta", {
          refusal: choice.logprobs?.refusal,
          snapshot: choiceSnapshot.logprobs?.refusal ?? []
        });
      }
      const state2 = __classPrivateFieldGet11(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getChoiceEventState).call(this, choiceSnapshot);
      if (choiceSnapshot.finish_reason) {
        __classPrivateFieldGet11(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_emitContentDoneEvents).call(this, choiceSnapshot);
        if (state2.current_tool_call_index != null) {
          __classPrivateFieldGet11(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_emitToolCallDoneEvent).call(this, choiceSnapshot, state2.current_tool_call_index);
        }
      }
      for (const toolCall of choice.delta.tool_calls ?? []) {
        if (state2.current_tool_call_index !== toolCall.index) {
          __classPrivateFieldGet11(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_emitContentDoneEvents).call(this, choiceSnapshot);
          if (state2.current_tool_call_index != null) {
            __classPrivateFieldGet11(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_emitToolCallDoneEvent).call(this, choiceSnapshot, state2.current_tool_call_index);
          }
        }
        state2.current_tool_call_index = toolCall.index;
      }
      for (const toolCallDelta of choice.delta.tool_calls ?? []) {
        const toolCallSnapshot = choiceSnapshot.message.tool_calls?.[toolCallDelta.index];
        if (!toolCallSnapshot?.type) {
          continue;
        }
        if (toolCallSnapshot?.type === "function") {
          this._emit("tool_calls.function.arguments.delta", {
            name: toolCallSnapshot.function?.name,
            index: toolCallDelta.index,
            arguments: toolCallSnapshot.function.arguments,
            parsed_arguments: toolCallSnapshot.function.parsed_arguments,
            arguments_delta: toolCallDelta.function?.arguments ?? ""
          });
        } else {
          assertNever(toolCallSnapshot?.type);
        }
      }
    }
  }, _ChatCompletionStream_emitToolCallDoneEvent = function _ChatCompletionStream_emitToolCallDoneEvent2(choiceSnapshot, toolCallIndex) {
    const state2 = __classPrivateFieldGet11(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getChoiceEventState).call(this, choiceSnapshot);
    if (state2.done_tool_calls.has(toolCallIndex)) {
      return;
    }
    const toolCallSnapshot = choiceSnapshot.message.tool_calls?.[toolCallIndex];
    if (!toolCallSnapshot) {
      throw new Error("no tool call snapshot");
    }
    if (!toolCallSnapshot.type) {
      throw new Error("tool call snapshot missing `type`");
    }
    if (toolCallSnapshot.type === "function") {
      const inputTool = __classPrivateFieldGet11(this, _ChatCompletionStream_params, "f")?.tools?.find((tool) => tool.type === "function" && tool.function.name === toolCallSnapshot.function.name);
      this._emit("tool_calls.function.arguments.done", {
        name: toolCallSnapshot.function.name,
        index: toolCallIndex,
        arguments: toolCallSnapshot.function.arguments,
        parsed_arguments: isAutoParsableTool(inputTool) ? inputTool.$parseRaw(toolCallSnapshot.function.arguments) : inputTool?.function.strict ? JSON.parse(toolCallSnapshot.function.arguments) : null
      });
    } else {
      assertNever(toolCallSnapshot.type);
    }
  }, _ChatCompletionStream_emitContentDoneEvents = function _ChatCompletionStream_emitContentDoneEvents2(choiceSnapshot) {
    const state2 = __classPrivateFieldGet11(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getChoiceEventState).call(this, choiceSnapshot);
    if (choiceSnapshot.message.content && !state2.content_done) {
      state2.content_done = true;
      const responseFormat = __classPrivateFieldGet11(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getAutoParseableResponseFormat).call(this);
      this._emit("content.done", {
        content: choiceSnapshot.message.content,
        parsed: responseFormat ? responseFormat.$parseRaw(choiceSnapshot.message.content) : null
      });
    }
    if (choiceSnapshot.message.refusal && !state2.refusal_done) {
      state2.refusal_done = true;
      this._emit("refusal.done", { refusal: choiceSnapshot.message.refusal });
    }
    if (choiceSnapshot.logprobs?.content && !state2.logprobs_content_done) {
      state2.logprobs_content_done = true;
      this._emit("logprobs.content.done", { content: choiceSnapshot.logprobs.content });
    }
    if (choiceSnapshot.logprobs?.refusal && !state2.logprobs_refusal_done) {
      state2.logprobs_refusal_done = true;
      this._emit("logprobs.refusal.done", { refusal: choiceSnapshot.logprobs.refusal });
    }
  }, _ChatCompletionStream_endRequest = function _ChatCompletionStream_endRequest2() {
    if (this.ended) {
      throw new OpenAIError(`stream has ended, this shouldn't happen`);
    }
    const snapshot = __classPrivateFieldGet11(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f");
    if (!snapshot) {
      throw new OpenAIError(`request ended without sending any chunks`);
    }
    __classPrivateFieldSet9(this, _ChatCompletionStream_currentChatCompletionSnapshot, void 0, "f");
    __classPrivateFieldSet9(this, _ChatCompletionStream_choiceEventStates, [], "f");
    return finalizeChatCompletion(snapshot, __classPrivateFieldGet11(this, _ChatCompletionStream_params, "f"));
  }, _ChatCompletionStream_getAutoParseableResponseFormat = function _ChatCompletionStream_getAutoParseableResponseFormat2() {
    const responseFormat = __classPrivateFieldGet11(this, _ChatCompletionStream_params, "f")?.response_format;
    if (isAutoParsableResponseFormat(responseFormat)) {
      return responseFormat;
    }
    return null;
  }, _ChatCompletionStream_accumulateChatCompletion = function _ChatCompletionStream_accumulateChatCompletion2(chunk) {
    var _a5, _b2, _c2, _d2;
    let snapshot = __classPrivateFieldGet11(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f");
    const { choices, ...rest } = chunk;
    if (!snapshot) {
      snapshot = __classPrivateFieldSet9(this, _ChatCompletionStream_currentChatCompletionSnapshot, {
        ...rest,
        choices: []
      }, "f");
    } else {
      Object.assign(snapshot, rest);
    }
    for (const { delta, finish_reason, index, logprobs = null, ...other } of chunk.choices) {
      let choice = snapshot.choices[index];
      if (!choice) {
        choice = snapshot.choices[index] = { finish_reason, index, message: {}, logprobs, ...other };
      }
      if (logprobs) {
        if (!choice.logprobs) {
          choice.logprobs = Object.assign({}, logprobs);
        } else {
          const { content: content2, refusal: refusal2, ...rest3 } = logprobs;
          assertIsEmpty(rest3);
          Object.assign(choice.logprobs, rest3);
          if (content2) {
            (_a5 = choice.logprobs).content ?? (_a5.content = []);
            choice.logprobs.content.push(...content2);
          }
          if (refusal2) {
            (_b2 = choice.logprobs).refusal ?? (_b2.refusal = []);
            choice.logprobs.refusal.push(...refusal2);
          }
        }
      }
      if (finish_reason) {
        choice.finish_reason = finish_reason;
        if (__classPrivateFieldGet11(this, _ChatCompletionStream_params, "f") && hasAutoParseableInput(__classPrivateFieldGet11(this, _ChatCompletionStream_params, "f"))) {
          if (finish_reason === "length") {
            throw new LengthFinishReasonError();
          }
          if (finish_reason === "content_filter") {
            throw new ContentFilterFinishReasonError();
          }
        }
      }
      Object.assign(choice, other);
      if (!delta)
        continue;
      const { content, refusal, function_call, role, tool_calls, ...rest2 } = delta;
      assertIsEmpty(rest2);
      Object.assign(choice.message, rest2);
      if (refusal) {
        choice.message.refusal = (choice.message.refusal || "") + refusal;
      }
      if (role)
        choice.message.role = role;
      if (function_call) {
        if (!choice.message.function_call) {
          choice.message.function_call = function_call;
        } else {
          if (function_call.name)
            choice.message.function_call.name = function_call.name;
          if (function_call.arguments) {
            (_c2 = choice.message.function_call).arguments ?? (_c2.arguments = "");
            choice.message.function_call.arguments += function_call.arguments;
          }
        }
      }
      if (content) {
        choice.message.content = (choice.message.content || "") + content;
        if (!choice.message.refusal && __classPrivateFieldGet11(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getAutoParseableResponseFormat).call(this)) {
          choice.message.parsed = partialParse(choice.message.content);
        }
      }
      if (tool_calls) {
        if (!choice.message.tool_calls)
          choice.message.tool_calls = [];
        for (const { index: index2, id, type: type2, function: fn, ...rest3 } of tool_calls) {
          const tool_call = (_d2 = choice.message.tool_calls)[index2] ?? (_d2[index2] = {});
          Object.assign(tool_call, rest3);
          if (id)
            tool_call.id = id;
          if (type2)
            tool_call.type = type2;
          if (fn)
            tool_call.function ?? (tool_call.function = { name: fn.name ?? "", arguments: "" });
          if (fn?.name)
            tool_call.function.name = fn.name;
          if (fn?.arguments) {
            tool_call.function.arguments += fn.arguments;
            if (shouldParseToolCall(__classPrivateFieldGet11(this, _ChatCompletionStream_params, "f"), tool_call)) {
              tool_call.function.parsed_arguments = partialParse(tool_call.function.arguments);
            }
          }
        }
      }
    }
    return snapshot;
  }, Symbol.asyncIterator)] (line 65058) | [(_ChatCompletionStream_params = /* @__PURE__ */ new WeakMap(), _ChatCom...
  method toReadableStream (line 65354) | toReadableStream() {
  function finalizeChatCompletion (line 65359) | function finalizeChatCompletion(snapshot, params) {
  function str (line 65444) | function str(x5) {
  function assertIsEmpty (line 65447) | function assertIsEmpty(obj) {
  function assertNever (line 65450) | function assertNever(_x) {
  method fromReadableStream (line 65455) | static fromReadableStream(stream4) {
  method runFunctions (line 65461) | static runFunctions(client, params, options) {
  method runTools (line 65470) | static runTools(client, params, options) {
  method parse (line 65486) | async parse(body, options) {
  method runFunctions (line 65497) | runFunctions(body, options) {
  method runTools (line 65503) | runTools(body, options) {
  method stream (line 65512) | stream(body, options) {
  method constructor (line 65519) | constructor() {
  method constructor (line 65563) | constructor() {
  method [(_AssistantStream_events = /* @__PURE__ */ new WeakMap(), _AssistantStream_runStepSnapshots = /* @__PURE__ */ new WeakMap(), _AssistantStream_messageSnapshots = /* @__PURE__ */ new WeakMap(), _AssistantStream_messageSnapshot = /* @__PURE__ */ new WeakMap(), _AssistantStream_finalRun = /* @__PURE__ */ new WeakMap(), _AssistantStream_currentContentIndex = /* @__PURE__ */ new WeakMap(), _AssistantStream_currentContent = /* @__PURE__ */ new WeakMap(), _AssistantStream_currentToolCallIndex = /* @__PURE__ */ new WeakMap(), _AssistantStream_currentToolCall = /* @__PURE__ */ new WeakMap(), _AssistantStream_currentEvent = /* @__PURE__ */ new WeakMap(), _AssistantStream_currentRunSnapshot = /* @__PURE__ */ new WeakMap(), _AssistantStream_currentRunStepSnapshot = /* @__PURE__ */ new WeakMap(), _AssistantStream_instances = /* @__PURE__ */ new WeakSet(), Symbol.asyncIterator)] (line 65579) | [(_AssistantStream_events = /* @__PURE__ */ new WeakMap(), _AssistantStr...
  method fromReadableStream (line 65629) | static fromReadableStream(stream4) {
  method _fromReadableStream (line 65634) | async _fromReadableStream(readableStream, options) {
  method toReadableStream (line 65651) | toReadableStream() {
  method createToolAssistantStream (line 65655) | static createToolAssistantStream(threadId, runId, runs, params, options) {
  method _createToolAssistantStream (line 65663) | async _createToolAssistantStream(run, threadId, runId, params, options) {
  method createThreadAssistantStream (line 65684) | static createThreadAssistantStream(params, thread, options) {
  method createAssistantStream (line 65692) | static createAssistantStream(threadId, runs, params, options) {
  method currentEvent (line 65700) | currentEvent() {
  method currentRun (line 65703) | currentRun() {
  method currentMessageSnapshot (line 65706) | currentMessageSnapshot() {
  method currentRunStepSnapshot (line 65709) | currentRunStepSnapshot() {
  method finalRunSteps (line 65712) | async finalRunSteps() {
  method finalMessages (line 65716) | async finalMessages() {
  method finalRun (line 65720) | async finalRun() {
  method _createThreadAssistantStream (line 65726) | async _createThreadAssistantStream(thread, params, options) {
  method _createAssistantStream (line 65744) | async _createAssistantStream(run, threadId, params, options) {
  method accumulateDelta (line 65762) | static accumulateDelta(acc, delta) {
  method _addRun (line 65795) | _addRun(run) {
  method _threadAssistantStream (line 65798) | async _threadAssistantStream(params, thread, options) {
  method _runAssistantStream (line 65801) | async _runAssistantStream(threadId, runs, params, options) {
  method _runToolAssistantStream (line 65804) | async _runToolAssistantStream(threadId, runId, runs, params, options) {
  method create (line 66056) | create(threadId, body, options) {
  method retrieve (line 66066) | retrieve(threadId, messageId, options) {
  method update (line 66075) | update(threadId, messageId, body, options) {
  method list (line 66082) | list(threadId, query = {}, options) {
  method del (line 66095) | del(threadId, messageId, options) {
  method retrieve (line 66110) | retrieve(threadId, runId, stepId, query = {}, options) {
  method list (line 66120) | list(threadId, runId, query = {}, options) {
  method constructor (line 66139) | constructor() {
  method create (line 66143) | create(threadId, params, options) {
  method retrieve (line 66156) | retrieve(threadId, runId, options) {
  method update (line 66165) | update(threadId, runId, body, options) {
  method list (line 66172) | list(threadId, query = {}, options) {
  method cancel (line 66185) | cancel(threadId, runId, options) {
  method createAndPoll (line 66196) | async createAndPoll(threadId, body, options) {
  method createAndStream (line 66205) | createAndStream(threadId, body, options) {
  method poll (line 66213) | async poll(threadId, runId, options) {
  method stream (line 66256) | stream(threadId, body, options) {
  method submitToolOutputs (line 66259) | submitToolOutputs(threadId, runId, body, options) {
  method submitToolOutputsAndPoll (line 66272) | async submitToolOutputsAndPoll(threadId, runId, body, options) {
  method submitToolOutputsStream (line 66281) | submitToolOutputsStream(threadId, runId, body, options) {
  method constructor (line 66295) | constructor() {
  method create (line 66300) | create(body = {}, options) {
  method retrieve (line 66313) | retrieve(threadId, options) {
  method update (line 66322) | update(threadId, body, options) {
  method del (line 66332) | del(threadId, options) {
  method createAndRun (line 66338) | createAndRun(body, options) {
  method createAndRunPoll (line 66351) | async createAndRunPoll(body, options) {
  method createAndRunStream (line 66358) | createAndRunStream(body, options) {
  method create (line 66395) | create(vectorStoreId, body, options) {
  method retrieve (line 66405) | retrieve(vectorStoreId, fileId, options) {
  method list (line 66411) | list(vectorStoreId, query = {}, options) {
  method del (line 66427) | del(vectorStoreId, fileId, options) {
  method createAndPoll (line 66436) | async createAndPoll(vectorStoreId, body, options) {
  method poll (line 66446) | async poll(vectorStoreId, fileId, options) {
  method upload (line 66485) | async upload(vectorStoreId, file, options) {
  method uploadAndPoll (line 66492) | async uploadAndPoll(vectorStoreId, file, options) {
  method create (line 66508) | create(vectorStoreId, body, options) {
  method retrieve (line 66518) | retrieve(vectorStoreId, batchId, options) {
  method cancel (line 66528) | cancel(vectorStoreId, batchId, options) {
  method createAndPoll (line 66537) | async createAndPoll(vectorStoreId, body, options) {
  method listFiles (line 66541) | listFiles(vectorStoreId, batchId, query = {}, options) {
  method poll (line 66553) | async poll(vectorStoreId, batchId, options) {
  method uploadAndPoll (line 66591) | async uploadAndPoll(vectorStoreId, { files, fileIds = [] }, options) {
  method constructor (line 66618) | constructor() {
  method create (line 66626) | create(body, options) {
  method retrieve (line 66636) | retrieve(vectorStoreId, options) {
  method update (line 66645) | update(vectorStoreId, body, options) {
  method list (line 66652) | list(query = {}, options) {
  method del (line 66665) | del(vectorStoreId, options) {
  method constructor (line 66683) | constructor() {
  method create (line 66702) | create(body, options) {
  method create (line 66714) | create(body, options) {
  method create (line 66746) | create(body, options) {
  method retrieve (line 66752) | retrieve(fileId, options) {
  method list (line 66755) | list(query = {}, options) {
  method del (line 66764) | del(fileId, options) {
  method content (line 66770) | content(fileId, options) {
  method retrieveContent (line 66778) | retrieveContent(fileId, options) {
  method waitForProcessing (line 66787) | async waitForProcessing(id, { pollInterval = 5e3, maxWait = 30 * 60 * 1e...
  method list (line 66811) | list(fineTuningJobId, query = {}, options) {
  method constructor (line 66826) | constructor() {
  method create (line 66839) | create(body, options) {
  method retrieve (line 66847) | retrieve(fineTuningJobId, options) {
  method list (line 66850) | list(query = {}, options) {
  method cancel (line 66859) | cancel(fineTuningJobId, options) {
  method listEvents (line 66862) | listEvents(fineTuningJobId, query = {}, options) {
  method constructor (line 66885) | constructor() {
  method createVariation (line 66901) | createVariation(body, options) {
  method edit (line 66907) | edit(body, options) {
  method generate (line 66913) | generate(body, options) {
  method retrieve (line 66926) | retrieve(model, options) {
  method list (line 66933) | list(options) {
  method del (line 66940) | del(model, options) {
  method create (line 66955) | create(body, options) {
  method create (line 66977) | create(uploadId, body, options) {
  method constructor (line 66986) | constructor() {
  method create (line 67012) | create(body, options) {
  method cancel (line 67018) | cancel(uploadId, options) {
  method complete (line 67036) | complete(uploadId, body, options) {
  method constructor (line 67062) | constructor({ baseURL = readEnv2("OPENAI_BASE_URL"), apiKey = readEnv2("...
  method defaultQuery (line 67100) | defaultQuery() {
  method defaultHeaders (line 67103) | defaultHeaders(opts) {
  method authHeaders (line 67111) | authHeaders(opts) {
  method stringifyQuery (line 67114) | stringifyQuery(query) {
  method constructor (line 67159) | constructor(config7) {
  method constructor (line 67201) | constructor(config7) {
  method constructor (line 67238) | constructor(config7) {
  method constructor (line 67246) | constructor(config7) {
  method generateCommitMessage (line 67253) | async generateCommitMessage(messages) {
  method constructor (line 67278) | constructor(config7) {
  method constructor (line 67309) | constructor(config7) {
  method constructor (line 67338) | constructor(config7) {
  function parseCustomHeaders (line 67366) | function parseCustomHeaders(headers) {
  function getEngine (line 67384) | function getEngine() {
  function removeConventionalCommitWord (line 67719) | function removeConventionalCommitWord(message) {
  function mergeDiffs (line 67913) | function mergeDiffs(arr, maxStringLength) {
  function handleModelNotFoundError (line 67951) | async function handleModelNotFoundError(error, provider, currentModel) {
  function getMessagesPromisesByChangesInFile (line 68080) | function getMessagesPromisesByChangesInFile(fileDiff, separator, maxChan...
  function splitDiff (line 68109) | function splitDiff(diff, maxChangeLength) {
  function delay3 (line 68159) | function delay3(ms) {
  function commit (line 68419) | async function commit(extraArgs2 = [], context = "", isStageAllFlag = fa...
  function readCache (line 68662) | function readCache() {
  function writeCache (line 68673) | function writeCache(models) {
  function isCacheValid (line 68683) | function isCacheValid(cache) {
  function fetchOpenAIModels (line 68687) | async function fetchOpenAIModels(apiKey) {
  function fetchOllamaModels (line 68706) | async function fetchOllamaModels(baseUrl = "http://localhost:11434") {
  function fetchAnthropicModels (line 68718) | async function fetchAnthropicModels(apiKey) {
  function fetchMistralModels (line 68736) | async function fetchMistralModels(apiKey) {
  function fetchGroqModels (line 68753) | async function fetchGroqModels(apiKey) {
  function fetchOpenRouterModels (line 68770) | async function fetchOpenRouterModels(apiKey) {
  function fetchDeepSeekModels (line 68789) | async function fetchDeepSeekModels(apiKey) {
  function fetchModelsForProvider (line 68806) | async function fetchModelsForProvider(provider, apiKey, baseUrl, forceRe...
  function clearModelCache (line 68872) | function clearModelCache() {
  function getCacheInfo (line 68880) | function getCacheInfo() {
  function getCachedModels (line 68890) | function getCachedModels(provider) {
  function selectProvider (line 68931) | async function selectProvider() {
  function getApiKey (line 68957) | async function getApiKey(provider) {
  function formatCacheAge (line 68975) | function formatCacheAge(timestamp) {
  function selectModel (line 68987) | async function selectModel(provider, apiKey) {
  function setupOllama (line 69071) | async function setupOllama() {
  function runSetup (line 69142) | async function runSetup() {
  function isFirstRun (line 69211) | function isFirstRun() {
  function promptForMissingApiKey (line 69222) | async function promptForMissingApiKey() {
  function formatCacheAge2 (line 69264) | function formatCacheAge2(timestamp) {
  function listModels (line 69279) | async function listModels(provider, useCache = true) {
  function refreshModels (line 69309) | async function refreshModels(provider) {
  function use_single_api_key_and_url_default (line 69412) | function use_single_api_key_and_url_default() {
  function remove_obsolete_config_keys_from_global_file_default (line 69447) | function remove_obsolete_config_keys_from_global_file_default() {
  function set_missing_default_values_default (line 69469) | function set_missing_default_values_default() {

FILE: out/github-action.cjs
  method "node_modules/@actions/core/lib/utils.js" (line 38) | "node_modules/@actions/core/lib/utils.js"(exports2) {
  method "node_modules/@actions/core/lib/command.js" (line 70) | "node_modules/@actions/core/lib/command.js"(exports2) {
  function rng (line 151) | function rng() {
  method "node_modules/uuid/dist/esm-node/rng.js" (line 160) | "node_modules/uuid/dist/esm-node/rng.js"() {
  method "node_modules/uuid/dist/esm-node/regex.js" (line 170) | "node_modules/uuid/dist/esm-node/regex.js"() {
  function validate (line 176) | function validate(uuid) {
  method "node_modules/uuid/dist/esm-node/validate.js" (line 181) | "node_modules/uuid/dist/esm-node/validate.js"() {
  function stringify (line 188) | function stringify(arr, offset = 0) {
  method "node_modules/uuid/dist/esm-node/stringify.js" (line 197) | "node_modules/uuid/dist/esm-node/stringify.js"() {
  function v1 (line 208) | function v1(options, buf, offset) {
  method "node_modules/uuid/dist/esm-node/v1.js" (line 258) | "node_modules/uuid/dist/esm-node/v1.js"() {
  function parse (line 268) | function parse(uuid) {
  method "node_modules/uuid/dist/esm-node/parse.js" (line 294) | "node_modules/uuid/dist/esm-node/parse.js"() {
  function stringToBytes (line 301) | function stringToBytes(str2) {
  function v35_default (line 309) | function v35_default(name, version2, hashfunc) {
  method "node_modules/uuid/dist/esm-node/v35.js" (line 345) | "node_modules/uuid/dist/esm-node/v35.js"() {
  function md5 (line 354) | function md5(bytes) {
  method "node_modules/uuid/dist/esm-node/md5.js" (line 364) | "node_modules/uuid/dist/esm-node/md5.js"() {
  method "node_modules/uuid/dist/esm-node/v3.js" (line 373) | "node_modules/uuid/dist/esm-node/v3.js"() {
  function v4 (line 382) | function v4(options, buf, offset) {
  method "node_modules/uuid/dist/esm-node/v4.js" (line 398) | "node_modules/uuid/dist/esm-node/v4.js"() {
  function sha1 (line 406) | function sha1(bytes) {
  method "node_modules/uuid/dist/esm-node/sha1.js" (line 416) | "node_modules/uuid/dist/esm-node/sha1.js"() {
  method "node_modules/uuid/dist/esm-node/v5.js" (line 425) | "node_modules/uuid/dist/esm-node/v5.js"() {
  method "node_modules/uuid/dist/esm-node/nil.js" (line 436) | "node_modules/uuid/dist/esm-node/nil.js"() {
  function version (line 442) | function version(uuid) {
  method "node_modules/uuid/dist/esm-node/version.js" (line 450) | "node_modules/uuid/dist/esm-node/version.js"() {
  method "node_modules/uuid/dist/esm-node/index.js" (line 470) | "node_modules/uuid/dist/esm-node/index.js"() {
  method "node_modules/@actions/core/lib/file-command.js" (line 485) | "node_modules/@actions/core/lib/file-command.js"(exports2) {
  method "node_modules/@actions/http-client/lib/proxy.js" (line 546) | "node_modules/@actions/http-client/lib/proxy.js"(exports2) {
  method "node_modules/tunnel/lib/tunnel.js" (line 615) | "node_modules/tunnel/lib/tunnel.js"(exports2) {
  method "node_modules/tunnel/index.js" (line 845) | "node_modules/tunnel/index.js"(exports2, module2) {
  method "node_modules/undici/lib/core/symbols.js" (line 852) | "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
  method "node_modules/undici/lib/core/errors.js" (line 921) | "node_modules/undici/lib/core/errors.js"(exports2, module2) {
  method "node_modules/undici/lib/core/constants.js" (line 1136) | "node_modules/undici/lib/core/constants.js"(exports2, module2) {
  method "node_modules/undici/lib/core/util.js" (line 1251) | "node_modules/undici/lib/core/util.js"(exports2, module2) {
  method "node_modules/undici/lib/timers.js" (line 1635) | "node_modules/undici/lib/timers.js"(exports2, module2) {
  method "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js" (line 1717) | "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, modul...
  method "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js" (line 1854) | "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, mo...
  method "node_modules/@fastify/busboy/lib/utils/getLimit.js" (line 1870) | "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
  method "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js" (line 1886) | "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, ...
  method "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js" (line 1986) | "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
  method "node_modules/@fastify/busboy/lib/utils/decodeText.js" (line 2226) | "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
  method "node_modules/@fastify/busboy/lib/utils/parseParams.js" (line 2335) | "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module...
  method "node_modules/@fastify/busboy/lib/utils/basename.js" (line 2933) | "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
  method "node_modules/@fastify/busboy/lib/types/multipart.js" (line 2955) | "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
  method "node_modules/@fastify/busboy/lib/utils/Decoder.js" (line 3235) | "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
  method "node_modules/@fastify/busboy/lib/types/urlencoded.js" (line 3414) | "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
  method "node_modules/@fastify/busboy/lib/main.js" (line 3629) | "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/constants.js" (line 3708) | "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/global.js" (line 3907) | "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/util.js" (line 3943) | "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/symbols.js" (line 4558) | "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/webidl.js" (line 4573) | "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/dataURL.js" (line 4942) | "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/file.js" (line 5227) | "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/formdata.js" (line 5413) | "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/body.js" (line 5569) | "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
  method "node_modules/undici/lib/core/request.js" (line 5947) | "node_modules/undici/lib/core/request.js"(exports2, module2) {
  method "node_modules/undici/lib/dispatcher.js" (line 6317) | "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
  method "node_modules/undici/lib/dispatcher-base.js" (line 6337) | "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
  method "node_modules/undici/lib/core/connect.js" (line 6500) | "node_modules/undici/lib/core/connect.js"(exports2, module2) {
  method "node_modules/undici/lib/llhttp/utils.js" (line 6656) | "node_modules/undici/lib/llhttp/utils.js"(exports2) {
  method "node_modules/undici/lib/llhttp/constants.js" (line 6676) | "node_modules/undici/lib/llhttp/constants.js"(exports2) {
  method "node_modules/undici/lib/handler/RedirectHandler.js" (line 6997) | "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
  method "node_modules/undici/lib/interceptor/redirectInterceptor.js" (line 7147) | "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, m...
  method "node_modules/undici/lib/llhttp/llhttp-wasm.js" (line 7169) | "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
  method "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js" (line 7176) | "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
  method "node_modules/undici/lib/client.js" (line 7183) | "node_modules/undici/lib/client.js"(exports2, module2) {
  method "node_modules/undici/lib/node/fixed-queue.js" (line 8890) | "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
  method "node_modules/undici/lib/pool-stats.js" (line 8947) | "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
  method "node_modules/undici/lib/pool-base.js" (line 8979) | "node_modules/undici/lib/pool-base.js"(exports2, module2) {
  method "node_modules/undici/lib/pool.js" (line 9134) | "node_modules/undici/lib/pool.js"(exports2, module2) {
  method "node_modules/undici/lib/balanced-pool.js" (line 9224) | "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
  method "node_modules/undici/lib/compat/dispatcher-weakref.js" (line 9359) | "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
  method "node_modules/undici/lib/agent.js" (line 9401) | "node_modules/undici/lib/agent.js"(exports2, module2) {
  method "node_modules/undici/lib/api/readable.js" (line 9519) | "node_modules/undici/lib/api/readable.js"(exports2, module2) {
  method "node_modules/undici/lib/api/util.js" (line 9771) | "node_modules/undici/lib/api/util.js"(exports2, module2) {
  method "node_modules/undici/lib/api/abort-signal.js" (line 9814) | "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
  method "node_modules/undici/lib/api/api-request.js" (line 9863) | "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
  method "node_modules/undici/lib/api/api-stream.js" (line 10017) | "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
  method "node_modules/undici/lib/api/api-pipeline.js" (line 10191) | "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
  method "node_modules/undici/lib/api/api-upgrade.js" (line 10389) | "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
  method "node_modules/undici/lib/api/api-connect.js" (line 10479) | "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
  method "node_modules/undici/lib/api/index.js" (line 10566) | "node_modules/undici/lib/api/index.js"(exports2, module2) {
  method "node_modules/undici/lib/mock/mock-errors.js" (line 10578) | "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
  method "node_modules/undici/lib/mock/mock-symbols.js" (line 10598) | "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
  method "node_modules/undici/lib/mock/mock-utils.js" (line 10626) | "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
  method "node_modules/undici/lib/mock/mock-interceptor.js" (line 10906) | "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
  method "node_modules/undici/lib/mock/mock-client.js" (line 11067) | "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
  method "node_modules/undici/lib/mock/mock-pool.js" (line 11120) | "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
  method "node_modules/undici/lib/mock/pluralizer.js" (line 11173) | "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
  method "node_modules/undici/lib/mock/pending-interceptors-formatter.js" (line 11204) | "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports...
  method "node_modules/undici/lib/mock/mock-agent.js" (line 11243) | "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
  method "node_modules/undici/lib/proxy-agent.js" (line 11382) | "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
  method "node_modules/undici/lib/handler/RetryHandler.js" (line 11534) | "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
  method "node_modules/undici/lib/global.js" (line 11801) | "node_modules/undici/lib/global.js"(exports2, module2) {
  method "node_modules/undici/lib/handler/DecoratorHandler.js" (line 11832) | "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/headers.js" (line 11865) | "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/response.js" (line 12255) | "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/request.js" (line 12634) | "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
  method "node_modules/undici/lib/fetch/index.js" (line 13273) | "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
  method "node_modules/undici/lib/fileapi/symbols.js" (line 14309) | "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
  method "node_modules/undici/lib/fileapi/progressevent.js" (line 14324) | "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
  method "node_modules/undici/lib/fileapi/encoding.js" (line 14392) | "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
  method "node_modules/undici/lib/fileapi/util.js" (line 14678) | "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
  method "node_modules/undici/lib/fileapi/filereader.js" (line 14864) | "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
  method "node_modules/undici/lib/cache/symbols.js" (line 15123) | "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
  method "node_modules/undici/lib/cache/util.js" (line 15133) | "node_modules/undici/lib/cache/util.js"(exports2, module2) {
  method "node_modules/undici/lib/cache/cache.js" (line 15166) | "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
  method "node_modules/undici/lib/cache/cachestorage.js" (line 15698) | "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
  method "node_modules/undici/lib/cookies/constants.js" (line 15804) | "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
  method "node_modules/undici/lib/cookies/util.js" (line 15817) | "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
  method "node_modules/undici/lib/cookies/parse.js" (line 15962) | "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
  method "node_modules/undici/lib/cookies/index.js" (line 16102) | "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
  method "node_modules/undici/lib/websocket/constants.js" (line 16230) | "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
  method "node_modules/undici/lib/websocket/symbols.js" (line 16274) | "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
  method "node_modules/undici/lib/websocket/events.js" (line 16291) | "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
  method "node_modules/undici/lib/websocket/util.js" (line 16534) | "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
  method "node_modules/undici/lib/websocket/connection.js" (line 16624) | "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
  method "node_modules/undici/lib/websocket/frame.js" (line 16772) | "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
  method "node_modules/undici/lib/websocket/receiver.js" (line 16829) | "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
  method "node_modules/undici/lib/websocket/websocket.js" (line 17065) | "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
  method "node_modules/undici/index.js" (line 17470) | "node_modules/undici/index.js"(exports2, module2) {
  method "node_modules/@actions/http-client/lib/index.js" (line 17609) | "node_modules/@actions/http-client/lib/index.js"(exports2) {
  method "node_modules/@actions/http-client/lib/auth.js" (line 18228) | "node_modules/@actions/http-client/lib/auth.js"(exports2) {
  method "node_modules/@actions/core/lib/oidc-utils.js" (line 18332) | "node_modules/@actions/core/lib/oidc-utils.js"(exports2) {
  method "node_modules/@actions/core/lib/summary.js" (line 18430) | "node_modules/@actions/core/lib/summary.js"(exports2) {
  method "node_modules/@actions/core/lib/path-utils.js" (line 18724) | "node_modules/@actions/core/lib/path-utils.js"(exports2) {
  method "node_modules/@actions/core/lib/core.js" (line 18769) | "node_modules/@actions/core/lib/core.js"(exports2) {
  method "node_modules/@actions/io/lib/io-util.js" (line 18993) | "node_modules/@actions/io/lib/io-util.js"(exports2) {
  method "node_modules/@actions/io/lib/io.js" (line 19166) | "node_modules/@actions/io/lib/io.js"(exports2) {
  method "node_modules/@actions/exec/lib/toolrunner.js" (line 19414) | "node_modules/@actions/exec/lib/toolrunner.js"(exports2) {
  method "node_modules/@actions/exec/lib/exec.js" (line 19898) | "node_modules/@actions/exec/lib/exec.js"(exports2) {
  method "node_modules/@actions/github/lib/context.js" (line 20005) | "node_modules/@actions/github/lib/context.js"(exports2) {
  method "node_modules/@actions/github/lib/internal/utils.js" (line 20064) | "node_modules/@actions/github/lib/internal/utils.js"(exports2) {
  method "node_modules/universal-user-agent/dist-node/index.js" (line 20160) | "node_modules/universal-user-agent/dist-node/index.js"(exports2) {
  method "node_modules/before-after-hook/lib/register.js" (line 20178) | "node_modules/before-after-hook/lib/register.js"(exports2, module2) {
  method "node_modules/before-after-hook/lib/add.js" (line 20206) | "node_modules/before-after-hook/lib/add.js"(exports2, module2) {
  method "node_modules/before-after-hook/lib/remove.js" (line 20246) | "node_modules/before-after-hook/lib/remove.js"(exports2, module2) {
  method "node_modules/before-after-hook/index.js" (line 20265) | "node_modules/before-after-hook/index.js"(exports2, module2) {
  method "node_modules/@octokit/endpoint/dist-node/index.js" (line 20321) | "node_modules/@octokit/endpoint/dist-node/index.js"(exports2, module2) {
  method "node_modules/deprecation/dist-node/index.js" (line 20667) | "node_modules/deprecation/dist-node/index.js"(exports2) {
  method "node_modules/wrappy/wrappy.js" (line 20685) | "node_modules/wrappy/wrappy.js"(exports2, module2) {
  method "node_modules/once/once.js" (line 20715) | "node_modules/once/once.js"(exports2, module2) {
  method "node_modules/@octokit/request-error/dist-node/index.js" (line 20759) | "node_modules/@octokit/request-error/dist-node/index.js"(exports2, modul...
  method "node_modules/@octokit/request/dist-node/index.js" (line 20851) | "node_modules/@octokit/request/dist-node/index.js"(exports2, module2) {
  method "node_modules/@octokit/graphql/dist-node/index.js" (line 21061) | "node_modules/@octokit/graphql/dist-node/index.js"(exports2, module2) {
  method "node_modules/@octokit/auth-token/dist-node/index.js" (line 21198) | "node_modules/@octokit/auth-token/dist-node/index.js"(exports2, module2) {
  method "node_modules/@octokit/core/dist-node/index.js" (line 21269) | "node_modules/@octokit/core/dist-node/index.js"(exports2, module2) {
  method "node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js" (line 21428) | "node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js"(...
  method "node_modules/@octokit/plugin-paginate-rest/dist-node/index.js" (line 23584) | "node_modules/@octokit/plugin-paginate-rest/dist-node/index.js"(exports2...
  method "node_modules/@actions/github/lib/utils.js" (line 23963) | "node_modules/@actions/github/lib/utils.js"(exports2) {
  method "node_modules/@actions/github/lib/github.js" (line 24023) | "node_modules/@actions/github/lib/github.js"(exports2) {
  method "node_modules/sisteransi/src/index.js" (line 24067) | "node_modules/sisteransi/src/index.js"(exports2, module2) {
  method "node_modules/picocolors/picocolors.js" (line 24123) | "node_modules/picocolors/picocolors.js"(exports2, module2) {
  function q (line 24194) | function q({ onlyFirst: t2 = false } = {}) {
  function S (line 24198) | function S(t2) {
  function j (line 24202) | function j(t2) {
  function A (line 24205) | function A(t2, u3 = {}) {
  function tD (line 24227) | function tD() {
  function R (line 24256) | function R(t2, u3, F3) {
  function aD (line 24262) | function aD(t2, u3) {
  function hD (line 24270) | function hD(t2) {
  function v (line 24273) | function v(t2, u3) {
  function WD (line 24276) | function WD({ input: t2 = import_node_process.stdin, output: u3 = import...
  method "node_modules/@clack/core/dist/index.mjs" (line 24294) | "node_modules/@clack/core/dist/index.mjs"() {
  function N2 (line 24698) | function N2() {
  function ue (line 24701) | function ue() {
  method "node_modules/@clack/prompts/dist/index.mjs" (line 24707) | "node_modules/@clack/prompts/dist/index.mjs"() {
  method "node_modules/dotenv/package.json" (line 25032) | "node_modules/dotenv/package.json"(exports2, module2) {
  method "node_modules/dotenv/lib/main.js" (line 25103) | "node_modules/dotenv/lib/main.js"(exports2, module2) {
  method "node_modules/ini/lib/ini.js" (line 25370) | "node_modules/ini/lib/ini.js"(exports2, module2) {
  method "node_modules/webidl-conversions/lib/index.js" (line 25549) | "node_modules/webidl-conversions/lib/index.js"(exports2) {
  method "node_modules/whatwg-url/lib/utils.js" (line 25895) | "node_modules/whatwg-url/lib/utils.js"(exports2, module2) {
  method "node_modules/punycode/punycode.js" (line 26060) | "node_modules/punycode/punycode.js"(exports2, module2) {
  method "node_modules/tr46/lib/regexes.js" (line 26299) | "node_modules/tr46/lib/regexes.js"(exports2, module2) {
  method "node_modules/tr46/lib/mappingTable.json" (line 26332) | "node_modules/tr46/lib/mappingTable.json"(exports2, module2) {
  method "node_modules/tr46/lib/statusMapping.js" (line 26339) | "node_modules/tr46/lib/statusMapping.js"(exports2, module2) {
  method "node_modules/tr46/index.js" (line 26353) | "node_modules/tr46/index.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/infra.js" (line 26631) | "node_modules/whatwg-url/lib/infra.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/encoding.js" (line 26656) | "node_modules/whatwg-url/lib/encoding.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/percent-encoding.js" (line 26675) | "node_modules/whatwg-url/lib/percent-encoding.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/url-state-machine.js" (line 26784) | "node_modules/whatwg-url/lib/url-state-machine.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/urlencoded.js" (line 27835) | "node_modules/whatwg-url/lib/urlencoded.js"(exports2, module2) {
  method "node_modules/whatwg-url/lib/Function.js" (line 27912) | "node_modules/whatwg-url/lib/Function.js"(exports2) {
  method "node_modules/whatwg-url/lib/URLSearchParams-impl.js" (line 27947) | "node_modules/whatwg-url/lib/URLSearchParams-impl.js"(exports2) {
  method "node_modules/whatwg-url/lib/URLSearchParams.js" (line 28071) | "node_modules/whatwg-url/lib/URLSearchParams.js"(exports2) {
  method "node_modules/whatwg-url/lib/URL-impl.js" (line 28522) | "node_modules/whatwg-url/lib/URL-impl.js"(exports2) {
  method "node_modules/whatwg-url/lib/URL.js" (line 28709) | "node_modules/whatwg-url/lib/URL.js"(exports2) {
  method "node_modules/whatwg-url/webidl2js-wrapper.js" (line 29111) | "node_modules/whatwg-url/webidl2js-wrapper.js"(exports2) {
  method "node_modules/whatwg-url/index.js" (line 29122) | "node_modules/whatwg-url/index.js"(exports2) {
  method "node_modules/node-fetch/lib/index.js" (line 29150) | "node_modules/node-fetch/lib/index.js"(exports2, module2) {
  function t (line 30388) | function t() {
  function r2 (line 30390) | function r2(e3) {
  function n (line 30393) | function n(e3, t2) {
  function u2 (line 30399) | function u2(e3) {
  function c2 (line 30402) | function c2(e3) {
  function d4 (line 30405) | function d4(e3) {
  function f3 (line 30408) | function f3(e3, t2, r3) {
  function b3 (line 30411) | function b3(e3, t2, r3) {
  function h3 (line 30414) | function h3(e3, t2) {
  function _3 (line 30417) | function _3(e3, t2) {
  function p2 (line 30420) | function p2(e3, t2, r3) {
  function m3 (line 30423) | function m3(e3) {
  function g3 (line 30426) | function g3(e3, t2, r3) {
  function w3 (line 30430) | function w3(e3, t2, r3) {
  function E2 (line 30437) | function E2(e3, t2) {
  function P2 (line 30442) | function P2(e3, t2) {
  function W3 (line 30445) | function W3(e3) {
  function k3 (line 30451) | function k3(e3) {
  function O3 (line 30454) | function O3(e3) {
  function B (line 30459) | function B(e3, t2) {
  function A3 (line 30462) | function A3(e3, t2) {
  function j3 (line 30465) | function j3(e3) {
  function F2 (line 30468) | function F2(e3, t2) {
  function I2 (line 30472) | function I2(e3, t2) {
  function D3 (line 30475) | function D3(e3, t2) {
  function $3 (line 30480) | function $3(e3, t2, r3) {
  function M3 (line 30483) | function M3(e3, t2, r3) {
  function Y4 (line 30486) | function Y4(e3) {
  function Q3 (line 30489) | function Q3(e3) {
  function N4 (line 30492) | function N4(e3, t2) {
  function H3 (line 30501) | function H3(e3) {
  function x2 (line 30510) | function x2(e3) {
  function V3 (line 30519) | function V3(e3, t2) {
  function U5 (line 30522) | function U5(e3, t2) {
  function G4 (line 30525) | function G4(e3, t2, r3) {
  function X3 (line 30529) | function X3(e3) {
  function J4 (line 30532) | function J4(e3) {
  function K3 (line 30536) | function K3(e3) {
  function Z3 (line 30539) | function Z3(e3, t2) {
  function ee2 (line 30545) | function ee2(e3) {
  function oe (line 30548) | function oe(e3) {
  function ne2 (line 30557) | function ne2(e3) {
  function ie2 (line 30560) | function ie2(e3, t2, r3, o3, n2) {
  function le2 (line 30563) | function le2(e3) {
  function se2 (line 30571) | function se2(e3) {
  function ue2 (line 30575) | function ue2(e3, t2, r3) {
  function ce2 (line 30580) | function ce2(e3) {
  function de (line 30583) | function de(e3) {
  function fe (line 30586) | function fe(e3) {
  function be (line 30589) | function be(e3) {
  function he (line 30605) | function he(e3) {
  function _e (line 30608) | function _e(e3, t2) {
  function pe (line 30617) | function pe(e3) {
  function me (line 30621) | function me(e3, t2, r3, o3) {
  function ye (line 30624) | function ye(e3, t2, r3, o3) {
  function ge (line 30633) | function ge(e3, t2) {
  function we (line 30636) | function we(e3, t2) {
  function Se (line 30647) | function Se(e3, t2, r3) {
  function ve (line 30650) | function ve(e3) {
  function Re (line 30653) | function Re(e3) {
  function Te (line 30656) | function Te(e3) {
  function qe (line 30663) | function qe(e3, t2) {
  function Ce (line 30682) | function Ce(e3) {
  function Ee (line 30685) | function Ee(e3) {
  function Pe (line 30688) | function Pe(e3, t2) {
  function We (line 30692) | function We(e3, t2) {
  function ke (line 30698) | function ke(e3) {
  function Oe (line 30702) | function Oe(e3, t2, r3) {
  function Be (line 30713) | function Be(e3) {
  function Ae (line 30716) | function Ae(e3) {
  function je (line 30719) | function je(e3, t2) {
  function ze (line 30722) | function ze(e3) {
  function Le (line 30725) | function Le(e3) {
  function Fe (line 30729) | function Fe(e3) {
  function Ie (line 30732) | function Ie(e3, t2) {
  function De (line 30738) | function De(e3) {
  function $e2 (line 30741) | function $e2(e3, t2) {
  function Me (line 30747) | function Me(e3) {
  function Ye (line 30751) | function Ye(e3, t2) {
  function Qe (line 30756) | function Qe(e3, t2) {
  function Ne (line 30759) | function Ne(e3, t2, r3) {
  function He (line 30762) | function He(e3, t2, r3) {
  function xe (line 30765) | function xe(e3, t2, r3) {
  function Ve (line 30768) | function Ve(e3, t2, r3) {
  function Ge (line 30771) | function Ge(e3) {
  function Xe (line 30774) | function Xe(e3) {
  function Je (line 30777) | function Je(e3, t2) {
  function Ke (line 30791) | function Ke(e3) {
  function Ze (line 30801) | function Ze(e3, t2) {
  function et (line 30804) | function et(e3, t2) {
  function tt (line 30813) | function tt(e3) {
  function rt (line 30823) | function rt(e3) {
  function ot (line 30826) | function ot(e3) {
  function nt (line 30831) | function nt(e3, t2) {
  function at (line 30837) | function at(e3) {
  function it (line 30840) | function it(e3, t2) {
  function st (line 30845) | function st(e3) {
  function ut (line 30848) | function ut(e3) {
  function ct (line 30851) | function ct(e3) {
  function dt (line 30854) | function dt(e3) {
  function ft (line 30894) | function ft(e3, t2) {
  function bt (line 30897) | function bt(e3) {
  function ht (line 30900) | function ht(e3, t2) {
  function _t (line 30904) | function _t(e3) {
  function pt (line 30907) | function pt(e3) {
  function mt (line 30910) | function mt(e3) {
  function yt (line 30913) | function yt(e3) {
  function gt (line 30916) | function gt(e3) {
  function wt (line 30921) | function wt(e3, t2) {
  function St (line 30924) | function St(e3, t2) {
  function vt (line 30927) | function vt(e3) {
  function Rt (line 30930) | function Rt(e3) {
  function Tt (line 30935) | function Tt(e3, t2) {
  function qt (line 30938) | function qt(e3) {
  function Ct (line 30941) | function Ct(e3, t2) {
  function Et (line 30944) | function Et(e3) {
  function kt (line 30947) | function kt(e3, t2, r3, o3, n2, a4) {
  function Ot (line 31015) | function Ot(e3, t2) {
  function Bt (line 31137) | function Bt(e3) {
  function At (line 31140) | function At(e3) {
  function jt (line 31154) | function jt(e3) {
  function zt (line 31157) | function zt(e3, t2) {
  function Lt (line 31161) | function Lt(e3) {
  function Ft (line 31165) | function Ft(e3) {
  function It (line 31168) | function It(e3, t2, r3, o3) {
  function Dt (line 31176) | function Dt(e3) {
  function $t (line 31179) | function $t(e3, t2, r3) {
  function Mt (line 31182) | function Mt(e3, t2, r3) {
  function Yt (line 31185) | function Yt(e3, t2, r3) {
  function Qt (line 31188) | function Qt(e3, t2) {
  function Nt (line 31192) | function Nt(e3, t2) {
  function Ht (line 31196) | function Ht(e3, t2) {
  function xt (line 31210) | function xt(e3, t2) {
  function Vt (line 31221) | function Vt(e3) {
  function Ut (line 31224) | function Ut(e3) {
  function Gt (line 31227) | function Gt(e3, r3) {
  function Xt (line 31240) | function Xt(e3) {
  function Jt (line 31250) | function Jt(e3, t2) {
  function Kt (line 31255) | function Kt(e3) {
  function Zt (line 31258) | function Zt(e3, t2) {
  function tr (line 31263) | function tr(e3) {
  function rr (line 31266) | function rr(e3) {
  function nr (line 31269) | function nr(e3) {
  function ar (line 31272) | function ar(e3) {
  function ir (line 31275) | function ir(e3, t2, r3) {
  function lr (line 31278) | function lr(e3, t2, r3) {
  function sr (line 31281) | function sr(e3, t2, r3) {
  function ur (line 31284) | function ur(e3) {
  function cr (line 31287) | function cr(e3, t2) {
  function dr (line 31290) | function dr(e3, t2) {
  function fr (line 31296) | function fr(e3, t2) {
  function br (line 31301) | function br(e3) {
  function hr (line 31304) | function hr(e3) {
  function _r (line 31307) | function _r(e3, t2) {
  function pr (line 31332) | function pr(e3, t2) {
  function mr (line 31337) | function mr(e3) {
  function yr (line 31340) | function yr(e3) {
  function gr (line 31343) | function gr(e3) {
  function wr (line 31346) | function wr(e3) {
  function Sr (line 31349) | function Sr(e3, t2) {
  function vr (line 31352) | function vr(e3) {
  function Rr (line 31355) | function Rr(e3, t2) {
  function Tr (line 31358) | function Tr(e3, t2) {
  function qr (line 31363) | function qr(e3) {
  function Cr (line 31366) | function Cr(e3) {
  method "node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyfill.mjs" (line 31371) | "node_modules/formdata-node/node_modules/web-streams-polyfill/dist/ponyf...
  method "node_modules/formdata-node/lib/esm/isFunction.js" (line 32201) | "node_modules/formdata-node/lib/esm/isFunction.js"() {
  method "node_modules/formdata-node/lib/esm/blobHelpers.js" (line 32272) | "node_modules/formdata-node/lib/esm/blobHelpers.js"() {
  method "node_modules/formdata-node/lib/esm/Blob.js" (line 32281) | "node_modules/formdata-node/lib/esm/Blob.js"() {
  method "node_modules/formdata-node/lib/esm/File.js" (line 32394) | "node_modules/formdata-node/lib/esm/File.js"() {
  method "node_modules/formdata-node/lib/esm/isFile.js" (line 32443) | "node_modules/formdata-node/lib/esm/isFile.js"() {
  method "node_modules/ms/index.js" (line 32451) | "node_modules/ms/index.js"(exports2, module2) {
  method "node_modules/humanize-ms/index.js" (line 32567) | "node_modules/humanize-ms/index.js"(exports2, module2) {
  method "node_modules/agentkeepalive/lib/constants.js" (line 32585) | "node_modules/agentkeepalive/lib/constants.js"(exports2, module2) {
  method "node_modules/agentkeepalive/lib/agent.js" (line 32604) | "node_modules/agentkeepalive/lib/agent.js"(exports2, module2) {
  method "node_modules/agentkeepalive/lib/https_agent.js" (line 32931) | "node_modules/agentkeepalive/lib/https_agent.js"(exports2, module2) {
  method "node_modules/agentkeepalive/index.js" (line 32977) | "node_modules/agentkeepalive/index.js"(exports2, module2) {
  method "node_modules/event-target-shim/dist/event-target-shim.js" (line 32987) | "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, mod...
  method "node_modules/abort-controller/dist/abort-controller.js" (line 33559) | "node_modules/abort-controller/dist/abort-controller.js"(exports2, modul...
  method "node_modules/web-streams-polyfill/dist/ponyfill.es2018.js" (line 33655) | "node_modules/web-streams-polyfill/dist/ponyfill.es2018.js"(exports2, mo...
  method "node_modules/node-domexception/index.js" (line 37930) | "node_modules/node-domexception/index.js"(exports2, module2) {
  function isPlainObject2 (line 37944) | function isPlainObject2(value) {
  method "node_modules/formdata-node/lib/esm/isPlainObject.js" (line 37957) | "node_modules/formdata-node/lib/esm/isPlainObject.js"() {
  function createFileFromPath (line 37970) | function createFileFromPath(path2, { mtimeMs, size }, filenameOrOptions,...
  function fileFromPathSync (line 37986) | function fileFromPathSync(path2, filenameOrOptions, options = {}) {
  function fileFromPath2 (line 37990) | async function fileFromPath2(path2, filenameOrOptions, options) {
  method "node_modules/formdata-node/lib/esm/fileFromPath.js" (line 37996) | "node_modules/formdata-node/lib/esm/fileFromPath.js"() {
  method "node_modules/delayed-stream/lib/delayed_stream.js" (line 38054) | "node_modules/delayed-stream/lib/delayed_stream.js"(exports2, module2) {
  method "node_modules/combined-stream/lib/combined_stream.js" (line 38145) | "node_modules/combined-stream/lib/combined_stream.js"(exports2, module2) {
  method "node_modules/mime-db/db.json" (line 38314) | "node_modules/mime-db/db.json"(exports2, module2) {
  method "node_modules/mime-db/index.js" (line 46839) | "node_modules/mime-db/index.js"(exports2, module2) {
  method "node_modules/mime-types/index.js" (line 46846) | "node_modules/mime-types/index.js"(exports2) {
  method "node_modules/asynckit/lib/defer.js" (line 46936) | "node_modules/asynckit/lib/defer.js"(exports2, module2) {
  method "node_modules/asynckit/lib/async.js" (line 46951) | "node_modules/asynckit/lib/async.js"(exports2, module2) {
  method "node_modules/asynckit/lib/abort.js" (line 46974) | "node_modules/asynckit/lib/abort.js"(exports2, module2) {
  method "node_modules/asynckit/lib/iterate.js" (line 46990) | "node_modules/asynckit/lib/iterate.js"(exports2, module2) {
  method "node_modules/asynckit/lib/state.js" (line 47023) | "node_modules/asynckit/lib/state.js"(exports2, module2) {
  method "node_modules/asynckit/lib/terminator.js" (line 47045) | "node_modules/asynckit/lib/terminator.js"(exports2, module2) {
  method "node_modules/asynckit/parallel.js" (line 47062) | "node_modules/asynckit/parallel.js"(exports2, module2) {
  method "node_modules/asynckit/serialOrdered.js" (line 47089) | "node_modules/asynckit/serialOrdered.js"(exports2, module2) {
  method "node_modules/asynckit/serial.js" (line 47123) | "node_modules/asynckit/serial.js"(exports2, module2) {
  method "node_modules/asynckit/index.js" (line 47134) | "node_modules/asynckit/index.js"(exports2, module2) {
  method "node_modules/form-data/lib/populate.js" (line 47145) | "node_modules/form-data/lib/populate.js"(exports2, module2) {
  method "node_modules/form-data/lib/form_data.js" (line 47157) | "node_modules/form-data/lib/form_data.js"(exports2, module2) {
  method "node_modules/proxy-from-env/index.js" (line 47471) | "node_modules/proxy-from-env/index.js"(exports2) {
  method "node_modules/debug/src/common.js" (line 47541) | "node_modules/debug/src/common.js"(exports2, module2) {
  method "node_modules/debug/src/browser.js" (line 47704) | "node_modules/debug/src/browser.js"(exports2, module2) {
  method "node_modules/has-flag/index.js" (line 47873) | "node_modules/has-flag/index.js"(exports2, module2) {
  method "node_modules/supports-color/index.js" (line 47886) | "node_modules/supports-color/index.js"(exports2, module2) {
  method "node_modules/debug/src/node.js" (line 47988) | "node_modules/debug/src/node.js"(exports2, module2) {
  method "node_modules/debug/src/index.js" (line 48162) | "node_modules/debug/src/index.js"(exports2, module2) {
  method "node_modules/follow-redirects/debug.js" (line 48173) | "node_modules/follow-redirects/debug.js"(exports2, module2) {
  method "node_modules/follow-redirects/index.js" (line 48193) | "node_modules/follow-redirects/index.js"(exports2, module2) {
  method "node_modules/@dqbd/tiktoken/lite/tiktoken_bg.cjs" (line 48679) | "node_modules/@dqbd/tiktoken/lite/tiktoken_bg.cjs"(exports2, module2) {
  method "node_modules/@dqbd/tiktoken/lite/tiktoken.cjs" (line 49020) | "node_modules/@dqbd/tiktoken/lite/tiktoken.cjs"(exports2) {
  method "node_modules/agent-base/dist/helpers.js" (line 49060) | "node_modules/agent-base/dist/helpers.js"(exports2) {
  method "node_modules/agent-base/dist/index.js" (line 49130) | "node_modules/agent-base/dist/index.js"(exports2) {
  method "node_modules/https-proxy-agent/dist/parse-proxy-response.js" (line 49282) | "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
  method "node_modules/https-proxy-agent/dist/index.js" (line 49378) | "node_modules/https-proxy-agent/dist/index.js"(exports2) {
  method "node_modules/http-proxy-agent/dist/index.js" (line 49525) | "node_modules/http-proxy-agent/dist/index.js"(exports2) {
  method "node_modules/@azure/core-tracing/dist/commonjs/state.js" (line 49655) | "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports2) {
  method "node_modules/es-errors/index.js" (line 49667) | "node_modules/es-errors/index.js"(exports2, module2) {
  method "node_modules/es-errors/eval.js" (line 49675) | "node_modules/es-errors/eval.js"(exports2, module2) {
  method "node_modules/es-errors/range.js" (line 49683) | "node_modules/es-errors/range.js"(exports2, module2) {
  method "node_modules/es-errors/ref.js" (line 49691) | "node_modules/es-errors/ref.js"(exports2, module2) {
  method "node_modules/es-errors/syntax.js" (line 49699) | "node_modules/es-errors/syntax.js"(exports2, module2) {
  method "node_modules/es-errors/type.js" (line 49707) | "node_modules/es-errors/type.js"(exports2, module2) {
  method "node_modules/es-errors/uri.js" (line 49715) | "node_modules/es-errors/uri.js"(exports2, module2) {
  method "node_modules/has-symbols/shams.js" (line 49723) | "node_modules/has-symbols/shams.js"(exports2, module2) {
  method "node_modules/has-symbols/index.js" (line 49775) | "node_modules/has-symbols/index.js"(exports2, module2) {
  method "node_modules/has-proto/index.js" (line 49799) | "node_modules/has-proto/index.js"(exports2, module2) {
  method "node_modules/function-bind/implementation.js" (line 49814) | "node_modules/function-bind/implementation.js"(exports2, module2) {
  method "node_modules/function-bind/index.js" (line 49890) | "node_modules/function-bind/index.js"(exports2, module2) {
  method "node_modules/hasown/index.js" (line 49899) | "node_modules/hasown/index.js"(exports2, module2) {
  method "node_modules/get-intrinsic/index.js" (line 49910) | "node_modules/get-intrinsic/index.js"(exports2, module2) {
  method "node_modules/es-define-property/index.js" (line 50224) | "node_modules/es-define-property/index.js"(exports2, module2) {
  method "node_modules/gopd/index.js" (line 50241) | "node_modules/gopd/index.js"(exports2, module2) {
  method "node_modules/define-data-property/index.js" (line 50258) | "node_modules/define-data-property/index.js"(exports2, module2) {
  method "node_modules/has-property-descriptors/index.js" (line 50306) | "node_modules/has-property-descriptors/index.js"(exports2, module2) {
  method "node_modules/set-function-length/index.js" (line 50328) | "node_modules/set-function-length/index.js"(exports2, module2) {
  method "node_modules/call-bind/index.js" (line 50381) | "node_modules/call-bind/index.js"(exports2, module2) {
  method "node_modules/call-bind/callBound.js" (line 50416) | "node_modules/call-bind/callBound.js"(exports2, module2) {
  method "node_modules/object-inspect/util.inspect.js" (line 50433) | "node_modules/object-inspect/util.inspect.js"(exports2, module2) {
  method "node_modules/object-inspect/index.js" (line 50440) | "node_modules/object-inspect/index.js"(exports2, module2) {
  method "node_modules/side-channel/index.js" (line 50955) | "node_modules/side-channel/index.js"(exports2, module2) {
  method "node_modules/qs/lib/formats.js" (line 51070) | "node_modules/qs/lib/formats.js"(exports2, module2) {
  method "node_modules/qs/lib/utils.js" (line 51096) | "node_modules/qs/lib/utils.js"(exports2, module2) {
  method "node_modules/qs/lib/stringify.js" (line 51301) | "node_modules/qs/lib/stringify.js"(exports2, module2) {
  method "node_modules/qs/lib/parse.js" (line 51581) | "node_modules/qs/lib/parse.js"(exports2, module2) {
  method "node_modules/qs/lib/index.js" (line 51808) | "node_modules/qs/lib/index.js"(exports2, module2) {
  method "node_modules/@mistralai/mistralai/lib/url.js" (line 51823) | "node_modules/@mistralai/mistralai/lib/url.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/config.js" (line 51848) | "node_modules/@mistralai/mistralai/lib/config.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/files.js" (line 51881) | "node_modules/@mistralai/mistralai/lib/files.js"(exports2) {
  method "node_modules/@mistralai/mistralai/hooks/custom_user_agent.js" (line 51912) | "node_modules/@mistralai/mistralai/hooks/custom_user_agent.js"(exports2) {
  method "node_modules/@mistralai/mistralai/hooks/deprecation_warning.js" (line 51934) | "node_modules/@mistralai/mistralai/hooks/deprecation_warning.js"(exports...
  method "node_modules/@mistralai/mistralai/hooks/registration.js" (line 51956) | "node_modules/@mistralai/mistralai/hooks/registration.js"(exports2) {
  method "node_modules/@mistralai/mistralai/hooks/hooks.js" (line 51973) | "node_modules/@mistralai/mistralai/hooks/hooks.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/errors/httpclienterrors.js" (line 52043) | "node_modules/@mistralai/mistralai/models/errors/httpclienterrors.js"(ex...
  method "node_modules/@mistralai/mistralai/types/fp.js" (line 52101) | "node_modules/@mistralai/mistralai/types/fp.js"(exports2) {
  method "node_modules/zod/lib/helpers/util.js" (line 52132) | "node_modules/zod/lib/helpers/util.js"(exports2) {
  method "node_modules/zod/lib/ZodError.js" (line 52273) | "node_modules/zod/lib/ZodError.js"(exports2) {
  method "node_modules/zod/lib/locales/en.js" (line 52400) | "node_modules/zod/lib/locales/en.js"(exports2) {
  method "node_modules/zod/lib/errors.js" (line 52509) | "node_modules/zod/lib/errors.js"(exports2) {
  method "node_modules/zod/lib/helpers/parseUtil.js" (line 52532) | "node_modules/zod/lib/helpers/parseUtil.js"(exports2) {
  method "node_modules/zod/lib/helpers/typeAliases.js" (line 52660) | "node_modules/zod/lib/helpers/typeAliases.js"(exports2) {
  method "node_modules/zod/lib/helpers/errorUtil.js" (line 52668) | "node_modules/zod/lib/helpers/errorUtil.js"(exports2) {
  method "node_modules/zod/lib/types.js" (line 52682) | "node_modules/zod/lib/types.js"(exports2) {
  method "node_modules/zod/lib/external.js" (line 56113) | "node_modules/zod/lib/external.js"(exports2) {
  method "node_modules/zod/lib/index.js" (line 56139) | "node_modules/zod/lib/index.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/base64.js" (line 56178) | "node_modules/@mistralai/mistralai/lib/base64.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/is-plain-object.js" (line 56241) | "node_modules/@mistralai/mistralai/lib/is-plain-object.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/encodings.js" (line 56257) | "node_modules/@mistralai/mistralai/lib/encodings.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/dlv.js" (line 56565) | "node_modules/@mistralai/mistralai/lib/dlv.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/env.js" (line 56582) | "node_modules/@mistralai/mistralai/lib/env.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/http.js" (line 56638) | "node_modules/@mistralai/mistralai/lib/http.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/retries.js" (line 56817) | "node_modules/@mistralai/mistralai/lib/retries.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/sdks.js" (line 56958) | "node_modules/@mistralai/mistralai/lib/sdks.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/errors/sdkerror.js" (line 57226) | "node_modules/@mistralai/mistralai/models/errors/sdkerror.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/event-streams.js" (line 57250) | "node_modules/@mistralai/mistralai/lib/event-streams.js"(exports2) {
  method "node_modules/@mistralai/mistralai/models/errors/sdkvalidationerror.js" (line 57458) | "node_modules/@mistralai/mistralai/models/errors/sdkvalidationerror.js"(...
  method "node_modules/@mistralai/mistralai/lib/schemas.js" (line 57570) | "node_modules/@mistralai/mistralai/lib/schemas.js"(exports2) {
  method "node_modules/@mistralai/mistralai/lib/matchers.js" (line 57619) | "node_modules/@mistralai/
Condensed preview — 116 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (9,527K chars).
[
  {
    "path": ".dockerignore",
    "chars": 5,
    "preview": ".env\n"
  },
  {
    "path": ".eslintrc.json",
    "chars": 865,
    "preview": "{\n  \"extends\": [\n    \"eslint:recommended\",\n    \"plugin:@typescript-eslint/recommended\",\n    \"plugin:prettier/recommended"
  },
  {
    "path": ".github/CONTRIBUTING.md",
    "chars": 1504,
    "preview": "# Contribution Guidelines\n\nThanks for considering contributing to the project.\n\n## How to contribute\n\n1. Fork the projec"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug.yaml",
    "chars": 2544,
    "preview": "name: 🐞 Bug Report\ndescription: File a bug report\ntitle: \"[Bug]: \"\nlabels: [\"bug\", \"triage\"]\nassignees:\n  - octocat\nbody"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/featureRequest.yaml",
    "chars": 1513,
    "preview": "---\nname: 🛠️ Feature Request\ndescription: Suggest an idea to help us improve Opencommit\ntitle: \"[Feature]: \"\nlabels:\n  -"
  },
  {
    "path": ".github/TODO.md",
    "chars": 511,
    "preview": "# TODOs\n\n- [x] set prepare-commit-msg hook\n- [] show \"new version available\" message, look into this commit e146d4d cli."
  },
  {
    "path": ".github/workflows/codeql.yml",
    "chars": 2947,
    "preview": "# For most projects, this workflow file will not need changing; you simply need\n# to commit it to your repository.\n#\n# Y"
  },
  {
    "path": ".github/workflows/dependency-review.yml",
    "chars": 885,
    "preview": "# Dependency Review Action\n#\n# This Action will scan dependency manifest files that change as part of a Pull Request, su"
  },
  {
    "path": ".github/workflows/test.yml",
    "chars": 1714,
    "preview": "name: Testing\n\non:\n  pull_request:\n  push:\n    branches:\n      - master\n      - main\n\njobs:\n  unit-test:\n    runs-on: ub"
  },
  {
    "path": ".gitignore",
    "chars": 153,
    "preview": "node_modules/\ncoverage/\ntemp/\nbuild/\napplication.log\n.DS_Store\n/*.env\nlogfile.log\nuncaughtExceptions.log\n.vscode\nsrc/*.j"
  },
  {
    "path": ".npmignore",
    "chars": 21,
    "preview": "out/github-action.cjs"
  },
  {
    "path": ".opencommitignore",
    "chars": 3,
    "preview": "out"
  },
  {
    "path": ".prettierignore",
    "chars": 17,
    "preview": "/build\n/dist\n/out"
  },
  {
    "path": ".prettierrc",
    "chars": 53,
    "preview": "{\n  \"trailingComma\": \"none\",\n  \"singleQuote\": true\n}\n"
  },
  {
    "path": "LICENSE",
    "chars": 1097,
    "preview": "MIT License\n\nCopyright (c) Dima Sukharev, https://github.com/di-sukharev\n\nPermission is hereby granted, free of charge, "
  },
  {
    "path": "README.md",
    "chars": 16597,
    "preview": "<div align=\"center\">\n  <div>\n    <img src=\".github/logo-grad.svg\" alt=\"OpenCommit logo\"/>\n    <h1 align=\"center\">OpenCom"
  },
  {
    "path": "action.yml",
    "chars": 605,
    "preview": "name: 'OpenCommit — improve commits with AI 🧙'\ndescription: 'Replaces lame commit messages with meaningful AI-generated "
  },
  {
    "path": "esbuild.config.js",
    "chars": 487,
    "preview": "import { build } from 'esbuild';\nimport fs from 'fs';\n\nawait build({\n  entryPoints: ['./src/cli.ts'],\n  bundle: true,\n  "
  },
  {
    "path": "jest.config.ts",
    "chars": 1052,
    "preview": "/**\n * For a detailed explanation regarding each configuration property, visit:\n * https://jestjs.io/docs/configuration\n"
  },
  {
    "path": "out/cli.cjs",
    "chars": 4029287,
    "preview": "#!/usr/bin/env node\n\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropD"
  },
  {
    "path": "out/github-action.cjs",
    "chars": 4894207,
    "preview": "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnP"
  },
  {
    "path": "package.json",
    "chars": 3588,
    "preview": "{\n  \"name\": \"opencommit\",\n  \"version\": \"3.2.14\",\n  \"description\": \"Auto-generate impressive commits in 1 second. Killing"
  },
  {
    "path": "src/CommandsEnum.ts",
    "chars": 91,
    "preview": "export enum COMMANDS {\n  config = 'config',\n  hook = 'hook',\n  commitlint = 'commitlint'\n}\n"
  },
  {
    "path": "src/cli.ts",
    "chars": 2101,
    "preview": "#!/usr/bin/env node\n\nimport { cli } from 'cleye';\n\nimport packageJSON from '../package.json';\nimport { commit } from './"
  },
  {
    "path": "src/commands/ENUMS.ts",
    "chars": 131,
    "preview": "export enum COMMANDS {\n  config = 'config',\n  hook = 'hook',\n  commitlint = 'commitlint',\n  setup = 'setup',\n  models = "
  },
  {
    "path": "src/commands/README.md",
    "chars": 407,
    "preview": "# @commitlint Module for opencommit\n\n1. Load commitlint configuration within tree.\n2. Generate a commit with commitlint "
  },
  {
    "path": "src/commands/commit.ts",
    "chars": 8342,
    "preview": "import {\n  text,\n  confirm,\n  intro,\n  isCancel,\n  multiselect,\n  outro,\n  select,\n  spinner\n} from '@clack/prompts';\nim"
  },
  {
    "path": "src/commands/commitlint.ts",
    "chars": 1094,
    "preview": "import { intro, outro } from '@clack/prompts';\nimport chalk from 'chalk';\nimport { command } from 'cleye';\nimport { conf"
  },
  {
    "path": "src/commands/config.ts",
    "chars": 40627,
    "preview": "import { intro, outro } from '@clack/prompts';\nimport chalk from 'chalk';\nimport { command } from 'cleye';\nimport * as d"
  },
  {
    "path": "src/commands/githook.ts",
    "chars": 2964,
    "preview": "import { intro, outro } from '@clack/prompts';\nimport chalk from 'chalk';\nimport { command } from 'cleye';\nimport { exis"
  },
  {
    "path": "src/commands/models.ts",
    "chars": 3988,
    "preview": "import { intro, outro, spinner } from '@clack/prompts';\nimport chalk from 'chalk';\nimport { command } from 'cleye';\nimpo"
  },
  {
    "path": "src/commands/prepare-commit-msg-hook.ts",
    "chars": 2169,
    "preview": "import chalk from 'chalk';\nimport fs from 'fs/promises';\n\nimport { intro, outro, spinner } from '@clack/prompts';\n\nimpor"
  },
  {
    "path": "src/commands/setup.ts",
    "chars": 12699,
    "preview": "import { intro, outro, select, text, isCancel, spinner } from '@clack/prompts';\nimport chalk from 'chalk';\nimport { comm"
  },
  {
    "path": "src/engine/Engine.ts",
    "chars": 898,
    "preview": "import AnthropicClient from '@anthropic-ai/sdk';\nimport { OpenAIClient as AzureOpenAIClient } from '@azure/openai';\nimpo"
  },
  {
    "path": "src/engine/aimlapi.ts",
    "chars": 1222,
    "preview": "import OpenAI from 'openai';\nimport axios, { AxiosInstance } from 'axios';\nimport { normalizeEngineError } from '../util"
  },
  {
    "path": "src/engine/anthropic.ts",
    "chars": 2123,
    "preview": "import AnthropicClient from '@anthropic-ai/sdk';\nimport {\n  MessageCreateParamsNonStreaming,\n  MessageParam\n} from '@ant"
  },
  {
    "path": "src/engine/azure.ts",
    "chars": 1756,
    "preview": "import {\n  AzureKeyCredential,\n  OpenAIClient as AzureOpenAIClient\n} from '@azure/openai';\nimport { OpenAI } from 'opena"
  },
  {
    "path": "src/engine/deepseek.ts",
    "chars": 1737,
    "preview": "import { OpenAI } from 'openai';\nimport { GenerateCommitMessageErrorEnum } from '../generateCommitMessageFromGitDiff';\ni"
  },
  {
    "path": "src/engine/flowise.ts",
    "chars": 1446,
    "preview": "import axios, { AxiosInstance } from 'axios';\nimport { OpenAI } from 'openai';\nimport { normalizeEngineError } from '../"
  },
  {
    "path": "src/engine/gemini.ts",
    "chars": 2313,
    "preview": "import {\n  Content,\n  GoogleGenerativeAI,\n  HarmBlockThreshold,\n  HarmCategory,\n  Part\n} from '@google/generative-ai';\ni"
  },
  {
    "path": "src/engine/groq.ts",
    "chars": 265,
    "preview": "import { OpenAiConfig, OpenAiEngine } from './openAi';\n\ninterface GroqConfig extends OpenAiConfig {}\n\nexport class GroqE"
  },
  {
    "path": "src/engine/mistral.ts",
    "chars": 2300,
    "preview": "import { OpenAI } from 'openai';\nimport { GenerateCommitMessageErrorEnum } from '../generateCommitMessageFromGitDiff';\ni"
  },
  {
    "path": "src/engine/mlx.ts",
    "chars": 1354,
    "preview": "import axios, { AxiosInstance } from 'axios';\nimport { OpenAI } from 'openai';\nimport { normalizeEngineError } from '../"
  },
  {
    "path": "src/engine/ollama.ts",
    "chars": 1442,
    "preview": "import axios, { AxiosInstance } from 'axios';\nimport { OpenAI } from 'openai';\nimport { normalizeEngineError } from '../"
  },
  {
    "path": "src/engine/openAi.ts",
    "chars": 2001,
    "preview": "import { OpenAI } from 'openai';\nimport { GenerateCommitMessageErrorEnum } from '../generateCommitMessageFromGitDiff';\ni"
  },
  {
    "path": "src/engine/openrouter.ts",
    "chars": 1295,
    "preview": "import OpenAI from 'openai';\nimport axios, { AxiosInstance } from 'axios';\nimport { normalizeEngineError } from '../util"
  },
  {
    "path": "src/engine/testAi.ts",
    "chars": 1389,
    "preview": "import { OpenAI } from 'openai';\n\nimport { AiEngine } from './Engine';\n\nexport const TEST_MOCK_TYPES = [\n  'commit-messa"
  },
  {
    "path": "src/generateCommitMessageFromGitDiff.ts",
    "chars": 9508,
    "preview": "import { select, confirm, isCancel } from '@clack/prompts';\nimport chalk from 'chalk';\nimport { OpenAI } from 'openai';\n"
  },
  {
    "path": "src/github-action.ts",
    "chars": 6851,
    "preview": "import core from '@actions/core';\nimport exec from '@actions/exec';\nimport github from '@actions/github';\nimport { intro"
  },
  {
    "path": "src/i18n/cs.json",
    "chars": 609,
    "preview": "{\n  \"localLanguage\": \"česky\",\n  \"commitFix\": \"fix(server.ts): zlepšení velikosti proměnné port na velká písmena PORT\",\n "
  },
  {
    "path": "src/i18n/de.json",
    "chars": 871,
    "preview": "{\n  \"localLanguage\": \"Deutsch\",\n  \"commitFix\": \"fix(server.ts): Ändere die Groß- und Kleinschreibung der Port-Variable v"
  },
  {
    "path": "src/i18n/en.json",
    "chars": 854,
    "preview": "{\n  \"localLanguage\": \"english\",\n  \"commitFix\": \"fix(server.ts): change port variable case from lowercase port to upperca"
  },
  {
    "path": "src/i18n/es_ES.json",
    "chars": 774,
    "preview": "{\n  \"localLanguage\": \"spanish\",\n  \"commitFix\": \"fix(server.ts): cambiar la variable port de minúsculas a mayúsculas PORT"
  },
  {
    "path": "src/i18n/fr.json",
    "chars": 890,
    "preview": "{\n  \"localLanguage\": \"française\",\n  \"commitFix\": \"corriger(server.ts) : changer la casse de la variable de port de minus"
  },
  {
    "path": "src/i18n/id_ID.json",
    "chars": 685,
    "preview": "{\n  \"localLanguage\": \"bahasa\",\n  \"commitFix\": \"fix(server.ts): mengubah huruf port variable dari huruf kecil ke huruf be"
  },
  {
    "path": "src/i18n/index.ts",
    "chars": 2165,
    "preview": "import cs from '../i18n/cs.json';\nimport de from '../i18n/de.json';\nimport en from '../i18n/en.json';\nimport es_ES from "
  },
  {
    "path": "src/i18n/it.json",
    "chars": 842,
    "preview": "{\n  \"localLanguage\": \"italiano\",\n  \"commitFix\": \"fix(server.ts): cambia la grafia della variabile della porta dal minusc"
  },
  {
    "path": "src/i18n/ja.json",
    "chars": 438,
    "preview": "{\n  \"localLanguage\": \"日本語\",\n  \"commitFix\": \"修正(server.ts): ポート変数を小文字のportから大文字のPORTに変更\",\n  \"commitFeat\": \"新機能(server.ts)"
  },
  {
    "path": "src/i18n/ko.json",
    "chars": 455,
    "preview": "{\n  \"localLanguage\": \"한국어\",\n  \"commitFix\": \"fix(server.ts): 포트 변수를 소문자 port에서 대문자 PORT로 변경\",\n  \"commitFeat\": \"feat(serve"
  },
  {
    "path": "src/i18n/nl.json",
    "chars": 782,
    "preview": "{\n  \"localLanguage\": \"Nederlands\",\n  \"commitFix\": \"fix(server.ts): verander poortvariabele van kleine letters poort naar"
  },
  {
    "path": "src/i18n/pl.json",
    "chars": 639,
    "preview": "{\n  \"localLanguage\": \"polski\",\n  \"commitFix\": \"fix(server.ts): poprawa wielkości zmiennej port na pisane z dużymi litera"
  },
  {
    "path": "src/i18n/pt_br.json",
    "chars": 811,
    "preview": "{\n  \"localLanguage\": \"português\",\n  \"commitFix\": \"fix(server.ts): altera o caso da variável de porta de port minúscula p"
  },
  {
    "path": "src/i18n/ru.json",
    "chars": 754,
    "preview": "{\n  \"localLanguage\": \"русский\",\n  \"commitFix\": \"fix(server.ts): изменение регистра переменной порта с нижнего регистра p"
  },
  {
    "path": "src/i18n/sv.json",
    "chars": 760,
    "preview": "{\n  \"localLanguage\": \"svenska\",\n  \"commitFix\": \"fixa(server.ts): ändra variabelnamnet för port från små bokstäver till s"
  },
  {
    "path": "src/i18n/th.json",
    "chars": 707,
    "preview": "{\n  \"localLanguage\": \"ไทย\",\n  \"commitFix\": \"fix(server.ts): เปลี่ยนตัวพิมพ์ของตัวแปร จากตัวพิมพ์เล็ก port เป็นตัวพิมพ์ให"
  },
  {
    "path": "src/i18n/tr.json",
    "chars": 768,
    "preview": "{\n  \"localLanguage\": \"Turkish\",\n  \"commitFix\": \"fix(server.ts): port değişkeni küçük harfli porttan büyük harfli PORT'a "
  },
  {
    "path": "src/i18n/vi_VN.json",
    "chars": 700,
    "preview": "{\n  \"localLanguage\": \"vietnamese\",\n  \"commitFix\": \"fix(server.ts): thay đổi chữ viết thường của biến port thành chữ viết"
  },
  {
    "path": "src/i18n/zh_CN.json",
    "chars": 382,
    "preview": "{\n  \"localLanguage\": \"简体中文\",\n  \"commitFix\": \"fix(server.ts):将端口变量从小写port改为大写PORT\",\n  \"commitFeat\": \"feat(server.ts):添加对p"
  },
  {
    "path": "src/i18n/zh_TW.json",
    "chars": 369,
    "preview": "{\n  \"localLanguage\": \"繁體中文\",\n  \"commitFix\": \"修正(server.ts):將端口變數從小寫端口改為大寫PORT\",\n  \"commitFeat\": \"功能(server.ts):新增對proces"
  },
  {
    "path": "src/migrations/00_use_single_api_key_and_url.ts",
    "chars": 1548,
    "preview": "import {\n  CONFIG_KEYS,\n  getConfig,\n  OCO_AI_PROVIDER_ENUM,\n  setConfig\n} from '../commands/config';\n\nexport default fu"
  },
  {
    "path": "src/migrations/01_remove_obsolete_config_keys_from_global_file.ts",
    "chars": 653,
    "preview": "import { getGlobalConfig, setGlobalConfig } from '../commands/config';\n\nexport default function () {\n  const obsoleteKey"
  },
  {
    "path": "src/migrations/02_set_missing_default_values.ts",
    "chars": 614,
    "preview": "import {\n  ConfigType,\n  DEFAULT_CONFIG,\n  getGlobalConfig,\n  setConfig\n} from '../commands/config';\n\nexport default fun"
  },
  {
    "path": "src/migrations/_migrations.ts",
    "chars": 463,
    "preview": "import migration00 from './00_use_single_api_key_and_url';\nimport migration01 from './01_remove_obsolete_config_keys_fro"
  },
  {
    "path": "src/migrations/_run.ts",
    "chars": 2214,
    "preview": "import fs from 'fs';\nimport { homedir } from 'os';\nimport { join as pathJoin } from 'path';\nimport { migrations } from '"
  },
  {
    "path": "src/modules/commitlint/config.ts",
    "chars": 3130,
    "preview": "import { spinner } from '@clack/prompts';\n\nimport { getConfig } from '../../commands/config';\nimport { i18n, I18nLocals "
  },
  {
    "path": "src/modules/commitlint/constants.ts",
    "chars": 87,
    "preview": "export const COMMITLINT_LLM_CONFIG_PATH = `${process.env.PWD}/.opencommit-commitlint`;\n"
  },
  {
    "path": "src/modules/commitlint/crypto.ts",
    "chars": 352,
    "preview": "import crypto from 'crypto';\n\nexport const computeHash = async (\n  content: string,\n  algorithm: string = 'sha256'\n): Pr"
  },
  {
    "path": "src/modules/commitlint/prompts.ts",
    "chars": 13202,
    "preview": "import chalk from 'chalk';\nimport { OpenAI } from 'openai';\n\nimport { outro } from '@clack/prompts';\nimport {\n  PromptCo"
  },
  {
    "path": "src/modules/commitlint/pwd-commitlint.ts",
    "chars": 2280,
    "preview": "import fs from 'fs/promises';\nimport path from 'path';\n\nconst findModulePath = (moduleName: string) => {\n  const searchP"
  },
  {
    "path": "src/modules/commitlint/types.ts",
    "chars": 239,
    "preview": "import { i18n } from '../../i18n';\n\nexport type ConsistencyPrompt = (typeof i18n)[keyof typeof i18n];\n\nexport type Commi"
  },
  {
    "path": "src/modules/commitlint/utils.ts",
    "chars": 1444,
    "preview": "import fs from 'fs/promises';\n\nimport { COMMITLINT_LLM_CONFIG_PATH } from './constants';\nimport { CommitlintLLMConfig } "
  },
  {
    "path": "src/prompts.ts",
    "chars": 9631,
    "preview": "import { note } from '@clack/prompts';\nimport { OpenAI } from 'openai';\nimport { getConfig } from './commands/config';\ni"
  },
  {
    "path": "src/utils/checkIsLatestVersion.ts",
    "chars": 701,
    "preview": "import chalk from 'chalk';\n\nimport { outro } from '@clack/prompts';\n\nimport currentPackage from '../../package.json';\nim"
  },
  {
    "path": "src/utils/engine.ts",
    "chars": 2834,
    "preview": "import { getConfig, OCO_AI_PROVIDER_ENUM } from '../commands/config';\nimport { AnthropicEngine } from '../engine/anthrop"
  },
  {
    "path": "src/utils/engineErrorHandler.ts",
    "chars": 5509,
    "preview": "import axios from 'axios';\nimport {\n  AuthenticationError,\n  InsufficientCreditsError,\n  ModelNotFoundError,\n  RateLimit"
  },
  {
    "path": "src/utils/errors.ts",
    "chars": 13572,
    "preview": "import chalk from 'chalk';\nimport { MODEL_LIST, OCO_AI_PROVIDER_ENUM } from '../commands/config';\n\n// Provider billing/h"
  },
  {
    "path": "src/utils/git.ts",
    "chars": 3219,
    "preview": "import { execa } from 'execa';\nimport { readFileSync } from 'fs';\nimport ignore, { Ignore } from 'ignore';\nimport { join"
  },
  {
    "path": "src/utils/mergeDiffs.ts",
    "chars": 457,
    "preview": "import { tokenCount } from './tokenCount';\n\nexport function mergeDiffs(arr: string[], maxStringLength: number): string[]"
  },
  {
    "path": "src/utils/modelCache.ts",
    "chars": 8134,
    "preview": "import { existsSync, readFileSync, writeFileSync } from 'fs';\nimport { homedir } from 'os';\nimport { join as pathJoin } "
  },
  {
    "path": "src/utils/randomIntFromInterval.ts",
    "chars": 154,
    "preview": "export function randomIntFromInterval(min: number, max: number) {\n  // min and max included\n  return Math.floor(Math.ran"
  },
  {
    "path": "src/utils/removeContentTags.ts",
    "chars": 1612,
    "preview": "/**\n * Removes content wrapped in specified tags from a string\n * @param content The content string to process\n * @param"
  },
  {
    "path": "src/utils/removeConventionalCommitWord.ts",
    "chars": 134,
    "preview": "export function removeConventionalCommitWord(message: string): string {\n  return message.replace(/^(fix|feat)\\((.+?)\\):/"
  },
  {
    "path": "src/utils/sleep.ts",
    "chars": 98,
    "preview": "export function sleep(ms: number) {\n  return new Promise((resolve) => setTimeout(resolve, ms));\n}\n"
  },
  {
    "path": "src/utils/tokenCount.ts",
    "chars": 380,
    "preview": "import cl100k_base from '@dqbd/tiktoken/encoders/cl100k_base.json';\nimport { Tiktoken } from '@dqbd/tiktoken/lite';\n\nexp"
  },
  {
    "path": "src/utils/trytm.ts",
    "chars": 277,
    "preview": "export const trytm = async <T>(\n  promise: Promise<T>\n): Promise<[T, null] | [null, Error]> => {\n  try {\n    const data "
  },
  {
    "path": "src/version.ts",
    "chars": 378,
    "preview": "import { outro } from '@clack/prompts';\nimport { execa } from 'execa';\n\nexport const getOpenCommitLatestVersion = async "
  },
  {
    "path": "test/Dockerfile",
    "chars": 430,
    "preview": "FROM ubuntu:latest\n\nRUN apt-get update && apt-get install -y curl git\n\n# Install Node.js v20\nRUN curl -fsSL https://deb."
  },
  {
    "path": "test/e2e/gitPush.test.ts",
    "chars": 5885,
    "preview": "import path from 'path';\nimport 'cli-testing-library/extend-expect';\nimport { exec } from 'child_process';\nimport { prep"
  },
  {
    "path": "test/e2e/noChanges.test.ts",
    "chars": 489,
    "preview": "import { resolve } from 'path'\nimport { render } from 'cli-testing-library'\nimport 'cli-testing-library/extend-expect';\n"
  },
  {
    "path": "test/e2e/oneFile.test.ts",
    "chars": 2539,
    "preview": "import { resolve } from 'path'\nimport { render } from 'cli-testing-library'\nimport 'cli-testing-library/extend-expect';\n"
  },
  {
    "path": "test/e2e/prompt-module/commitlint.test.ts",
    "chars": 7107,
    "preview": "import { resolve } from 'path';\nimport { render } from 'cli-testing-library';\nimport 'cli-testing-library/extend-expect'"
  },
  {
    "path": "test/e2e/prompt-module/data/commitlint_18/commitlint.config.js",
    "chars": 69,
    "preview": "module.exports = {\n  extends: ['@commitlint/config-conventional']\n};\n"
  },
  {
    "path": "test/e2e/prompt-module/data/commitlint_18/package.json",
    "chars": 322,
    "preview": "{\n  \"name\": \"commitlint-test\",\n  \"version\": \"1.0.0\",\n  \"description\": \"\",\n  \"main\": \"index.js\",\n  \"scripts\": {\n    \"test"
  },
  {
    "path": "test/e2e/prompt-module/data/commitlint_19/commitlint.config.js",
    "chars": 67,
    "preview": "export default {\n  extends: ['@commitlint/config-conventional']\n};\n"
  },
  {
    "path": "test/e2e/prompt-module/data/commitlint_19/package.json",
    "chars": 342,
    "preview": "{\n  \"name\": \"commitlint-test\",\n  \"version\": \"1.0.0\",\n  \"description\": \"\",\n  \"main\": \"index.js\",\n  \"type\": \"module\",\n  \"s"
  },
  {
    "path": "test/e2e/prompt-module/data/commitlint_9/commitlint.config.js",
    "chars": 69,
    "preview": "module.exports = {\n  extends: ['@commitlint/config-conventional']\n};\n"
  },
  {
    "path": "test/e2e/prompt-module/data/commitlint_9/package.json",
    "chars": 320,
    "preview": "{\n  \"name\": \"commitlint-test\",\n  \"version\": \"1.0.0\",\n  \"description\": \"\",\n  \"main\": \"index.js\",\n  \"scripts\": {\n    \"test"
  },
  {
    "path": "test/e2e/setup.sh",
    "chars": 317,
    "preview": "#!/bin/sh\n\ncurrent_dir=$(pwd)\nsetup_dir=\"$(cd \"$(dirname \"$0\")\" && pwd)\"\n\n# Set up for prompt-module/commitlint\ncd $setu"
  },
  {
    "path": "test/e2e/utils.ts",
    "chars": 1164,
    "preview": "import path from 'path'\nimport { mkdtemp, rm } from 'fs'\nimport { promisify } from 'util';\nimport { tmpdir } from 'os';\n"
  },
  {
    "path": "test/jest-setup.ts",
    "chars": 348,
    "preview": "import { jest } from '@jest/globals';\nimport 'cli-testing-library/extend-expect';\nimport { configure } from 'cli-testing"
  },
  {
    "path": "test/unit/config.test.ts",
    "chars": 10702,
    "preview": "import { existsSync, readFileSync, rmSync } from 'fs';\nimport {\n  CONFIG_KEYS,\n  DEFAULT_CONFIG,\n  getConfig,\n  setConfi"
  },
  {
    "path": "test/unit/gemini.test.ts",
    "chars": 2646,
    "preview": "import { GeminiEngine } from '../../src/engine/gemini';\n\nimport { GenerativeModel, GoogleGenerativeAI } from '@google/ge"
  },
  {
    "path": "test/unit/removeContentTags.test.ts",
    "chars": 2105,
    "preview": "import { removeContentTags } from '../../src/utils/removeContentTags';\n\ndescribe('removeContentTags', () => {\n  it('shou"
  },
  {
    "path": "test/unit/utils.ts",
    "chars": 789,
    "preview": "import { existsSync, mkdtemp, rm, writeFile } from 'fs';\nimport { tmpdir } from 'os';\nimport path from 'path';\nimport { "
  },
  {
    "path": "tsconfig.json",
    "chars": 560,
    "preview": "{\n  \"compilerOptions\": {\n    \"target\": \"ES2020\",\n    \"lib\": [\"ES6\", \"ES2020\"],\n\n    \"module\": \"NodeNext\",\n\n    \"resolveJ"
  }
]

// ... and 1 more files (download for full content)

About this extraction

This page contains the full source code of the di-sukharev/opencommit GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 116 files (8.8 MB), approximately 2.3M tokens, and a symbol index with 3271 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!