diff --git a/.github/workflows/openapi-validation.yml b/.github/workflows/openapi-validation.yml new file mode 100644 index 00000000..a559d370 --- /dev/null +++ b/.github/workflows/openapi-validation.yml @@ -0,0 +1,49 @@ +name: OpenAPI validation + +on: + pull_request: + paths: + - 'docs/openapi/**' + - 'docs/openapi.json' + - 'tools/openapi_*.py' + - 'tests/test_openapi_bundle.py' + - '.github/workflows/openapi-validation.yml' + push: + branches: + - main + paths: + - 'docs/openapi/**' + - 'docs/openapi.json' + - 'tools/openapi_*.py' + - 'tests/test_openapi_bundle.py' + - '.github/workflows/openapi-validation.yml' + +jobs: + check: + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install Python dependencies + run: python -m pip install --upgrade pip && python -m pip install --quiet -r requirements-dev.txt + + - name: Bundle OpenAPI (validation enabled) + run: python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Lint OpenAPI specification + run: npx -y mintlify openapi-check docs/openapi.json + + - name: Run OpenAPI regression test + run: python -m unittest tests.test_openapi_bundle diff --git a/.gitignore b/.gitignore index e43b0f98..2484b0f2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,77 @@ +# macOS .DS_Store + +# Node.js / Bun +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# Bun specific +# Note: we DO track bun.lockb for reproducible builds +# If you want to ignore it, uncomment the line below: +# bun.lockb + +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST +*.pytest_cache/ +.coverage +htmlcov/ +.tox/ +.nox/ + +# IDEs and Editors +.vscode/settings.json +.idea/ +*.swp +*.swo +*~ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Environment variables +.env +.env.local +.env.*.local + +# Temporary files +*.tmp +*.temp +.cache/ + +# Generated files (do NOT ignore docs/openapi.json - it's committed) +# docs/openapi.json is intentionally tracked + +# Watchman +.watchman-cookie-* + +# Vercel +.vercel/ + +# Claude Code configuration +.claude/ diff --git a/.spectral.mjs b/.spectral.mjs deleted file mode 100644 index ad97e95e..00000000 --- a/.spectral.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import ruleset from "https://stoplight.io/api/v1/projects/cHJqOjMxNg/spectral.js?branch_slug=feat%2Fcontainer-event-timestamps&token=0049d374-6767-468e-8313-d3f211429e84"; -export default { extends: ruleset }; \ No newline at end of file diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 00000000..ef28cade --- /dev/null +++ b/.tool-versions @@ -0,0 +1,3 @@ +bun 1.1.29 +nodejs 20.17.0 +python 3.11.9 diff --git a/.watchmanconfig b/.watchmanconfig new file mode 100644 index 00000000..9e72e320 --- /dev/null +++ b/.watchmanconfig @@ -0,0 +1,12 @@ +{ + "ignore_dirs": [ + ".git", + "node_modules", + "__pycache__", + ".pytest_cache", + "terminal49_mcp.egg-info", + "dist", + "build" + ], + "settle": 100 +} diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..5706a902 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,420 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Overview + +This is the Terminal49 API documentation repository. It contains modular OpenAPI specifications, MDX documentation files, and automated workflows for generating and deploying documentation to Postman and Mintlify (docs.terminal49.com). + +**Important:** This repository contains documentation only - no actual API implementation code. The production API runs at `https://api.terminal49.com/v2`. + +## Core Concepts + +Terminal49 provides container and shipment tracking via two methods: + +1. **API** - Direct REST API access with webhooks for real-time updates +2. **DataSync** - Automated data synchronization to customer databases/data warehouses + +The API follows JSONAPI specifications and supports tracking shipments, containers, webhooks, tracking requests, and related entities (ports, terminals, vessels, shipping lines, parties). + +## Repository Structure + +``` +docs/ +├── openapi/ # Modular OpenAPI YAML sources (SOURCE OF TRUTH) +│ ├── index.yaml # Root OpenAPI document +│ ├── paths/ # One file per REST endpoint +│ └── components/ +│ ├── schemas/ # Reusable schema definitions +│ └── securitySchemes/ # Authentication descriptions +├── openapi.json # Auto-generated bundle (DO NOT EDIT DIRECTLY) +├── mint.json # Mintlify docs configuration +├── home.mdx # Documentation homepage +├── api-docs/ # API documentation (MDX files) +│ ├── getting-started/ +│ ├── in-depth-guides/ +│ ├── useful-info/ +│ └── api-reference/ # Organized by resource type +└── datasync/ # DataSync documentation (MDX files) + └── table-properties/ + +tools/ +├── openapi_bundle.py # Python bundler (production, used in CI) +└── openapi_yaml.py # Minimal YAML parser + +scripts/ +├── split_openapi.py # Convert monolithic JSON to modular YAML +└── pre-commit.sh # Pre-commit hook for auto-bundling + +tests/ +└── test_openapi_bundle.py # Regression test for bundle consistency + +justfile # Task runner (like Make, but better) +package.json # Bun/Node.js dependencies (optional dev tools) +.watchmanconfig # File watching configuration + +Terminal49-API.postman_collection.json # Auto-generated from openapi.json +.github/workflows/ +├── generate_postman.yml # Auto-generates Postman collection on openapi.json changes +├── deploy_postman.yml # Deploys collection to Postman API on main branch +└── openapi-validation.yml # Validates OpenAPI YAML on PRs +``` + +## **Critical: Modular OpenAPI Workflow** + +### Source of Truth + +**⚠️ The YAML files in `docs/openapi/` are the ONLY source of truth!** + +- ✅ **Edit:** `docs/openapi/**/*.yaml` files +- ❌ **Never edit:** `docs/openapi.json` (it's auto-generated) + +The `docs/openapi.json` file is bundled from modular YAML sources. If you edit it directly, your changes will be overwritten! + +### Bundling Approach + +The repository uses a single, battle-tested bundling flow: + +- **Python Bundler** (production + local) + - Zero external dependencies beyond Python + - Validates schema structure while bundling + - Command: `just bundle` or `python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json` + +For a faster iteration loop you can skip validation with `just bundle-fast`, but always run the full bundle before committing. + +### Task Runner: Justfile + +We use `just` (modern alternative to Make) for task running: + +```bash +just --list # Show all commands +just setup # First-time setup +just bundle # Bundle with Python +just bundle-fast # Bundle with Python (skip validation) +just lint # Lint with Mintlify CLI +just validate # Bundle + lint + test +just watch # Auto-bundle on file changes +just preview-mintlify # Preview full docs with Mintlify +just dev # Bundle + lint + preview (recommended workflow) +just dev-full # Full validation then Mintlify preview +``` + +For full command list, see `justfile`. + +**Recommended Development Workflow:** + +```bash +just dev +# This bundles OpenAPI, runs linting, then starts Mintlify preview +# Opens http://localhost:3000 with full documentation +# Perfect for active development +``` + +### Pre-commit Hook + +Install once to auto-bundle on commit: + +```bash +just install-hooks +``` + +The hook automatically: + +- Detects OpenAPI YAML changes +- Regenerates `docs/openapi.json` +- Validates the bundle +- Stages the updated JSON + +## Common Workflows + +### Updating API Documentation + +1. **Edit OpenAPI specs:** + + ```bash + # Edit modular YAML sources + vim docs/openapi/paths/shipments.yaml + vim docs/openapi/components/schemas/shipment.yaml + ``` + +2. **Bundle and validate:** + + ```bash + just validate # or: just bundle && just lint && just test + ``` + +3. **Commit:** + + ```bash + git add docs/openapi/ + git commit -m "feat: update shipment schema" + # Pre-commit hook auto-bundles if installed + ``` + +4. **Auto-generation triggers:** + - When you push changes to `docs/openapi.json`, GitHub Actions generates `Terminal49-API.postman_collection.json` + - When merged to `main`, the Postman collection deploys to the Postman API + +### Adding a New Endpoint + +1. Create `docs/openapi/paths/your-endpoint.yaml` +2. Add path reference in `docs/openapi/index.yaml`: + ```yaml + paths: + /your_endpoint: + $ref: "./paths/your-endpoint.yaml" + ``` +3. Bundle and validate: `just validate` +4. Commit both YAML and bundled JSON + +### Adding a New Schema + +1. Create `docs/openapi/components/schemas/your-model.yaml` +2. Add schema reference in `docs/openapi/index.yaml`: + ```yaml + components: + schemas: + your_model: + $ref: "./components/schemas/your-model.yaml" + ``` +3. Bundle and validate: `just validate` +4. Commit both YAML and bundled JSON + +### Editing Documentation Content + +MDX files in `docs/api-docs/` and `docs/datasync/` are manually edited: + +- Follow the existing structure in `mint.json` +- Include proper frontmatter (title, og:title, og:description) +- Reference API endpoints using absolute paths like `/api-docs/api-reference/shipments/list-shipments` + +### Working with Postman Collections + +The Postman collection is **auto-generated** - never edit `Terminal49-API.postman_collection.json` directly! + +To manually regenerate (if needed): + +```bash +just postman +# or: openapi2postmanv2 -s docs/openapi.json -o Terminal49-API.postman_collection.json -p -O folderStrategy=Tags +``` + +## Important Files + +- **docs/openapi/index.yaml** - Root OpenAPI spec (references all modular files) +- **docs/openapi/paths/** - Individual endpoint definitions +- **docs/openapi/components/schemas/** - Reusable data models +- **docs/openapi.json** - Bundled output (auto-generated, don't edit) +- **justfile** - All available commands +- **tools/openapi_bundle.py** - Python bundler with validation +- **package.json** - CLI scripts (Mintlify CLI, chokidar) +- **.tool-versions** - `mise` runtime pins (Node.js, Bun, Python) +- **requirements-dev.txt** - Python dependencies for the bundler (`PyYAML`) +- **scripts/pre-commit.sh** - Auto-bundling hook +- **docs/mint.json** - Navigation structure, tabs, branding + +## Development Setup + +**First-time setup:** + +```bash +just setup +``` + +This installs: + +- Toolchain pinned in `.tool-versions` via `mise install` (Node.js, Bun, Python) +- Python dependencies from `requirements-dev.txt` (uses `uv` when available, falls back to `pip`) +- Bun dependencies (Mintlify CLI for linting, chokidar for watch mode) +- Pre-commit hook for auto-bundling + +**Manual setup:** + +```bash +# Install toolchain +mise install + +# Install Python deps +# (preferred) uv pip install -r requirements-dev.txt +# (fallback) python -m pip install -r requirements-dev.txt + +# Install Bun dependencies (optional when using bun workloads) +bun install + +# Install pre-commit hook +just install-hooks +``` + +## Validation & Testing + +### Linting + +We rely on the Mintlify CLI to validate the modular OpenAPI spec: + +```bash +just lint # Mintlify openapi-check (requires Node >= 18) +``` + +The recipe bundles (skipping validation) before invoking `mintlify openapi-check`, so the CLI verifies the generated `docs/openapi.json` that Mintlify consumes. +### Schema Validation + +The Python bundler includes automatic validation: + +- Checks schema structure (type, properties, etc.) +- Validates `$ref` resolution +- Detects circular references +- Provides helpful error messages with context + +To skip validation (faster): + +```bash +just bundle-fast +``` + +### Testing + +```bash +just test # Run regression test +just validate # Bundle + lint + test +``` + +## Authentication + +API uses Token-based auth with header format: + +``` +Authorization: Token YOUR_API_KEY +``` + +API keys are obtained from https://app.terminal49.com/developers/api-keys + +## Rate Limiting + +The API has a **100 requests/minute** rate limit for tracking requests. This is documented in the OpenAPI spec and should be mentioned when adding documentation about tracking requests. + +## Deployment + +Documentation is deployed via: + +1. **Mintlify** - Hosts docs.terminal49.com (configured via `mint.json`) +2. **Render** - Legacy Redoc deployment (see `render.yaml` and `Dockerfile`) +3. **Postman** - Collection synced via GitHub Actions to Postman API + +## Key API Resources + +Primary entities tracked in the system: + +- **Shipments** - Bill of lading (BOL) tracking +- **Containers** - Individual container tracking with transport events +- **Tracking Requests** - Requests to track new shipments +- **Webhooks** - Event subscriptions for real-time updates +- **Transport Events** - Container movement events (empty out, vessel loaded, etc.) +- **Ports, Terminals, Vessels** - Reference data +- **Parties** - Business entities (customers, consignees, etc.) + +## Commit Conventions + +Follow conventional commits style: + +- `feat:` - New features or endpoints +- `fix:` - Bug fixes in documentation +- `chore:` - Maintenance, auto-generated files +- Use `[skip ci]` to prevent workflow triggers on auto-generated commits + +## GitHub Actions + +Workflows require secrets: + +- `POSTMAN_API_KEY` - For deploying to Postman +- `POSTMAN_COLLECTION_UID` - Collection identifier: `5900de09-f05a-4528-8b12-9ad1d0477023` + +Workflows use `[skip ci]` in auto-generated commits to prevent infinite loops. + +## Performance Notes + +**Bundling speed** (9700+ line spec): + +- Python bundler: ~100-200ms + +**Linting speed:** + +- Mintlify CLI (`openapi-check`): ~1s for 1MB spec (depends on Node runtime) + +Both are fast enough for local development. Python is used in CI for zero Node.js dependency, and Mintlify CLI provides OpenAPI validation aligned with our hosted docs. + +## Troubleshooting + +### "Referenced file not found" + +- Check path is correct relative to current file +- Verify filename/extension match exactly (case-sensitive) +- See enhanced error message for tips + +### "Circular $ref detected" + +- A file references itself through a $ref chain +- Check the reference chain in the error message +- Restructure schemas to break the cycle + +### Bundle out of sync + +- Run `just bundle` to regenerate +- Install pre-commit hook to automate: `just install-hooks` +- Check CI will fail if bundle doesn't match + +### Watchman not working + +- Ensure `.watchmanconfig` exists +- Check Watchman daemon: `watchman watch-list` +- Try: `watchman shutdown-server && just watch` + +## Data Files + +CSV files contain supported shipping lines and terminals: + +- `Terminal49 Shiping Line Support.csv` [sic - typo in filename] +- `Terminal49 Terminal Support.csv` + +These are reference data used in documentation or validation. + +## Getting Help + +- **Justfile commands:** `just --list` or `just help` +- **OpenAPI workflow:** `docs/openapi/README.md` +- **Detailed guide:** `docs/openapi/DEVELOPER_GUIDE.md` +- **Python bundler:** `python -m tools.openapi_bundle --help` +- **Mintlify CLI:** `npx mintlify --help` + +## When Claude Code Works on This Repo + +### Adding/Editing Endpoints + +1. Always edit YAML files in `docs/openapi/` +2. Never edit `docs/openapi.json` directly +3. After editing, run `just validate` +4. Commit both YAML sources and bundled JSON + +### Reviewing Code + +- Check that `docs/openapi.json` is in sync with YAML sources +- Verify CI passes (lint + bundle test) +- Suggest running `just validate` if changes seem incomplete + +### Troubleshooting Build Failures + +- Check if `just bundle` succeeds locally +- Look for helpful error messages (enhanced in Python bundler) +- Verify all `$ref` paths are correct + +### Documentation Changes + +- OpenAPI changes go in `docs/openapi/**/*.yaml` +- Human-readable guides go in `docs/api-docs/**/*.mdx` +- Keep `mint.json` structure aligned with file organization + +**When to suggest these tools to developers**: + +- Suggest `rg` over `grep` for code searches +- Suggest `fd` over `find` for file discovery +- Suggest `ast-grep` for refactoring that needs to understand code structure +- Suggest `jq`/`yq` when parsing JSON/YAML in scripts diff --git a/Terminal49-API.postman_collection.json b/Terminal49-API.postman_collection.json index bd4be677..4bc52211 100644 --- a/Terminal49-API.postman_collection.json +++ b/Terminal49-API.postman_collection.json @@ -5,7 +5,7 @@ "description": "", "item": [ { - "id": "a42114ef-1a2a-497b-ad45-0cbc3b4212a0", + "id": "b5af49c7-82e5-471f-8c57-6932cbd49bf1", "name": "List containers", "request": { "name": "List containers", @@ -27,7 +27,7 @@ "content": "", "type": "text/plain" }, - "key": "page[number]", + "key": "page%5Bnumber%5D", "value": "1" }, { @@ -36,7 +36,7 @@ "content": "", "type": "text/plain" }, - "key": "page[size]", + "key": "page%5Bsize%5D", "value": "30" }, { @@ -72,7 +72,7 @@ }, "response": [ { - "id": "ab93ee57-6a69-4a3b-816d-c586d05bddee", + "id": "56287ae0-9532-45fd-82b7-7de341a97319", "name": "OK", "originalRequest": { "url": { @@ -89,7 +89,7 @@ "content": "", "type": "text/plain" }, - "key": "page[number]", + "key": "page%5Bnumber%5D", "value": "1" }, { @@ -98,7 +98,7 @@ "content": "", "type": "text/plain" }, - "key": "page[size]", + "key": "page%5Bsize%5D", "value": "30" }, { @@ -147,7 +147,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": \"tank\",\n \"equipment_length\": 40,\n \"equipment_height\": \"standard\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"total\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"extended_dwell_time\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": \"bulk\",\n \"equipment_length\": null,\n \"equipment_height\": null,\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"other\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"extended_dwell_time\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"past_arrival_window\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"metro_area\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"all_containers_terminated\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"metro_area\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n }\n}", + "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": \"flat rack\",\n \"equipment_length\": 20,\n \"equipment_height\": \"high_cube\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"total\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"extended_dwell_time\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": null,\n \"equipment_length\": 20,\n \"equipment_height\": \"high_cube\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"extended_dwell_time\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"total\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": null\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"rail_terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"cancelled_by_user\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n }\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -158,7 +158,7 @@ } }, { - "id": "5b8ad045-a91c-42b5-ab1e-33f9590ffb12", + "id": "63269de6-a1b0-41f1-bbfb-53e63d53ab32", "name": "Edit a container", "request": { "name": "Edit a container", @@ -189,7 +189,7 @@ "method": "PATCH", "body": { "mode": "raw", - "raw": "{\n \"data\": {\n \"attributes\": {\n \"ref_numbers\": [\n \"\",\n \"\"\n ]\n },\n \"type\": false\n }\n}", + "raw": "{\n \"data\": {\n \"attributes\": {\n \"ref_numbers\": [\n \"\",\n \"\"\n ]\n },\n \"type\": 4579.588772762338\n }\n}", "options": { "raw": { "headerFamily": "json", @@ -201,7 +201,7 @@ }, "response": [ { - "id": "5d8984c3-1f14-445d-a522-9057b44d8ce7", + "id": "7d331d34-55a6-47a9-abd1-342976fccd70", "name": "OK", "originalRequest": { "url": { @@ -235,7 +235,7 @@ "method": "PATCH", "body": { "mode": "raw", - "raw": "{\n \"data\": {\n \"attributes\": {\n \"ref_numbers\": [\n \"\",\n \"\"\n ]\n },\n \"type\": false\n }\n}", + "raw": "{\n \"data\": {\n \"attributes\": {\n \"ref_numbers\": [\n \"\",\n \"\"\n ]\n },\n \"type\": 4579.588772762338\n }\n}", "options": { "raw": { "headerFamily": "json", @@ -252,7 +252,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": \"bulk\",\n \"equipment_length\": 45,\n \"equipment_height\": null,\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"other\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"exam\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n }\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": \"reefer\",\n \"equipment_length\": 40,\n \"equipment_height\": null,\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"demurrage\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"total\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n }\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -263,7 +263,7 @@ } }, { - "id": "5399e250-400f-464e-9913-7d068a2b30d4", + "id": "4603e173-ad02-4730-bd8b-875dc9a38524", "name": "Get a container", "request": { "name": "Get a container", @@ -315,7 +315,7 @@ }, "response": [ { - "id": "17bdd69c-7694-41fa-9fa9-430602f34f09", + "id": "d85450ae-887c-4eda-a016-b23ad22906c0", "name": "OK", "originalRequest": { "url": { @@ -364,7 +364,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": \"open top\",\n \"equipment_length\": 20,\n \"equipment_height\": \"standard\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"extended_dwell_time\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"demurrage\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"all_containers_terminated\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"metro_area\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"rail_terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"all_containers_terminated\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n ]\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": null,\n \"equipment_length\": 20,\n \"equipment_height\": \"standard\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"demurrage\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"demurrage\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"no_updates_at_line\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"metro_area\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"rail_terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"past_arrival_window\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"metro_area\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"rail_terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -375,7 +375,7 @@ } }, { - "id": "4a96adc4-bea7-45f7-a720-7368f6c20bb5", + "id": "6752585c-f34e-48be-ab87-7f3b00f04ca2", "name": "Get a container's raw events", "request": { "name": "Get a container's raw events", @@ -418,7 +418,7 @@ }, "response": [ { - "id": "569a638b-8fd9-49e5-b030-dbff7f398c93", + "id": "a33282bb-432b-434f-a67b-4cd418a0ace1", "name": "OK", "originalRequest": { "url": { @@ -458,7 +458,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\",\n \"attributes\": {\n \"event\": \"vessel_departed\",\n \"original_event\": \"\",\n \"timestamp\": \"\",\n \"estimated\": \"\",\n \"actual_on\": \"\",\n \"estimated_on\": \"\",\n \"actual_at\": \"\",\n \"estimated_at\": \"\",\n \"timezone\": \"\",\n \"created_at\": \"\",\n \"location_name\": \"\",\n \"location_locode\": \"\",\n \"vessel_name\": \"\",\n \"vessel_imo\": \"\",\n \"index\": \"\",\n \"voyage_number\": \"\"\n },\n \"relationships\": {\n \"location\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"port\"\n }\n },\n \"vessel\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"vessel\"\n }\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\",\n \"attributes\": {\n \"event\": \"positioned_in\",\n \"original_event\": \"\",\n \"timestamp\": \"\",\n \"estimated\": \"\",\n \"actual_on\": \"\",\n \"estimated_on\": \"\",\n \"actual_at\": \"\",\n \"estimated_at\": \"\",\n \"timezone\": \"\",\n \"created_at\": \"\",\n \"location_name\": \"\",\n \"location_locode\": \"\",\n \"vessel_name\": \"\",\n \"vessel_imo\": \"\",\n \"index\": \"\",\n \"voyage_number\": \"\"\n },\n \"relationships\": {\n \"location\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"metro_area\"\n }\n },\n \"vessel\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"vessel\"\n }\n }\n }\n }\n ]\n}", + "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\",\n \"attributes\": {\n \"event\": \"transshipment_arrived\",\n \"original_event\": \"\",\n \"timestamp\": \"\",\n \"estimated\": \"\",\n \"actual_on\": \"\",\n \"estimated_on\": \"\",\n \"actual_at\": \"\",\n \"estimated_at\": \"\",\n \"timezone\": \"\",\n \"created_at\": \"\",\n \"location_name\": \"\",\n \"location_locode\": \"\",\n \"vessel_name\": \"\",\n \"vessel_imo\": \"\",\n \"index\": \"\",\n \"voyage_number\": \"\"\n },\n \"relationships\": {\n \"location\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"metro_area\"\n }\n },\n \"vessel\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"vessel\"\n }\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\",\n \"attributes\": {\n \"event\": \"positioned_in\",\n \"original_event\": \"\",\n \"timestamp\": \"\",\n \"estimated\": \"\",\n \"actual_on\": \"\",\n \"estimated_on\": \"\",\n \"actual_at\": \"\",\n \"estimated_at\": \"\",\n \"timezone\": \"\",\n \"created_at\": \"\",\n \"location_name\": \"\",\n \"location_locode\": \"\",\n \"vessel_name\": \"\",\n \"vessel_imo\": \"\",\n \"index\": \"\",\n \"voyage_number\": \"\"\n },\n \"relationships\": {\n \"location\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"metro_area\"\n }\n },\n \"vessel\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"vessel\"\n }\n }\n }\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -469,7 +469,7 @@ } }, { - "id": "3251ddcf-c052-44fc-9d2a-3b2dda863624", + "id": "ae642966-b51b-47eb-a6b2-2beaa9434f6f", "name": "Get a container's transport events", "request": { "name": "Get a container's transport events", @@ -522,7 +522,7 @@ }, "response": [ { - "id": "d70e048a-5c79-4657-b34b-818689e17ec0", + "id": "2d28def7-8d98-46d9-8c54-f9de299a9cd4", "name": "OK", "originalRequest": { "url": { @@ -572,7 +572,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\",\n \"attributes\": {\n \"event\": \"container.transport.transshipment_loaded\",\n \"voyage_number\": \"\",\n \"timestamp\": \"\",\n \"timezone\": \"\",\n \"location_locode\": \"\",\n \"created_at\": \"\",\n \"data_source\": \"ais\"\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"location\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"metro_area\"\n }\n },\n \"vessel\": {\n \"data\": {\n \"id\": \"\",\n \"name\": \"vessel\"\n }\n },\n \"terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"rail_terminal\"\n }\n },\n \"container\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"container\"\n }\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\",\n \"attributes\": {\n \"event\": \"container.transport.vessel_loaded\",\n \"voyage_number\": \"\",\n \"timestamp\": \"\",\n \"timezone\": \"\",\n \"location_locode\": \"\",\n \"created_at\": \"\",\n \"data_source\": \"shipping_line\"\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"location\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"port\"\n }\n },\n \"vessel\": {\n \"data\": {\n \"id\": \"\",\n \"name\": \"vessel\"\n }\n },\n \"terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"container\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"container\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"no_updates_at_line\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"rail_terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"cancelled_by_user\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"metro_area\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n }\n}", + "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\",\n \"attributes\": {\n \"event\": \"container.transport.feeder_arrived\",\n \"voyage_number\": \"\",\n \"timestamp\": \"\",\n \"timezone\": \"\",\n \"location_locode\": \"\",\n \"created_at\": \"\",\n \"data_source\": \"shipping_line\"\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"location\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"port\"\n }\n },\n \"vessel\": {\n \"data\": {\n \"id\": \"\",\n \"name\": \"vessel\"\n }\n },\n \"terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"container\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"container\"\n }\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\",\n \"attributes\": {\n \"event\": \"container.transport.vessel_departed\",\n \"voyage_number\": \"\",\n \"timestamp\": \"\",\n \"timezone\": \"\",\n \"location_locode\": \"\",\n \"created_at\": \"\",\n \"data_source\": \"shipping_line\"\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"location\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"metro_area\"\n }\n },\n \"vessel\": {\n \"data\": {\n \"id\": \"\",\n \"name\": \"vessel\"\n }\n },\n \"terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"container\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"container\"\n }\n }\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": null\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"metro_area\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"rail_terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": null\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n }\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -583,7 +583,7 @@ } }, { - "id": "6cfa11b0-8930-4e20-b2ca-0245b161b5ca", + "id": "5ae4f861-e7e9-4451-b6fb-ca9a6ca537ee", "name": "Get container route", "request": { "name": "Get container route", @@ -626,7 +626,7 @@ }, "response": [ { - "id": "32b03d0c-f276-4a94-bbd1-5757d153cda0", + "id": "e4eebf49-9fb9-4124-a8d2-9de6cf00dff8", "name": "OK", "originalRequest": { "url": { @@ -671,7 +671,7 @@ "_postman_previewlanguage": "json" }, { - "id": "405c0fa1-293c-4f82-860f-9ff748c35b74", + "id": "f469bf97-ff4a-49f4-b7f7-64a7e43377f7", "name": "Forbidden - Routing data feature is not enabled for this account", "originalRequest": { "url": { @@ -722,7 +722,7 @@ } }, { - "id": "1ff7d075-fb82-4af9-bacb-73ce5128e721", + "id": "228e3070-dccb-4405-a98c-fea91921b343", "name": "Refresh container", "request": { "name": "Refresh container", @@ -765,7 +765,7 @@ }, "response": [ { - "id": "ba9c4004-ac7d-4c5c-9645-1aad3e5697f1", + "id": "427aa117-b7dc-4b04-a6ea-f8a764e73eb1", "name": "OK", "originalRequest": { "url": { @@ -810,7 +810,7 @@ "_postman_previewlanguage": "json" }, { - "id": "94e223bf-616a-4f2b-a09d-c58a8bc5164c", + "id": "e72c1735-748a-413f-8464-d49067da81a2", "name": "Forbidden - This API endpoint is not enabled for your account. Please contact support@terminal49.com", "originalRequest": { "url": { @@ -855,7 +855,7 @@ "_postman_previewlanguage": "json" }, { - "id": "958cf332-98e5-4cc0-9732-787932a5352b", + "id": "44576d29-fbea-40f0-88c4-5fe7d5214b27", "name": "Too Many Requests - You've hit the refresh limit. Please try again in a minute.", "originalRequest": { "url": { @@ -921,7 +921,7 @@ "description": "", "item": [ { - "id": "2deb1214-28d8-48e4-97db-8a37fc44e099", + "id": "c1241f20-f34c-4fd7-b06f-fcba557d8a28", "name": "List shipments", "request": { "name": "List shipments", @@ -943,7 +943,7 @@ "content": "\n", "type": "text/plain" }, - "key": "page[number]", + "key": "page%5Bnumber%5D", "value": "1" }, { @@ -952,7 +952,7 @@ "content": "\n", "type": "text/plain" }, - "key": "page[size]", + "key": "page%5Bsize%5D", "value": "30" }, { @@ -1006,7 +1006,7 @@ }, "response": [ { - "id": "987b6842-b686-44a3-bf6c-94be7788bc07", + "id": "38c9e768-4f7d-4428-8b71-abd43816e371", "name": "OK", "originalRequest": { "url": { @@ -1023,7 +1023,7 @@ "content": "\n", "type": "text/plain" }, - "key": "page[number]", + "key": "page%5Bnumber%5D", "value": "1" }, { @@ -1032,7 +1032,7 @@ "content": "\n", "type": "text/plain" }, - "key": "page[size]", + "key": "page%5Bsize%5D", "value": "30" }, { @@ -1099,12 +1099,12 @@ "value": "application/json" } ], - "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"all_containers_terminated\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"rail_terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"past_arrival_window\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"rail_terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": \"tank\",\n \"equipment_length\": 10,\n \"equipment_height\": \"high_cube\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"exam\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"extended_dwell_time\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": null,\n \"equipment_length\": 40,\n \"equipment_height\": \"standard\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"extended_dwell_time\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"extended_dwell_time\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n }\n}", + "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"cancelled_by_user\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"cancelled_by_user\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"rail_terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n ],\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": null,\n \"equipment_length\": 20,\n \"equipment_height\": \"standard\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"demurrage\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"demurrage\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": \"flat rack\",\n \"equipment_length\": null,\n \"equipment_height\": \"standard\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"total\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"demurrage\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n }\n}", "cookie": [], "_postman_previewlanguage": "json" }, { - "id": "ca5524f1-c42b-45a3-90cb-6f855afb5f2e", + "id": "9d2279ef-306a-4462-acf6-4739737c0d63", "name": "Unprocessable Entity", "originalRequest": { "url": { @@ -1121,7 +1121,7 @@ "content": "\n", "type": "text/plain" }, - "key": "page[number]", + "key": "page%5Bnumber%5D", "value": "1" }, { @@ -1130,7 +1130,7 @@ "content": "\n", "type": "text/plain" }, - "key": "page[size]", + "key": "page%5Bsize%5D", "value": "30" }, { @@ -1208,7 +1208,7 @@ } }, { - "id": "dd1c6f2a-9eae-44f7-924b-704f8ad2b593", + "id": "ef53d9d6-9122-431e-8689-843b21ee66d6", "name": "Get a shipment", "request": { "name": "Get a shipment", @@ -1260,7 +1260,7 @@ }, "response": [ { - "id": "337a8b19-edb4-4253-bfc1-c54fd1f8f54c", + "id": "9673cc00-f448-424c-865f-76eb018adc3c", "name": "OK", "originalRequest": { "url": { @@ -1309,12 +1309,12 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"no_updates_at_line\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"rail_terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": \"bulk\",\n \"equipment_length\": 40,\n \"equipment_height\": null,\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"exam\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"extended_dwell_time\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": null,\n \"equipment_length\": null,\n \"equipment_height\": \"high_cube\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"exam\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"total\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n }\n ]\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"cancelled_by_user\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"metro_area\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"rail_terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": \"open top\",\n \"equipment_length\": 40,\n \"equipment_height\": \"high_cube\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"exam\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"other\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"equipment_type\": \"dry\",\n \"equipment_length\": 10,\n \"equipment_height\": \"standard\",\n \"weight_in_lbs\": \"\",\n \"created_at\": \"\",\n \"seal_number\": \"\",\n \"pickup_lfd\": \"\",\n \"pickup_appointment_at\": \"\",\n \"availability_known\": \"\",\n \"available_for_pickup\": \"\",\n \"pod_arrived_at\": \"\",\n \"pod_discharged_at\": \"\",\n \"pod_full_out_at\": \"\",\n \"terminal_checked_at\": \"\",\n \"pod_full_out_chassis_number\": \"\",\n \"location_at_pod_terminal\": \"\",\n \"final_destination_full_out_at\": \"\",\n \"empty_terminated_at\": \"\",\n \"holds_at_pod_terminal\": [\n {\n \"name\": \"\",\n \"status\": \"pending\",\n \"description\": \"\"\n },\n {\n \"name\": \"\",\n \"status\": \"hold\",\n \"description\": \"\"\n }\n ],\n \"fees_at_pod_terminal\": [\n {\n \"type\": \"exam\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n },\n {\n \"type\": \"total\",\n \"amount\": \"\",\n \"currency_code\": \"\"\n }\n ],\n \"pod_timezone\": \"\",\n \"final_destination_timezone\": \"\",\n \"empty_terminated_timezone\": \"\",\n \"pod_rail_carrier_scac\": \"\",\n \"ind_rail_carrier_scac\": \"\",\n \"pod_last_tracking_request_at\": \"\",\n \"shipment_last_tracking_request_at\": \"\",\n \"pod_rail_loaded_at\": \"\",\n \"pod_rail_departed_at\": \"\",\n \"ind_eta_at\": \"\",\n \"ind_ata_at\": \"\",\n \"ind_rail_unloaded_at\": \"\",\n \"ind_facility_lfd_on\": \"\",\n \"import_deadlines\": {\n \"pickup_lfd_terminal\": \"\",\n \"pickup_lfd_rail\": \"\",\n \"pickup_lfd_line\": \"\"\n }\n },\n \"relationships\": {\n \"shipment\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"pickup_facility\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"terminal\"\n }\n },\n \"transport_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n ]\n },\n \"raw_events\": {\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n },\n {\n \"id\": \"\",\n \"type\": \"raw_event\"\n }\n ]\n }\n }\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { - "id": "b9f56b5d-bfa1-4a73-bab6-62608b6b4f7d", + "id": "9602b368-a1b9-4102-b6de-ce86f7caa3ff", "name": "Not Found", "originalRequest": { "url": { @@ -1374,7 +1374,7 @@ } }, { - "id": "597e98cb-5ee6-4e7b-924b-26945b554643", + "id": "325092d2-f852-4e1b-b238-38f038508a87", "name": "Edit a shipment", "request": { "name": "Edit a shipment", @@ -1429,7 +1429,7 @@ }, "response": [ { - "id": "95de3cbc-fbac-460c-b8d9-cf2edbc67f4e", + "id": "c83e45fc-c095-4c43-b77a-8c20dec75242", "name": "OK", "originalRequest": { "url": { @@ -1481,7 +1481,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": null\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"booking_cancelled\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -1492,7 +1492,7 @@ } }, { - "id": "846e40a6-ae31-4eaf-8384-3997efff8cd2", + "id": "dce5f739-999f-4bfe-8a7f-c2866f2218fd", "name": "Stop tracking a shipment", "request": { "name": "Stop tracking a shipment", @@ -1535,7 +1535,7 @@ }, "response": [ { - "id": "89c95cf6-d7cf-4100-b4fd-ab7395e0da7a", + "id": "9c688f38-f30e-4c7d-8b27-daba3375e91a", "name": "OK", "originalRequest": { "url": { @@ -1575,7 +1575,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": null\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"booking_cancelled\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -1586,7 +1586,7 @@ } }, { - "id": "e24cd2eb-7f82-4282-b9f8-38550053f4cc", + "id": "7b09a067-aa3c-41cb-99d9-5c1ebd265068", "name": "Resume tracking a shipment", "request": { "name": "Resume tracking a shipment", @@ -1629,7 +1629,7 @@ }, "response": [ { - "id": "af2a2495-a878-4b9d-9bf9-b3096aaa7bfc", + "id": "e7b5cf6c-2f45-48a3-bd7a-5c1bb63ee289", "name": "OK", "originalRequest": { "url": { @@ -1669,7 +1669,184 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": null\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\",\n \"attributes\": {\n \"bill_of_lading_number\": \"\",\n \"normalized_number\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"created_at\": \"\",\n \"tags\": [\n \"\",\n \"\"\n ],\n \"port_of_lading_locode\": \"\",\n \"port_of_lading_name\": \"\",\n \"port_of_discharge_locode\": \"\",\n \"port_of_discharge_name\": \"\",\n \"destination_locode\": \"\",\n \"destination_name\": \"\",\n \"shipping_line_scac\": \"\",\n \"shipping_line_name\": \"\",\n \"shipping_line_short_name\": \"\",\n \"customer_name\": \"\",\n \"pod_vessel_name\": \"\",\n \"pod_vessel_imo\": \"\",\n \"pod_voyage_number\": \"\",\n \"pol_etd_at\": \"\",\n \"pol_atd_at\": \"\",\n \"pod_eta_at\": \"\",\n \"pod_original_eta_at\": \"\",\n \"pod_ata_at\": \"\",\n \"destination_eta_at\": \"\",\n \"destination_ata_at\": \"\",\n \"pol_timezone\": \"\",\n \"pod_timezone\": \"\",\n \"destination_timezone\": \"\",\n \"line_tracking_last_attempted_at\": \"\",\n \"line_tracking_last_succeeded_at\": \"\",\n \"line_tracking_stopped_at\": \"\",\n \"line_tracking_stopped_reason\": \"booking_cancelled\"\n },\n \"relationships\": {\n \"destination\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"port_of_lading\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"containers\": {\n \"data\": [\n {\n \"type\": \"container\",\n \"id\": \"\"\n },\n {\n \"type\": \"container\",\n \"id\": \"\"\n }\n ]\n },\n \"port_of_discharge\": {\n \"data\": {\n \"type\": \"port\",\n \"id\": \"\"\n }\n },\n \"pod_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"destination_terminal\": {\n \"data\": {\n \"type\": \"terminal\",\n \"id\": \"\"\n }\n },\n \"line_tracking_stopped_by_user\": {\n \"data\": {\n \"type\": \"user\",\n \"id\": \"\"\n }\n }\n },\n \"links\": {\n \"self\": \"\"\n }\n }\n}", + "cookie": [], + "_postman_previewlanguage": "json" + } + ], + "event": [], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + } + ] + }, + { + "name": "Shipping Lines", + "description": "", + "item": [ + { + "id": "3a9d219d-66f0-440c-ac02-82e9fc58535a", + "name": "Shipping Lines", + "request": { + "name": "Shipping Lines", + "description": { + "content": "Return a list of shipping lines supported by Terminal49. \nN.B. There is no pagination for this endpoint.", + "type": "text/plain" + }, + "url": { + "path": [ + "shipping_lines" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "GET", + "body": {}, + "auth": null + }, + "response": [ + { + "id": "3982eafa-116e-459a-a006-2af866829594", + "name": "OK", + "originalRequest": { + "url": { + "path": [ + "shipping_lines" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "Authorization", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"attributes\": {\n \"scac\": \"\",\n \"name\": \"\",\n \"alternative_scacs\": [\n \"\",\n \"\"\n ],\n \"short_name\": \"\",\n \"bill_of_lading_tracking_support\": \"\",\n \"booking_number_tracking_support\": \"\",\n \"container_number_tracking_support\": \"\"\n },\n \"type\": \"shipping_line\"\n },\n {\n \"id\": \"\",\n \"attributes\": {\n \"scac\": \"\",\n \"name\": \"\",\n \"alternative_scacs\": [\n \"\",\n \"\"\n ],\n \"short_name\": \"\",\n \"bill_of_lading_tracking_support\": \"\",\n \"booking_number_tracking_support\": \"\",\n \"container_number_tracking_support\": \"\"\n },\n \"type\": \"shipping_line\"\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n }\n}", + "cookie": [], + "_postman_previewlanguage": "json" + } + ], + "event": [], + "protocolProfileBehavior": { + "disableBodyPruning": true + } + }, + { + "id": "088560b5-1144-45cc-b791-2487d6533a39", + "name": "Get a single shipping line", + "request": { + "name": "Get a single shipping line", + "description": { + "content": "Return the details of a single shipping line.", + "type": "text/plain" + }, + "url": { + "path": [ + "shipping_lines", + ":id" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [ + { + "type": "any", + "value": "", + "key": "id", + "disabled": false, + "description": { + "content": "(Required) ", + "type": "text/plain" + } + } + ] + }, + "header": [ + { + "key": "Accept", + "value": "application/json" + } + ], + "method": "GET", + "body": {}, + "auth": null + }, + "response": [ + { + "id": "f47c7913-0ab9-431c-a708-5ee9b51f81d8", + "name": "OK", + "originalRequest": { + "url": { + "path": [ + "shipping_lines", + ":id" + ], + "host": [ + "{{baseUrl}}" + ], + "query": [], + "variable": [] + }, + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "description": { + "content": "Added as a part of security scheme: apikey", + "type": "text/plain" + }, + "key": "Authorization", + "value": "" + } + ], + "method": "GET", + "body": {} + }, + "status": "OK", + "code": 200, + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": "{\n \"data\": {\n \"id\": \"\",\n \"attributes\": {\n \"scac\": \"\",\n \"name\": \"\",\n \"alternative_scacs\": [\n \"\",\n \"\"\n ],\n \"short_name\": \"\",\n \"bill_of_lading_tracking_support\": \"\",\n \"booking_number_tracking_support\": \"\",\n \"container_number_tracking_support\": \"\"\n },\n \"type\": \"shipping_line\"\n }\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -1696,7 +1873,7 @@ "description": "", "item": [ { - "id": "ab528c3a-0dab-4759-bcf8-905e5c8844d0", + "id": "2fd9d3fe-a1e3-43ec-88b7-e117c90325b3", "name": "Create a tracking request", "request": { "name": "Create a tracking request", @@ -1755,7 +1932,7 @@ }, "response": [ { - "id": "dd752113-57d4-46f0-8bf4-9737b249c1a5", + "id": "795ec5bb-b741-4107-bffa-e338b5249030", "name": "Tracking Request Created", "originalRequest": { "url": { @@ -1806,12 +1983,12 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"tracking_request\",\n \"attributes\": {\n \"request_number\": \"\",\n \"status\": \"created\",\n \"request_type\": \"bill_of_lading\",\n \"scac\": \"\",\n \"created_at\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"tags\": [\n \"\",\n \"\"\n ],\n \"failed_reason\": \"not_found\",\n \"updated_at\": \"\",\n \"is_retrying\": \"\",\n \"retry_count\": \"\"\n },\n \"relationships\": {\n \"tracked_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"customer\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"party\"\n }\n }\n }\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n }\n ]\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"tracking_request\",\n \"attributes\": {\n \"request_number\": \"\",\n \"status\": \"created\",\n \"request_type\": \"booking_number\",\n \"scac\": \"\",\n \"created_at\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"tags\": [\n \"\",\n \"\"\n ],\n \"failed_reason\": \"booking_cancelled\",\n \"updated_at\": \"\",\n \"is_retrying\": \"\",\n \"retry_count\": \"\"\n },\n \"relationships\": {\n \"tracked_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"customer\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"party\"\n }\n }\n }\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { - "id": "cf19e2bd-715a-4be8-8813-b7cfae7a81c2", + "id": "c02ab7f5-52fe-4fa2-8cfc-d556809acdba", "name": "Unprocessable Entity", "originalRequest": { "url": { @@ -1867,7 +2044,7 @@ "_postman_previewlanguage": "json" }, { - "id": "a22a88e7-7ceb-4d31-87c9-d8b52e3ad6ba", + "id": "6ecdbcb4-7a52-4c5f-9081-362e33001357", "name": "Too Many Requests - You've hit the create tracking requests limit. Please try again in a minute.", "originalRequest": { "url": { @@ -1938,7 +2115,7 @@ } }, { - "id": "cc5ef3e5-f795-4ae6-968a-82c6c5038ad3", + "id": "888b0c2c-36f4-462c-9e2b-eb330c1d65d6", "name": "List tracking requests", "request": { "name": "List tracking requests", @@ -1970,7 +2147,7 @@ "type": "text/plain" }, "key": "filter[status]", - "value": "pending" + "value": "failed" }, { "disabled": false, @@ -2050,7 +2227,7 @@ }, "response": [ { - "id": "4fac7b8f-1315-482d-9f0e-8f8e30a6cbc0", + "id": "7a4b2aa7-7673-4e3b-8e34-af406ea4cb54", "name": "OK", "originalRequest": { "url": { @@ -2077,7 +2254,7 @@ "type": "text/plain" }, "key": "filter[status]", - "value": "pending" + "value": "failed" }, { "disabled": false, @@ -2170,12 +2347,12 @@ "value": "application/json" } ], - "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"tracking_request\",\n \"attributes\": {\n \"request_number\": \"\",\n \"status\": \"tracking_stopped\",\n \"request_type\": \"container\",\n \"scac\": \"\",\n \"created_at\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"tags\": [\n \"\",\n \"\"\n ],\n \"failed_reason\": \"unrecognized_response\",\n \"updated_at\": \"\",\n \"is_retrying\": \"\",\n \"retry_count\": \"\"\n },\n \"relationships\": {\n \"tracked_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"customer\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"party\"\n }\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"tracking_request\",\n \"attributes\": {\n \"request_number\": \"\",\n \"status\": \"awaiting_manifest\",\n \"request_type\": \"bill_of_lading\",\n \"scac\": \"\",\n \"created_at\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"tags\": [\n \"\",\n \"\"\n ],\n \"failed_reason\": null,\n \"updated_at\": \"\",\n \"is_retrying\": \"\",\n \"retry_count\": \"\"\n },\n \"relationships\": {\n \"tracked_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"customer\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"party\"\n }\n }\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n }\n ]\n}", + "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"tracking_request\",\n \"attributes\": {\n \"request_number\": \"\",\n \"status\": \"failed\",\n \"request_type\": \"bill_of_lading\",\n \"scac\": \"\",\n \"created_at\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"tags\": [\n \"\",\n \"\"\n ],\n \"failed_reason\": \"not_found\",\n \"updated_at\": \"\",\n \"is_retrying\": \"\",\n \"retry_count\": \"\"\n },\n \"relationships\": {\n \"tracked_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"customer\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"party\"\n }\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"tracking_request\",\n \"attributes\": {\n \"request_number\": \"\",\n \"status\": \"failed\",\n \"request_type\": \"bill_of_lading\",\n \"scac\": \"\",\n \"created_at\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"tags\": [\n \"\",\n \"\"\n ],\n \"failed_reason\": \"duplicate\",\n \"updated_at\": \"\",\n \"is_retrying\": \"\",\n \"retry_count\": \"\"\n },\n \"relationships\": {\n \"tracked_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"customer\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"party\"\n }\n }\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { - "id": "423ed82b-88f9-4172-8e91-690a93a2b592", + "id": "579da652-878f-41fc-84c7-0f62c84aa5d2", "name": "Not Found", "originalRequest": { "url": { @@ -2202,7 +2379,7 @@ "type": "text/plain" }, "key": "filter[status]", - "value": "pending" + "value": "failed" }, { "disabled": false, @@ -2306,7 +2483,7 @@ } }, { - "id": "8cd27526-82e5-45fd-ad31-4db4ca10ac1e", + "id": "95b53447-37c0-4342-b480-f3e12e8e0f50", "name": "Get a single tracking request", "request": { "name": "Get a single tracking request", @@ -2358,7 +2535,7 @@ }, "response": [ { - "id": "5ba6ecf9-8d5a-4490-8016-7b9272db5b28", + "id": "27f40dd1-9081-430f-81c4-725d5e511ba7", "name": "OK", "originalRequest": { "url": { @@ -2407,12 +2584,12 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"tracking_request\",\n \"attributes\": {\n \"request_number\": \"\",\n \"status\": \"created\",\n \"request_type\": \"bill_of_lading\",\n \"scac\": \"\",\n \"created_at\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"tags\": [\n \"\",\n \"\"\n ],\n \"failed_reason\": \"not_found\",\n \"updated_at\": \"\",\n \"is_retrying\": \"\",\n \"retry_count\": \"\"\n },\n \"relationships\": {\n \"tracked_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"customer\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"party\"\n }\n }\n }\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n }\n ]\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"tracking_request\",\n \"attributes\": {\n \"request_number\": \"\",\n \"status\": \"created\",\n \"request_type\": \"booking_number\",\n \"scac\": \"\",\n \"created_at\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"tags\": [\n \"\",\n \"\"\n ],\n \"failed_reason\": \"booking_cancelled\",\n \"updated_at\": \"\",\n \"is_retrying\": \"\",\n \"retry_count\": \"\"\n },\n \"relationships\": {\n \"tracked_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"customer\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"party\"\n }\n }\n }\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n },\n {\n \"id\": \"\",\n \"type\": \"container\",\n \"attributes\": {\n \"company_name\": \"\"\n }\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { - "id": "fdc42544-506e-4be4-ae72-afe0dad8b044", + "id": "8a891616-e0ca-4d7f-a910-11c3db06e881", "name": "Not Found", "originalRequest": { "url": { @@ -2472,7 +2649,7 @@ } }, { - "id": "91842574-6917-4a61-82d8-58bf7e629604", + "id": "12b20432-1bce-4560-929e-e31a2ae48bcb", "name": "Edit a tracking request", "request": { "name": "Edit a tracking request", @@ -2515,7 +2692,7 @@ "method": "PATCH", "body": { "mode": "raw", - "raw": "{\n \"data\": {\n \"attributes\": {\n \"ref_number\": \"\"\n },\n \"type\": 8411.224044762535\n }\n}", + "raw": "{\n \"data\": {\n \"attributes\": {\n \"ref_number\": \"\"\n },\n \"type\": true\n }\n}", "options": { "raw": { "headerFamily": "json", @@ -2527,7 +2704,7 @@ }, "response": [ { - "id": "8c191c16-7e72-44b1-865d-81c208f7a461", + "id": "c9c2ee1a-8975-454c-9747-cfe6bc9e24f0", "name": "OK", "originalRequest": { "url": { @@ -2562,7 +2739,7 @@ "method": "PATCH", "body": { "mode": "raw", - "raw": "{\n \"data\": {\n \"attributes\": {\n \"ref_number\": \"\"\n },\n \"type\": 8411.224044762535\n }\n}", + "raw": "{\n \"data\": {\n \"attributes\": {\n \"ref_number\": \"\"\n },\n \"type\": true\n }\n}", "options": { "raw": { "headerFamily": "json", @@ -2579,7 +2756,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"tracking_request\",\n \"attributes\": {\n \"request_number\": \"\",\n \"status\": \"created\",\n \"request_type\": \"booking_number\",\n \"scac\": \"\",\n \"created_at\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"tags\": [\n \"\",\n \"\"\n ],\n \"failed_reason\": \"retries_exhausted\",\n \"updated_at\": \"\",\n \"is_retrying\": \"\",\n \"retry_count\": \"\"\n },\n \"relationships\": {\n \"tracked_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"customer\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"party\"\n }\n }\n }\n }\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"tracking_request\",\n \"attributes\": {\n \"request_number\": \"\",\n \"status\": \"pending\",\n \"request_type\": \"bill_of_lading\",\n \"scac\": \"\",\n \"created_at\": \"\",\n \"ref_numbers\": [\n \"\",\n \"\"\n ],\n \"tags\": [\n \"\",\n \"\"\n ],\n \"failed_reason\": \"not_found\",\n \"updated_at\": \"\",\n \"is_retrying\": \"\",\n \"retry_count\": \"\"\n },\n \"relationships\": {\n \"tracked_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"shipment\"\n }\n },\n \"customer\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"party\"\n }\n }\n }\n }\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -2596,7 +2773,7 @@ "description": "", "item": [ { - "id": "bbe1a001-dc3f-4c1a-99b9-079d9bd12a3d", + "id": "2eed621a-9824-4d3d-840e-a7ab6fd8a30d", "name": "Get single webhook", "request": { "name": "Get single webhook", @@ -2638,7 +2815,7 @@ }, "response": [ { - "id": "e7b88eb3-c223-4f29-9c22-10bc8900ed96", + "id": "bfc219d9-9860-4d52-86c0-c24be35caccc", "name": "OK", "originalRequest": { "url": { @@ -2677,7 +2854,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.full_out\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.transshipment_loaded\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -2688,7 +2865,7 @@ } }, { - "id": "bb8578e6-48bf-4d42-bd3f-03078c239f3c", + "id": "62bef451-7b6b-46cc-a006-4d5da1953353", "name": "Edit a webhook", "request": { "name": "Edit a webhook", @@ -2731,7 +2908,7 @@ "method": "PATCH", "body": { "mode": "raw", - "raw": "{\n \"data\": {\n \"attributes\": {\n \"url\": \"\",\n \"events\": [\n \"container.transport.vessel_berthed\"\n ],\n \"active\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n },\n \"type\": \"webhook\"\n }\n}", + "raw": "{\n \"data\": {\n \"attributes\": {\n \"url\": \"\",\n \"events\": [\n \"container.transport.full_in\"\n ],\n \"active\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n },\n \"type\": \"webhook\"\n }\n}", "options": { "raw": { "headerFamily": "json", @@ -2743,7 +2920,7 @@ }, "response": [ { - "id": "d07559b9-5b23-4187-8c23-6d64aaeb65ce", + "id": "ed006004-8a87-47be-ad2f-71d3be221167", "name": "OK", "originalRequest": { "url": { @@ -2778,7 +2955,7 @@ "method": "PATCH", "body": { "mode": "raw", - "raw": "{\n \"data\": {\n \"attributes\": {\n \"url\": \"\",\n \"events\": [\n \"container.transport.vessel_berthed\"\n ],\n \"active\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n },\n \"type\": \"webhook\"\n }\n}", + "raw": "{\n \"data\": {\n \"attributes\": {\n \"url\": \"\",\n \"events\": [\n \"container.transport.full_in\"\n ],\n \"active\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n },\n \"type\": \"webhook\"\n }\n}", "options": { "raw": { "headerFamily": "json", @@ -2795,7 +2972,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.full_out\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.transshipment_loaded\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -2806,7 +2983,7 @@ } }, { - "id": "6030a919-a80a-4a2b-a1bb-0c7713886260", + "id": "ae0984df-5491-4a29-beb6-31fb78adb82d", "name": "Delete a webhook", "request": { "name": "Delete a webhook", @@ -2842,7 +3019,7 @@ }, "response": [ { - "id": "2d4457a2-3381-40c2-963d-9066b0d945dc", + "id": "f9d5c165-5391-4e7c-8958-7aec23e16669", "name": "OK", "originalRequest": { "url": { @@ -2882,7 +3059,7 @@ } }, { - "id": "5b20414e-ba99-44f1-9a45-bb3d4eb413ba", + "id": "4b1162c7-8566-4863-ad48-12b104f3f4c8", "name": "List webhooks", "request": { "name": "List webhooks", @@ -2931,7 +3108,7 @@ }, "response": [ { - "id": "71762ddc-5b2f-4f25-80fc-2c142b6c0937", + "id": "0b389fea-f822-4568-b128-ed0b23353b31", "name": "OK", "originalRequest": { "url": { @@ -2988,7 +3165,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.pod_terminal_changed\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.rail_arrived\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n ],\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n },\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n }\n}", + "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.vessel_departed\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.vessel_berthed\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n ],\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n },\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n }\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -2999,7 +3176,7 @@ } }, { - "id": "0581659f-be2e-4c7f-8ea9-8adc6b156e9e", + "id": "a608e8bf-9ca8-46e6-81ef-a1cb7e76b99d", "name": "Create a webhook", "request": { "name": "Create a webhook", @@ -3030,7 +3207,7 @@ "method": "POST", "body": { "mode": "raw", - "raw": "{\n \"data\": {\n \"attributes\": {\n \"url\": \"\",\n \"active\": \"\",\n \"events\": [\n \"container.transport.transshipment_departed\"\n ],\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n },\n \"type\": \"webhook\"\n }\n}", + "raw": "{\n \"data\": {\n \"attributes\": {\n \"url\": \"\",\n \"active\": \"\",\n \"events\": [\n \"container.transport.feeder_arrived\"\n ],\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n },\n \"type\": \"webhook\"\n }\n}", "options": { "raw": { "headerFamily": "json", @@ -3042,7 +3219,7 @@ }, "response": [ { - "id": "9259df73-ac58-4a42-9b4b-ff49aef8c4b9", + "id": "bde749a3-00ee-46a5-bdb0-047a5ffd2544", "name": "Create a test webhook endpoint", "originalRequest": { "url": { @@ -3076,7 +3253,7 @@ "method": "POST", "body": { "mode": "raw", - "raw": "{\n \"data\": {\n \"attributes\": {\n \"url\": \"\",\n \"active\": \"\",\n \"events\": [\n \"container.transport.transshipment_departed\"\n ],\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n },\n \"type\": \"webhook\"\n }\n}", + "raw": "{\n \"data\": {\n \"attributes\": {\n \"url\": \"\",\n \"active\": \"\",\n \"events\": [\n \"container.transport.feeder_arrived\"\n ],\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n },\n \"type\": \"webhook\"\n }\n}", "options": { "raw": { "headerFamily": "json", @@ -3093,7 +3270,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.full_out\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.transshipment_loaded\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -3104,7 +3281,7 @@ } }, { - "id": "666a14bc-2c3d-45d1-96d4-a7456dac7053", + "id": "4ec3df34-7b4e-4d80-87da-2e710824967a", "name": "List webhook IPs", "request": { "name": "List webhook IPs", @@ -3135,7 +3312,7 @@ }, "response": [ { - "id": "84c5c8df-e4fd-4d61-90c5-c8b0f12a4136", + "id": "7823de00-527f-49f4-8daf-7cd589c0170a", "name": "OK", "originalRequest": { "url": { @@ -3191,7 +3368,7 @@ "description": "", "item": [ { - "id": "41983e19-298d-4cd4-8922-aeaa328e7ca7", + "id": "4b5e01c7-8bab-47cc-b73a-09bd476114d1", "name": "Get a single webhook notification", "request": { "name": "Get a single webhook notification", @@ -3243,7 +3420,7 @@ }, "response": [ { - "id": "2e4e95bf-08ca-451f-93e7-ddd5d475f39d", + "id": "1215df3a-bc5d-4dbc-b01b-f7cb25d23181", "originalRequest": { "url": { "path": [ @@ -3291,7 +3468,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook_notification\",\n \"attributes\": {\n \"event\": \"tracking_request.succeeded\",\n \"delivery_status\": \"pending\",\n \"created_at\": \"\"\n },\n \"relationships\": {\n \"webhook\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\"\n }\n },\n \"reference_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"tracking_request\"\n }\n }\n }\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.vessel_discharged\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.available\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n ]\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook_notification\",\n \"attributes\": {\n \"event\": \"container.transport.rail_unloaded\",\n \"delivery_status\": \"pending\",\n \"created_at\": \"\"\n },\n \"relationships\": {\n \"webhook\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\"\n }\n },\n \"reference_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"container_updated_event\"\n }\n }\n }\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.empty_in\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.full_in\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -3302,7 +3479,7 @@ } }, { - "id": "713e2dd0-3d7a-4e41-8ae1-1c032611a39c", + "id": "96a88d0f-4de6-45bd-9d08-80b3fcb96dd4", "name": "List webhook notifications", "request": { "name": "List webhook notifications", @@ -3360,7 +3537,7 @@ }, "response": [ { - "id": "cea6763a-b186-4f93-a6b2-f3d394ee32e2", + "id": "c83617dc-d07b-448f-a2d5-656950a88609", "name": "OK", "originalRequest": { "url": { @@ -3426,7 +3603,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"webhook_notification\",\n \"attributes\": {\n \"event\": \"container.transport.vessel_loaded\",\n \"delivery_status\": \"pending\",\n \"created_at\": \"\"\n },\n \"relationships\": {\n \"webhook\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\"\n }\n },\n \"reference_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook_notification\",\n \"attributes\": {\n \"event\": \"container.transport.transshipment_departed\",\n \"delivery_status\": \"pending\",\n \"created_at\": \"\"\n },\n \"relationships\": {\n \"webhook\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\"\n }\n },\n \"reference_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n }\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.vessel_berthed\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.full_out\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n ]\n}", + "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"webhook_notification\",\n \"attributes\": {\n \"event\": \"container.transport.transshipment_discharged\",\n \"delivery_status\": \"pending\",\n \"created_at\": \"\"\n },\n \"relationships\": {\n \"webhook\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\"\n }\n },\n \"reference_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"container_updated_event\"\n }\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook_notification\",\n \"attributes\": {\n \"event\": \"container.transport.vessel_loaded\",\n \"delivery_status\": \"pending\",\n \"created_at\": \"\"\n },\n \"relationships\": {\n \"webhook\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\"\n }\n },\n \"reference_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n }\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.transshipment_loaded\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.vessel_arrived\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -3437,7 +3614,7 @@ } }, { - "id": "429e3270-5e4e-4c5d-a828-92e5ecabcfec", + "id": "0e1fbffd-7699-434b-b559-7da8b7deef62", "name": "Get webhook notification payload examples", "request": { "name": "Get webhook notification payload examples", @@ -3461,7 +3638,7 @@ "type": "text/plain" }, "key": "event", - "value": "container.transport.transshipment_arrived" + "value": "container.transport.vessel_discharged" } ], "variable": [] @@ -3478,7 +3655,7 @@ }, "response": [ { - "id": "70e15505-3abc-4a62-b3bf-eee51b9a8cee", + "id": "60be08f0-9a5e-4a8e-b4c2-aff91feadf4c", "name": "OK", "originalRequest": { "url": { @@ -3497,7 +3674,7 @@ "type": "text/plain" }, "key": "event", - "value": "container.transport.transshipment_arrived" + "value": "container.transport.vessel_discharged" } ], "variable": [] @@ -3527,7 +3704,7 @@ "value": "application/json" } ], - "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"webhook_notification\",\n \"attributes\": {\n \"event\": \"container.transport.vessel_loaded\",\n \"delivery_status\": \"pending\",\n \"created_at\": \"\"\n },\n \"relationships\": {\n \"webhook\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\"\n }\n },\n \"reference_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook_notification\",\n \"attributes\": {\n \"event\": \"container.transport.transshipment_departed\",\n \"delivery_status\": \"pending\",\n \"created_at\": \"\"\n },\n \"relationships\": {\n \"webhook\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\"\n }\n },\n \"reference_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n }\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.vessel_berthed\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.full_out\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n ]\n}", + "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"type\": \"webhook_notification\",\n \"attributes\": {\n \"event\": \"container.transport.transshipment_discharged\",\n \"delivery_status\": \"pending\",\n \"created_at\": \"\"\n },\n \"relationships\": {\n \"webhook\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\"\n }\n },\n \"reference_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"container_updated_event\"\n }\n }\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook_notification\",\n \"attributes\": {\n \"event\": \"container.transport.vessel_loaded\",\n \"delivery_status\": \"pending\",\n \"created_at\": \"\"\n },\n \"relationships\": {\n \"webhook\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"webhook\"\n }\n },\n \"reference_object\": {\n \"data\": {\n \"id\": \"\",\n \"type\": \"transport_event\"\n }\n }\n }\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n },\n \"meta\": {\n \"size\": \"\",\n \"total\": \"\"\n },\n \"included\": [\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.transshipment_loaded\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n },\n {\n \"id\": \"\",\n \"type\": \"webhook\",\n \"attributes\": {\n \"url\": \"\",\n \"active\": true,\n \"events\": [\n \"container.transport.vessel_arrived\"\n ],\n \"secret\": \"\",\n \"headers\": [\n {\n \"name\": \"\",\n \"value\": \"\"\n },\n {\n \"name\": \"\",\n \"value\": \"\"\n }\n ]\n }\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" } @@ -3544,7 +3721,7 @@ "description": "", "item": [ { - "id": "c9c8ace6-c04e-4da8-aee5-b451b125954f", + "id": "fc8d6f8f-5b59-4115-894a-6e3c20be3d30", "name": "Get a port using the locode or the id", "request": { "name": "Get a port using the locode or the id", @@ -3586,7 +3763,7 @@ }, "response": [ { - "id": "84ee9186-9053-4624-b30c-42fd4111c7c1", + "id": "feea18ac-c661-4af0-8be7-c237e9118ce5", "name": "OK", "originalRequest": { "url": { @@ -3642,7 +3819,7 @@ "description": "", "item": [ { - "id": "7393d011-34c3-4a47-8ade-42f37a157520", + "id": "4668809d-6ec8-41e2-b6c0-a8c46875fc09", "name": "Get a metro area using the un/locode or the id", "request": { "name": "Get a metro area using the un/locode or the id", @@ -3684,7 +3861,7 @@ }, "response": [ { - "id": "ca463633-f9c7-46b4-970e-fc04f4ed6683", + "id": "023599f1-6376-42af-be3b-fb6d6349bb13", "name": "OK", "originalRequest": { "url": { @@ -3740,7 +3917,7 @@ "description": "", "item": [ { - "id": "71a82348-0244-48d5-b304-8514d96c5fff", + "id": "716a92c1-8441-4a4b-b6aa-34df3b81c68c", "name": "Get a terminal using the id", "request": { "name": "Get a terminal using the id", @@ -3782,7 +3959,7 @@ }, "response": [ { - "id": "9ac17ff6-e1f4-4d0d-84e8-5ad774e3b53f", + "id": "bf4d7dd8-cf26-4e54-9dd0-f0f57d15e6f6", "name": "OK", "originalRequest": { "url": { @@ -3838,7 +4015,7 @@ "description": "", "item": [ { - "id": "80411dd2-d20e-4ab5-bd47-343701e0d590", + "id": "55e3485b-7a94-484f-8f9e-37adc3697ec5", "name": "Get container route", "request": { "name": "Get container route", @@ -3881,7 +4058,7 @@ }, "response": [ { - "id": "5181895c-47b0-41b5-8e71-dbc352f90a43", + "id": "12920c78-c02d-4a05-a8a6-6ac79ec0a58c", "name": "OK", "originalRequest": { "url": { @@ -3926,7 +4103,7 @@ "_postman_previewlanguage": "json" }, { - "id": "335be4c2-24e2-4159-808c-704d49253008", + "id": "5b1d125a-6f90-4aba-afcc-1a5b352cfa2e", "name": "Forbidden - Routing data feature is not enabled for this account", "originalRequest": { "url": { @@ -3977,7 +4154,7 @@ } }, { - "id": "568a817f-cc9a-4da8-9ce9-68d594a27442", + "id": "9f56c1e4-f463-4103-89b3-d8aeacc46383", "name": "Get vessel future positions", "request": { "name": "Get vessel future positions", @@ -4039,7 +4216,7 @@ }, "response": [ { - "id": "59035b04-09be-4b61-9927-84c877c9f5e2", + "id": "fa6d85b4-b092-4f98-ac69-a0992d41286f", "name": "OK", "originalRequest": { "url": { @@ -4103,7 +4280,7 @@ "_postman_previewlanguage": "json" }, { - "id": "f5c08d74-19b6-4279-84c0-908588979a1a", + "id": "bff94576-aeb0-4541-9d15-ddb0f28916c3", "name": "Forbidden - Routing data feature is not enabled for this account", "originalRequest": { "url": { @@ -4173,7 +4350,7 @@ } }, { - "id": "6ff42c92-c095-4a0f-9270-bcc3844aa10d", + "id": "cd4b9a6d-71a8-43de-b3a0-449f9e90f0f7", "name": "Get vessel future positions from coordinates", "request": { "name": "Get vessel future positions from coordinates", @@ -4253,7 +4430,7 @@ }, "response": [ { - "id": "fade7837-51ff-4644-84ec-f89d482030d5", + "id": "b1de379b-d14d-4a47-b484-8ff9b461b499", "name": "OK", "originalRequest": { "url": { @@ -4335,7 +4512,7 @@ "_postman_previewlanguage": "json" }, { - "id": "53ef7681-7e20-476a-989f-3e5f8130c9eb", + "id": "891bec7e-1303-42f5-a221-38418c9ceb1e", "name": "Forbidden - Routing data feature is not enabled for this account", "originalRequest": { "url": { @@ -4425,27 +4602,58 @@ ] }, { - "name": "Shipping Lines", + "name": "Vessels", "description": "", "item": [ { - "id": "86a2150b-dc3a-4574-bac5-d5a4ada787ae", - "name": "Shipping Lines", + "id": "52759279-76a3-4d5c-83d2-f7e4808ccf29", + "name": "Get a vessel using the id", "request": { - "name": "Shipping Lines", + "name": "Get a vessel using the id", "description": { - "content": "Return a list of shipping lines supported by Terminal49. \nN.B. There is no pagination for this endpoint.", + "content": "Returns a vessel by id. `show_positions` is a paid feature. Please contact sales@terminal49.com.", "type": "text/plain" }, "url": { "path": [ - "shipping_lines" + "vessels", + ":id" ], "host": [ "{{baseUrl}}" ], - "query": [], - "variable": [] + "query": [ + { + "disabled": false, + "description": { + "content": "ISO 8601 timestamp to filter positions from. 7 days by default.", + "type": "text/plain" + }, + "key": "show_positions[from_timestamp]", + "value": "" + }, + { + "disabled": false, + "description": { + "content": "ISO 8601 timestamp to filter positions up to. Current time by default.", + "type": "text/plain" + }, + "key": "show_positions[to_timestamp]", + "value": "" + } + ], + "variable": [ + { + "type": "any", + "value": "", + "key": "id", + "disabled": false, + "description": { + "content": "(Required) ", + "type": "text/plain" + } + } + ] }, "header": [ { @@ -4459,17 +4667,37 @@ }, "response": [ { - "id": "c9007e7e-8240-4bbc-a796-2e1afc45cb3a", + "id": "825d5b5b-9aa0-4d79-b454-715bb3697461", "name": "OK", "originalRequest": { "url": { "path": [ - "shipping_lines" + "vessels", + ":id" ], "host": [ "{{baseUrl}}" ], - "query": [], + "query": [ + { + "disabled": false, + "description": { + "content": "ISO 8601 timestamp to filter positions from. 7 days by default.", + "type": "text/plain" + }, + "key": "show_positions[from_timestamp]", + "value": "" + }, + { + "disabled": false, + "description": { + "content": "ISO 8601 timestamp to filter positions up to. Current time by default.", + "type": "text/plain" + }, + "key": "show_positions[to_timestamp]", + "value": "" + } + ], "variable": [] }, "header": [ @@ -4497,240 +4725,12 @@ "value": "application/json" } ], - "body": "{\n \"data\": [\n {\n \"id\": \"\",\n \"attributes\": {\n \"scac\": \"\",\n \"name\": \"\",\n \"alternative_scacs\": [\n \"\",\n \"\"\n ],\n \"short_name\": \"\",\n \"bill_of_lading_tracking_support\": \"\",\n \"booking_number_tracking_support\": \"\",\n \"container_number_tracking_support\": \"\"\n },\n \"type\": \"shipping_line\"\n },\n {\n \"id\": \"\",\n \"attributes\": {\n \"scac\": \"\",\n \"name\": \"\",\n \"alternative_scacs\": [\n \"\",\n \"\"\n ],\n \"short_name\": \"\",\n \"bill_of_lading_tracking_support\": \"\",\n \"booking_number_tracking_support\": \"\",\n \"container_number_tracking_support\": \"\"\n },\n \"type\": \"shipping_line\"\n }\n ],\n \"links\": {\n \"last\": \"\",\n \"next\": \"\",\n \"prev\": \"\",\n \"first\": \"\",\n \"self\": \"\"\n }\n}", + "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"vessel\",\n \"attributes\": {\n \"name\": \"\",\n \"imo\": \"\",\n \"mmsi\": \"\",\n \"latitude\": \"\",\n \"longitude\": \"\",\n \"nautical_speed_knots\": \"\",\n \"navigational_heading_degrees\": \"\",\n \"position_timestamp\": \"\",\n \"positions\": [\n {\n \"latitude\": \"\",\n \"longitude\": \"\",\n \"heading\": \"\",\n \"timestamp\": \"\",\n \"estimated\": \"\"\n },\n {\n \"latitude\": \"\",\n \"longitude\": \"\",\n \"heading\": \"\",\n \"timestamp\": \"\",\n \"estimated\": \"\"\n }\n ]\n }\n }\n}", "cookie": [], "_postman_previewlanguage": "json" - } - ], - "event": [], - "protocolProfileBehavior": { - "disableBodyPruning": true - } - }, - { - "id": "dbdfbd50-9fa2-4a8c-9862-c723369b30d1", - "name": "Get a single shipping line", - "request": { - "name": "Get a single shipping line", - "description": { - "content": "Return the details of a single shipping line.", - "type": "text/plain" }, - "url": { - "path": [ - "shipping_lines", - ":id" - ], - "host": [ - "{{baseUrl}}" - ], - "query": [], - "variable": [ - { - "type": "any", - "value": "", - "key": "id", - "disabled": false, - "description": { - "content": "(Required) ", - "type": "text/plain" - } - } - ] - }, - "header": [ - { - "key": "Accept", - "value": "application/json" - } - ], - "method": "GET", - "body": {}, - "auth": null - }, - "response": [ { - "id": "ac5c3290-6d46-4a8a-b914-e7f97524a128", - "name": "OK", - "originalRequest": { - "url": { - "path": [ - "shipping_lines", - ":id" - ], - "host": [ - "{{baseUrl}}" - ], - "query": [], - "variable": [] - }, - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "description": { - "content": "Added as a part of security scheme: apikey", - "type": "text/plain" - }, - "key": "Authorization", - "value": "" - } - ], - "method": "GET", - "body": {} - }, - "status": "OK", - "code": 200, - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"attributes\": {\n \"scac\": \"\",\n \"name\": \"\",\n \"alternative_scacs\": [\n \"\",\n \"\"\n ],\n \"short_name\": \"\",\n \"bill_of_lading_tracking_support\": \"\",\n \"booking_number_tracking_support\": \"\",\n \"container_number_tracking_support\": \"\"\n },\n \"type\": \"shipping_line\"\n }\n}", - "cookie": [], - "_postman_previewlanguage": "json" - } - ], - "event": [], - "protocolProfileBehavior": { - "disableBodyPruning": true - } - } - ] - }, - { - "name": "Vessels", - "description": "", - "item": [ - { - "id": "277fc3bc-1f3b-424e-be34-e0dedbe97592", - "name": "Get a vessel using the id", - "request": { - "name": "Get a vessel using the id", - "description": { - "content": "Returns a vessel by id. `show_positions` is a paid feature. Please contact sales@terminal49.com.", - "type": "text/plain" - }, - "url": { - "path": [ - "vessels", - ":id" - ], - "host": [ - "{{baseUrl}}" - ], - "query": [ - { - "disabled": false, - "description": { - "content": "ISO 8601 timestamp to filter positions from. 7 days by default.", - "type": "text/plain" - }, - "key": "show_positions[from_timestamp]", - "value": "" - }, - { - "disabled": false, - "description": { - "content": "ISO 8601 timestamp to filter positions up to. Current time by default.", - "type": "text/plain" - }, - "key": "show_positions[to_timestamp]", - "value": "" - } - ], - "variable": [ - { - "type": "any", - "value": "", - "key": "id", - "disabled": false, - "description": { - "content": "(Required) ", - "type": "text/plain" - } - } - ] - }, - "header": [ - { - "key": "Accept", - "value": "application/json" - } - ], - "method": "GET", - "body": {}, - "auth": null - }, - "response": [ - { - "id": "fffa1a09-2a7c-4a44-8064-b1b01fcf0934", - "name": "OK", - "originalRequest": { - "url": { - "path": [ - "vessels", - ":id" - ], - "host": [ - "{{baseUrl}}" - ], - "query": [ - { - "disabled": false, - "description": { - "content": "ISO 8601 timestamp to filter positions from. 7 days by default.", - "type": "text/plain" - }, - "key": "show_positions[from_timestamp]", - "value": "" - }, - { - "disabled": false, - "description": { - "content": "ISO 8601 timestamp to filter positions up to. Current time by default.", - "type": "text/plain" - }, - "key": "show_positions[to_timestamp]", - "value": "" - } - ], - "variable": [] - }, - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "description": { - "content": "Added as a part of security scheme: apikey", - "type": "text/plain" - }, - "key": "Authorization", - "value": "" - } - ], - "method": "GET", - "body": {} - }, - "status": "OK", - "code": 200, - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"vessel\",\n \"attributes\": {\n \"name\": \"\",\n \"imo\": \"\",\n \"mmsi\": \"\",\n \"latitude\": \"\",\n \"longitude\": \"\",\n \"nautical_speed_knots\": \"\",\n \"navigational_heading_degrees\": \"\",\n \"position_timestamp\": \"\",\n \"positions\": [\n {\n \"latitude\": \"\",\n \"longitude\": \"\",\n \"heading\": \"\",\n \"timestamp\": \"\",\n \"estimated\": \"\"\n },\n {\n \"latitude\": \"\",\n \"longitude\": \"\",\n \"heading\": \"\",\n \"timestamp\": \"\",\n \"estimated\": \"\"\n }\n ]\n }\n }\n}", - "cookie": [], - "_postman_previewlanguage": "json" - }, - { - "id": "0a6a6410-29d3-442e-ade6-f02477e7c527", + "id": "31544e6f-61c1-42bb-9709-3a809bf6c35d", "name": "Forbidden - Feature not enabled", "originalRequest": { "url": { @@ -4799,200 +4799,7 @@ } }, { - "id": "d345c694-bac3-4b82-b37a-f751e2787130", - "name": "Get a vessel using the imo", - "request": { - "name": "Get a vessel using the imo", - "description": { - "content": "Returns a vessel by the given IMO number. `show_positions` is a paid feature. Please contact sales@terminal49.com.", - "type": "text/plain" - }, - "url": { - "path": [ - "vessels", - ":imo" - ], - "host": [ - "{{baseUrl}}" - ], - "query": [ - { - "disabled": false, - "description": { - "content": "ISO 8601 timestamp to filter positions from. 7 days by default.", - "type": "text/plain" - }, - "key": "show_positions[from_timestamp]", - "value": "" - }, - { - "disabled": false, - "description": { - "content": "ISO 8601 timestamp to filter positions up to. Current time by default.", - "type": "text/plain" - }, - "key": "show_positions[to_timestamp]", - "value": "" - } - ], - "variable": [ - { - "type": "any", - "value": "", - "key": "imo", - "disabled": false, - "description": { - "content": "(Required) ", - "type": "text/plain" - } - } - ] - }, - "header": [ - { - "key": "Accept", - "value": "application/json" - } - ], - "method": "GET", - "body": {}, - "auth": null - }, - "response": [ - { - "id": "e54542e9-8770-48b2-b778-ceda06446c54", - "name": "OK", - "originalRequest": { - "url": { - "path": [ - "vessels", - ":imo" - ], - "host": [ - "{{baseUrl}}" - ], - "query": [ - { - "disabled": false, - "description": { - "content": "ISO 8601 timestamp to filter positions from. 7 days by default.", - "type": "text/plain" - }, - "key": "show_positions[from_timestamp]", - "value": "" - }, - { - "disabled": false, - "description": { - "content": "ISO 8601 timestamp to filter positions up to. Current time by default.", - "type": "text/plain" - }, - "key": "show_positions[to_timestamp]", - "value": "" - } - ], - "variable": [] - }, - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "description": { - "content": "Added as a part of security scheme: apikey", - "type": "text/plain" - }, - "key": "Authorization", - "value": "" - } - ], - "method": "GET", - "body": {} - }, - "status": "OK", - "code": 200, - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": "{\n \"data\": {\n \"id\": \"\",\n \"type\": \"vessel\",\n \"attributes\": {\n \"name\": \"\",\n \"imo\": \"\",\n \"mmsi\": \"\",\n \"latitude\": \"\",\n \"longitude\": \"\",\n \"nautical_speed_knots\": \"\",\n \"navigational_heading_degrees\": \"\",\n \"position_timestamp\": \"\",\n \"positions\": [\n {\n \"latitude\": \"\",\n \"longitude\": \"\",\n \"heading\": \"\",\n \"timestamp\": \"\",\n \"estimated\": \"\"\n },\n {\n \"latitude\": \"\",\n \"longitude\": \"\",\n \"heading\": \"\",\n \"timestamp\": \"\",\n \"estimated\": \"\"\n }\n ]\n }\n }\n}", - "cookie": [], - "_postman_previewlanguage": "json" - }, - { - "id": "4a42a498-62d7-4b00-a5cb-4ab48477d240", - "name": "Forbidden - Feature not enabled", - "originalRequest": { - "url": { - "path": [ - "vessels", - ":imo" - ], - "host": [ - "{{baseUrl}}" - ], - "query": [ - { - "disabled": false, - "description": { - "content": "ISO 8601 timestamp to filter positions from. 7 days by default.", - "type": "text/plain" - }, - "key": "show_positions[from_timestamp]", - "value": "" - }, - { - "disabled": false, - "description": { - "content": "ISO 8601 timestamp to filter positions up to. Current time by default.", - "type": "text/plain" - }, - "key": "show_positions[to_timestamp]", - "value": "" - } - ], - "variable": [] - }, - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "description": { - "content": "Added as a part of security scheme: apikey", - "type": "text/plain" - }, - "key": "Authorization", - "value": "" - } - ], - "method": "GET", - "body": {} - }, - "status": "Forbidden", - "code": 403, - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": "{\n \"errors\": [\n {\n \"status\": \"\",\n \"source\": {},\n \"title\": \"\",\n \"detail\": \"\"\n },\n {\n \"status\": \"\",\n \"source\": {},\n \"title\": \"\",\n \"detail\": \"\"\n }\n ]\n}", - "cookie": [], - "_postman_previewlanguage": "json" - } - ], - "event": [], - "protocolProfileBehavior": { - "disableBodyPruning": true - } - }, - { - "id": "8c299763-bd6d-4bad-974c-210d803b1435", + "id": "a354ffa8-27eb-4865-ac73-32361dddd593", "name": "Get vessel future positions", "request": { "name": "Get vessel future positions", @@ -5054,7 +4861,7 @@ }, "response": [ { - "id": "fccec457-db9e-45b8-b1c3-2d6f88616604", + "id": "7d55e340-f144-413d-83c7-100b52df9f4f", "name": "OK", "originalRequest": { "url": { @@ -5118,7 +4925,7 @@ "_postman_previewlanguage": "json" }, { - "id": "2549bf40-2317-45bc-9b47-747eb97d06e8", + "id": "b7f02ae1-a5fa-4213-8da7-0c28c5cff8f1", "name": "Forbidden - Routing data feature is not enabled for this account", "originalRequest": { "url": { @@ -5188,7 +4995,7 @@ } }, { - "id": "71cf899c-5135-4ac7-9547-2148bfe5ba2c", + "id": "c885d6de-314f-4555-987d-c1c922332080", "name": "Get vessel future positions from coordinates", "request": { "name": "Get vessel future positions from coordinates", @@ -5268,7 +5075,7 @@ }, "response": [ { - "id": "2a53420f-c86d-42b7-b4a3-c63fd7ecf7d9", + "id": "4ffb6ba6-6fe5-4a41-a747-f25497612253", "name": "OK", "originalRequest": { "url": { @@ -5350,7 +5157,7 @@ "_postman_previewlanguage": "json" }, { - "id": "b74d9d21-48d8-4378-b8fc-f4a81b8a4611", + "id": "ea47d773-e731-439e-9a40-92a9056c8e97", "name": "Forbidden - Routing data feature is not enabled for this account", "originalRequest": { "url": { @@ -5444,7 +5251,7 @@ "description": "", "item": [ { - "id": "a4f58971-7e32-4556-b9c5-7ec2c04a6de2", + "id": "817bf242-5f38-404d-aea4-d49e22670dd8", "name": "list-parties", "request": { "name": "list-parties", @@ -5493,7 +5300,7 @@ }, "response": [ { - "id": "45e96957-6371-4d88-8325-289a4945e348", + "id": "89f037ea-095d-4a05-adff-5d1fd14b54aa", "name": "OK", "originalRequest": { "url": { @@ -5561,7 +5368,7 @@ } }, { - "id": "3aec52da-334f-4d06-ae2d-e0c187ae3322", + "id": "a814d5dc-7a3b-4186-8b5c-1debefdb5b50", "name": "post-party", "request": { "name": "post-party", @@ -5604,7 +5411,7 @@ }, "response": [ { - "id": "4a918e8a-8919-4de9-9b31-eda822178c3c", + "id": "eef49e36-ffff-4794-8031-3020feb9ca56", "name": "Party Created", "originalRequest": { "url": { @@ -5660,7 +5467,7 @@ "_postman_previewlanguage": "json" }, { - "id": "e4e1dee3-fb08-4375-896f-dce4235bf42a", + "id": "70b3d04e-219f-46ba-afc8-e63776f86e95", "name": "Unprocessable Entity", "originalRequest": { "url": { @@ -5722,7 +5529,7 @@ } }, { - "id": "1765308c-bcfb-4950-8485-7f8c6dacc1e7", + "id": "149c9836-2bbb-43a2-af13-8b40c9bd5d0c", "name": "get-parties-id", "request": { "name": "get-parties-id", @@ -5764,7 +5571,7 @@ }, "response": [ { - "id": "68b98449-2b80-48db-9d7e-2ce4133c769a", + "id": "d07d0c56-2123-4762-b809-ae1306eb62f9", "name": "OK", "originalRequest": { "url": { @@ -5814,7 +5621,7 @@ } }, { - "id": "6b33f3d4-4b31-4fc9-8040-c3a9402a6ddb", + "id": "e7a42c6a-2ea3-4d9f-9410-12b97f1b8aed", "name": "edit-party", "request": { "name": "edit-party", @@ -5869,7 +5676,7 @@ }, "response": [ { - "id": "d54dc38c-e94d-49e7-a2b5-5d1d99aa7dc6", + "id": "96e02e26-61ff-4013-86c4-78563c47c846", "name": "OK", "originalRequest": { "url": { @@ -5926,7 +5733,7 @@ "_postman_previewlanguage": "json" }, { - "id": "f22cff89-18f0-4031-b137-3aa901b8f033", + "id": "4246dab6-9e14-451a-bf62-7ed67df486d7", "name": "Unprocessable Entity", "originalRequest": { "url": { @@ -6019,7 +5826,7 @@ } ], "info": { - "_postman_id": "c5c5e55f-84c8-46f4-8df1-9df7b5e5d4b5", + "_postman_id": "ab64a03c-9b05-4e1d-a924-adefb1b32cbf", "name": "Terminal49 API Reference", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "description": { diff --git a/bun.lock b/bun.lock new file mode 100644 index 00000000..3288ee0d --- /dev/null +++ b/bun.lock @@ -0,0 +1,2333 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "terminal49-api-docs", + "devDependencies": { + "@redocly/cli": "^1.25.14", + "@stoplight/spectral-cli": "^6.13.1", + "chokidar-cli": "^3.0.0", + "mintlify": "^4.0.0", + }, + }, + }, + "packages": { + "@alcalzone/ansi-tokenize": ["@alcalzone/ansi-tokenize@0.2.1", "", { "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" } }, "sha512-0rJMGIohyuFVf/uq9wCTtVLmVs/+7zoCGYkj7T8igV3XMPpjaSspXx/JvD9zmGprPVsIVvVRYVCaBkEz+SvN9g=="], + + "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], + + "@ark/regex": ["@ark/regex@0.0.0", "", { "dependencies": { "@ark/util": "0.50.0" } }, "sha512-p4vsWnd/LRGOdGQglbwOguIVhPmCAf5UzquvnDoxqhhPWTP84wWgi1INea8MgJ4SnI2gp37f13oA4Waz9vwNYg=="], + + "@ark/schema": ["@ark/schema@0.50.0", "", { "dependencies": { "@ark/util": "0.50.0" } }, "sha512-hfmP82GltBZDadIOeR3argKNlYYyB2wyzHp0eeAqAOFBQguglMV/S7Ip2q007bRtKxIMLDqFY6tfPie1dtssaQ=="], + + "@ark/util": ["@ark/util@0.50.0", "", {}, "sha512-tIkgIMVRpkfXRQIEf0G2CJryZVtHVrqcWHMDa5QKo0OEEBu0tHkRSIMm4Ln8cd8Bn9TPZtvc/kE2Gma8RESPSg=="], + + "@asyncapi/parser": ["@asyncapi/parser@3.4.0", "", { "dependencies": { "@asyncapi/specs": "^6.8.0", "@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0", "@stoplight/json": "3.21.0", "@stoplight/json-ref-readers": "^1.2.2", "@stoplight/json-ref-resolver": "^3.1.5", "@stoplight/spectral-core": "^1.18.3", "@stoplight/spectral-functions": "^1.7.2", "@stoplight/spectral-parsers": "^1.0.2", "@stoplight/spectral-ref-resolver": "^1.0.3", "@stoplight/types": "^13.12.0", "@types/json-schema": "^7.0.11", "@types/urijs": "^1.19.19", "ajv": "^8.17.1", "ajv-errors": "^3.0.0", "ajv-formats": "^2.1.1", "avsc": "^5.7.5", "js-yaml": "^4.1.0", "jsonpath-plus": "^10.0.0", "node-fetch": "2.6.7" } }, "sha512-Sxn74oHiZSU6+cVeZy62iPZMFMvKp4jupMFHelSICCMw1qELmUHPvuZSr+ZHDmNGgHcEpzJM5HN02kR7T4g+PQ=="], + + "@asyncapi/specs": ["@asyncapi/specs@6.10.0", "", { "dependencies": { "@types/json-schema": "^7.0.11" } }, "sha512-vB5oKLsdrLUORIZ5BXortZTlVyGWWMC1Nud/0LtgxQ3Yn2738HigAD6EVqScvpPsDUI/bcLVsYEXN4dtXQHVng=="], + + "@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], + + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.27.1", "", {}, "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="], + + "@babel/runtime": ["@babel/runtime@7.28.4", "", {}, "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ=="], + + "@canvas/image-data": ["@canvas/image-data@1.1.0", "", {}, "sha512-QdObRRjRbcXGmM1tmJ+MrHcaz1MftF2+W7YI+MsphnsCrmtyfS0d5qJbk0MeSbUeyM/jCb0hmnkXPsy026L7dA=="], + + "@emnapi/runtime": ["@emnapi/runtime@1.6.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA=="], + + "@emotion/is-prop-valid": ["@emotion/is-prop-valid@1.2.2", "", { "dependencies": { "@emotion/memoize": "^0.8.1" } }, "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw=="], + + "@emotion/memoize": ["@emotion/memoize@0.8.1", "", {}, "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="], + + "@emotion/unitless": ["@emotion/unitless@0.8.1", "", {}, "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ=="], + + "@exodus/schemasafe": ["@exodus/schemasafe@1.3.0", "", {}, "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw=="], + + "@faker-js/faker": ["@faker-js/faker@7.6.0", "", {}, "sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw=="], + + "@floating-ui/core": ["@floating-ui/core@1.7.3", "", { "dependencies": { "@floating-ui/utils": "^0.2.10" } }, "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w=="], + + "@floating-ui/dom": ["@floating-ui/dom@1.7.4", "", { "dependencies": { "@floating-ui/core": "^1.7.3", "@floating-ui/utils": "^0.2.10" } }, "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA=="], + + "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.6", "", { "dependencies": { "@floating-ui/dom": "^1.7.4" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw=="], + + "@floating-ui/utils": ["@floating-ui/utils@0.2.10", "", {}, "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="], + + "@humanwhocodes/momoa": ["@humanwhocodes/momoa@2.0.4", "", {}, "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA=="], + + "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.0.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ=="], + + "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.0.4" }, "os": "darwin", "cpu": "x64" }, "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q=="], + + "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.0.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg=="], + + "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.0.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ=="], + + "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.0.5", "", { "os": "linux", "cpu": "arm" }, "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g=="], + + "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA=="], + + "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.0.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA=="], + + "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw=="], + + "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA=="], + + "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw=="], + + "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.0.5" }, "os": "linux", "cpu": "arm" }, "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ=="], + + "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA=="], + + "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.0.4" }, "os": "linux", "cpu": "s390x" }, "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q=="], + + "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA=="], + + "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g=="], + + "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw=="], + + "@img/sharp-wasm32": ["@img/sharp-wasm32@0.33.5", "", { "dependencies": { "@emnapi/runtime": "^1.2.0" }, "cpu": "none" }, "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg=="], + + "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.33.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ=="], + + "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.33.5", "", { "os": "win32", "cpu": "x64" }, "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg=="], + + "@inquirer/ansi": ["@inquirer/ansi@1.0.1", "", {}, "sha512-yqq0aJW/5XPhi5xOAL1xRCpe1eh8UFVgYFpFsjEqmIR8rKLyP+HINvFXwUaxYICflJrVlxnp7lLN6As735kVpw=="], + + "@inquirer/checkbox": ["@inquirer/checkbox@4.3.0", "", { "dependencies": { "@inquirer/ansi": "^1.0.1", "@inquirer/core": "^10.3.0", "@inquirer/figures": "^1.0.14", "@inquirer/type": "^3.0.9", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-5+Q3PKH35YsnoPTh75LucALdAxom6xh5D1oeY561x4cqBuH24ZFVyFREPe14xgnrtmGu3EEt1dIi60wRVSnGCw=="], + + "@inquirer/confirm": ["@inquirer/confirm@5.1.19", "", { "dependencies": { "@inquirer/core": "^10.3.0", "@inquirer/type": "^3.0.9" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-wQNz9cfcxrtEnUyG5PndC8g3gZ7lGDBzmWiXZkX8ot3vfZ+/BLjR8EvyGX4YzQLeVqtAlY/YScZpW7CW8qMoDQ=="], + + "@inquirer/core": ["@inquirer/core@10.3.0", "", { "dependencies": { "@inquirer/ansi": "^1.0.1", "@inquirer/figures": "^1.0.14", "@inquirer/type": "^3.0.9", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-Uv2aPPPSK5jeCplQmQ9xadnFx2Zhj9b5Dj7bU6ZeCdDNNY11nhYy4btcSdtDguHqCT2h5oNeQTcUNSGGLA7NTA=="], + + "@inquirer/editor": ["@inquirer/editor@4.2.21", "", { "dependencies": { "@inquirer/core": "^10.3.0", "@inquirer/external-editor": "^1.0.2", "@inquirer/type": "^3.0.9" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-MjtjOGjr0Kh4BciaFShYpZ1s9400idOdvQ5D7u7lE6VztPFoyLcVNE5dXBmEEIQq5zi4B9h2kU+q7AVBxJMAkQ=="], + + "@inquirer/expand": ["@inquirer/expand@4.0.21", "", { "dependencies": { "@inquirer/core": "^10.3.0", "@inquirer/type": "^3.0.9", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-+mScLhIcbPFmuvU3tAGBed78XvYHSvCl6dBiYMlzCLhpr0bzGzd8tfivMMeqND6XZiaZ1tgusbUHJEfc6YzOdA=="], + + "@inquirer/external-editor": ["@inquirer/external-editor@1.0.2", "", { "dependencies": { "chardet": "^2.1.0", "iconv-lite": "^0.7.0" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ=="], + + "@inquirer/figures": ["@inquirer/figures@1.0.14", "", {}, "sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ=="], + + "@inquirer/input": ["@inquirer/input@4.2.5", "", { "dependencies": { "@inquirer/core": "^10.3.0", "@inquirer/type": "^3.0.9" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-7GoWev7P6s7t0oJbenH0eQ0ThNdDJbEAEtVt9vsrYZ9FulIokvd823yLyhQlWHJPGce1wzP53ttfdCZmonMHyA=="], + + "@inquirer/number": ["@inquirer/number@3.0.21", "", { "dependencies": { "@inquirer/core": "^10.3.0", "@inquirer/type": "^3.0.9" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-5QWs0KGaNMlhbdhOSCFfKsW+/dcAVC2g4wT/z2MCiZM47uLgatC5N20kpkDQf7dHx+XFct/MJvvNGy6aYJn4Pw=="], + + "@inquirer/password": ["@inquirer/password@4.0.21", "", { "dependencies": { "@inquirer/ansi": "^1.0.1", "@inquirer/core": "^10.3.0", "@inquirer/type": "^3.0.9" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-xxeW1V5SbNFNig2pLfetsDb0svWlKuhmr7MPJZMYuDnCTkpVBI+X/doudg4pznc1/U+yYmWFFOi4hNvGgUo7EA=="], + + "@inquirer/prompts": ["@inquirer/prompts@7.9.0", "", { "dependencies": { "@inquirer/checkbox": "^4.3.0", "@inquirer/confirm": "^5.1.19", "@inquirer/editor": "^4.2.21", "@inquirer/expand": "^4.0.21", "@inquirer/input": "^4.2.5", "@inquirer/number": "^3.0.21", "@inquirer/password": "^4.0.21", "@inquirer/rawlist": "^4.1.9", "@inquirer/search": "^3.2.0", "@inquirer/select": "^4.4.0" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-X7/+dG9SLpSzRkwgG5/xiIzW0oMrV3C0HOa7YHG1WnrLK+vCQHfte4k/T80059YBdei29RBC3s+pSMvPJDU9/A=="], + + "@inquirer/rawlist": ["@inquirer/rawlist@4.1.9", "", { "dependencies": { "@inquirer/core": "^10.3.0", "@inquirer/type": "^3.0.9", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-AWpxB7MuJrRiSfTKGJ7Y68imYt8P9N3Gaa7ySdkFj1iWjr6WfbGAhdZvw/UnhFXTHITJzxGUI9k8IX7akAEBCg=="], + + "@inquirer/search": ["@inquirer/search@3.2.0", "", { "dependencies": { "@inquirer/core": "^10.3.0", "@inquirer/figures": "^1.0.14", "@inquirer/type": "^3.0.9", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-a5SzB/qrXafDX1Z4AZW3CsVoiNxcIYCzYP7r9RzrfMpaLpB+yWi5U8BWagZyLmwR0pKbbL5umnGRd0RzGVI8bQ=="], + + "@inquirer/select": ["@inquirer/select@4.4.0", "", { "dependencies": { "@inquirer/ansi": "^1.0.1", "@inquirer/core": "^10.3.0", "@inquirer/figures": "^1.0.14", "@inquirer/type": "^3.0.9", "yoctocolors-cjs": "^2.1.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-kaC3FHsJZvVyIjYBs5Ih8y8Bj4P/QItQWrZW22WJax7zTN+ZPXVGuOM55vzbdCP9zKUiBd9iEJVdesujfF+cAA=="], + + "@inquirer/type": ["@inquirer/type@3.0.9", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w=="], + + "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], + + "@jest/schemas": ["@jest/schemas@29.6.3", "", { "dependencies": { "@sinclair/typebox": "^0.27.8" } }, "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + + "@jsep-plugin/assignment": ["@jsep-plugin/assignment@1.3.0", "", { "peerDependencies": { "jsep": "^0.4.0||^1.0.0" } }, "sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ=="], + + "@jsep-plugin/regex": ["@jsep-plugin/regex@1.0.4", "", { "peerDependencies": { "jsep": "^0.4.0||^1.0.0" } }, "sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg=="], + + "@jsep-plugin/ternary": ["@jsep-plugin/ternary@1.1.4", "", { "peerDependencies": { "jsep": "^0.4.0||^1.0.0" } }, "sha512-ck5wiqIbqdMX6WRQztBL7ASDty9YLgJ3sSAK5ZpBzXeySvFGCzIvM6UiAI4hTZ22fEcYQVV/zhUbNscggW+Ukg=="], + + "@leichtgewicht/ip-codec": ["@leichtgewicht/ip-codec@2.0.5", "", {}, "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw=="], + + "@mdx-js/mdx": ["@mdx-js/mdx@3.1.1", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdx": "^2.0.0", "acorn": "^8.0.0", "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-util-scope": "^1.0.0", "estree-walker": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "markdown-extensions": "^2.0.0", "recma-build-jsx": "^1.0.0", "recma-jsx": "^1.0.0", "recma-stringify": "^1.0.0", "rehype-recma": "^1.0.0", "remark-mdx": "^3.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "source-map": "^0.7.0", "unified": "^11.0.0", "unist-util-position-from-estree": "^2.0.0", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ=="], + + "@mdx-js/react": ["@mdx-js/react@3.1.1", "", { "dependencies": { "@types/mdx": "^2.0.0" }, "peerDependencies": { "@types/react": ">=16", "react": ">=16" } }, "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw=="], + + "@mintlify/cli": ["@mintlify/cli@4.0.781", "", { "dependencies": { "@mintlify/common": "1.0.583", "@mintlify/link-rot": "3.0.724", "@mintlify/models": "0.0.236", "@mintlify/prebuild": "1.0.711", "@mintlify/previewing": "4.0.760", "@mintlify/validation": "0.1.507", "chalk": "^5.2.0", "color": "^4.2.3", "detect-port": "^1.5.1", "fs-extra": "^11.2.0", "gray-matter": "^4.0.3", "ink": "^6.0.1", "inquirer": "^12.3.0", "js-yaml": "^4.1.0", "mdast": "^3.0.0", "mdast-util-mdx-jsx": "^3.2.0", "react": "^19.1.0", "semver": "^7.7.2", "unist-util-visit": "^5.0.0", "yargs": "^17.6.0" }, "bin": { "mint": "bin/index.js", "mintlify": "bin/index.js" } }, "sha512-Td0XlzbCKIVBQh6wnDAvbRAsPle7CH8VZXwUxnomMaGw2KeyDvh9vmR3zFec4l8GjSnJF7UoADY9+fREBWny+A=="], + + "@mintlify/common": ["@mintlify/common@1.0.583", "", { "dependencies": { "@asyncapi/parser": "^3.4.0", "@mintlify/mdx": "^3.0.0", "@mintlify/models": "0.0.236", "@mintlify/openapi-parser": "^0.0.8", "@mintlify/validation": "0.1.507", "@sindresorhus/slugify": "^2.1.1", "acorn": "^8.11.2", "acorn-jsx": "^5.3.2", "color-blend": "^4.0.0", "estree-util-to-js": "^2.0.0", "estree-walker": "^3.0.3", "gray-matter": "^4.0.3", "hast-util-from-html": "^2.0.3", "hast-util-to-html": "^9.0.4", "hast-util-to-text": "^4.0.2", "hex-rgb": "^5.0.0", "js-yaml": "^4.1.0", "lodash": "^4.17.21", "mdast": "^3.0.0", "mdast-util-from-markdown": "^2.0.2", "mdast-util-gfm": "^3.0.0", "mdast-util-mdx": "^3.0.0", "mdast-util-mdx-jsx": "^3.1.3", "micromark-extension-gfm": "^3.0.0", "micromark-extension-mdx-jsx": "^3.0.1", "micromark-extension-mdxjs": "^3.0.0", "openapi-types": "^12.0.0", "postcss": "^8.5.6", "remark": "^15.0.1", "remark-frontmatter": "^5.0.0", "remark-gfm": "^4.0.0", "remark-math": "^6.0.0", "remark-mdx": "^3.1.0", "remark-stringify": "^11.0.0", "tailwindcss": "^3.4.4", "unified": "^11.0.5", "unist-builder": "^4.0.0", "unist-util-map": "^4.0.0", "unist-util-remove": "^4.0.0", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.0.0", "unist-util-visit-parents": "^6.0.1", "vfile": "^6.0.3" } }, "sha512-X8+AgnjtokrMabYWpzAHk9WvJ0iEjwXq+wYj1mZiBVO+SF7+PbVGrMzRcfYkogE4c4kb41r+vXYV7Y46ADGGMg=="], + + "@mintlify/link-rot": ["@mintlify/link-rot@3.0.724", "", { "dependencies": { "@mintlify/common": "1.0.583", "@mintlify/prebuild": "1.0.711", "@mintlify/previewing": "4.0.760", "@mintlify/validation": "0.1.507", "fs-extra": "^11.1.0", "unist-util-visit": "^4.1.1" } }, "sha512-aaAjbo81T2q+K3TrWGpVBoY+q/4rWUgyXgfWzbfqIiHcNDt+ZZjrgW+W4hGDVxype4oBkX/4GX/XjIec+29ziw=="], + + "@mintlify/mdx": ["@mintlify/mdx@3.0.0", "", { "dependencies": { "@shikijs/transformers": "^3.11.0", "@shikijs/twoslash": "^3.12.2", "hast-util-to-string": "^3.0.1", "mdast-util-from-markdown": "^2.0.2", "mdast-util-gfm": "^3.1.0", "mdast-util-mdx-jsx": "^3.2.0", "mdast-util-to-hast": "^13.2.0", "next-mdx-remote-client": "^1.0.3", "rehype-katex": "^7.0.1", "remark-gfm": "^4.0.0", "remark-math": "^6.0.0", "remark-smartypants": "^3.0.2", "shiki": "^3.11.0", "unified": "^11.0.0", "unist-util-visit": "^5.0.0" }, "peerDependencies": { "@radix-ui/react-popover": "^1.1.15", "react": "^18.3.1", "react-dom": "^18.3.1" } }, "sha512-Ao7AidkbRPeR9xb2BZvRtUB7V0qo4XitCbrSCwEolagzlJxboSFkiLDFuxb6P4GCC84Nysee1au5ngcz2PndFQ=="], + + "@mintlify/models": ["@mintlify/models@0.0.236", "", { "dependencies": { "axios": "^1.8.3", "openapi-types": "^12.0.0" } }, "sha512-aGnFq4/SGnGAoj+xcdF6O7BJogQnFwQcD9Fy6Sys/rkDKRg5WLtiH+8XuoiNZFIWjDP9wDn6DwzC7zluitb3Gg=="], + + "@mintlify/openapi-parser": ["@mintlify/openapi-parser@0.0.8", "", { "dependencies": { "ajv": "^8.17.1", "ajv-draft-04": "^1.0.0", "ajv-formats": "^3.0.1", "jsonpointer": "^5.0.1", "leven": "^4.0.0", "yaml": "^2.4.5" } }, "sha512-9MBRq9lS4l4HITYCrqCL7T61MOb20q9IdU7HWhqYMNMM1jGO1nHjXasFy61yZ8V6gMZyyKQARGVoZ0ZrYN48Og=="], + + "@mintlify/prebuild": ["@mintlify/prebuild@1.0.711", "", { "dependencies": { "@mintlify/common": "1.0.583", "@mintlify/openapi-parser": "^0.0.8", "@mintlify/scraping": "4.0.443", "@mintlify/validation": "0.1.507", "chalk": "^5.3.0", "favicons": "^7.2.0", "fs-extra": "^11.1.0", "gray-matter": "^4.0.3", "js-yaml": "^4.1.0", "mdast": "^3.0.0", "openapi-types": "^12.0.0", "sharp": "^0.33.1", "sharp-ico": "^0.1.5", "unist-util-visit": "^4.1.1", "uuid": "^11.1.0" } }, "sha512-AB1BfdkPGs/7emqBdCfYpPTisjdh7jEYfY8kVNmpgQeNlyLMYyHy/e9PGrBleN5lQP/R85la7ccZW/FzXN2Fiw=="], + + "@mintlify/previewing": ["@mintlify/previewing@4.0.760", "", { "dependencies": { "@mintlify/common": "1.0.583", "@mintlify/prebuild": "1.0.711", "@mintlify/validation": "0.1.507", "better-opn": "^3.0.2", "chalk": "^5.1.0", "chokidar": "^3.5.3", "express": "^4.18.2", "fs-extra": "^11.1.0", "got": "^13.0.0", "gray-matter": "^4.0.3", "ink": "^6.0.1", "ink-spinner": "^5.0.0", "is-online": "^10.0.0", "js-yaml": "^4.1.0", "mdast": "^3.0.0", "openapi-types": "^12.0.0", "react": "^19.1.0", "socket.io": "^4.7.2", "tar": "^6.1.15", "unist-util-visit": "^4.1.1", "yargs": "^17.6.0" } }, "sha512-NPiYLzd4qSM8NQxT2638uVN0vNHP5sfl/F5paeGhUed/wFjkBNSXDrmedXcxtnc3styFd+1yj+HuAV5AjG9pfQ=="], + + "@mintlify/scraping": ["@mintlify/scraping@4.0.443", "", { "dependencies": { "@mintlify/common": "1.0.583", "@mintlify/openapi-parser": "^0.0.8", "fs-extra": "^11.1.1", "hast-util-to-mdast": "^10.1.0", "js-yaml": "^4.1.0", "mdast-util-mdx-jsx": "^3.1.3", "neotraverse": "^0.6.18", "puppeteer": "^22.14.0", "rehype-parse": "^9.0.0", "remark-gfm": "^4.0.0", "remark-mdx": "^3.0.1", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.5", "unist-util-visit": "^5.0.0", "yargs": "^17.6.0", "zod": "^3.20.6" }, "bin": { "mintlify-scrape": "bin/cli.js" } }, "sha512-FeyMaekec4qBzkeQLoaMw0S733WN6M4MESdoUBqFm0cbh7NtLQvqxMolgz/Fs6HimyzxWeqtW4G6GgxqWy09gA=="], + + "@mintlify/validation": ["@mintlify/validation@0.1.507", "", { "dependencies": { "@mintlify/mdx": "^3.0.0", "@mintlify/models": "0.0.236", "arktype": "^2.1.20", "js-yaml": "^4.1.0", "lcm": "^0.0.3", "lodash": "^4.17.21", "object-hash": "^3.0.0", "openapi-types": "^12.0.0", "uuid": "^11.1.0", "zod": "^3.20.6", "zod-to-json-schema": "^3.20.3" } }, "sha512-0kpXfyIjMdd2Z+J9xAM7Dbn44JAOxFEt1ZesmIjerMPQgCCwrKlPyho0pXRS/wqremD2rSzx94yCLxo6dvaZSw=="], + + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + + "@openapi-contrib/openapi-schema-to-json-schema": ["@openapi-contrib/openapi-schema-to-json-schema@3.2.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3" } }, "sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw=="], + + "@opentelemetry/api": ["@opentelemetry/api@1.9.0", "", {}, "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="], + + "@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.53.0", "", { "dependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw=="], + + "@opentelemetry/context-async-hooks": ["@opentelemetry/context-async-hooks@1.26.0", "", { "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-HedpXXYzzbaoutw6DFLWLDket2FwLkLpil4hGCZ1xYEIMTcivdfwEOISgdbLEWyG3HW52gTq2V9mOVJrONgiwg=="], + + "@opentelemetry/core": ["@opentelemetry/core@1.26.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "1.27.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-1iKxXXE8415Cdv0yjG3G6hQnB5eVEsJce3QaawX8SjDn0mAS0ZM8fAbZZJD4ajvhC15cePvosSCut404KrIIvQ=="], + + "@opentelemetry/exporter-trace-otlp-http": ["@opentelemetry/exporter-trace-otlp-http@0.53.0", "", { "dependencies": { "@opentelemetry/core": "1.26.0", "@opentelemetry/otlp-exporter-base": "0.53.0", "@opentelemetry/otlp-transformer": "0.53.0", "@opentelemetry/resources": "1.26.0", "@opentelemetry/sdk-trace-base": "1.26.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-m7F5ZTq+V9mKGWYpX8EnZ7NjoqAU7VemQ1E2HAG+W/u0wpY1x0OmbxAXfGKFHCspdJk8UKlwPGrpcB8nay3P8A=="], + + "@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.53.0", "", { "dependencies": { "@opentelemetry/core": "1.26.0", "@opentelemetry/otlp-transformer": "0.53.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-UCWPreGQEhD6FjBaeDuXhiMf6kkBODF0ZQzrk/tuQcaVDJ+dDQ/xhJp192H9yWnKxVpEjFrSSLnpqmX4VwX+eA=="], + + "@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.53.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.53.0", "@opentelemetry/core": "1.26.0", "@opentelemetry/resources": "1.26.0", "@opentelemetry/sdk-logs": "0.53.0", "@opentelemetry/sdk-metrics": "1.26.0", "@opentelemetry/sdk-trace-base": "1.26.0", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-rM0sDA9HD8dluwuBxLetUmoqGJKSAbWenwD65KY9iZhUxdBHRLrIdrABfNDP7aiTjcgK8XFyTn5fhDz7N+W6DA=="], + + "@opentelemetry/propagator-b3": ["@opentelemetry/propagator-b3@1.26.0", "", { "dependencies": { "@opentelemetry/core": "1.26.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-vvVkQLQ/lGGyEy9GT8uFnI047pajSOVnZI2poJqVGD3nJ+B9sFGdlHNnQKophE3lHfnIH0pw2ubrCTjZCgIj+Q=="], + + "@opentelemetry/propagator-jaeger": ["@opentelemetry/propagator-jaeger@1.26.0", "", { "dependencies": { "@opentelemetry/core": "1.26.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-DelFGkCdaxA1C/QA0Xilszfr0t4YbGd3DjxiCDPh34lfnFr+VkkrjV9S8ZTJvAzfdKERXhfOxIKBoGPJwoSz7Q=="], + + "@opentelemetry/resources": ["@opentelemetry/resources@1.26.0", "", { "dependencies": { "@opentelemetry/core": "1.26.0", "@opentelemetry/semantic-conventions": "1.27.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-CPNYchBE7MBecCSVy0HKpUISEeJOniWqcHaAHpmasZ3j9o6V3AyBzhRc90jdmemq0HOxDr6ylhUbDhBqqPpeNw=="], + + "@opentelemetry/sdk-logs": ["@opentelemetry/sdk-logs@0.53.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.53.0", "@opentelemetry/core": "1.26.0", "@opentelemetry/resources": "1.26.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.4.0 <1.10.0" } }, "sha512-dhSisnEgIj/vJZXZV6f6KcTnyLDx/VuQ6l3ejuZpMpPlh9S1qMHiZU9NMmOkVkwwHkMy3G6mEBwdP23vUZVr4g=="], + + "@opentelemetry/sdk-metrics": ["@opentelemetry/sdk-metrics@1.26.0", "", { "dependencies": { "@opentelemetry/core": "1.26.0", "@opentelemetry/resources": "1.26.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-0SvDXmou/JjzSDOjUmetAAvcKQW6ZrvosU0rkbDGpXvvZN+pQF6JbK/Kd4hNdK4q/22yeruqvukXEJyySTzyTQ=="], + + "@opentelemetry/sdk-trace-base": ["@opentelemetry/sdk-trace-base@1.26.0", "", { "dependencies": { "@opentelemetry/core": "1.26.0", "@opentelemetry/resources": "1.26.0", "@opentelemetry/semantic-conventions": "1.27.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-olWQldtvbK4v22ymrKLbIcBi9L2SpMO84sCPY54IVsJhP9fRsxJT194C/AVaAuJzLE30EdhhM1VmvVYR7az+cw=="], + + "@opentelemetry/sdk-trace-node": ["@opentelemetry/sdk-trace-node@1.26.0", "", { "dependencies": { "@opentelemetry/context-async-hooks": "1.26.0", "@opentelemetry/core": "1.26.0", "@opentelemetry/propagator-b3": "1.26.0", "@opentelemetry/propagator-jaeger": "1.26.0", "@opentelemetry/sdk-trace-base": "1.26.0", "semver": "^7.5.2" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-Fj5IVKrj0yeUwlewCRwzOVcr5avTuNnMHWf7GPc1t6WaT78J6CJyF3saZ/0RkZfdeNO8IcBl/bNcWMVZBMRW8Q=="], + + "@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.27.0", "", {}, "sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg=="], + + "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], + + "@protobufjs/aspromise": ["@protobufjs/aspromise@1.1.2", "", {}, "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="], + + "@protobufjs/base64": ["@protobufjs/base64@1.1.2", "", {}, "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="], + + "@protobufjs/codegen": ["@protobufjs/codegen@2.0.4", "", {}, "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="], + + "@protobufjs/eventemitter": ["@protobufjs/eventemitter@1.1.0", "", {}, "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="], + + "@protobufjs/fetch": ["@protobufjs/fetch@1.1.0", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" } }, "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ=="], + + "@protobufjs/float": ["@protobufjs/float@1.0.2", "", {}, "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="], + + "@protobufjs/inquire": ["@protobufjs/inquire@1.1.0", "", {}, "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="], + + "@protobufjs/path": ["@protobufjs/path@1.1.2", "", {}, "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="], + + "@protobufjs/pool": ["@protobufjs/pool@1.1.0", "", {}, "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="], + + "@protobufjs/utf8": ["@protobufjs/utf8@1.1.0", "", {}, "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="], + + "@puppeteer/browsers": ["@puppeteer/browsers@2.3.0", "", { "dependencies": { "debug": "^4.3.5", "extract-zip": "^2.0.1", "progress": "^2.0.3", "proxy-agent": "^6.4.0", "semver": "^7.6.3", "tar-fs": "^3.0.6", "unbzip2-stream": "^1.4.3", "yargs": "^17.7.2" }, "bin": { "browsers": "lib/cjs/main-cli.js" } }, "sha512-ioXoq9gPxkss4MYhD+SFaU9p1IHFUX0ILAWFPyjGaBdjLsYAlZw6j1iLA0N/m12uVHLFDfSYNF7EQccjinIMDA=="], + + "@radix-ui/primitive": ["@radix-ui/primitive@1.1.3", "", {}, "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg=="], + + "@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w=="], + + "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg=="], + + "@radix-ui/react-context": ["@radix-ui/react-context@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA=="], + + "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-escape-keydown": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg=="], + + "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.3", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw=="], + + "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw=="], + + "@radix-ui/react-id": ["@radix-ui/react-id@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg=="], + + "@radix-ui/react-popover": ["@radix-ui/react-popover@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA=="], + + "@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.8", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-rect": "1.1.1", "@radix-ui/react-use-size": "1.1.1", "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw=="], + + "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], + + "@radix-ui/react-presence": ["@radix-ui/react-presence@1.1.5", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ=="], + + "@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="], + + "@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], + + "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.2.2", "", { "dependencies": { "@radix-ui/react-use-effect-event": "0.0.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg=="], + + "@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA=="], + + "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.1", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g=="], + + "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.1", "", { "dependencies": { "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w=="], + + "@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ=="], + + "@radix-ui/rect": ["@radix-ui/rect@1.1.1", "", {}, "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw=="], + + "@redocly/ajv": ["@redocly/ajv@8.11.2", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js-replace": "^1.0.1" } }, "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg=="], + + "@redocly/cli": ["@redocly/cli@1.34.5", "", { "dependencies": { "@opentelemetry/api": "1.9.0", "@opentelemetry/exporter-trace-otlp-http": "0.53.0", "@opentelemetry/resources": "1.26.0", "@opentelemetry/sdk-trace-node": "1.26.0", "@opentelemetry/semantic-conventions": "1.27.0", "@redocly/config": "^0.22.0", "@redocly/openapi-core": "1.34.5", "@redocly/respect-core": "1.34.5", "abort-controller": "^3.0.0", "chokidar": "^3.5.1", "colorette": "^1.2.0", "core-js": "^3.32.1", "dotenv": "16.4.7", "form-data": "^4.0.4", "get-port-please": "^3.0.1", "glob": "^7.1.6", "handlebars": "^4.7.6", "mobx": "^6.0.4", "pluralize": "^8.0.0", "react": "^17.0.0 || ^18.2.0 || ^19.0.0", "react-dom": "^17.0.0 || ^18.2.0 || ^19.0.0", "redoc": "2.5.0", "semver": "^7.5.2", "simple-websocket": "^9.0.0", "styled-components": "^6.0.7", "yargs": "17.0.1" }, "bin": { "openapi": "bin/cli.js", "redocly": "bin/cli.js" } }, "sha512-5IEwxs7SGP5KEXjBKLU8Ffdz9by/KqNSeBk6YUVQaGxMXK//uYlTJIPntgUXbo1KAGG2d2q2XF8y4iFz6qNeiw=="], + + "@redocly/config": ["@redocly/config@0.22.2", "", {}, "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ=="], + + "@redocly/openapi-core": ["@redocly/openapi-core@1.34.5", "", { "dependencies": { "@redocly/ajv": "^8.11.2", "@redocly/config": "^0.22.0", "colorette": "^1.2.0", "https-proxy-agent": "^7.0.5", "js-levenshtein": "^1.1.6", "js-yaml": "^4.1.0", "minimatch": "^5.0.1", "pluralize": "^8.0.0", "yaml-ast-parser": "0.0.43" } }, "sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA=="], + + "@redocly/respect-core": ["@redocly/respect-core@1.34.5", "", { "dependencies": { "@faker-js/faker": "^7.6.0", "@redocly/ajv": "8.11.2", "@redocly/openapi-core": "1.34.5", "better-ajv-errors": "^1.2.0", "colorette": "^2.0.20", "concat-stream": "^2.0.0", "cookie": "^0.7.2", "dotenv": "16.4.7", "form-data": "^4.0.4", "jest-diff": "^29.3.1", "jest-matcher-utils": "^29.3.1", "js-yaml": "4.1.0", "json-pointer": "^0.6.2", "jsonpath-plus": "^10.0.6", "open": "^10.1.0", "openapi-sampler": "^1.6.1", "outdent": "^0.8.0", "set-cookie-parser": "^2.3.5", "undici": "^6.21.1" } }, "sha512-GheC/g/QFztPe9UA9LamooSplQuy9pe0Yr8XGTqkz0ahivLDl7svoy/LSQNn1QH3XGtLKwFYMfTwFR2TAYyh5Q=="], + + "@rollup/plugin-commonjs": ["@rollup/plugin-commonjs@22.0.2", "", { "dependencies": { "@rollup/pluginutils": "^3.1.0", "commondir": "^1.0.1", "estree-walker": "^2.0.1", "glob": "^7.1.6", "is-reference": "^1.2.1", "magic-string": "^0.25.7", "resolve": "^1.17.0" }, "peerDependencies": { "rollup": "^2.68.0" } }, "sha512-//NdP6iIwPbMTcazYsiBMbJW7gfmpHom33u1beiIoHDEM0Q9clvtQB1T0efvMqHeKsGohiHo97BCPCkBXdscwg=="], + + "@rollup/pluginutils": ["@rollup/pluginutils@3.1.0", "", { "dependencies": { "@types/estree": "0.0.39", "estree-walker": "^1.0.1", "picomatch": "^2.2.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0" } }, "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg=="], + + "@shikijs/core": ["@shikijs/core@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-3P8rGsg2Eh2qIHekwuQjzWhKI4jV97PhvYjYUzGqjvJfqdQPz+nMlfWahU24GZAyW1FxFI1sYjyhfh5CoLmIUA=="], + + "@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.3" } }, "sha512-Ty7xv32XCp8u0eQt8rItpMs6rU9Ki6LJ1dQOW3V/56PKDcpvfHPnYFbsx5FFUP2Yim34m/UkazidamMNVR4vKg=="], + + "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg=="], + + "@shikijs/langs": ["@shikijs/langs@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0" } }, "sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ=="], + + "@shikijs/themes": ["@shikijs/themes@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0" } }, "sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg=="], + + "@shikijs/transformers": ["@shikijs/transformers@3.13.0", "", { "dependencies": { "@shikijs/core": "3.13.0", "@shikijs/types": "3.13.0" } }, "sha512-833lcuVzcRiG+fXvgslWsM2f4gHpjEgui1ipIknSizRuTgMkNZupiXE5/TVJ6eSYfhNBFhBZKkReKWO2GgYmqA=="], + + "@shikijs/twoslash": ["@shikijs/twoslash@3.13.0", "", { "dependencies": { "@shikijs/core": "3.13.0", "@shikijs/types": "3.13.0", "twoslash": "^0.3.4" }, "peerDependencies": { "typescript": ">=5.5.0" } }, "sha512-OmNKNoZ8Hevt4VKQHfJL+hrsrqLSnW/Nz7RMutuBqXBCIYZWk80HnF9pcXEwRmy9MN0MGRmZCW2rDDP8K7Bxkw=="], + + "@shikijs/types": ["@shikijs/types@3.13.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-oM9P+NCFri/mmQ8LoFGVfVyemm5Hi27330zuOBp0annwJdKH1kOLndw3zCtAVDehPLg9fKqoEx3Ht/wNZxolfw=="], + + "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="], + + "@sinclair/typebox": ["@sinclair/typebox@0.27.8", "", {}, "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA=="], + + "@sindresorhus/is": ["@sindresorhus/is@5.6.0", "", {}, "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g=="], + + "@sindresorhus/slugify": ["@sindresorhus/slugify@2.2.1", "", { "dependencies": { "@sindresorhus/transliterate": "^1.0.0", "escape-string-regexp": "^5.0.0" } }, "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw=="], + + "@sindresorhus/transliterate": ["@sindresorhus/transliterate@1.6.0", "", { "dependencies": { "escape-string-regexp": "^5.0.0" } }, "sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ=="], + + "@socket.io/component-emitter": ["@socket.io/component-emitter@3.1.2", "", {}, "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="], + + "@stoplight/better-ajv-errors": ["@stoplight/better-ajv-errors@1.0.3", "", { "dependencies": { "jsonpointer": "^5.0.0", "leven": "^3.1.0" }, "peerDependencies": { "ajv": ">=8" } }, "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA=="], + + "@stoplight/json": ["@stoplight/json@3.21.7", "", { "dependencies": { "@stoplight/ordered-object-literal": "^1.0.3", "@stoplight/path": "^1.3.2", "@stoplight/types": "^13.6.0", "jsonc-parser": "~2.2.1", "lodash": "^4.17.21", "safe-stable-stringify": "^1.1" } }, "sha512-xcJXgKFqv/uCEgtGlPxy3tPA+4I+ZI4vAuMJ885+ThkTHFVkC+0Fm58lA9NlsyjnkpxFh4YiQWpH+KefHdbA0A=="], + + "@stoplight/json-ref-readers": ["@stoplight/json-ref-readers@1.2.2", "", { "dependencies": { "node-fetch": "^2.6.0", "tslib": "^1.14.1" } }, "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ=="], + + "@stoplight/json-ref-resolver": ["@stoplight/json-ref-resolver@3.1.6", "", { "dependencies": { "@stoplight/json": "^3.21.0", "@stoplight/path": "^1.3.2", "@stoplight/types": "^12.3.0 || ^13.0.0", "@types/urijs": "^1.19.19", "dependency-graph": "~0.11.0", "fast-memoize": "^2.5.2", "immer": "^9.0.6", "lodash": "^4.17.21", "tslib": "^2.6.0", "urijs": "^1.19.11" } }, "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A=="], + + "@stoplight/ordered-object-literal": ["@stoplight/ordered-object-literal@1.0.5", "", {}, "sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg=="], + + "@stoplight/path": ["@stoplight/path@1.3.2", "", {}, "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ=="], + + "@stoplight/spectral-cli": ["@stoplight/spectral-cli@6.15.0", "", { "dependencies": { "@stoplight/json": "~3.21.0", "@stoplight/path": "1.3.2", "@stoplight/spectral-core": "^1.19.5", "@stoplight/spectral-formatters": "^1.4.1", "@stoplight/spectral-parsers": "^1.0.4", "@stoplight/spectral-ref-resolver": "^1.0.4", "@stoplight/spectral-ruleset-bundler": "^1.6.0", "@stoplight/spectral-ruleset-migrator": "^1.11.0", "@stoplight/spectral-rulesets": ">=1", "@stoplight/spectral-runtime": "^1.1.2", "@stoplight/types": "^13.6.0", "chalk": "4.1.2", "fast-glob": "~3.2.12", "hpagent": "~1.2.0", "lodash": "~4.17.21", "pony-cause": "^1.1.1", "stacktracey": "^2.1.8", "tslib": "^2.8.1", "yargs": "~17.7.2" }, "bin": { "spectral": "dist/index.js" } }, "sha512-FVeQIuqQQnnLfa8vy+oatTKUve7uU+3SaaAfdjpX/B+uB1NcfkKRJYhKT9wMEehDRaMPL5AKIRYMCFerdEbIpw=="], + + "@stoplight/spectral-core": ["@stoplight/spectral-core@1.20.0", "", { "dependencies": { "@stoplight/better-ajv-errors": "1.0.3", "@stoplight/json": "~3.21.0", "@stoplight/path": "1.3.2", "@stoplight/spectral-parsers": "^1.0.0", "@stoplight/spectral-ref-resolver": "^1.0.4", "@stoplight/spectral-runtime": "^1.1.2", "@stoplight/types": "~13.6.0", "@types/es-aggregate-error": "^1.0.2", "@types/json-schema": "^7.0.11", "ajv": "^8.17.1", "ajv-errors": "~3.0.0", "ajv-formats": "~2.1.1", "es-aggregate-error": "^1.0.7", "jsonpath-plus": "^10.3.0", "lodash": "~4.17.21", "lodash.topath": "^4.5.2", "minimatch": "3.1.2", "nimma": "0.2.3", "pony-cause": "^1.1.1", "simple-eval": "1.0.1", "tslib": "^2.8.1" } }, "sha512-5hBP81nCC1zn1hJXL/uxPNRKNcB+/pEIHgCjPRpl/w/qy9yC9ver04tw1W0l/PMiv0UeB5dYgozXVQ4j5a6QQQ=="], + + "@stoplight/spectral-formats": ["@stoplight/spectral-formats@1.8.2", "", { "dependencies": { "@stoplight/json": "^3.17.0", "@stoplight/spectral-core": "^1.19.2", "@types/json-schema": "^7.0.7", "tslib": "^2.8.1" } }, "sha512-c06HB+rOKfe7tuxg0IdKDEA5XnjL2vrn/m/OVIIxtINtBzphZrOgtRn7epQ5bQF5SWp84Ue7UJWaGgDwVngMFw=="], + + "@stoplight/spectral-formatters": ["@stoplight/spectral-formatters@1.5.0", "", { "dependencies": { "@stoplight/path": "^1.3.2", "@stoplight/spectral-core": "^1.19.4", "@stoplight/spectral-runtime": "^1.1.2", "@stoplight/types": "^13.15.0", "@types/markdown-escape": "^1.1.3", "chalk": "4.1.2", "cliui": "7.0.4", "lodash": "^4.17.21", "markdown-escape": "^2.0.0", "node-sarif-builder": "^2.0.3", "strip-ansi": "6.0", "text-table": "^0.2.0", "tslib": "^2.8.1" } }, "sha512-lR7s41Z00Mf8TdXBBZQ3oi2uR8wqAtR6NO0KA8Ltk4FSpmAy0i6CKUmJG9hZQjanTnGmwpQkT/WP66p1GY3iXA=="], + + "@stoplight/spectral-functions": ["@stoplight/spectral-functions@1.10.1", "", { "dependencies": { "@stoplight/better-ajv-errors": "1.0.3", "@stoplight/json": "^3.17.1", "@stoplight/spectral-core": "^1.19.4", "@stoplight/spectral-formats": "^1.8.1", "@stoplight/spectral-runtime": "^1.1.2", "ajv": "^8.17.1", "ajv-draft-04": "~1.0.0", "ajv-errors": "~3.0.0", "ajv-formats": "~2.1.1", "lodash": "~4.17.21", "tslib": "^2.8.1" } }, "sha512-obu8ZfoHxELOapfGsCJixKZXZcffjg+lSoNuttpmUFuDzVLT3VmH8QkPXfOGOL5Pz80BR35ClNAToDkdnYIURg=="], + + "@stoplight/spectral-parsers": ["@stoplight/spectral-parsers@1.0.5", "", { "dependencies": { "@stoplight/json": "~3.21.0", "@stoplight/types": "^14.1.1", "@stoplight/yaml": "~4.3.0", "tslib": "^2.8.1" } }, "sha512-ANDTp2IHWGvsQDAY85/jQi9ZrF4mRrA5bciNHX+PUxPr4DwS6iv4h+FVWJMVwcEYdpyoIdyL+SRmHdJfQEPmwQ=="], + + "@stoplight/spectral-ref-resolver": ["@stoplight/spectral-ref-resolver@1.0.5", "", { "dependencies": { "@stoplight/json-ref-readers": "1.2.2", "@stoplight/json-ref-resolver": "~3.1.6", "@stoplight/spectral-runtime": "^1.1.2", "dependency-graph": "0.11.0", "tslib": "^2.8.1" } }, "sha512-gj3TieX5a9zMW29z3mBlAtDOCgN3GEc1VgZnCVlr5irmR4Qi5LuECuFItAq4pTn5Zu+sW5bqutsCH7D4PkpyAA=="], + + "@stoplight/spectral-ruleset-bundler": ["@stoplight/spectral-ruleset-bundler@1.6.3", "", { "dependencies": { "@rollup/plugin-commonjs": "~22.0.2", "@stoplight/path": "1.3.2", "@stoplight/spectral-core": ">=1", "@stoplight/spectral-formats": "^1.8.1", "@stoplight/spectral-functions": ">=1", "@stoplight/spectral-parsers": ">=1", "@stoplight/spectral-ref-resolver": "^1.0.4", "@stoplight/spectral-ruleset-migrator": "^1.9.6", "@stoplight/spectral-rulesets": ">=1", "@stoplight/spectral-runtime": "^1.1.2", "@stoplight/types": "^13.6.0", "@types/node": "*", "pony-cause": "1.1.1", "rollup": "~2.79.2", "tslib": "^2.8.1", "validate-npm-package-name": "3.0.0" } }, "sha512-AQFRO6OCKg8SZJUupnr3+OzI1LrMieDTEUHsYgmaRpNiDRPvzImE3bzM1KyQg99q58kTQyZ8kpr7sG8Lp94RRA=="], + + "@stoplight/spectral-ruleset-migrator": ["@stoplight/spectral-ruleset-migrator@1.11.2", "", { "dependencies": { "@stoplight/json": "~3.21.0", "@stoplight/ordered-object-literal": "~1.0.4", "@stoplight/path": "1.3.2", "@stoplight/spectral-functions": "^1.9.1", "@stoplight/spectral-runtime": "^1.1.2", "@stoplight/types": "^13.6.0", "@stoplight/yaml": "~4.2.3", "@types/node": "*", "ajv": "^8.17.1", "ast-types": "0.14.2", "astring": "^1.9.0", "reserved": "0.1.2", "tslib": "^2.8.1", "validate-npm-package-name": "3.0.0" } }, "sha512-6r5i4hrDmppspSSxdUKKNHc07NGSSIkvwKNk3M5ukCwvSslImvDEimeWAhPBryhmSJ82YAsKr8erZZpKullxWw=="], + + "@stoplight/spectral-rulesets": ["@stoplight/spectral-rulesets@1.22.0", "", { "dependencies": { "@asyncapi/specs": "^6.8.0", "@stoplight/better-ajv-errors": "1.0.3", "@stoplight/json": "^3.17.0", "@stoplight/spectral-core": "^1.19.4", "@stoplight/spectral-formats": "^1.8.1", "@stoplight/spectral-functions": "^1.9.1", "@stoplight/spectral-runtime": "^1.1.2", "@stoplight/types": "^13.6.0", "@types/json-schema": "^7.0.7", "ajv": "^8.17.1", "ajv-formats": "~2.1.1", "json-schema-traverse": "^1.0.0", "leven": "3.1.0", "lodash": "~4.17.21", "tslib": "^2.8.1" } }, "sha512-l2EY2jiKKLsvnPfGy+pXC0LeGsbJzcQP5G/AojHgf+cwN//VYxW1Wvv4WKFx/CLmLxc42mJYF2juwWofjWYNIQ=="], + + "@stoplight/spectral-runtime": ["@stoplight/spectral-runtime@1.1.4", "", { "dependencies": { "@stoplight/json": "^3.20.1", "@stoplight/path": "^1.3.2", "@stoplight/types": "^13.6.0", "abort-controller": "^3.0.0", "lodash": "^4.17.21", "node-fetch": "^2.7.0", "tslib": "^2.8.1" } }, "sha512-YHbhX3dqW0do6DhiPSgSGQzr6yQLlWybhKwWx0cqxjMwxej3TqLv3BXMfIUYFKKUqIwH4Q2mV8rrMM8qD2N0rQ=="], + + "@stoplight/types": ["@stoplight/types@13.20.0", "", { "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" } }, "sha512-2FNTv05If7ib79VPDA/r9eUet76jewXFH2y2K5vuge6SXbRHtWBhcaRmu+6QpF4/WRNoJj5XYRSwLGXDxysBGA=="], + + "@stoplight/yaml": ["@stoplight/yaml@4.3.0", "", { "dependencies": { "@stoplight/ordered-object-literal": "^1.0.5", "@stoplight/types": "^14.1.1", "@stoplight/yaml-ast-parser": "0.0.50", "tslib": "^2.2.0" } }, "sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w=="], + + "@stoplight/yaml-ast-parser": ["@stoplight/yaml-ast-parser@0.0.50", "", {}, "sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ=="], + + "@szmarczak/http-timer": ["@szmarczak/http-timer@5.0.1", "", { "dependencies": { "defer-to-connect": "^2.0.1" } }, "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw=="], + + "@tootallnate/quickjs-emscripten": ["@tootallnate/quickjs-emscripten@0.23.0", "", {}, "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA=="], + + "@types/cors": ["@types/cors@2.8.19", "", { "dependencies": { "@types/node": "*" } }, "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg=="], + + "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="], + + "@types/es-aggregate-error": ["@types/es-aggregate-error@1.0.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-qJ7LIFp06h1QE1aVxbVd+zJP2wdaugYXYfd6JxsyRMrYHaxb6itXPogW2tz+ylUJ1n1b+JF1PHyYCfYHm0dvUg=="], + + "@types/estree": ["@types/estree@0.0.39", "", {}, "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw=="], + + "@types/estree-jsx": ["@types/estree-jsx@1.0.5", "", { "dependencies": { "@types/estree": "*" } }, "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg=="], + + "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="], + + "@types/http-cache-semantics": ["@types/http-cache-semantics@4.0.4", "", {}, "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA=="], + + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + + "@types/katex": ["@types/katex@0.16.7", "", {}, "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ=="], + + "@types/markdown-escape": ["@types/markdown-escape@1.1.3", "", {}, "sha512-JIc1+s3y5ujKnt/+N+wq6s/QdL2qZ11fP79MijrVXsAAnzSxCbT2j/3prHRouJdZ2yFLN3vkP0HytfnoCczjOw=="], + + "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="], + + "@types/mdx": ["@types/mdx@2.0.13", "", {}, "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw=="], + + "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], + + "@types/nlcst": ["@types/nlcst@2.0.3", "", { "dependencies": { "@types/unist": "*" } }, "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA=="], + + "@types/node": ["@types/node@24.9.1", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg=="], + + "@types/react": ["@types/react@19.2.2", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA=="], + + "@types/sarif": ["@types/sarif@2.1.7", "", {}, "sha512-kRz0VEkJqWLf1LLVN4pT1cg1Z9wAuvI6L97V3m2f5B76Tg8d413ddvLBPTEHAZJlnn4XSvu0FkZtViCQGVyrXQ=="], + + "@types/stylis": ["@types/stylis@4.2.5", "", {}, "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw=="], + + "@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="], + + "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], + + "@types/urijs": ["@types/urijs@1.19.25", "", {}, "sha512-XOfUup9r3Y06nFAZh3WvO0rBU4OtlfPB/vgxpjg+NRdGU6CN6djdc6OEiH+PcqHCY6eFLo9Ista73uarf4gnBg=="], + + "@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="], + + "@typescript/vfs": ["@typescript/vfs@1.6.1", "", { "dependencies": { "debug": "^4.1.1" }, "peerDependencies": { "typescript": "*" } }, "sha512-JwoxboBh7Oz1v38tPbkrZ62ZXNHAk9bJ7c9x0eI5zBfBnBYGhURdbnh7Z4smN/MV48Y5OCcZb58n972UtbazsA=="], + + "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="], + + "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="], + + "accepts": ["accepts@1.3.8", "", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="], + + "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], + + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + + "address": ["address@1.2.2", "", {}, "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA=="], + + "agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], + + "aggregate-error": ["aggregate-error@4.0.1", "", { "dependencies": { "clean-stack": "^4.0.0", "indent-string": "^5.0.0" } }, "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w=="], + + "ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], + + "ajv-draft-04": ["ajv-draft-04@1.0.0", "", { "peerDependencies": { "ajv": "^8.5.0" }, "optionalPeers": ["ajv"] }, "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw=="], + + "ajv-errors": ["ajv-errors@3.0.0", "", { "peerDependencies": { "ajv": "^8.0.1" } }, "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ=="], + + "ajv-formats": ["ajv-formats@2.1.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA=="], + + "ansi-escapes": ["ansi-escapes@7.1.1", "", { "dependencies": { "environment": "^1.0.0" } }, "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q=="], + + "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="], + + "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], + + "arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], + + "arktype": ["arktype@2.1.23", "", { "dependencies": { "@ark/regex": "0.0.0", "@ark/schema": "0.50.0", "@ark/util": "0.50.0" } }, "sha512-tyxNWX6xJVMb2EPJJ3OjgQS1G/vIeQRrZuY4DeBNQmh8n7geS+czgbauQWB6Pr+RXiOO8ChEey44XdmxsqGmfQ=="], + + "array-buffer-byte-length": ["array-buffer-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "is-array-buffer": "^3.0.5" } }, "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw=="], + + "array-flatten": ["array-flatten@1.1.1", "", {}, "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="], + + "array-iterate": ["array-iterate@2.0.1", "", {}, "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg=="], + + "arraybuffer.prototype.slice": ["arraybuffer.prototype.slice@1.0.4", "", { "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "is-array-buffer": "^3.0.4" } }, "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ=="], + + "as-table": ["as-table@1.0.55", "", { "dependencies": { "printable-characters": "^1.0.42" } }, "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ=="], + + "ast-types": ["ast-types@0.14.2", "", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA=="], + + "astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="], + + "async-function": ["async-function@1.0.0", "", {}, "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA=="], + + "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], + + "auto-bind": ["auto-bind@5.0.1", "", {}, "sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg=="], + + "available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="], + + "avsc": ["avsc@5.7.9", "", {}, "sha512-yOA4wFeI7ET3v32Di/sUybQ+ttP20JHSW3mxLuNGeO0uD6PPcvLrIQXSvy/rhJOWU5JrYh7U4OHplWMmtAtjMg=="], + + "axios": ["axios@1.12.2", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw=="], + + "b4a": ["b4a@1.7.3", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q=="], + + "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="], + + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + + "bare-events": ["bare-events@2.8.0", "", { "peerDependencies": { "bare-abort-controller": "*" }, "optionalPeers": ["bare-abort-controller"] }, "sha512-AOhh6Bg5QmFIXdViHbMc2tLDsBIRxdkIaIddPslJF9Z5De3APBScuqGP2uThXnIpqFrgoxMNC6km7uXNIMLHXA=="], + + "bare-fs": ["bare-fs@4.4.11", "", { "dependencies": { "bare-events": "^2.5.4", "bare-path": "^3.0.0", "bare-stream": "^2.6.4", "bare-url": "^2.2.2", "fast-fifo": "^1.3.2" }, "peerDependencies": { "bare-buffer": "*" }, "optionalPeers": ["bare-buffer"] }, "sha512-Bejmm9zRMvMTRoHS+2adgmXw1ANZnCNx+B5dgZpGwlP1E3x6Yuxea8RToddHUbWtVV0iUMWqsgZr8+jcgUI2SA=="], + + "bare-os": ["bare-os@3.6.2", "", {}, "sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A=="], + + "bare-path": ["bare-path@3.0.0", "", { "dependencies": { "bare-os": "^3.0.1" } }, "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw=="], + + "bare-stream": ["bare-stream@2.7.0", "", { "dependencies": { "streamx": "^2.21.0" }, "peerDependencies": { "bare-buffer": "*", "bare-events": "*" }, "optionalPeers": ["bare-buffer", "bare-events"] }, "sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A=="], + + "bare-url": ["bare-url@2.3.1", "", { "dependencies": { "bare-path": "^3.0.0" } }, "sha512-v2yl0TnaZTdEnelkKtXZGnotiV6qATBlnNuUMrHl6v9Lmmrh9mw9RYyImPU7/4RahumSwQS1k2oKXcRfXcbjJw=="], + + "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + + "base64id": ["base64id@2.0.0", "", {}, "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="], + + "basic-ftp": ["basic-ftp@5.0.5", "", {}, "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg=="], + + "better-ajv-errors": ["better-ajv-errors@1.2.0", "", { "dependencies": { "@babel/code-frame": "^7.16.0", "@humanwhocodes/momoa": "^2.0.2", "chalk": "^4.1.2", "jsonpointer": "^5.0.0", "leven": "^3.1.0 < 4" }, "peerDependencies": { "ajv": "4.11.8 - 8" } }, "sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA=="], + + "better-opn": ["better-opn@3.0.2", "", { "dependencies": { "open": "^8.0.4" } }, "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ=="], + + "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], + + "body-parser": ["body-parser@1.20.3", "", { "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" } }, "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g=="], + + "brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], + + "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], + + "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], + + "builtins": ["builtins@1.0.3", "", {}, "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ=="], + + "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="], + + "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], + + "cacheable-lookup": ["cacheable-lookup@7.0.0", "", {}, "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w=="], + + "cacheable-request": ["cacheable-request@10.2.14", "", { "dependencies": { "@types/http-cache-semantics": "^4.0.2", "get-stream": "^6.0.1", "http-cache-semantics": "^4.1.1", "keyv": "^4.5.3", "mimic-response": "^4.0.0", "normalize-url": "^8.0.0", "responselike": "^3.0.0" } }, "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ=="], + + "call-bind": ["call-bind@1.0.8", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.2" } }, "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww=="], + + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + + "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], + + "call-me-maybe": ["call-me-maybe@1.0.2", "", {}, "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ=="], + + "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], + + "camelcase": ["camelcase@5.3.1", "", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="], + + "camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="], + + "camelize": ["camelize@1.0.1", "", {}, "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ=="], + + "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="], + + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + + "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="], + + "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="], + + "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="], + + "character-reference-invalid": ["character-reference-invalid@2.0.1", "", {}, "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="], + + "chardet": ["chardet@2.1.0", "", {}, "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA=="], + + "chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], + + "chokidar-cli": ["chokidar-cli@3.0.0", "", { "dependencies": { "chokidar": "^3.5.2", "lodash.debounce": "^4.0.8", "lodash.throttle": "^4.1.1", "yargs": "^13.3.0" }, "bin": { "chokidar": "index.js" } }, "sha512-xVW+Qeh7z15uZRxHOkP93Ux8A0xbPzwK4GaqD8dQOYc34TlkqUhVSS59fK36DOp5WdJlrRzlYSy02Ht99FjZqQ=="], + + "chownr": ["chownr@2.0.0", "", {}, "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="], + + "chromium-bidi": ["chromium-bidi@0.6.3", "", { "dependencies": { "mitt": "3.0.1", "urlpattern-polyfill": "10.0.0", "zod": "3.23.8" }, "peerDependencies": { "devtools-protocol": "*" } }, "sha512-qXlsCmpCZJAnoTYI83Iu6EdYQpMYdVkCfq08KDh2pmlVqK5t5IA9mGs4/LwCwp4fqisSOMXZxP3HIh8w8aRn0A=="], + + "classnames": ["classnames@2.5.1", "", {}, "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow=="], + + "clean-stack": ["clean-stack@4.2.0", "", { "dependencies": { "escape-string-regexp": "5.0.0" } }, "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg=="], + + "cli-boxes": ["cli-boxes@3.0.0", "", {}, "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g=="], + + "cli-cursor": ["cli-cursor@4.0.0", "", { "dependencies": { "restore-cursor": "^4.0.0" } }, "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg=="], + + "cli-spinners": ["cli-spinners@2.9.2", "", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="], + + "cli-truncate": ["cli-truncate@4.0.0", "", { "dependencies": { "slice-ansi": "^5.0.0", "string-width": "^7.0.0" } }, "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA=="], + + "cli-width": ["cli-width@4.1.0", "", {}, "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ=="], + + "cliui": ["cliui@7.0.4", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ=="], + + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + + "code-excerpt": ["code-excerpt@4.0.0", "", { "dependencies": { "convert-to-spaces": "^2.0.1" } }, "sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA=="], + + "collapse-white-space": ["collapse-white-space@2.1.0", "", {}, "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw=="], + + "color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="], + + "color-blend": ["color-blend@4.0.0", "", {}, "sha512-fYODTHhI/NG+B5GnzvuL3kiFrK/UnkUezWFTgEPBTY5V+kpyfAn95Vn9sJeeCX6omrCOdxnqCL3CvH+6sXtIbw=="], + + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="], + + "colorette": ["colorette@1.4.0", "", {}, "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g=="], + + "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], + + "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="], + + "commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], + + "commondir": ["commondir@1.0.1", "", {}, "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="], + + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + + "concat-stream": ["concat-stream@2.0.0", "", { "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.0.2", "typedarray": "^0.0.6" } }, "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A=="], + + "content-disposition": ["content-disposition@0.5.4", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ=="], + + "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], + + "convert-to-spaces": ["convert-to-spaces@2.0.1", "", {}, "sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ=="], + + "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], + + "cookie-signature": ["cookie-signature@1.0.6", "", {}, "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="], + + "core-js": ["core-js@3.46.0", "", {}, "sha512-vDMm9B0xnqqZ8uSBpZ8sNtRtOdmfShrvT6h2TuQGLs0Is+cR0DYbj/KWP6ALVNbWPpqA/qPLoOuppJN07humpA=="], + + "cors": ["cors@2.8.5", "", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g=="], + + "cosmiconfig": ["cosmiconfig@9.0.0", "", { "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0" }, "peerDependencies": { "typescript": ">=4.9.5" }, "optionalPeers": ["typescript"] }, "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "css-color-keywords": ["css-color-keywords@1.0.0", "", {}, "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg=="], + + "css-to-react-native": ["css-to-react-native@3.2.0", "", { "dependencies": { "camelize": "^1.0.0", "css-color-keywords": "^1.0.0", "postcss-value-parser": "^4.0.2" } }, "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ=="], + + "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], + + "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="], + + "data-uri-to-buffer": ["data-uri-to-buffer@2.0.2", "", {}, "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA=="], + + "data-view-buffer": ["data-view-buffer@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-data-view": "^1.0.2" } }, "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ=="], + + "data-view-byte-length": ["data-view-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-data-view": "^1.0.2" } }, "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ=="], + + "data-view-byte-offset": ["data-view-byte-offset@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" } }, "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ=="], + + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "decamelize": ["decamelize@1.2.0", "", {}, "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="], + + "decko": ["decko@1.2.0", "", {}, "sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ=="], + + "decode-bmp": ["decode-bmp@0.2.1", "", { "dependencies": { "@canvas/image-data": "^1.0.0", "to-data-view": "^1.1.0" } }, "sha512-NiOaGe+GN0KJqi2STf24hfMkFitDUaIoUU3eKvP/wAbLe8o6FuW5n/x7MHPR0HKvBokp6MQY/j7w8lewEeVCIA=="], + + "decode-ico": ["decode-ico@0.4.1", "", { "dependencies": { "@canvas/image-data": "^1.0.0", "decode-bmp": "^0.2.0", "to-data-view": "^1.1.0" } }, "sha512-69NZfbKIzux1vBOd31al3XnMnH+2mqDhEgLdpygErm4d60N+UwA5Sq5WFjmEDQzumgB9fElojGwWG0vybVfFmA=="], + + "decode-named-character-reference": ["decode-named-character-reference@1.2.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q=="], + + "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="], + + "default-browser": ["default-browser@5.2.1", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg=="], + + "default-browser-id": ["default-browser-id@5.0.0", "", {}, "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA=="], + + "defer-to-connect": ["defer-to-connect@2.0.1", "", {}, "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="], + + "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="], + + "define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], + + "define-properties": ["define-properties@1.2.1", "", { "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } }, "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg=="], + + "degenerator": ["degenerator@5.0.1", "", { "dependencies": { "ast-types": "^0.13.4", "escodegen": "^2.1.0", "esprima": "^4.0.1" } }, "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ=="], + + "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], + + "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], + + "dependency-graph": ["dependency-graph@0.11.0", "", {}, "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg=="], + + "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], + + "destroy": ["destroy@1.2.0", "", {}, "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="], + + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], + + "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], + + "detect-port": ["detect-port@1.6.1", "", { "dependencies": { "address": "^1.0.1", "debug": "4" }, "bin": { "detect": "bin/detect-port.js", "detect-port": "bin/detect-port.js" } }, "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q=="], + + "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="], + + "devtools-protocol": ["devtools-protocol@0.0.1312386", "", {}, "sha512-DPnhUXvmvKT2dFA/j7B+riVLUt9Q6RKJlcppojL5CoRywJJKLDYnRlw0gTFKfgDPHP5E04UoB71SxoJlVZy8FA=="], + + "didyoumean": ["didyoumean@1.2.2", "", {}, "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="], + + "diff-sequences": ["diff-sequences@29.6.3", "", {}, "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q=="], + + "dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="], + + "dns-packet": ["dns-packet@5.6.1", "", { "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" } }, "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw=="], + + "dns-socket": ["dns-socket@4.2.2", "", { "dependencies": { "dns-packet": "^5.2.4" } }, "sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg=="], + + "dompurify": ["dompurify@3.3.0", "", { "optionalDependencies": { "@types/trusted-types": "^2.0.7" } }, "sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ=="], + + "dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], + + "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + + "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], + + "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], + + "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], + + "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], + + "engine.io": ["engine.io@6.6.4", "", { "dependencies": { "@types/cors": "^2.8.12", "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", "cookie": "~0.7.2", "cors": "~2.8.5", "debug": "~4.3.1", "engine.io-parser": "~5.2.1", "ws": "~8.17.1" } }, "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g=="], + + "engine.io-parser": ["engine.io-parser@5.2.3", "", {}, "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q=="], + + "entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], + + "env-paths": ["env-paths@2.2.1", "", {}, "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="], + + "environment": ["environment@1.1.0", "", {}, "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q=="], + + "error-ex": ["error-ex@1.3.4", "", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ=="], + + "es-abstract": ["es-abstract@1.24.0", "", { "dependencies": { "array-buffer-byte-length": "^1.0.2", "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", "get-intrinsic": "^1.3.0", "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", "has-proto": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "internal-slot": "^1.1.0", "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", "typed-array-buffer": "^1.0.3", "typed-array-byte-length": "^1.0.3", "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", "which-typed-array": "^1.1.19" } }, "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg=="], + + "es-aggregate-error": ["es-aggregate-error@1.0.14", "", { "dependencies": { "define-data-property": "^1.1.4", "define-properties": "^1.2.1", "es-abstract": "^1.24.0", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "globalthis": "^1.0.4", "has-property-descriptors": "^1.0.2", "set-function-name": "^2.0.2" } }, "sha512-3YxX6rVb07B5TV11AV5wsL7nQCHXNwoHPsQC8S4AmBiqYhyNCJ5BRKXkXyDJvs8QzXN20NgRtxe3dEEQD9NLHA=="], + + "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + + "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + + "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + + "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], + + "es-to-primitive": ["es-to-primitive@1.3.0", "", { "dependencies": { "is-callable": "^1.2.7", "is-date-object": "^1.0.5", "is-symbol": "^1.0.4" } }, "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g=="], + + "es-toolkit": ["es-toolkit@1.40.0", "", {}, "sha512-8o6w0KFmU0CiIl0/Q/BCEOabF2IJaELM1T2PWj6e8KqzHv1gdx+7JtFnDwOx1kJH/isJ5NwlDG1nCr1HrRF94Q=="], + + "es6-promise": ["es6-promise@3.3.1", "", {}, "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg=="], + + "esast-util-from-estree": ["esast-util-from-estree@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "unist-util-position-from-estree": "^2.0.0" } }, "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ=="], + + "esast-util-from-js": ["esast-util-from-js@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "acorn": "^8.0.0", "esast-util-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw=="], + + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], + + "escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + + "escodegen": ["escodegen@2.1.0", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="], + + "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], + + "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], + + "estree-util-attach-comments": ["estree-util-attach-comments@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw=="], + + "estree-util-build-jsx": ["estree-util-build-jsx@3.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-walker": "^3.0.0" } }, "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ=="], + + "estree-util-is-identifier-name": ["estree-util-is-identifier-name@3.0.0", "", {}, "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg=="], + + "estree-util-scope": ["estree-util-scope@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0" } }, "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ=="], + + "estree-util-to-js": ["estree-util-to-js@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "astring": "^1.8.0", "source-map": "^0.7.0" } }, "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg=="], + + "estree-util-visit": ["estree-util-visit@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/unist": "^3.0.0" } }, "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww=="], + + "estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], + + "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], + + "event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="], + + "eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="], + + "events-universal": ["events-universal@1.0.1", "", { "dependencies": { "bare-events": "^2.7.0" } }, "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw=="], + + "express": ["express@4.21.2", "", { "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.19.0", "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" } }, "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA=="], + + "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], + + "extend-shallow": ["extend-shallow@2.0.1", "", { "dependencies": { "is-extendable": "^0.1.0" } }, "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug=="], + + "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="], + + "fast-glob": ["fast-glob@3.2.12", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" } }, "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w=="], + + "fast-memoize": ["fast-memoize@2.5.2", "", {}, "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw=="], + + "fast-safe-stringify": ["fast-safe-stringify@2.1.1", "", {}, "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="], + + "fast-uri": ["fast-uri@3.1.0", "", {}, "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA=="], + + "fast-xml-parser": ["fast-xml-parser@4.5.3", "", { "dependencies": { "strnum": "^1.1.1" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig=="], + + "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="], + + "fault": ["fault@2.0.1", "", { "dependencies": { "format": "^0.2.0" } }, "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ=="], + + "favicons": ["favicons@7.2.0", "", { "dependencies": { "escape-html": "^1.0.3", "sharp": "^0.33.1", "xml2js": "^0.6.1" } }, "sha512-k/2rVBRIRzOeom3wI9jBPaSEvoTSQEW4iM0EveBmBBKFxO8mSyyRWtDlfC3VnEfu0avmjrMzy8/ZFPSe6F71Hw=="], + + "fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "finalhandler": ["finalhandler@1.3.1", "", { "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", "statuses": "2.0.1", "unpipe": "~1.0.0" } }, "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ=="], + + "find-up": ["find-up@3.0.0", "", { "dependencies": { "locate-path": "^3.0.0" } }, "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="], + + "follow-redirects": ["follow-redirects@1.15.11", "", {}, "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ=="], + + "for-each": ["for-each@0.3.5", "", { "dependencies": { "is-callable": "^1.2.7" } }, "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg=="], + + "foreach": ["foreach@2.0.6", "", {}, "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg=="], + + "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], + + "form-data": ["form-data@4.0.4", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow=="], + + "form-data-encoder": ["form-data-encoder@2.1.4", "", {}, "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw=="], + + "format": ["format@0.2.2", "", {}, "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww=="], + + "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], + + "fresh": ["fresh@0.5.2", "", {}, "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="], + + "fs-extra": ["fs-extra@11.3.2", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A=="], + + "fs-minipass": ["fs-minipass@2.1.0", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg=="], + + "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "function.prototype.name": ["function.prototype.name@1.1.8", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "functions-have-names": "^1.2.3", "hasown": "^2.0.2", "is-callable": "^1.2.7" } }, "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q=="], + + "functions-have-names": ["functions-have-names@1.2.3", "", {}, "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="], + + "gcd": ["gcd@0.0.1", "", {}, "sha512-VNx3UEGr+ILJTiMs1+xc5SX1cMgJCrXezKPa003APUWNqQqaF6n25W8VcR7nHN6yRWbvvUTwCpZCFJeWC2kXlw=="], + + "generator-function": ["generator-function@2.0.1", "", {}, "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g=="], + + "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], + + "get-east-asian-width": ["get-east-asian-width@1.4.0", "", {}, "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q=="], + + "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], + + "get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="], + + "get-port-please": ["get-port-please@3.2.0", "", {}, "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A=="], + + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + + "get-source": ["get-source@2.0.12", "", { "dependencies": { "data-uri-to-buffer": "^2.0.0", "source-map": "^0.6.1" } }, "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w=="], + + "get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], + + "get-symbol-description": ["get-symbol-description@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6" } }, "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg=="], + + "get-uri": ["get-uri@6.0.5", "", { "dependencies": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "^6.0.2", "debug": "^4.3.4" } }, "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg=="], + + "glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], + + "glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ=="], + + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + + "got": ["got@13.0.0", "", { "dependencies": { "@sindresorhus/is": "^5.2.0", "@szmarczak/http-timer": "^5.0.1", "cacheable-lookup": "^7.0.0", "cacheable-request": "^10.2.8", "decompress-response": "^6.0.0", "form-data-encoder": "^2.1.2", "get-stream": "^6.0.1", "http2-wrapper": "^2.1.10", "lowercase-keys": "^3.0.0", "p-cancelable": "^3.0.0", "responselike": "^3.0.0" } }, "sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "gray-matter": ["gray-matter@4.0.3", "", { "dependencies": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", "section-matter": "^1.0.0", "strip-bom-string": "^1.0.0" } }, "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q=="], + + "handlebars": ["handlebars@4.7.8", "", { "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", "source-map": "^0.6.1", "wordwrap": "^1.0.0" }, "optionalDependencies": { "uglify-js": "^3.1.4" }, "bin": { "handlebars": "bin/handlebars" } }, "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ=="], + + "has-bigints": ["has-bigints@1.1.0", "", {}, "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="], + + "has-proto": ["has-proto@1.2.0", "", { "dependencies": { "dunder-proto": "^1.0.0" } }, "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ=="], + + "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], + + "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], + + "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "hast-util-embedded": ["hast-util-embedded@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-is-element": "^3.0.0" } }, "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA=="], + + "hast-util-from-dom": ["hast-util-from-dom@5.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hastscript": "^9.0.0", "web-namespaces": "^2.0.0" } }, "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q=="], + + "hast-util-from-html": ["hast-util-from-html@2.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "devlop": "^1.1.0", "hast-util-from-parse5": "^8.0.0", "parse5": "^7.0.0", "vfile": "^6.0.0", "vfile-message": "^4.0.0" } }, "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw=="], + + "hast-util-from-html-isomorphic": ["hast-util-from-html-isomorphic@2.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-dom": "^5.0.0", "hast-util-from-html": "^2.0.0", "unist-util-remove-position": "^5.0.0" } }, "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw=="], + + "hast-util-from-parse5": ["hast-util-from-parse5@8.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "hastscript": "^9.0.0", "property-information": "^7.0.0", "vfile": "^6.0.0", "vfile-location": "^5.0.0", "web-namespaces": "^2.0.0" } }, "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg=="], + + "hast-util-has-property": ["hast-util-has-property@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA=="], + + "hast-util-is-body-ok-link": ["hast-util-is-body-ok-link@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ=="], + + "hast-util-is-element": ["hast-util-is-element@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g=="], + + "hast-util-minify-whitespace": ["hast-util-minify-whitespace@1.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", "hast-util-is-element": "^3.0.0", "hast-util-whitespace": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw=="], + + "hast-util-parse-selector": ["hast-util-parse-selector@4.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A=="], + + "hast-util-phrasing": ["hast-util-phrasing@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", "hast-util-has-property": "^3.0.0", "hast-util-is-body-ok-link": "^3.0.0", "hast-util-is-element": "^3.0.0" } }, "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ=="], + + "hast-util-to-estree": ["hast-util-to-estree@3.1.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-attach-comments": "^3.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w=="], + + "hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="], + + "hast-util-to-jsx-runtime": ["hast-util-to-jsx-runtime@2.3.6", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" } }, "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg=="], + + "hast-util-to-mdast": ["hast-util-to-mdast@10.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-phrasing": "^3.0.0", "hast-util-to-html": "^9.0.0", "hast-util-to-text": "^4.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "mdast-util-to-string": "^4.0.0", "rehype-minify-whitespace": "^6.0.0", "trim-trailing-lines": "^2.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ=="], + + "hast-util-to-string": ["hast-util-to-string@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A=="], + + "hast-util-to-text": ["hast-util-to-text@4.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-find-after": "^5.0.0" } }, "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A=="], + + "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="], + + "hastscript": ["hastscript@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w=="], + + "hex-rgb": ["hex-rgb@5.0.0", "", {}, "sha512-NQO+lgVUCtHxZ792FodgW0zflK+ozS9X9dwGp9XvvmPlH7pyxd588cn24TD3rmPm/N0AIRXF10Otah8yKqGw4w=="], + + "hpagent": ["hpagent@1.2.0", "", {}, "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA=="], + + "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="], + + "http-cache-semantics": ["http-cache-semantics@4.2.0", "", {}, "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ=="], + + "http-errors": ["http-errors@2.0.0", "", { "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" } }, "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ=="], + + "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="], + + "http2-client": ["http2-client@1.3.5", "", {}, "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA=="], + + "http2-wrapper": ["http2-wrapper@2.2.1", "", { "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.2.0" } }, "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ=="], + + "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], + + "ico-endec": ["ico-endec@0.1.6", "", {}, "sha512-ZdLU38ZoED3g1j3iEyzcQj+wAkY2xfWNkymszfJPoxucIUhK7NayQ+/C4Kv0nDFMIsbtbEHldv3V8PU494/ueQ=="], + + "iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], + + "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], + + "immer": ["immer@9.0.21", "", {}, "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA=="], + + "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], + + "indent-string": ["indent-string@5.0.0", "", {}, "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg=="], + + "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], + + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "ink": ["ink@6.3.1", "", { "dependencies": { "@alcalzone/ansi-tokenize": "^0.2.0", "ansi-escapes": "^7.0.0", "ansi-styles": "^6.2.1", "auto-bind": "^5.0.1", "chalk": "^5.6.0", "cli-boxes": "^3.0.0", "cli-cursor": "^4.0.0", "cli-truncate": "^4.0.0", "code-excerpt": "^4.0.0", "es-toolkit": "^1.39.10", "indent-string": "^5.0.0", "is-in-ci": "^2.0.0", "patch-console": "^2.0.0", "react-reconciler": "^0.32.0", "signal-exit": "^3.0.7", "slice-ansi": "^7.1.0", "stack-utils": "^2.0.6", "string-width": "^7.2.0", "type-fest": "^4.27.0", "widest-line": "^5.0.0", "wrap-ansi": "^9.0.0", "ws": "^8.18.0", "yoga-layout": "~3.2.1" }, "peerDependencies": { "@types/react": ">=19.0.0", "react": ">=19.0.0", "react-devtools-core": "^6.1.2" }, "optionalPeers": ["@types/react", "react-devtools-core"] }, "sha512-3wGwITGrzL6rkWsi2gEKzgwdafGn4ZYd3u4oRp+sOPvfoxEHlnoB5Vnk9Uy5dMRUhDOqF3hqr4rLQ4lEzBc2sQ=="], + + "ink-spinner": ["ink-spinner@5.0.0", "", { "dependencies": { "cli-spinners": "^2.7.0" }, "peerDependencies": { "ink": ">=4.0.0", "react": ">=18.0.0" } }, "sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA=="], + + "inline-style-parser": ["inline-style-parser@0.2.4", "", {}, "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q=="], + + "inquirer": ["inquirer@12.10.0", "", { "dependencies": { "@inquirer/ansi": "^1.0.1", "@inquirer/core": "^10.3.0", "@inquirer/prompts": "^7.9.0", "@inquirer/type": "^3.0.9", "mute-stream": "^2.0.0", "run-async": "^4.0.5", "rxjs": "^7.8.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-K/epfEnDBZj2Q3NMDcgXWZye3nhSPeoJnOh8lcKWrldw54UEZfS4EmAMsAsmVbl7qKi+vjAsy39Sz4fbgRMewg=="], + + "internal-slot": ["internal-slot@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw=="], + + "ip-address": ["ip-address@10.0.1", "", {}, "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA=="], + + "ip-regex": ["ip-regex@4.3.0", "", {}, "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q=="], + + "ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], + + "is-alphabetical": ["is-alphabetical@2.0.1", "", {}, "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="], + + "is-alphanumerical": ["is-alphanumerical@2.0.1", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw=="], + + "is-array-buffer": ["is-array-buffer@3.0.5", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A=="], + + "is-arrayish": ["is-arrayish@0.3.4", "", {}, "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA=="], + + "is-async-function": ["is-async-function@2.1.1", "", { "dependencies": { "async-function": "^1.0.0", "call-bound": "^1.0.3", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ=="], + + "is-bigint": ["is-bigint@1.1.0", "", { "dependencies": { "has-bigints": "^1.0.2" } }, "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ=="], + + "is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="], + + "is-boolean-object": ["is-boolean-object@1.2.2", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A=="], + + "is-callable": ["is-callable@1.2.7", "", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="], + + "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], + + "is-data-view": ["is-data-view@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" } }, "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw=="], + + "is-date-object": ["is-date-object@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg=="], + + "is-decimal": ["is-decimal@2.0.1", "", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="], + + "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + + "is-extendable": ["is-extendable@0.1.1", "", {}, "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="], + + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-finalizationregistry": ["is-finalizationregistry@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg=="], + + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + + "is-generator-function": ["is-generator-function@1.1.2", "", { "dependencies": { "call-bound": "^1.0.4", "generator-function": "^2.0.0", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-hexadecimal": ["is-hexadecimal@2.0.1", "", {}, "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="], + + "is-in-ci": ["is-in-ci@2.0.0", "", { "bin": { "is-in-ci": "cli.js" } }, "sha512-cFeerHriAnhrQSbpAxL37W1wcJKUUX07HyLWZCW1URJT/ra3GyUTzBgUnh24TMVfNTV2Hij2HLxkPHFZfOZy5w=="], + + "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], + + "is-ip": ["is-ip@3.1.0", "", { "dependencies": { "ip-regex": "^4.0.0" } }, "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q=="], + + "is-map": ["is-map@2.0.3", "", {}, "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw=="], + + "is-negative-zero": ["is-negative-zero@2.0.3", "", {}, "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "is-number-object": ["is-number-object@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw=="], + + "is-online": ["is-online@10.0.0", "", { "dependencies": { "got": "^12.1.0", "p-any": "^4.0.0", "p-timeout": "^5.1.0", "public-ip": "^5.0.0" } }, "sha512-WCPdKwNDjXJJmUubf2VHLMDBkUZEtuOvpXUfUnUFbEnM6In9ByiScL4f4jKACz/fsb2qDkesFerW3snf/AYz3A=="], + + "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], + + "is-reference": ["is-reference@1.2.1", "", { "dependencies": { "@types/estree": "*" } }, "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ=="], + + "is-regex": ["is-regex@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g=="], + + "is-set": ["is-set@2.0.3", "", {}, "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg=="], + + "is-shared-array-buffer": ["is-shared-array-buffer@1.0.4", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A=="], + + "is-string": ["is-string@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA=="], + + "is-symbol": ["is-symbol@1.1.1", "", { "dependencies": { "call-bound": "^1.0.2", "has-symbols": "^1.1.0", "safe-regex-test": "^1.1.0" } }, "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w=="], + + "is-typed-array": ["is-typed-array@1.1.15", "", { "dependencies": { "which-typed-array": "^1.1.16" } }, "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ=="], + + "is-weakmap": ["is-weakmap@2.0.2", "", {}, "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w=="], + + "is-weakref": ["is-weakref@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew=="], + + "is-weakset": ["is-weakset@2.0.4", "", { "dependencies": { "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ=="], + + "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], + + "isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], + + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], + + "jest-diff": ["jest-diff@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw=="], + + "jest-get-type": ["jest-get-type@29.6.3", "", {}, "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw=="], + + "jest-matcher-utils": ["jest-matcher-utils@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g=="], + + "jiti": ["jiti@1.21.7", "", { "bin": { "jiti": "bin/jiti.js" } }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="], + + "js-levenshtein": ["js-levenshtein@1.1.6", "", {}, "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g=="], + + "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], + + "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], + + "jsep": ["jsep@1.4.0", "", {}, "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw=="], + + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + + "json-parse-even-better-errors": ["json-parse-even-better-errors@2.3.1", "", {}, "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="], + + "json-pointer": ["json-pointer@0.6.2", "", { "dependencies": { "foreach": "^2.0.4" } }, "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw=="], + + "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], + + "jsonc-parser": ["jsonc-parser@2.2.1", "", {}, "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w=="], + + "jsonfile": ["jsonfile@6.2.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg=="], + + "jsonpath-plus": ["jsonpath-plus@10.3.0", "", { "dependencies": { "@jsep-plugin/assignment": "^1.3.0", "@jsep-plugin/regex": "^1.0.4", "jsep": "^1.4.0" }, "bin": { "jsonpath": "bin/jsonpath-cli.js", "jsonpath-plus": "bin/jsonpath-cli.js" } }, "sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA=="], + + "jsonpointer": ["jsonpointer@5.0.1", "", {}, "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ=="], + + "katex": ["katex@0.16.25", "", { "dependencies": { "commander": "^8.3.0" }, "bin": { "katex": "cli.js" } }, "sha512-woHRUZ/iF23GBP1dkDQMh1QBad9dmr8/PAwNA54VrSOVYgI12MAcE14TqnDdQOdzyEonGzMepYnqBMYdsoAr8Q=="], + + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + + "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="], + + "lcm": ["lcm@0.0.3", "", { "dependencies": { "gcd": "^0.0.1" } }, "sha512-TB+ZjoillV6B26Vspf9l2L/vKaRY/4ep3hahcyVkCGFgsTNRUQdc24bQeNFiZeoxH0vr5+7SfNRMQuPHv/1IrQ=="], + + "leven": ["leven@3.1.0", "", {}, "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A=="], + + "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], + + "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], + + "locate-path": ["locate-path@3.0.0", "", { "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="], + + "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], + + "lodash.debounce": ["lodash.debounce@4.0.8", "", {}, "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="], + + "lodash.throttle": ["lodash.throttle@4.1.1", "", {}, "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="], + + "lodash.topath": ["lodash.topath@4.5.2", "", {}, "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg=="], + + "long": ["long@5.3.2", "", {}, "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="], + + "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="], + + "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="], + + "lowercase-keys": ["lowercase-keys@3.0.0", "", {}, "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ=="], + + "lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + + "lunr": ["lunr@2.3.9", "", {}, "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow=="], + + "magic-string": ["magic-string@0.25.9", "", { "dependencies": { "sourcemap-codec": "^1.4.8" } }, "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ=="], + + "mark.js": ["mark.js@8.11.1", "", {}, "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ=="], + + "markdown-escape": ["markdown-escape@2.0.0", "", {}, "sha512-Trz4v0+XWlwy68LJIyw3bLbsJiC8XAbRCKF9DbEtZjyndKOGVx6n+wNB0VfoRmY2LKboQLeniap3xrb6LGSJ8A=="], + + "markdown-extensions": ["markdown-extensions@2.0.0", "", {}, "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q=="], + + "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="], + + "marked": ["marked@4.3.0", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A=="], + + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + + "mdast": ["mdast@3.0.0", "", {}, "sha512-xySmf8g4fPKMeC07jXGz971EkLbWAJ83s4US2Tj9lEdnZ142UP5grN73H1Xd3HzrdbU5o9GYYP/y8F9ZSwLE9g=="], + + "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="], + + "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA=="], + + "mdast-util-frontmatter": ["mdast-util-frontmatter@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "escape-string-regexp": "^5.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-extension-frontmatter": "^2.0.0" } }, "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA=="], + + "mdast-util-gfm": ["mdast-util-gfm@3.1.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", "mdast-util-gfm-footnote": "^2.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", "mdast-util-gfm-table": "^2.0.0", "mdast-util-gfm-task-list-item": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ=="], + + "mdast-util-gfm-autolink-literal": ["mdast-util-gfm-autolink-literal@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", "devlop": "^1.0.0", "mdast-util-find-and-replace": "^3.0.0", "micromark-util-character": "^2.0.0" } }, "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ=="], + + "mdast-util-gfm-footnote": ["mdast-util-gfm-footnote@2.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0" } }, "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ=="], + + "mdast-util-gfm-strikethrough": ["mdast-util-gfm-strikethrough@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg=="], + + "mdast-util-gfm-table": ["mdast-util-gfm-table@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "markdown-table": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg=="], + + "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ=="], + + "mdast-util-math": ["mdast-util-math@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "longest-streak": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.1.0", "unist-util-remove-position": "^5.0.0" } }, "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w=="], + + "mdast-util-mdx": ["mdast-util-mdx@3.0.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w=="], + + "mdast-util-mdx-expression": ["mdast-util-mdx-expression@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ=="], + + "mdast-util-mdx-jsx": ["mdast-util-mdx-jsx@3.2.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" } }, "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q=="], + + "mdast-util-mdxjs-esm": ["mdast-util-mdxjs-esm@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg=="], + + "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="], + + "mdast-util-to-hast": ["mdast-util-to-hast@13.2.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA=="], + + "mdast-util-to-markdown": ["mdast-util-to-markdown@2.1.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA=="], + + "mdast-util-to-string": ["mdast-util-to-string@4.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0" } }, "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg=="], + + "media-typer": ["media-typer@0.3.0", "", {}, "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="], + + "merge-descriptors": ["merge-descriptors@1.0.3", "", {}, "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ=="], + + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + + "methods": ["methods@1.1.2", "", {}, "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="], + + "micromark": ["micromark@4.0.2", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA=="], + + "micromark-core-commonmark": ["micromark-core-commonmark@2.0.3", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-destination": "^2.0.0", "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-factory-title": "^2.0.0", "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-html-tag-name": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg=="], + + "micromark-extension-frontmatter": ["micromark-extension-frontmatter@2.0.0", "", { "dependencies": { "fault": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg=="], + + "micromark-extension-gfm": ["micromark-extension-gfm@3.0.0", "", { "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", "micromark-extension-gfm-strikethrough": "^2.0.0", "micromark-extension-gfm-table": "^2.0.0", "micromark-extension-gfm-tagfilter": "^2.0.0", "micromark-extension-gfm-task-list-item": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w=="], + + "micromark-extension-gfm-autolink-literal": ["micromark-extension-gfm-autolink-literal@2.1.0", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw=="], + + "micromark-extension-gfm-footnote": ["micromark-extension-gfm-footnote@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw=="], + + "micromark-extension-gfm-strikethrough": ["micromark-extension-gfm-strikethrough@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw=="], + + "micromark-extension-gfm-table": ["micromark-extension-gfm-table@2.1.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg=="], + + "micromark-extension-gfm-tagfilter": ["micromark-extension-gfm-tagfilter@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg=="], + + "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw=="], + + "micromark-extension-math": ["micromark-extension-math@3.1.0", "", { "dependencies": { "@types/katex": "^0.16.0", "devlop": "^1.0.0", "katex": "^0.16.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg=="], + + "micromark-extension-mdx-expression": ["micromark-extension-mdx-expression@3.0.1", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q=="], + + "micromark-extension-mdx-jsx": ["micromark-extension-mdx-jsx@3.0.2", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ=="], + + "micromark-extension-mdx-md": ["micromark-extension-mdx-md@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ=="], + + "micromark-extension-mdxjs": ["micromark-extension-mdxjs@3.0.0", "", { "dependencies": { "acorn": "^8.0.0", "acorn-jsx": "^5.0.0", "micromark-extension-mdx-expression": "^3.0.0", "micromark-extension-mdx-jsx": "^3.0.0", "micromark-extension-mdx-md": "^2.0.0", "micromark-extension-mdxjs-esm": "^3.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ=="], + + "micromark-extension-mdxjs-esm": ["micromark-extension-mdxjs-esm@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A=="], + + "micromark-factory-destination": ["micromark-factory-destination@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA=="], + + "micromark-factory-label": ["micromark-factory-label@2.0.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg=="], + + "micromark-factory-mdx-expression": ["micromark-factory-mdx-expression@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ=="], + + "micromark-factory-space": ["micromark-factory-space@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg=="], + + "micromark-factory-title": ["micromark-factory-title@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw=="], + + "micromark-factory-whitespace": ["micromark-factory-whitespace@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ=="], + + "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="], + + "micromark-util-chunked": ["micromark-util-chunked@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA=="], + + "micromark-util-classify-character": ["micromark-util-classify-character@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q=="], + + "micromark-util-combine-extensions": ["micromark-util-combine-extensions@2.0.1", "", { "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg=="], + + "micromark-util-decode-numeric-character-reference": ["micromark-util-decode-numeric-character-reference@2.0.2", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw=="], + + "micromark-util-decode-string": ["micromark-util-decode-string@2.0.1", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ=="], + + "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="], + + "micromark-util-events-to-acorn": ["micromark-util-events-to-acorn@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg=="], + + "micromark-util-html-tag-name": ["micromark-util-html-tag-name@2.0.1", "", {}, "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA=="], + + "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q=="], + + "micromark-util-resolve-all": ["micromark-util-resolve-all@2.0.1", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg=="], + + "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="], + + "micromark-util-subtokenize": ["micromark-util-subtokenize@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA=="], + + "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="], + + "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "mime": ["mime@1.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="], + + "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + + "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + + "mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], + + "mimic-response": ["mimic-response@4.0.0", "", {}, "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg=="], + + "minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], + + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], + + "minipass": ["minipass@5.0.0", "", {}, "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ=="], + + "minizlib": ["minizlib@2.1.2", "", { "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" } }, "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg=="], + + "mintlify": ["mintlify@4.2.177", "", { "dependencies": { "@mintlify/cli": "4.0.781" }, "bin": { "mint": "index.js", "mintlify": "index.js" } }, "sha512-muM499ag3sbveM75tWpfB0z7NG97nslm/+7ZrKan5r76KqdhspGbHdUlnTcvltHizreR78Hjrfnzd7UjuRg+Dw=="], + + "mitt": ["mitt@3.0.1", "", {}, "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="], + + "mkdirp": ["mkdirp@1.0.4", "", { "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="], + + "mobx": ["mobx@6.15.0", "", {}, "sha512-UczzB+0nnwGotYSgllfARAqWCJ5e/skuV2K/l+Zyck/H6pJIhLXuBnz+6vn2i211o7DtbE78HQtsYEKICHGI+g=="], + + "mobx-react": ["mobx-react@9.2.1", "", { "dependencies": { "mobx-react-lite": "^4.1.1" }, "peerDependencies": { "mobx": "^6.9.0", "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-WJNNm0FB2n0Z0u+jS1QHmmWyV8l2WiAj8V8I/96kbUEN2YbYCoKW+hbbqKKRUBqElu0llxM7nWKehvRIkhBVJw=="], + + "mobx-react-lite": ["mobx-react-lite@4.1.1", "", { "dependencies": { "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "mobx": "^6.9.0", "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-iUxiMpsvNraCKXU+yPotsOncNNmyeS2B5DKL+TL6Tar/xm+wwNJAubJmtRSeAoYawdZqwv8Z/+5nPRHeQxTiXg=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "mute-stream": ["mute-stream@2.0.0", "", {}, "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA=="], + + "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], + + "neo-async": ["neo-async@2.6.2", "", {}, "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="], + + "neotraverse": ["neotraverse@0.6.18", "", {}, "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA=="], + + "netmask": ["netmask@2.0.2", "", {}, "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg=="], + + "next-mdx-remote-client": ["next-mdx-remote-client@1.1.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@mdx-js/mdx": "^3.1.1", "@mdx-js/react": "^3.1.1", "remark-mdx-remove-esm": "^1.2.1", "serialize-error": "^12.0.0", "vfile": "^6.0.3", "vfile-matter": "^5.0.1" }, "peerDependencies": { "react": ">= 18.3.0 < 19.0.0", "react-dom": ">= 18.3.0 < 19.0.0" } }, "sha512-psCMdO50tfoT1kAH7OGXZvhyRfiHVK6IqwjmWFV5gtLo4dnqjAgcjcLNeJ92iI26UNlKShxYrBs1GQ6UXxk97A=="], + + "nimma": ["nimma@0.2.3", "", { "dependencies": { "@jsep-plugin/regex": "^1.0.1", "@jsep-plugin/ternary": "^1.0.2", "astring": "^1.8.1", "jsep": "^1.2.0" }, "optionalDependencies": { "jsonpath-plus": "^6.0.1 || ^10.1.0", "lodash.topath": "^4.5.2" } }, "sha512-1ZOI8J+1PKKGceo/5CT5GfQOG6H8I2BencSK06YarZ2wXwH37BSSUWldqJmMJYA5JfqDqffxDXynt6f11AyKcA=="], + + "nlcst-to-string": ["nlcst-to-string@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0" } }, "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA=="], + + "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], + + "node-fetch-h2": ["node-fetch-h2@2.3.0", "", { "dependencies": { "http2-client": "^1.2.5" } }, "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg=="], + + "node-readfiles": ["node-readfiles@0.2.0", "", { "dependencies": { "es6-promise": "^3.2.1" } }, "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA=="], + + "node-sarif-builder": ["node-sarif-builder@2.0.3", "", { "dependencies": { "@types/sarif": "^2.1.4", "fs-extra": "^10.0.0" } }, "sha512-Pzr3rol8fvhG/oJjIq2NTVB0vmdNNlz22FENhhPojYRZ4/ee08CfK4YuKmuL54V9MLhI1kpzxfOJ/63LzmZzDg=="], + + "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], + + "normalize-url": ["normalize-url@8.1.0", "", {}, "sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w=="], + + "oas-kit-common": ["oas-kit-common@1.0.8", "", { "dependencies": { "fast-safe-stringify": "^2.0.7" } }, "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ=="], + + "oas-linter": ["oas-linter@3.2.2", "", { "dependencies": { "@exodus/schemasafe": "^1.0.0-rc.2", "should": "^13.2.1", "yaml": "^1.10.0" } }, "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ=="], + + "oas-resolver": ["oas-resolver@2.5.6", "", { "dependencies": { "node-fetch-h2": "^2.3.0", "oas-kit-common": "^1.0.8", "reftools": "^1.1.9", "yaml": "^1.10.0", "yargs": "^17.0.1" }, "bin": { "resolve": "resolve.js" } }, "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ=="], + + "oas-schema-walker": ["oas-schema-walker@1.1.5", "", {}, "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ=="], + + "oas-validator": ["oas-validator@5.0.8", "", { "dependencies": { "call-me-maybe": "^1.0.1", "oas-kit-common": "^1.0.8", "oas-linter": "^3.2.2", "oas-resolver": "^2.5.6", "oas-schema-walker": "^1.1.5", "reftools": "^1.1.9", "should": "^13.2.1", "yaml": "^1.10.0" } }, "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw=="], + + "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], + + "object-hash": ["object-hash@3.0.0", "", {}, "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="], + + "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], + + "object-keys": ["object-keys@1.1.1", "", {}, "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="], + + "object.assign": ["object.assign@4.1.7", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0", "has-symbols": "^1.1.0", "object-keys": "^1.1.1" } }, "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw=="], + + "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], + + "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + + "onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], + + "oniguruma-parser": ["oniguruma-parser@0.12.1", "", {}, "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w=="], + + "oniguruma-to-es": ["oniguruma-to-es@4.3.3", "", { "dependencies": { "oniguruma-parser": "^0.12.1", "regex": "^6.0.1", "regex-recursion": "^6.0.2" } }, "sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg=="], + + "open": ["open@10.2.0", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "wsl-utils": "^0.1.0" } }, "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA=="], + + "openapi-sampler": ["openapi-sampler@1.6.2", "", { "dependencies": { "@types/json-schema": "^7.0.7", "fast-xml-parser": "^4.5.0", "json-pointer": "0.6.2" } }, "sha512-NyKGiFKfSWAZr4srD/5WDhInOWDhfml32h/FKUqLpEwKJt0kG0LGUU0MdyNkKrVGuJnw6DuPWq/sHCwAMpiRxg=="], + + "openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="], + + "outdent": ["outdent@0.8.0", "", {}, "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A=="], + + "own-keys": ["own-keys@1.0.1", "", { "dependencies": { "get-intrinsic": "^1.2.6", "object-keys": "^1.1.1", "safe-push-apply": "^1.0.0" } }, "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg=="], + + "p-any": ["p-any@4.0.0", "", { "dependencies": { "p-cancelable": "^3.0.0", "p-some": "^6.0.0" } }, "sha512-S/B50s+pAVe0wmEZHmBs/9yJXeZ5KhHzOsgKzt0hRdgkoR3DxW9ts46fcsWi/r3VnzsnkKS7q4uimze+zjdryw=="], + + "p-cancelable": ["p-cancelable@3.0.0", "", {}, "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw=="], + + "p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], + + "p-locate": ["p-locate@3.0.0", "", { "dependencies": { "p-limit": "^2.0.0" } }, "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="], + + "p-some": ["p-some@6.0.0", "", { "dependencies": { "aggregate-error": "^4.0.0", "p-cancelable": "^3.0.0" } }, "sha512-CJbQCKdfSX3fIh8/QKgS+9rjm7OBNUTmwWswAFQAhc8j1NR1dsEDETUEuVUtQHZpV+J03LqWBEwvu0g1Yn+TYg=="], + + "p-timeout": ["p-timeout@5.1.0", "", {}, "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew=="], + + "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], + + "pac-proxy-agent": ["pac-proxy-agent@7.2.0", "", { "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.1.2", "debug": "^4.3.4", "get-uri": "^6.0.1", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.6", "pac-resolver": "^7.0.1", "socks-proxy-agent": "^8.0.5" } }, "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA=="], + + "pac-resolver": ["pac-resolver@7.0.1", "", { "dependencies": { "degenerator": "^5.0.0", "netmask": "^2.0.2" } }, "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg=="], + + "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], + + "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], + + "parse-entities": ["parse-entities@4.0.2", "", { "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", "character-reference-invalid": "^2.0.0", "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" } }, "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw=="], + + "parse-json": ["parse-json@5.2.0", "", { "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="], + + "parse-latin": ["parse-latin@7.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "@types/unist": "^3.0.0", "nlcst-to-string": "^4.0.0", "unist-util-modify-children": "^4.0.0", "unist-util-visit-children": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ=="], + + "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], + + "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], + + "patch-console": ["patch-console@2.0.0", "", {}, "sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA=="], + + "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="], + + "path-exists": ["path-exists@3.0.0", "", {}, "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="], + + "path-is-absolute": ["path-is-absolute@1.0.1", "", {}, "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], + + "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + + "path-to-regexp": ["path-to-regexp@0.1.12", "", {}, "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ=="], + + "pend": ["pend@1.2.0", "", {}, "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="], + + "perfect-scrollbar": ["perfect-scrollbar@1.5.6", "", {}, "sha512-rixgxw3SxyJbCaSpo1n35A/fwI1r2rdwMKOTCg/AcG+xOEyZcE8UHVjpZMFCVImzsFoCZeJTT+M/rdEIQYO2nw=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="], + + "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="], + + "pluralize": ["pluralize@8.0.0", "", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="], + + "polished": ["polished@4.3.1", "", { "dependencies": { "@babel/runtime": "^7.17.8" } }, "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA=="], + + "pony-cause": ["pony-cause@1.1.1", "", {}, "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g=="], + + "possible-typed-array-names": ["possible-typed-array-names@1.1.0", "", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="], + + "postcss": ["postcss@8.4.49", "", { "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA=="], + + "postcss-import": ["postcss-import@15.1.0", "", { "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" }, "peerDependencies": { "postcss": "^8.0.0" } }, "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew=="], + + "postcss-js": ["postcss-js@4.1.0", "", { "dependencies": { "camelcase-css": "^2.0.1" }, "peerDependencies": { "postcss": "^8.4.21" } }, "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw=="], + + "postcss-load-config": ["postcss-load-config@6.0.1", "", { "dependencies": { "lilconfig": "^3.1.1" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["jiti", "postcss", "tsx", "yaml"] }, "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g=="], + + "postcss-nested": ["postcss-nested@6.2.0", "", { "dependencies": { "postcss-selector-parser": "^6.1.1" }, "peerDependencies": { "postcss": "^8.2.14" } }, "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="], + + "postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], + + "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], + + "pretty-format": ["pretty-format@29.7.0", "", { "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } }, "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ=="], + + "printable-characters": ["printable-characters@1.0.42", "", {}, "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ=="], + + "prismjs": ["prismjs@1.30.0", "", {}, "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw=="], + + "progress": ["progress@2.0.3", "", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="], + + "prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="], + + "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], + + "protobufjs": ["protobufjs@7.5.4", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg=="], + + "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], + + "proxy-agent": ["proxy-agent@6.5.0", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "http-proxy-agent": "^7.0.1", "https-proxy-agent": "^7.0.6", "lru-cache": "^7.14.1", "pac-proxy-agent": "^7.1.0", "proxy-from-env": "^1.1.0", "socks-proxy-agent": "^8.0.5" } }, "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A=="], + + "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="], + + "public-ip": ["public-ip@5.0.0", "", { "dependencies": { "dns-socket": "^4.2.2", "got": "^12.0.0", "is-ip": "^3.1.0" } }, "sha512-xaH3pZMni/R2BG7ZXXaWS9Wc9wFlhyDVJF47IJ+3ali0TGv+2PsckKxbmo+rnx3ZxiV2wblVhtdS3bohAP6GGw=="], + + "pump": ["pump@3.0.3", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA=="], + + "puppeteer": ["puppeteer@22.15.0", "", { "dependencies": { "@puppeteer/browsers": "2.3.0", "cosmiconfig": "^9.0.0", "devtools-protocol": "0.0.1312386", "puppeteer-core": "22.15.0" }, "bin": { "puppeteer": "lib/esm/puppeteer/node/cli.js" } }, "sha512-XjCY1SiSEi1T7iSYuxS82ft85kwDJUS7wj1Z0eGVXKdtr5g4xnVcbjwxhq5xBnpK/E7x1VZZoJDxpjAOasHT4Q=="], + + "puppeteer-core": ["puppeteer-core@22.15.0", "", { "dependencies": { "@puppeteer/browsers": "2.3.0", "chromium-bidi": "0.6.3", "debug": "^4.3.6", "devtools-protocol": "0.0.1312386", "ws": "^8.18.0" } }, "sha512-cHArnywCiAAVXa3t4GGL2vttNxh7GqXtIYGym99egkNJ3oG//wL9LkvO4WE8W1TJe95t1F1ocu9X4xWaGsOKOA=="], + + "qs": ["qs@6.13.0", "", { "dependencies": { "side-channel": "^1.0.6" } }, "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg=="], + + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + + "quick-lru": ["quick-lru@5.1.1", "", {}, "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="], + + "randombytes": ["randombytes@2.1.0", "", { "dependencies": { "safe-buffer": "^5.1.0" } }, "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="], + + "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], + + "raw-body": ["raw-body@2.5.2", "", { "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA=="], + + "react": ["react@19.2.0", "", {}, "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ=="], + + "react-dom": ["react-dom@19.2.0", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.0" } }, "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ=="], + + "react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], + + "react-reconciler": ["react-reconciler@0.32.0", "", { "dependencies": { "scheduler": "^0.26.0" }, "peerDependencies": { "react": "^19.1.0" } }, "sha512-2NPMOzgTlG0ZWdIf3qG+dcbLSoAc/uLfOwckc3ofy5sSK0pLJqnQLpUFxvGcN2rlXSjnVtGeeFLNimCQEj5gOQ=="], + + "react-remove-scroll": ["react-remove-scroll@2.7.1", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA=="], + + "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], + + "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], + + "react-tabs": ["react-tabs@6.1.0", "", { "dependencies": { "clsx": "^2.0.0", "prop-types": "^15.5.0" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0" } }, "sha512-6QtbTRDKM+jA/MZTTefvigNxo0zz+gnBTVFw2CFVvq+f2BuH0nF0vDLNClL045nuTAdOoK/IL1vTP0ZLX0DAyQ=="], + + "read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="], + + "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], + + "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], + + "recma-build-jsx": ["recma-build-jsx@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-build-jsx": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew=="], + + "recma-jsx": ["recma-jsx@1.0.1", "", { "dependencies": { "acorn-jsx": "^5.0.0", "estree-util-to-js": "^2.0.0", "recma-parse": "^1.0.0", "recma-stringify": "^1.0.0", "unified": "^11.0.0" }, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w=="], + + "recma-parse": ["recma-parse@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "esast-util-from-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ=="], + + "recma-stringify": ["recma-stringify@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-to-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g=="], + + "redoc": ["redoc@2.5.0", "", { "dependencies": { "@redocly/openapi-core": "^1.4.0", "classnames": "^2.3.2", "decko": "^1.2.0", "dompurify": "^3.2.4", "eventemitter3": "^5.0.1", "json-pointer": "^0.6.2", "lunr": "^2.3.9", "mark.js": "^8.11.1", "marked": "^4.3.0", "mobx-react": "^9.1.1", "openapi-sampler": "^1.5.0", "path-browserify": "^1.0.1", "perfect-scrollbar": "^1.5.5", "polished": "^4.2.2", "prismjs": "^1.29.0", "prop-types": "^15.8.1", "react-tabs": "^6.0.2", "slugify": "~1.4.7", "stickyfill": "^1.1.1", "swagger2openapi": "^7.0.8", "url-template": "^2.0.8" }, "peerDependencies": { "core-js": "^3.1.4", "mobx": "^6.0.4", "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", "styled-components": "^4.1.1 || ^5.1.1 || ^6.0.5" } }, "sha512-NpYsOZ1PD9qFdjbLVBZJWptqE+4Y6TkUuvEOqPUmoH7AKOmPcE+hYjotLxQNTqVoWL4z0T2uxILmcc8JGDci+Q=="], + + "reflect.getprototypeof": ["reflect.getprototypeof@1.0.10", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.9", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.7", "get-proto": "^1.0.1", "which-builtin-type": "^1.2.1" } }, "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw=="], + + "reftools": ["reftools@1.1.9", "", {}, "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w=="], + + "regex": ["regex@6.0.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA=="], + + "regex-recursion": ["regex-recursion@6.0.2", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg=="], + + "regex-utilities": ["regex-utilities@2.3.0", "", {}, "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng=="], + + "regexp.prototype.flags": ["regexp.prototype.flags@1.5.4", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", "get-proto": "^1.0.1", "gopd": "^1.2.0", "set-function-name": "^2.0.2" } }, "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA=="], + + "rehype-katex": ["rehype-katex@7.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/katex": "^0.16.0", "hast-util-from-html-isomorphic": "^2.0.0", "hast-util-to-text": "^4.0.0", "katex": "^0.16.0", "unist-util-visit-parents": "^6.0.0", "vfile": "^6.0.0" } }, "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA=="], + + "rehype-minify-whitespace": ["rehype-minify-whitespace@6.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-minify-whitespace": "^1.0.0" } }, "sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw=="], + + "rehype-parse": ["rehype-parse@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-html": "^2.0.0", "unified": "^11.0.0" } }, "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag=="], + + "rehype-recma": ["rehype-recma@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "hast-util-to-estree": "^3.0.0" } }, "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw=="], + + "remark": ["remark@15.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A=="], + + "remark-frontmatter": ["remark-frontmatter@5.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-frontmatter": "^2.0.0", "micromark-extension-frontmatter": "^2.0.0", "unified": "^11.0.0" } }, "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ=="], + + "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="], + + "remark-math": ["remark-math@6.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-math": "^3.0.0", "micromark-extension-math": "^3.0.0", "unified": "^11.0.0" } }, "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA=="], + + "remark-mdx": ["remark-mdx@3.1.1", "", { "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" } }, "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg=="], + + "remark-mdx-remove-esm": ["remark-mdx-remove-esm@1.2.1", "", { "dependencies": { "@types/mdast": "^4.0.4", "mdast-util-mdxjs-esm": "^2.0.1", "unist-util-remove": "^4.0.0" }, "peerDependencies": { "unified": "^11" } }, "sha512-Vz1GKmRR9u7ij8TTf88DK8dFc/mVror9YUJekl1uP+S0sTzHxGdszJMeBbh96aIR+ZiI2QRKHu2UsV+/pWj7uQ=="], + + "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="], + + "remark-rehype": ["remark-rehype@11.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw=="], + + "remark-smartypants": ["remark-smartypants@3.0.2", "", { "dependencies": { "retext": "^9.0.0", "retext-smartypants": "^6.0.0", "unified": "^11.0.4", "unist-util-visit": "^5.0.0" } }, "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA=="], + + "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="], + + "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], + + "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], + + "require-main-filename": ["require-main-filename@2.0.0", "", {}, "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="], + + "reserved": ["reserved@0.1.2", "", {}, "sha512-/qO54MWj5L8WCBP9/UNe2iefJc+L9yETbH32xO/ft/EYPOTCR5k+azvDUgdCOKwZH8hXwPd0b8XBL78Nn2U69g=="], + + "resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], + + "resolve-alpn": ["resolve-alpn@1.2.1", "", {}, "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="], + + "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + + "responselike": ["responselike@3.0.0", "", { "dependencies": { "lowercase-keys": "^3.0.0" } }, "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg=="], + + "restore-cursor": ["restore-cursor@4.0.0", "", { "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg=="], + + "retext": ["retext@9.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "retext-latin": "^4.0.0", "retext-stringify": "^4.0.0", "unified": "^11.0.0" } }, "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA=="], + + "retext-latin": ["retext-latin@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "parse-latin": "^7.0.0", "unified": "^11.0.0" } }, "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA=="], + + "retext-smartypants": ["retext-smartypants@6.2.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ=="], + + "retext-stringify": ["retext-stringify@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unified": "^11.0.0" } }, "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA=="], + + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + + "rollup": ["rollup@2.79.2", "", { "optionalDependencies": { "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ=="], + + "run-applescript": ["run-applescript@7.1.0", "", {}, "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q=="], + + "run-async": ["run-async@4.0.6", "", {}, "sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ=="], + + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], + + "rxjs": ["rxjs@7.8.2", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA=="], + + "safe-array-concat": ["safe-array-concat@1.1.3", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "get-intrinsic": "^1.2.6", "has-symbols": "^1.1.0", "isarray": "^2.0.5" } }, "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q=="], + + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + + "safe-push-apply": ["safe-push-apply@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "isarray": "^2.0.5" } }, "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA=="], + + "safe-regex-test": ["safe-regex-test@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-regex": "^1.2.1" } }, "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw=="], + + "safe-stable-stringify": ["safe-stable-stringify@1.1.1", "", {}, "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw=="], + + "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], + + "sax": ["sax@1.4.1", "", {}, "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="], + + "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], + + "section-matter": ["section-matter@1.0.0", "", { "dependencies": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" } }, "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA=="], + + "semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], + + "send": ["send@0.19.0", "", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "2.4.1", "range-parser": "~1.2.1", "statuses": "2.0.1" } }, "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw=="], + + "serialize-error": ["serialize-error@12.0.0", "", { "dependencies": { "type-fest": "^4.31.0" } }, "sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw=="], + + "serve-static": ["serve-static@1.16.2", "", { "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "0.19.0" } }, "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw=="], + + "set-blocking": ["set-blocking@2.0.0", "", {}, "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="], + + "set-cookie-parser": ["set-cookie-parser@2.7.1", "", {}, "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ=="], + + "set-function-length": ["set-function-length@1.2.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" } }, "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="], + + "set-function-name": ["set-function-name@2.0.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", "has-property-descriptors": "^1.0.2" } }, "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ=="], + + "set-proto": ["set-proto@1.0.0", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0" } }, "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw=="], + + "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], + + "shallowequal": ["shallowequal@1.1.0", "", {}, "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="], + + "sharp": ["sharp@0.33.5", "", { "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.3", "semver": "^7.6.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.33.5", "@img/sharp-darwin-x64": "0.33.5", "@img/sharp-libvips-darwin-arm64": "1.0.4", "@img/sharp-libvips-darwin-x64": "1.0.4", "@img/sharp-libvips-linux-arm": "1.0.5", "@img/sharp-libvips-linux-arm64": "1.0.4", "@img/sharp-libvips-linux-s390x": "1.0.4", "@img/sharp-libvips-linux-x64": "1.0.4", "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", "@img/sharp-libvips-linuxmusl-x64": "1.0.4", "@img/sharp-linux-arm": "0.33.5", "@img/sharp-linux-arm64": "0.33.5", "@img/sharp-linux-s390x": "0.33.5", "@img/sharp-linux-x64": "0.33.5", "@img/sharp-linuxmusl-arm64": "0.33.5", "@img/sharp-linuxmusl-x64": "0.33.5", "@img/sharp-wasm32": "0.33.5", "@img/sharp-win32-ia32": "0.33.5", "@img/sharp-win32-x64": "0.33.5" } }, "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw=="], + + "sharp-ico": ["sharp-ico@0.1.5", "", { "dependencies": { "decode-ico": "*", "ico-endec": "*", "sharp": "*" } }, "sha512-a3jODQl82NPp1d5OYb0wY+oFaPk7AvyxipIowCHk7pBsZCWgbe0yAkU2OOXdoH0ENyANhyOQbs9xkAiRHcF02Q=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "shiki": ["shiki@3.13.0", "", { "dependencies": { "@shikijs/core": "3.13.0", "@shikijs/engine-javascript": "3.13.0", "@shikijs/engine-oniguruma": "3.13.0", "@shikijs/langs": "3.13.0", "@shikijs/themes": "3.13.0", "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g=="], + + "should": ["should@13.2.3", "", { "dependencies": { "should-equal": "^2.0.0", "should-format": "^3.0.3", "should-type": "^1.4.0", "should-type-adaptors": "^1.0.1", "should-util": "^1.0.0" } }, "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ=="], + + "should-equal": ["should-equal@2.0.0", "", { "dependencies": { "should-type": "^1.4.0" } }, "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA=="], + + "should-format": ["should-format@3.0.3", "", { "dependencies": { "should-type": "^1.3.0", "should-type-adaptors": "^1.0.1" } }, "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q=="], + + "should-type": ["should-type@1.4.0", "", {}, "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ=="], + + "should-type-adaptors": ["should-type-adaptors@1.1.0", "", { "dependencies": { "should-type": "^1.3.0", "should-util": "^1.0.0" } }, "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA=="], + + "should-util": ["should-util@1.0.1", "", {}, "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g=="], + + "side-channel": ["side-channel@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], + + "side-channel-list": ["side-channel-list@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="], + + "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], + + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], + + "signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], + + "simple-eval": ["simple-eval@1.0.1", "", { "dependencies": { "jsep": "^1.3.6" } }, "sha512-LH7FpTAkeD+y5xQC4fzS+tFtaNlvt3Ib1zKzvhjv/Y+cioV4zIuw4IZr2yhRLu67CWL7FR9/6KXKnjRoZTvGGQ=="], + + "simple-swizzle": ["simple-swizzle@0.2.4", "", { "dependencies": { "is-arrayish": "^0.3.1" } }, "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw=="], + + "simple-websocket": ["simple-websocket@9.1.0", "", { "dependencies": { "debug": "^4.3.1", "queue-microtask": "^1.2.2", "randombytes": "^2.1.0", "readable-stream": "^3.6.0", "ws": "^7.4.2" } }, "sha512-8MJPnjRN6A8UCp1I+H/dSFyjwJhp6wta4hsVRhjf8w9qBHRzxYt14RaOcjvQnhD1N4yKOddEjflwMnQM4VtXjQ=="], + + "slice-ansi": ["slice-ansi@7.1.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" } }, "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w=="], + + "slugify": ["slugify@1.4.7", "", {}, "sha512-tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg=="], + + "smart-buffer": ["smart-buffer@4.2.0", "", {}, "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="], + + "socket.io": ["socket.io@4.8.1", "", { "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", "cors": "~2.8.5", "debug": "~4.3.2", "engine.io": "~6.6.0", "socket.io-adapter": "~2.5.2", "socket.io-parser": "~4.2.4" } }, "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg=="], + + "socket.io-adapter": ["socket.io-adapter@2.5.5", "", { "dependencies": { "debug": "~4.3.4", "ws": "~8.17.1" } }, "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg=="], + + "socket.io-parser": ["socket.io-parser@4.2.4", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" } }, "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew=="], + + "socks": ["socks@2.8.7", "", { "dependencies": { "ip-address": "^10.0.1", "smart-buffer": "^4.2.0" } }, "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A=="], + + "socks-proxy-agent": ["socks-proxy-agent@8.0.5", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" } }, "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw=="], + + "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "sourcemap-codec": ["sourcemap-codec@1.4.8", "", {}, "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="], + + "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="], + + "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], + + "stack-utils": ["stack-utils@2.0.6", "", { "dependencies": { "escape-string-regexp": "^2.0.0" } }, "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ=="], + + "stacktracey": ["stacktracey@2.1.8", "", { "dependencies": { "as-table": "^1.0.36", "get-source": "^2.0.12" } }, "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw=="], + + "statuses": ["statuses@2.0.1", "", {}, "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="], + + "stickyfill": ["stickyfill@1.1.1", "", {}, "sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA=="], + + "stop-iteration-iterator": ["stop-iteration-iterator@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "internal-slot": "^1.1.0" } }, "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ=="], + + "streamx": ["streamx@2.23.0", "", { "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" } }, "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg=="], + + "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "string.prototype.trim": ["string.prototype.trim@1.2.10", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "define-data-property": "^1.1.4", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-object-atoms": "^1.0.0", "has-property-descriptors": "^1.0.2" } }, "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA=="], + + "string.prototype.trimend": ["string.prototype.trimend@1.0.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ=="], + + "string.prototype.trimstart": ["string.prototype.trimstart@1.0.8", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg=="], + + "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], + + "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="], + + "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-bom-string": ["strip-bom-string@1.0.0", "", {}, "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g=="], + + "strnum": ["strnum@1.1.2", "", {}, "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA=="], + + "style-to-js": ["style-to-js@1.1.18", "", { "dependencies": { "style-to-object": "1.0.11" } }, "sha512-JFPn62D4kJaPTnhFUI244MThx+FEGbi+9dw1b9yBBQ+1CZpV7QAT8kUtJ7b7EUNdHajjF/0x8fT+16oLJoojLg=="], + + "style-to-object": ["style-to-object@1.0.11", "", { "dependencies": { "inline-style-parser": "0.2.4" } }, "sha512-5A560JmXr7wDyGLK12Nq/EYS38VkGlglVzkis1JEdbGWSnbQIEhZzTJhzURXN5/8WwwFCs/f/VVcmkTppbXLow=="], + + "styled-components": ["styled-components@6.1.19", "", { "dependencies": { "@emotion/is-prop-valid": "1.2.2", "@emotion/unitless": "0.8.1", "@types/stylis": "4.2.5", "css-to-react-native": "3.2.0", "csstype": "3.1.3", "postcss": "8.4.49", "shallowequal": "1.1.0", "stylis": "4.3.2", "tslib": "2.6.2" }, "peerDependencies": { "react": ">= 16.8.0", "react-dom": ">= 16.8.0" } }, "sha512-1v/e3Dl1BknC37cXMhwGomhO8AkYmN41CqyX9xhUDxry1ns3BFQy2lLDRQXJRdVVWB9OHemv/53xaStimvWyuA=="], + + "stylis": ["stylis@4.3.2", "", {}, "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg=="], + + "sucrase": ["sucrase@3.35.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA=="], + + "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + + "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], + + "swagger2openapi": ["swagger2openapi@7.0.8", "", { "dependencies": { "call-me-maybe": "^1.0.1", "node-fetch": "^2.6.1", "node-fetch-h2": "^2.3.0", "node-readfiles": "^0.2.0", "oas-kit-common": "^1.0.8", "oas-resolver": "^2.5.6", "oas-schema-walker": "^1.1.5", "oas-validator": "^5.0.8", "reftools": "^1.1.9", "yaml": "^1.10.0", "yargs": "^17.0.1" }, "bin": { "swagger2openapi": "swagger2openapi.js", "oas-validate": "oas-validate.js", "boast": "boast.js" } }, "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g=="], + + "tailwindcss": ["tailwindcss@3.4.18", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.7", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ=="], + + "tar": ["tar@6.2.1", "", { "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" } }, "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A=="], + + "tar-fs": ["tar-fs@3.1.1", "", { "dependencies": { "pump": "^3.0.0", "tar-stream": "^3.1.5" }, "optionalDependencies": { "bare-fs": "^4.0.1", "bare-path": "^3.0.0" } }, "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg=="], + + "tar-stream": ["tar-stream@3.1.7", "", { "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ=="], + + "text-decoder": ["text-decoder@1.2.3", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA=="], + + "text-table": ["text-table@0.2.0", "", {}, "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="], + + "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="], + + "thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="], + + "through": ["through@2.3.8", "", {}, "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="], + + "to-data-view": ["to-data-view@1.1.0", "", {}, "sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ=="], + + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + + "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], + + "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="], + + "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="], + + "trim-trailing-lines": ["trim-trailing-lines@2.1.0", "", {}, "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg=="], + + "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="], + + "ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="], + + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "twoslash": ["twoslash@0.3.4", "", { "dependencies": { "@typescript/vfs": "^1.6.1", "twoslash-protocol": "0.3.4" }, "peerDependencies": { "typescript": "^5.5.0" } }, "sha512-RtJURJlGRxrkJmTcZMjpr7jdYly1rfgpujJr1sBM9ch7SKVht/SjFk23IOAyvwT1NLCk+SJiMrvW4rIAUM2Wug=="], + + "twoslash-protocol": ["twoslash-protocol@0.3.4", "", {}, "sha512-HHd7lzZNLUvjPzG/IE6js502gEzLC1x7HaO1up/f72d8G8ScWAs9Yfa97igelQRDl5h9tGcdFsRp+lNVre1EeQ=="], + + "type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="], + + "type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], + + "typed-array-buffer": ["typed-array-buffer@1.0.3", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-typed-array": "^1.1.14" } }, "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw=="], + + "typed-array-byte-length": ["typed-array-byte-length@1.0.3", "", { "dependencies": { "call-bind": "^1.0.8", "for-each": "^0.3.3", "gopd": "^1.2.0", "has-proto": "^1.2.0", "is-typed-array": "^1.1.14" } }, "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg=="], + + "typed-array-byte-offset": ["typed-array-byte-offset@1.0.4", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "for-each": "^0.3.3", "gopd": "^1.2.0", "has-proto": "^1.2.0", "is-typed-array": "^1.1.15", "reflect.getprototypeof": "^1.0.9" } }, "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ=="], + + "typed-array-length": ["typed-array-length@1.0.7", "", { "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "is-typed-array": "^1.1.13", "possible-typed-array-names": "^1.0.0", "reflect.getprototypeof": "^1.0.6" } }, "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg=="], + + "typedarray": ["typedarray@0.0.6", "", {}, "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="], + + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "uglify-js": ["uglify-js@3.19.3", "", { "bin": { "uglifyjs": "bin/uglifyjs" } }, "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ=="], + + "unbox-primitive": ["unbox-primitive@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "has-bigints": "^1.0.2", "has-symbols": "^1.1.0", "which-boxed-primitive": "^1.1.1" } }, "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw=="], + + "unbzip2-stream": ["unbzip2-stream@1.4.3", "", { "dependencies": { "buffer": "^5.2.1", "through": "^2.3.8" } }, "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg=="], + + "undici": ["undici@6.22.0", "", {}, "sha512-hU/10obOIu62MGYjdskASR3CUAiYaFTtC9Pa6vHyf//mAipSvSQg6od2CnJswq7fvzNS3zJhxoRkgNVaHurWKw=="], + + "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="], + + "unist-builder": ["unist-builder@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg=="], + + "unist-util-find-after": ["unist-util-find-after@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ=="], + + "unist-util-is": ["unist-util-is@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g=="], + + "unist-util-map": ["unist-util-map@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-HJs1tpkSmRJUzj6fskQrS5oYhBYlmtcvy4SepdDEEsL04FjBrgF0Mgggvxc1/qGBGgW7hRh9+UBK1aqTEnBpIA=="], + + "unist-util-modify-children": ["unist-util-modify-children@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "array-iterate": "^2.0.0" } }, "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw=="], + + "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="], + + "unist-util-position-from-estree": ["unist-util-position-from-estree@2.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ=="], + + "unist-util-remove": ["unist-util-remove@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg=="], + + "unist-util-remove-position": ["unist-util-remove-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q=="], + + "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="], + + "unist-util-visit": ["unist-util-visit@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg=="], + + "unist-util-visit-children": ["unist-util-visit-children@3.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA=="], + + "unist-util-visit-parents": ["unist-util-visit-parents@6.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ=="], + + "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + + "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], + + "uri-js-replace": ["uri-js-replace@1.0.1", "", {}, "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g=="], + + "urijs": ["urijs@1.19.11", "", {}, "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ=="], + + "url-template": ["url-template@2.0.8", "", {}, "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw=="], + + "urlpattern-polyfill": ["urlpattern-polyfill@10.0.0", "", {}, "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg=="], + + "use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="], + + "use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="], + + "use-sync-external-store": ["use-sync-external-store@1.6.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "utility-types": ["utility-types@3.11.0", "", {}, "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw=="], + + "utils-merge": ["utils-merge@1.0.1", "", {}, "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="], + + "uuid": ["uuid@11.1.0", "", { "bin": { "uuid": "dist/esm/bin/uuid" } }, "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A=="], + + "validate-npm-package-name": ["validate-npm-package-name@3.0.0", "", { "dependencies": { "builtins": "^1.0.3" } }, "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw=="], + + "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], + + "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="], + + "vfile-location": ["vfile-location@5.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg=="], + + "vfile-matter": ["vfile-matter@5.0.1", "", { "dependencies": { "vfile": "^6.0.0", "yaml": "^2.0.0" } }, "sha512-o6roP82AiX0XfkyTHyRCMXgHfltUNlXSEqCIS80f+mbAyiQBE2fxtDVMtseyytGx75sihiJFo/zR6r/4LTs2Cw=="], + + "vfile-message": ["vfile-message@4.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw=="], + + "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="], + + "webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], + + "whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="], + + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "which-boxed-primitive": ["which-boxed-primitive@1.1.1", "", { "dependencies": { "is-bigint": "^1.1.0", "is-boolean-object": "^1.2.1", "is-number-object": "^1.1.1", "is-string": "^1.1.1", "is-symbol": "^1.1.1" } }, "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA=="], + + "which-builtin-type": ["which-builtin-type@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.1.0", "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", "which-typed-array": "^1.1.16" } }, "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q=="], + + "which-collection": ["which-collection@1.0.2", "", { "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", "is-weakmap": "^2.0.2", "is-weakset": "^2.0.3" } }, "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw=="], + + "which-module": ["which-module@2.0.1", "", {}, "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="], + + "which-typed-array": ["which-typed-array@1.1.19", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" } }, "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw=="], + + "widest-line": ["widest-line@5.0.0", "", { "dependencies": { "string-width": "^7.0.0" } }, "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA=="], + + "wordwrap": ["wordwrap@1.0.0", "", {}, "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="], + + "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + + "ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], + + "wsl-utils": ["wsl-utils@0.1.0", "", { "dependencies": { "is-wsl": "^3.1.0" } }, "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw=="], + + "xml2js": ["xml2js@0.6.2", "", { "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" } }, "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA=="], + + "xmlbuilder": ["xmlbuilder@11.0.1", "", {}, "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="], + + "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], + + "yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="], + + "yaml": ["yaml@1.10.2", "", {}, "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="], + + "yaml-ast-parser": ["yaml-ast-parser@0.0.43", "", {}, "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A=="], + + "yargs": ["yargs@17.0.1", "", { "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" } }, "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ=="], + + "yargs-parser": ["yargs-parser@20.2.9", "", {}, "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="], + + "yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="], + + "yoctocolors-cjs": ["yoctocolors-cjs@2.1.3", "", {}, "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw=="], + + "yoga-layout": ["yoga-layout@3.2.1", "", {}, "sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ=="], + + "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + + "zod-to-json-schema": ["zod-to-json-schema@3.24.6", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg=="], + + "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], + + "@alcalzone/ansi-tokenize/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + + "@alcalzone/ansi-tokenize/is-fullwidth-code-point": ["is-fullwidth-code-point@5.1.0", "", { "dependencies": { "get-east-asian-width": "^1.3.1" } }, "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ=="], + + "@asyncapi/parser/@stoplight/json": ["@stoplight/json@3.21.0", "", { "dependencies": { "@stoplight/ordered-object-literal": "^1.0.3", "@stoplight/path": "^1.3.2", "@stoplight/types": "^13.6.0", "jsonc-parser": "~2.2.1", "lodash": "^4.17.21", "safe-stable-stringify": "^1.1" } }, "sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g=="], + + "@asyncapi/parser/node-fetch": ["node-fetch@2.6.7", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ=="], + + "@inquirer/core/signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + + "@inquirer/core/wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="], + + "@inquirer/external-editor/iconv-lite": ["iconv-lite@0.7.0", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ=="], + + "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + + "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + + "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], + + "@mdx-js/mdx/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "@mdx-js/mdx/estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "@mdx-js/mdx/source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], + + "@mintlify/cli/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], + + "@mintlify/cli/yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + + "@mintlify/common/estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "@mintlify/common/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "@mintlify/link-rot/unist-util-visit": ["unist-util-visit@4.1.2", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0", "unist-util-visit-parents": "^5.1.1" } }, "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg=="], + + "@mintlify/openapi-parser/ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="], + + "@mintlify/openapi-parser/leven": ["leven@4.1.0", "", {}, "sha512-KZ9W9nWDT7rF7Dazg8xyLHGLrmpgq2nVNFUckhqdW3szVP6YhCpp/RAnpmVExA9JvrMynjwSLVrEj3AepHR6ew=="], + + "@mintlify/openapi-parser/yaml": ["yaml@2.8.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw=="], + + "@mintlify/prebuild/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], + + "@mintlify/prebuild/unist-util-visit": ["unist-util-visit@4.1.2", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0", "unist-util-visit-parents": "^5.1.1" } }, "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg=="], + + "@mintlify/previewing/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], + + "@mintlify/previewing/unist-util-visit": ["unist-util-visit@4.1.2", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0", "unist-util-visit-parents": "^5.1.1" } }, "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg=="], + + "@mintlify/previewing/yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + + "@mintlify/scraping/yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + + "@puppeteer/browsers/yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + + "@redocly/respect-core/colorette": ["colorette@2.0.20", "", {}, "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w=="], + + "@rollup/pluginutils/estree-walker": ["estree-walker@1.0.1", "", {}, "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg=="], + + "@stoplight/json-ref-readers/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], + + "@stoplight/spectral-cli/yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + + "@stoplight/spectral-core/@stoplight/types": ["@stoplight/types@13.6.0", "", { "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" } }, "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ=="], + + "@stoplight/spectral-core/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + + "@stoplight/spectral-parsers/@stoplight/types": ["@stoplight/types@14.1.1", "", { "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" } }, "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g=="], + + "@stoplight/spectral-ruleset-migrator/@stoplight/yaml": ["@stoplight/yaml@4.2.3", "", { "dependencies": { "@stoplight/ordered-object-literal": "^1.0.1", "@stoplight/types": "^13.0.0", "@stoplight/yaml-ast-parser": "0.0.48", "tslib": "^2.2.0" } }, "sha512-Mx01wjRAR9C7yLMUyYFTfbUf5DimEpHMkRDQ1PKLe9dfNILbgdxyrncsOXM3vCpsQ1Hfj4bPiGl+u4u6e9Akqw=="], + + "@stoplight/yaml/@stoplight/types": ["@stoplight/types@14.1.1", "", { "dependencies": { "@types/json-schema": "^7.0.4", "utility-types": "^3.10.0" } }, "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g=="], + + "@types/estree-jsx/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "better-opn/open": ["open@8.4.2", "", { "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ=="], + + "body-parser/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + + "chokidar-cli/yargs": ["yargs@13.3.2", "", { "dependencies": { "cliui": "^5.0.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^13.1.2" } }, "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw=="], + + "chromium-bidi/zod": ["zod@3.23.8", "", {}, "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g=="], + + "cli-truncate/slice-ansi": ["slice-ansi@5.0.0", "", { "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" } }, "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ=="], + + "cli-truncate/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], + + "decompress-response/mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="], + + "degenerator/ast-types": ["ast-types@0.13.4", "", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w=="], + + "engine.io/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], + + "engine.io/ws": ["ws@8.17.1", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ=="], + + "error-ex/is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], + + "estree-util-attach-comments/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "estree-util-build-jsx/estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "estree-util-scope/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "estree-util-to-js/source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], + + "express/cookie": ["cookie@0.7.1", "", {}, "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w=="], + + "express/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + + "extract-zip/get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="], + + "finalhandler/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + + "foreground-child/signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + + "fs-minipass/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], + + "get-uri/data-uri-to-buffer": ["data-uri-to-buffer@6.0.2", "", {}, "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw=="], + + "glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + + "gray-matter/js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="], + + "hast-util-to-estree/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "hast-util-to-jsx-runtime/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "ink/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + + "ink/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], + + "ink/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], + + "ink/wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="], + + "ink/ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="], + + "is-online/got": ["got@12.6.1", "", { "dependencies": { "@sindresorhus/is": "^5.2.0", "@szmarczak/http-timer": "^5.0.1", "cacheable-lookup": "^7.0.0", "cacheable-request": "^10.2.8", "decompress-response": "^6.0.0", "form-data-encoder": "^2.1.2", "get-stream": "^6.0.1", "http2-wrapper": "^2.1.10", "lowercase-keys": "^3.0.0", "p-cancelable": "^3.0.0", "responselike": "^3.0.0" } }, "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ=="], + + "is-reference/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "katex/commander": ["commander@8.3.0", "", {}, "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="], + + "micromark-extension-mdx-expression/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "micromark-extension-mdx-jsx/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "micromark-extension-mdxjs-esm/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "micromark-factory-mdx-expression/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "micromark-util-events-to-acorn/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "minizlib/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], + + "node-sarif-builder/fs-extra": ["fs-extra@10.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ=="], + + "oas-resolver/yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + + "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], + + "path-scurry/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], + + "pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], + + "pretty-format/react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], + + "proxy-agent/lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="], + + "public-ip/got": ["got@12.6.1", "", { "dependencies": { "@sindresorhus/is": "^5.2.0", "@szmarczak/http-timer": "^5.0.1", "cacheable-lookup": "^7.0.0", "cacheable-request": "^10.2.8", "decompress-response": "^6.0.0", "form-data-encoder": "^2.1.2", "get-stream": "^6.0.1", "http2-wrapper": "^2.1.10", "lowercase-keys": "^3.0.0", "p-cancelable": "^3.0.0", "responselike": "^3.0.0" } }, "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ=="], + + "puppeteer-core/ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="], + + "react-reconciler/scheduler": ["scheduler@0.26.0", "", {}, "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="], + + "recma-build-jsx/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "recma-parse/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "recma-stringify/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "rehype-recma/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "send/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + + "send/encodeurl": ["encodeurl@1.0.2", "", {}, "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="], + + "slice-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + + "slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@5.1.0", "", { "dependencies": { "get-east-asian-width": "^1.3.1" } }, "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ=="], + + "socket.io/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], + + "socket.io-adapter/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], + + "socket.io-adapter/ws": ["ws@8.17.1", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ=="], + + "socket.io-parser/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], + + "stack-utils/escape-string-regexp": ["escape-string-regexp@2.0.0", "", {}, "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="], + + "styled-components/tslib": ["tslib@2.6.2", "", {}, "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="], + + "sucrase/glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], + + "swagger2openapi/yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + + "tailwindcss/fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + + "tailwindcss/glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + + "tailwindcss/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "vfile-matter/yaml": ["yaml@2.8.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw=="], + + "widest-line/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], + + "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], + + "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + + "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + + "@mintlify/cli/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "@mintlify/cli/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + + "@mintlify/common/estree-walker/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "@mintlify/link-rot/unist-util-visit/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], + + "@mintlify/link-rot/unist-util-visit/unist-util-is": ["unist-util-is@5.2.1", "", { "dependencies": { "@types/unist": "^2.0.0" } }, "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw=="], + + "@mintlify/link-rot/unist-util-visit/unist-util-visit-parents": ["unist-util-visit-parents@5.1.3", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0" } }, "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg=="], + + "@mintlify/prebuild/unist-util-visit/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], + + "@mintlify/prebuild/unist-util-visit/unist-util-is": ["unist-util-is@5.2.1", "", { "dependencies": { "@types/unist": "^2.0.0" } }, "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw=="], + + "@mintlify/prebuild/unist-util-visit/unist-util-visit-parents": ["unist-util-visit-parents@5.1.3", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0" } }, "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg=="], + + "@mintlify/previewing/unist-util-visit/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], + + "@mintlify/previewing/unist-util-visit/unist-util-is": ["unist-util-is@5.2.1", "", { "dependencies": { "@types/unist": "^2.0.0" } }, "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw=="], + + "@mintlify/previewing/unist-util-visit/unist-util-visit-parents": ["unist-util-visit-parents@5.1.3", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0" } }, "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg=="], + + "@mintlify/previewing/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "@mintlify/previewing/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + + "@mintlify/scraping/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "@mintlify/scraping/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + + "@puppeteer/browsers/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "@puppeteer/browsers/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + + "@stoplight/spectral-cli/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "@stoplight/spectral-cli/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + + "@stoplight/spectral-core/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + + "@stoplight/spectral-ruleset-migrator/@stoplight/yaml/@stoplight/yaml-ast-parser": ["@stoplight/yaml-ast-parser@0.0.48", "", {}, "sha512-sV+51I7WYnLJnKPn2EMWgS4EUfoP4iWEbrWwbXsj0MZCB/xOK8j6+C9fntIdOM50kpx45ZLC3s6kwKivWuqvyg=="], + + "better-opn/open/define-lazy-prop": ["define-lazy-prop@2.0.0", "", {}, "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="], + + "better-opn/open/is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="], + + "better-opn/open/is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], + + "body-parser/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + + "chokidar-cli/yargs/cliui": ["cliui@5.0.0", "", { "dependencies": { "string-width": "^3.1.0", "strip-ansi": "^5.2.0", "wrap-ansi": "^5.1.0" } }, "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA=="], + + "chokidar-cli/yargs/string-width": ["string-width@3.1.0", "", { "dependencies": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } }, "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w=="], + + "chokidar-cli/yargs/y18n": ["y18n@4.0.3", "", {}, "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="], + + "chokidar-cli/yargs/yargs-parser": ["yargs-parser@13.1.2", "", { "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg=="], + + "cli-truncate/slice-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + + "cli-truncate/slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@4.0.0", "", {}, "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ=="], + + "cli-truncate/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], + + "cli-truncate/string-width/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + + "estree-util-build-jsx/estree-walker/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "express/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + + "finalhandler/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + + "glob/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + + "gray-matter/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + + "ink/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], + + "ink/string-width/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + + "ink/wrap-ansi/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + + "oas-resolver/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "oas-resolver/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + + "send/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + + "sucrase/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "sucrase/glob/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], + + "swagger2openapi/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "swagger2openapi/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + + "tailwindcss/fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "widest-line/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], + + "widest-line/string-width/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + + "chokidar-cli/yargs/cliui/strip-ansi": ["strip-ansi@5.2.0", "", { "dependencies": { "ansi-regex": "^4.1.0" } }, "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="], + + "chokidar-cli/yargs/cliui/wrap-ansi": ["wrap-ansi@5.1.0", "", { "dependencies": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", "strip-ansi": "^5.0.0" } }, "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q=="], + + "chokidar-cli/yargs/string-width/emoji-regex": ["emoji-regex@7.0.3", "", {}, "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="], + + "chokidar-cli/yargs/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@2.0.0", "", {}, "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w=="], + + "chokidar-cli/yargs/string-width/strip-ansi": ["strip-ansi@5.2.0", "", { "dependencies": { "ansi-regex": "^4.1.0" } }, "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="], + + "cli-truncate/string-width/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + + "ink/string-width/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + + "ink/wrap-ansi/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + + "widest-line/string-width/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + + "chokidar-cli/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="], + + "chokidar-cli/yargs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], + + "chokidar-cli/yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="], + + "chokidar-cli/yargs/cliui/wrap-ansi/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + + "chokidar-cli/yargs/cliui/wrap-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], + } +} diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 00000000..f1a30fcf Binary files /dev/null and b/bun.lockb differ diff --git a/docs/mint.json b/docs/mint.json index eaeb1e4d..d92e74f5 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -2,6 +2,7 @@ "name": "Terminal 49", "logo": "/logos/light.svg", "favicon": "/logos/favicon.svg", + "openapi": "openapi.json", "colors": { "primary": "#00A2FF", "light": "#52bfff", diff --git a/docs/openapi.json b/docs/openapi.json index f3f3dc96..d4914f4e 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -18,6 +18,74 @@ "description": "Production" } ], + "tags": [ + { + "name": "Containers" + }, + { + "name": "Shipments" + }, + { + "name": "Shipping Lines" + }, + { + "name": "Locations" + }, + { + "name": "Events" + }, + { + "name": "Tracking Requests" + }, + { + "name": "Webhooks" + }, + { + "name": "Webhook Notifications" + }, + { + "name": "Ports" + }, + { + "name": "Metro Areas" + }, + { + "name": "Terminals" + }, + { + "name": "Routing (Paid)" + }, + { + "name": "Vessels" + }, + { + "name": "Parties" + } + ], + "security": [ + { + "authorization": [] + } + ], + "x-tagGroups": [ + { + "name": "End Points", + "tags": [ + "Shipments", + "Containers", + "Tracking Requests", + "Webhooks", + "Webhook Notifications", + "Metro Areas" + ] + }, + { + "name": "Routing (Paid)", + "tags": [ + "Routing (Paid)" + ] + } + ], "paths": { "/shipments": { "get": { @@ -105,7 +173,7 @@ "line_tracking_stopped_reason": null }, "links": { - "self": "/v2/shipments/62738624-7032-4a50-892e-c55826228c25" + "self": "https://api.terminal49.com/v2/shipments/62738624-7032-4a50-892e-c55826228c25" }, "relationships": { "port_of_lading": { @@ -189,7 +257,7 @@ "line_tracking_stopped_reason": null }, "links": { - "self": "/v2/shipments/baaa725e-aa0e-4937-ac78-54d9e2e8621e" + "self": "https://api.terminal49.com/v2/shipments/baaa725e-aa0e-4937-ac78-54d9e2e8621e" }, "relationships": { "port_of_lading": { @@ -278,7 +346,7 @@ "line_tracking_stopped_reason": null }, "links": { - "self": "/v2/shipments/7721a48c-5e93-43c9-9f5f-5be10a87fdde" + "self": "https://api.terminal49.com/v2/shipments/7721a48c-5e93-43c9-9f5f-5be10a87fdde" }, "relationships": { "port_of_lading": { @@ -370,7 +438,7 @@ "line_tracking_stopped_reason": null }, "links": { - "self": "/v2/shipments/32b5ad78-43ba-42d9-bdc0-4cf12320e020" + "self": "https://api.terminal49.com/v2/shipments/32b5ad78-43ba-42d9-bdc0-4cf12320e020" }, "relationships": { "port_of_lading": { @@ -458,7 +526,7 @@ "line_tracking_stopped_reason": null }, "links": { - "self": "/v2/shipments/bd117d3b-8fa4-487c-9bab-25c15e227d1a" + "self": "https://api.terminal49.com/v2/shipments/bd117d3b-8fa4-487c-9bab-25c15e227d1a" }, "relationships": { "port_of_lading": { @@ -504,10 +572,10 @@ "total": 34044 }, "links": { - "self": "https://api.terminal49.com/v2/shipments?page[size]=5", - "current": "https://api.terminal49.com/v2/shipments?page[number]=1&page[size]=5", - "next": "https://api.terminal49.com/v2/shipments?page[number]=2&page[size]=5", - "last": "https://api.terminal49.com/v2/shipments?page[number]=6809&page[size]=5" + "self": "https://api.terminal49.com/v2/shipments?page%5Bsize%5D=5", + "current": "https://api.terminal49.com/v2/shipments?page%5Bnumber%5D=1&page%5Bsize%5D=5", + "next": "https://api.terminal49.com/v2/shipments?page%5Bnumber%5D=2&page%5Bsize%5D=5", + "last": "https://api.terminal49.com/v2/shipments?page%5Bnumber%5D=6809&page%5Bsize%5D=5" } } } @@ -567,7 +635,7 @@ "default": 1 }, "in": "query", - "name": "page[number]", + "name": "page%5Bnumber%5D", "description": "\n" }, { @@ -576,7 +644,7 @@ "default": 30 }, "in": "query", - "name": "page[size]", + "name": "page%5Bsize%5D", "description": "\n" }, { @@ -702,7 +770,7 @@ "line_tracking_stopped_reason": null }, "links": { - "self": "/v2/shipments/02b1bd6f-407c-45bb-8645-06e7ee34e7e3" + "self": "https://api.terminal49.com/v2/shipments/02b1bd6f-407c-45bb-8645-06e7ee34e7e3" }, "relationships": { "port_of_lading": { @@ -1284,7 +1352,7 @@ } }, "links": { - "self": "/v2/tracking_requests/ba4cb904-827f-4038-8e31-1e92b3356218" + "self": "https://api.terminal49.com/v2/tracking_requests/ba4cb904-827f-4038-8e31-1e92b3356218" } } } @@ -1779,7 +1847,7 @@ } }, "links": { - "self": "/v2/tracking_requests/ba4cb904-827f-4038-8e31-1e92b3356218" + "self": "https://api.terminal49.com/v2/tracking_requests/ba4cb904-827f-4038-8e31-1e92b3356218" } }, "included": [ @@ -1843,7 +1911,7 @@ } }, "links": { - "self": "/v2/shipments/eb6f218a-0b4a-47f9-8ef9-759aa5e0ea83" + "self": "https://api.terminal49.com/v2/shipments/eb6f218a-0b4a-47f9-8ef9-759aa5e0ea83" } } ] @@ -1879,7 +1947,7 @@ } }, "links": { - "self": "/v2/tracking_requests/62c30bd4-d7fc-40dc-9fd6-fb39224301f5" + "self": "https://api.terminal49.com/v2/tracking_requests/62c30bd4-d7fc-40dc-9fd6-fb39224301f5" } }, "links": { @@ -1961,7 +2029,7 @@ } }, "links": { - "self": "/v2/shipments/dfc9f601-f6fe-412e-a71c-feabcc2dd4e3" + "self": "https://api.terminal49.com/v2/shipments/dfc9f601-f6fe-412e-a71c-feabcc2dd4e3" } } ] @@ -2583,6 +2651,27 @@ }, { "$ref": "#/components/schemas/container_updated_event" + }, + { + "$ref": "#/components/schemas/shipment" + }, + { + "$ref": "#/components/schemas/container" + }, + { + "$ref": "#/components/schemas/port" + }, + { + "$ref": "#/components/schemas/terminal" + }, + { + "$ref": "#/components/schemas/vessel" + }, + { + "$ref": "#/components/schemas/metro_area" + }, + { + "$ref": "#/components/schemas/rail_terminal" } ] } @@ -2644,7 +2733,7 @@ } }, "links": { - "self": "/v2/tracking_requests/bdeca506-9741-4ab1-a0a7-cfd1d908e923" + "self": "https://api.terminal49.com/v2/tracking_requests/bdeca506-9741-4ab1-a0a7-cfd1d908e923" } }, { @@ -2707,7 +2796,7 @@ } }, "links": { - "self": "/v2/shipments/b5b10c0a-8d18-46da-b4c2-4e5fa790e7da" + "self": "https://api.terminal49.com/v2/shipments/b5b10c0a-8d18-46da-b4c2-4e5fa790e7da" } }, { @@ -2928,7 +3017,7 @@ } }, "links": { - "self": "/v2/shipments/715ed64b-6195-49f6-9407-1383a8088bfd" + "self": "https://api.terminal49.com/v2/shipments/715ed64b-6195-49f6-9407-1383a8088bfd" } } ] @@ -3026,9 +3115,7 @@ "attributes": { "created_at": "2020-07-28T23:12:53Z", "bill_of_lading_number": "TE491846459E", - "ref_numbers": [ - null - ], + "ref_numbers": [], "shipping_line_scac": "MSCU", "shipping_line_name": "Mediterranean Shipping Company", "port_of_lading_locode": "MXZLO", @@ -3082,7 +3169,7 @@ } }, "links": { - "self": "/v2/shipments/1fc35241-4c8b-420d-803a-9e6661720a05" + "self": "https://api.terminal49.com/v2/shipments/1fc35241-4c8b-420d-803a-9e6661720a05" } } ] @@ -4335,10 +4422,10 @@ "total": 59229 }, "links": { - "self": "https://api.terminal49.com/v2/containers?page[size]=5", - "current": "https://api.terminal49.com/v2/containers?page[number]=1&page[size]=5", - "next": "https://api.terminal49.com/v2/containers?page[number]=2&page[size]=5", - "last": "https://api.terminal49.com/v2/containers?page[number]=11846&page[size]=5" + "self": "https://api.terminal49.com/v2/containers?page%5Bsize%5D=5", + "current": "https://api.terminal49.com/v2/containers?page%5Bnumber%5D=1&page%5Bsize%5D=5", + "next": "https://api.terminal49.com/v2/containers?page%5Bnumber%5D=2&page%5Bsize%5D=5", + "last": "https://api.terminal49.com/v2/containers?page%5Bnumber%5D=11846&page%5Bsize%5D=5" } } } @@ -4356,7 +4443,7 @@ "default": 1 }, "in": "query", - "name": "page[number]" + "name": "page%5Bnumber%5D" }, { "schema": { @@ -4364,7 +4451,7 @@ "default": 30 }, "in": "query", - "name": "page[size]", + "name": "page%5Bsize%5D", "description": "" }, { @@ -5866,102 +5953,6 @@ "description": "Returns a vessel by id. `show_positions` is a paid feature. Please contact sales@terminal49.com." } }, - "/vessels/{imo}": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "imo", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string", - "format": "date-time", - "example": "2025-05-20T00:00:00Z" - }, - "name": "show_positions[from_timestamp]", - "in": "query", - "description": "ISO 8601 timestamp to filter positions from. 7 days by default.", - "required": false - }, - { - "schema": { - "type": "string", - "format": "date-time", - "example": "2025-05-24T00:00:00Z" - }, - "name": "show_positions[to_timestamp]", - "in": "query", - "description": "ISO 8601 timestamp to filter positions up to. Current time by default.", - "required": false - } - ], - "get": { - "summary": "Get a vessel using the imo", - "tags": [ - "Vessels" - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/vessel" - } - } - } - } - } - }, - "403": { - "description": "Forbidden - Feature not enabled", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "type": "object", - "properties": { - "status": { - "type": "string", - "example": "403" - }, - "source": { - "type": "object", - "nullable": true - }, - "title": { - "type": "string", - "example": "Forbidden" - }, - "detail": { - "type": "string", - "example": "Routing data feature is not enabled for this account" - } - } - } - } - } - } - } - } - } - }, - "operationId": "get-vessels-imo", - "description": "Returns a vessel by the given IMO number. `show_positions` is a paid feature. Please contact sales@terminal49.com.", - "x-internal": true - } - }, "/vessels/{id}/future_positions": { "parameters": [ { @@ -6302,7 +6293,7 @@ } }, "links": { - "self": "/v2/parties/ba4cb904-827f-4038-8e31-1e92b3356218" + "self": "https://api.terminal49.com/v2/parties/ba4cb904-827f-4038-8e31-1e92b3356218" } } } @@ -6526,25 +6517,6 @@ } } }, - "x-tagGroups": [ - { - "name": "End Points", - "tags": [ - "Shipments", - "Containers", - "Tracking Requests", - "Webhooks", - "Webhook Notifications", - "Metro Areas" - ] - }, - { - "name": "Routing (Paid)", - "tags": [ - "Routing (Paid)" - ] - } - ], "components": { "schemas": { "shipment": { @@ -6668,6 +6640,7 @@ "properties": { "data": { "type": "object", + "nullable": true, "properties": { "type": { "type": "string", @@ -6692,6 +6665,7 @@ "properties": { "data": { "type": "object", + "nullable": true, "properties": { "type": { "type": "string", @@ -6717,6 +6691,7 @@ "properties": { "data": { "type": "object", + "nullable": true, "properties": { "type": { "type": "string", @@ -7370,6 +7345,7 @@ "properties": { "data": { "type": "object", + "nullable": true, "properties": { "id": { "type": "string" @@ -7389,6 +7365,7 @@ "properties": { "data": { "type": "object", + "nullable": true, "properties": { "id": { "type": "string" @@ -8080,6 +8057,7 @@ "properties": { "data": { "type": "object", + "nullable": true, "properties": { "id": { "type": "string", @@ -9046,7 +9024,8 @@ }, "location_name": { "type": "string", - "description": "The city or facility name of the event location" + "description": "The city or facility name of the event location", + "nullable": true }, "location_locode": { "type": "string", @@ -9081,6 +9060,7 @@ "properties": { "data": { "type": "object", + "nullable": true, "properties": { "id": { "type": "string", @@ -9102,6 +9082,7 @@ "properties": { "data": { "type": "object", + "nullable": true, "properties": { "id": { "type": "string", @@ -9683,45 +9664,5 @@ "description": "`Token YOUR_API_TOKEN`\n\nThe APIs require authentication to be done using header-based API Key and Secret Authentication. \n\nAPI key and secret are sent va the `Authorization` request header.\n\nYou send your API key and secret in the following way:\n\n`Authorization: Token YOUR_API_KEY`" } } - }, - "tags": [ - { - "name": "Containers" - }, - { - "name": "Shipments" - }, - { - "name": "Locations" - }, - { - "name": "Events" - }, - { - "name": "Tracking Requests" - }, - { - "name": "Webhooks" - }, - { - "name": "Webhook Notifications" - }, - { - "name": "Ports" - }, - { - "name": "Metro Areas" - }, - { - "name": "Terminals" - }, - { - "name": "Routing (Paid)" - } - ], - "security": [ - { - "authorization": [] - } - ] + } } diff --git a/docs/openapi/DEVELOPER_GUIDE.md b/docs/openapi/DEVELOPER_GUIDE.md new file mode 100644 index 00000000..85b34fc8 --- /dev/null +++ b/docs/openapi/DEVELOPER_GUIDE.md @@ -0,0 +1,631 @@ +# OpenAPI Developer Guide + +This guide provides detailed workflows for working with Terminal49's modular OpenAPI specification. + +## Table of Contents + +- [Quick Reference](#quick-reference) +- [Understanding the Architecture](#understanding-the-architecture) +- [Development Workflows](#development-workflows) +- [Best Practices](#best-practices) +- [Advanced Topics](#advanced-topics) +- [Troubleshooting](#troubleshooting) + +## Quick Reference + +### Most Common Commands + +```bash +# Setup (first time only) +just setup + +# Bundle OpenAPI +just bundle # Python (production method) +just bundle-fast # Python (skip validation, faster iteration) + +# Validate everything +just validate # Bundle + lint + test + +# Development +just watch # Auto-bundle on file changes +just preview-mintlify # Preview docs locally (Mintlify) + +# Maintenance +just lint # Lint with Mintlify CLI +just test # Run regression test +``` + +Run `mise install` (or simply `just setup`) to pull the Node.js/Bun/Python versions pinned in `.tool-versions`; `just setup` also installs the bundler dependencies from `requirements-dev.txt` (using `uv` when available) and fetches Bun packages. If your shell is outside mise, run `mise shell` or prefix commands with `mise exec --` (for example, `mise exec -- just validate`). + +### File Locations Cheat Sheet + +| What | Where | +|------|-------| +| Endpoint definitions | `docs/openapi/paths/*.yaml` | +| Data models (schemas) | `docs/openapi/components/schemas/*.yaml` | +| Root OpenAPI document | `docs/openapi/index.yaml` | +| Bundled output | `docs/openapi.json` (auto-generated) | +| Task commands | `justfile` (root directory) | +| Bundler implementation | `tools/openapi_bundle.py` | +| Toolchain pins | `.tool-versions` | +| Python bundler deps | `requirements-dev.txt` | +| Pre-commit hook | `scripts/pre-commit.sh` | + +## Understanding the Architecture + +### Why Modular OpenAPI? + +**Problem:** A 9700+ line `openapi.json` file is: +- Hard to navigate and edit +- Prone to merge conflicts +- Difficult to review in PRs +- Easy to introduce errors + +**Solution:** Split into small, focused YAML files: +- One file per endpoint (`paths/shipments.yaml`) +- One file per schema (`components/schemas/shipment.yaml`) +- Easy to find, edit, and review +- Git diffs are meaningful + +### How References Work + +OpenAPI uses `$ref` to reference other parts of the specification. + +**Internal references** (same file): +```yaml +# Points to #/components/schemas/shipment in bundled output +$ref: "#/components/schemas/shipment" +``` + +**External references** (different file): +```yaml +# Points to another YAML file +$ref: "./shipment.yaml" +$ref: "../schemas/container.yaml" +``` + +**Fragment references** (specific property): +```yaml +# Points to a nested property +$ref: "./shipment.yaml#/properties/id" +``` + +The bundler resolves all external `$ref`s into a single `openapi.json` file. + +### Bundling Strategy + +The Python bundler is the single path for generating `docs/openapi.json`. It validates schema structure as it assembles the modular YAML files. + +- Standard run: `just bundle` +- Skip validation when iterating: `just bundle-fast` +- The same code runs in CI, so matching it locally avoids surprises. + +## Development Workflows + +### Workflow 1: Quick Edit (With Pre-commit Hook) + +**Best for:** Small changes, fixing typos, updating examples + +1. **Setup** (once): + ```bash + just install-hooks + ``` + +2. **Edit** any YAML file: + ```bash + vim docs/openapi/paths/shipments.yaml + ``` + +3. **Commit**: + ```bash + git add docs/openapi/ + git commit -m "fix: update shipment example" + # Hook auto-bundles and stages openapi.json + ``` + +4. **Push**: + ```bash + git push + ``` + +### Workflow 2: Active Development (With Watch Mode) + +**Best for:** Adding new endpoints, refactoring schemas, bulk edits + +1. **Start watch mode**: + ```bash + just watch + # Watches docs/openapi/**/*.yaml, auto-bundles on save + ``` + +2. **Edit** files in your editor – bundle updates automatically + +3. **Check** the diff: + ```bash + git diff docs/openapi.json + ``` + +4. **Validate** when done: + ```bash + just validate + ``` + +5. **Commit**: + ```bash + git add docs/openapi/ + git commit -m "feat: add tracking status endpoint" + git push + ``` + +### Workflow 3: Large Refactoring (Manual Control) + +**Best for:** Structural changes, testing different approaches + +1. **Create a branch**: + ```bash + git checkout -b refactor/shipment-schema + ``` + +2. **Make changes** to YAML files + +3. **Bundle and check**: + ```bash + just bundle + git diff docs/openapi.json + ``` + +4. **Validate**: + ```bash + just validate + # or run each step: + just lint + just test + ``` + +5. **Iterate** until satisfied + +6. **Commit and push**: + ```bash + git add docs/openapi/ + git commit -m "refactor: simplify shipment relationships" + git push origin refactor/shipment-schema + ``` + +7. **Create PR** for review + +### Workflow 4: Preview Docs Locally + +**Best for:** Seeing how changes look before deploying + +#### Mintlify Preview (Full Documentation) + +**Recommended for comprehensive preview** + +1. **Quick start**: + ```bash + just dev + # Bundles + lints + starts Mintlify preview + # Opens http://localhost:3000 + ``` + + This runs: + - Bundle OpenAPI with Python + - Lint with Mintlify CLI + - Start Mintlify dev server + +2. **Or with full validation**: + ```bash + just dev-full + # Bundles + validates + tests + starts Mintlify + # Use this before creating a PR + ``` + +3. **Make changes** and Mintlify auto-reloads + +4. **Commit** when satisfied + +**Why Mintlify Preview?** +- ✅ Shows the full docs (OpenAPI + MDX content) +- ✅ Exact replica of docs.terminal49.com +- ✅ Auto-reloads on changes +- ✅ Tests navigation and layout + +## Best Practices + +### File Organization + +**DO:** +- ✅ One endpoint per file: `paths/shipments.yaml`, `paths/shipments-id.yaml` +- ✅ One schema per file: `components/schemas/shipment.yaml` +- ✅ Use descriptive filenames that match the resource +- ✅ Group related paths in subdirectories if needed + +**DON'T:** +- ❌ Put multiple endpoints in one file +- ❌ Put all schemas in `components/schemas.yaml` +- ❌ Use generic names like `endpoint1.yaml` + +### Naming Conventions + +**Paths:** +- Use kebab-case: `shipments-id-stop-tracking.yaml` +- Match the URL path: `/shipments/{id}/stop_tracking` → `shipments-id-stop-tracking.yaml` + +**Schemas:** +- Use kebab-case: `shipping-line.yaml` +- Match the schema name: `shipping_line` → `shipping-line.yaml` + +**Components:** +- Use kebab-case for files +- Use snake_case for OpenAPI identifiers + +### Schema Design + +**Keep schemas focused:** +```yaml +# Good: Focused schema +title: "Shipment model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + bill_of_lading_number: + type: "string" +``` + +**Use $ref for reusability:** +```yaml +# Good: Reuse common patterns +properties: + port_of_lading: + $ref: "#/components/schemas/port" +``` + +**Avoid deep nesting:** +```yaml +# Bad: Too deeply nested +properties: + data: + properties: + attributes: + properties: + relationships: + properties: + # ... too deep! +``` + +Instead, extract to separate schemas and use `$ref`. + +### Documentation + +**Add descriptions:** +```yaml +# Good: Helpful description +pol_timezone: + type: "string" + description: "IANA tz database timezone (e.g., America/New_York)" + nullable: true +``` + +**Include examples:** +```yaml +# Good: Real-world example +examples: + En-route to NY: + value: + id: "62738624-7032-4a50-892e-c55826228c25" + type: "shipment" + # ... full example +``` + +**Mark deprecated fields:** +```yaml +# Good: Clear deprecation +q: + schema: + type: "string" + in: "query" + name: "q" + description: "Search shipments (deprecated: use filter[] params instead)" + deprecated: true +``` + +### Validation + +**Always validate before committing:** +```bash +just validate +``` + +This runs: +1. Bundle with schema validation +2. Mintlify OpenAPI check +3. Regression test (ensures bundle matches) + +**Check lint errors seriously:** +```bash +just lint +# Fix all errors and warnings (requires Node.js ≥ 18) +``` + +**Test CI locally:** +```bash +just ci +# Simulates GitHub Actions workflow +``` + +## Advanced Topics + +### Custom Validation Rules + +The Python bundler includes schema validation. To add custom rules, edit `tools/openapi_bundle.py`: + +```python +def _validate_schema_file(path: Path, data: Any) -> None: + # Add custom validation logic here + if "deprecated" in data.get("attributes", {}): + # Warn about deprecated fields + pass +``` + +### Resolving Circular References + +If you get "Circular $ref detected": + +1. **Identify the chain** from error message: + ``` + Reference chain: + 1. docs/openapi/components/schemas/shipment.yaml + 2. docs/openapi/components/schemas/container.yaml + 3. docs/openapi/components/schemas/shipment.yaml + ``` + +2. **Break the cycle** by: + - Using `nullable` instead of `$ref` for one direction + - Extracting common properties to a base schema + - Using `allOf` composition + +3. **Example fix:** + ```yaml + # Before (circular): + # shipment.yaml references container + # container.yaml references shipment + + # After (break cycle): + # shipment.yaml references container + # container.yaml just includes shipment_id (string) + ``` + +### Working with Large Schemas + +For very large schemas (200+ lines): + +1. **Split into logical sections:** + ``` + components/schemas/ + ├── shipment/ + │ ├── base.yaml # Core properties + │ ├── relationships.yaml # Relationship properties + │ └── index.yaml # Combines base + relationships + ``` + +2. **Use composition:** + ```yaml + # shipment/index.yaml + allOf: + - $ref: "./base.yaml" + - $ref: "./relationships.yaml" + ``` + +### Programmatic Bundling + +Use the Python bundler in scripts: + +```python +from pathlib import Path +from tools.openapi_bundle import bundle_openapi, write_bundle + +# Bundle to dict +spec = bundle_openapi(Path("docs/openapi/index.yaml")) + +# Or write to file +write_bundle( + Path("docs/openapi/index.yaml"), + Path("docs/openapi.json"), + validate_schemas=True +) +``` + +### Automation Ideas + +**Auto-format on save** (VS Code): +```json +// .vscode/settings.json +{ + "files.associations": { + "*.yaml": "yaml" + }, + "editor.formatOnSave": true +} +``` + +**Git pre-push hook** (extra safety): +```bash +# .git/hooks/pre-push +#!/bin/bash +just validate || { + echo "Validation failed! Fix errors before pushing." + exit 1 +} +``` + +## Troubleshooting + +### Problem: "Bundle is out of sync" + +**Symptom:** CI fails with "Bundle doesn't match YAML sources" + +**Solution:** +```bash +just bundle +git add docs/openapi.json +git commit --amend --no-edit +``` + +### Problem: "Referenced file not found" + +**Symptom:** +``` +Referenced file not found: ./schemas/shipment.yaml + Referenced from: docs/openapi/paths/shipments.yaml +``` + +**Solutions:** +1. Check path is relative to current file +2. Verify file exists: `ls docs/openapi/components/schemas/shipment.yaml` +3. Check spelling and case (case-sensitive!) + +### Problem: "Schema validation failed" + +**Symptom:** +``` +Schema file appears to be missing expected fields: container.yaml +Expected at least one of: type, properties, anyOf, oneOf, allOf, $ref, enum +``` + +**Solutions:** +1. Check schema has proper structure +2. Verify it's not missing `type: "object"` or `properties:` +3. Look at similar schemas for reference + +### Problem: Watch mode not working + +**Symptom:** Changes to YAML don't trigger rebuild + +**Solutions:** +```bash +# Restart Watchman daemon +watchman shutdown-server +just watch + +# Or use simple watch +bun run watch +``` + +### Problem: Merge conflicts in openapi.json + +**Symptom:** Git conflicts in the 9700-line bundle + +**Solution:** +```bash +# 1. Accept your YAML changes +git checkout --ours docs/openapi/ +git checkout --theirs docs/openapi/ + +# 2. Rebuild from YAML +just bundle + +# 3. Commit the regenerated bundle +git add docs/openapi.json +git commit +``` + +### Problem: Slow bundling + +**Symptom:** Bundle takes >1s + +**Solutions:** +```bash +# Skip validation (faster) +just bundle-fast +``` + +## Getting More Help + +- **README:** `docs/openapi/README.md` +- **Justfile commands:** `just --list` or `cat justfile` +- **Python bundler help:** `python -m tools.openapi_bundle --help` +- **Mintlify CLI help:** `mintlify --help` +- **OpenAPI spec:** https://spec.openapis.org/oas/v3.0.3 +- **JSONAPI spec:** https://jsonapi.org/format/ + +## Contributing + +When contributing OpenAPI changes: + +1. **Follow existing patterns** in similar files +2. **Add examples** for new endpoints +3. **Document** all fields with descriptions +4. **Validate** before committing: `just validate` +5. **Test** that docs render correctly: `just preview-mintlify` +6. **Keep PRs focused** – one feature/fix per PR + +## Appendix: File Structure Example + +Complete example of a new endpoint: + +### 1. Create path file +```yaml +# docs/openapi/paths/tracking-status.yaml +get: + summary: "Get tracking status" + tags: + - "Tracking" + parameters: + - name: "shipment_id" + in: "query" + required: true + schema: + type: "string" + format: "uuid" + responses: + 200: + description: "OK" + content: + application/json: + schema: + $ref: "#/components/schemas/tracking_status" +``` + +### 2. Create schema file +```yaml +# docs/openapi/components/schemas/tracking-status.yaml +title: "Tracking Status" +type: "object" +properties: + status: + type: "string" + enum: ["pending", "in_transit", "delivered"] + updated_at: + type: "string" + format: "date-time" +required: + - "status" +``` + +### 3. Update index +```yaml +# docs/openapi/index.yaml (add to existing sections) +paths: + /tracking_status: + $ref: "./paths/tracking-status.yaml" + +components: + schemas: + tracking_status: + $ref: "./components/schemas/tracking-status.yaml" +``` + +### 4. Bundle and validate +```bash +just validate +``` + +### 5. Commit +```bash +git add docs/openapi/ +git commit -m "feat: add tracking status endpoint" +``` + +Done! 🎉 diff --git a/docs/openapi/README.md b/docs/openapi/README.md new file mode 100644 index 00000000..0e94c184 --- /dev/null +++ b/docs/openapi/README.md @@ -0,0 +1,303 @@ +# OpenAPI Authoring Workflow + +This repository maintains the API reference as a modular OpenAPI 3.0 specification. The +single `docs/openapi.json` file that Mintlify consumes is **auto-generated** from the YAML +sources in this folder. + +**⚠️ Important:** The YAML files are the **source of truth**. Never edit `docs/openapi.json` +directly – it will be overwritten! + +## Directory Layout + +``` +docs/openapi/ +├── index.yaml # Root document with info, servers, tags, shared components +├── paths/ # One file per REST endpoint (you can create sub-folders) +├── components/ +│ ├── schemas/ # Reusable schema definitions referenced from the paths +│ └── securitySchemes/ # Authentication descriptions +└── README.md # You are here +``` + +All references between files use relative `$ref` pointers (e.g., +`$ref: ../components/schemas/shipment.yaml`). Feel free to group related paths inside +subdirectories – the bundler resolves file references relative to where they are declared. + +## Quick Start + +**🚀 Recommended Development Workflow:** +```bash +# First-time setup +just setup + +# Start developing (bundle + lint + preview) +just dev +# Opens http://localhost:3000 with full Mintlify documentation +# Auto-reloads on changes +``` + +The project pins its toolchain via `.tool-versions` (Node.js 20, Bun 1.1, Python 3.11). `just setup` runs `mise install`, installs the Python requirements from `requirements-dev.txt` (using `uv` when available), fetches Bun dependencies, and wires up the pre-commit hook. If your shell is not already managed by mise, run `mise shell` or prefix commands with `mise exec --` (e.g., `mise exec -- just lint`). + +**Alternative commands:** +```bash +# Bundle OpenAPI only +just bundle + +# Lint and validate +just validate + +# Watch for changes and auto-bundle +just watch +``` + +**Traditional commands (without justfile):** +```bash +# Bundle with Python (production method) +python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json + +# Validate OpenAPI with Mintlify CLI (expects bundled JSON) +npx -y mintlify openapi-check docs/openapi.json + +# Preview with Mintlify +npx -y mintlify dev +``` + +## Editing Workflow + +### Option 1: With Pre-commit Hook (Recommended) + +1. Install the pre-commit hook once: + ```bash + just install-hooks + # or: cp scripts/pre-commit.sh .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit + ``` + +2. Edit YAML files under `docs/openapi/` + +3. Commit your changes – the hook automatically: + - Regenerates `docs/openapi.json` + - Validates the bundle + - Stages the updated JSON file + +### Option 2: Manual Workflow + +1. Edit YAML file(s) under `docs/openapi/` + +2. Regenerate the bundled JSON: + ```bash + just bundle + # or: python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json + ``` + +3. Validate your changes: + ```bash + just validate + # or: python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json --no-validate + # && mintlify openapi-check docs/openapi.json + ``` + +4. Commit both the YAML sources and regenerated `docs/openapi.json` + +### Option 3: Watch Mode (Development) + +For active development, auto-bundle on file changes: + +```bash +just watch +# or: bun run watch +``` + +This watches `docs/openapi/**/*.yaml` and auto-runs the bundler whenever you save changes. + +## Bundling + +The Python bundler is used everywhere (local + CI) to generate `docs/openapi.json`. It performs schema validation while producing the bundle. + +- Standard run: `just bundle` +- Skip validation (faster iteration): `just bundle-fast` +- Direct command: `python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json` + +## Adding New Endpoints or Schemas + +### Adding a New Endpoint + +1. Create `docs/openapi/paths/your-endpoint.yaml` +2. Define the path operation(s) (GET, POST, etc.) +3. Reference schemas using `$ref: "#/components/schemas/your-schema"` +4. Add the path to `docs/openapi/index.yaml`: + ```yaml + paths: + /your_endpoint: + $ref: "./paths/your-endpoint.yaml" + ``` +5. Bundle and validate: `just validate` + +### Adding a New Schema + +1. Create `docs/openapi/components/schemas/your-model.yaml` +2. Define the schema structure (type, properties, etc.) +3. Add the schema to `docs/openapi/index.yaml`: + ```yaml + components: + schemas: + your_model: + $ref: "./components/schemas/your-model.yaml" + ``` +4. Reference it from paths: `$ref: "#/components/schemas/your_model"` +5. Bundle and validate: `just validate` + +## Linting and Validation + +Mintlify's CLI is the single source of truth for OpenAPI validation. Always bundle before linting so the CLI operates on `docs/openapi.json`: + +```bash +just lint +# or: python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json --no-validate \ +# && mintlify openapi-check docs/openapi.json +``` + +- Validates the bundled spec that Mintlify serves (ensures parity with production) +- Matches the validation Mintlify applies when rendering docs +- Requires Node.js ≥ 18 (use `nvm`, `asdf`, or Bun to provide a compatible runtime) + +Run the linter as part of your workflow before committing or opening a PR. + +## Schema Validation + +The Python bundler includes automatic schema validation: + +- Checks that schema files have expected structure (type, properties, etc.) +- Validates references are resolvable +- Detects circular references +- Shows helpful error messages with context + +To skip validation (faster, use with caution): +```bash +just bundle-fast +``` + +## Common Patterns + +### Internal References (Same File) +```yaml +# In docs/openapi/paths/shipments.yaml +$ref: "#/components/schemas/shipment" +``` + +### External References (Different File) +```yaml +# In docs/openapi/components/schemas/container.yaml +properties: + shipment: + $ref: "./shipment.yaml" +``` + +### Fragment References +```yaml +# Reference a specific property +$ref: "./shipment.yaml#/properties/id" +``` + +## Troubleshooting + +### "Referenced file not found" +- Check the path is correct relative to the current file +- Verify filename and extension match exactly (case-sensitive) +- Ensure the file exists in your working directory + +### "Circular $ref detected" +- A file is referencing itself through a chain of $refs +- Check the reference chain shown in the error message +- Restructure your schemas to break the cycle + +### "Fragment not found" +- The path after `#` doesn't exist in the referenced file +- Check available keys shown in the error message +- Verify the fragment path is correct + +### Bundle doesn't match after editing +- Run `just bundle` to regenerate +- Check for syntax errors in your YAML (run `just lint`) +- Verify all $refs point to existing files + +## Re-splitting a Monolithic File + +If you need to convert a monolithic `openapi.json` back to modular YAML files: + +```bash +just split +# or: python scripts/split_openapi.py +``` + +⚠️ **Warning:** This overwrites existing YAML files! + +## Continuous Integration + +A GitHub Actions workflow (`.github/workflows/openapi-validation.yml`) runs on every PR: + +1. Lints with Mintlify CLI +2. Bundles with Python +3. Validates bundle matches committed `openapi.json` + +If you forget to bundle or have lint errors, CI will fail. + +## Related Files + +- `justfile` – Task runner with all commands +- `tools/openapi_bundle.py` – Python bundler (production) +- `tools/openapi_yaml.py` – Minimal YAML parser +- `tests/test_openapi_bundle.py` – Bundle regression test +- `scripts/pre-commit.sh` – Pre-commit hook for auto-bundling +- `package.json` – CLI scripts (Mintlify CLI, chokidar) +- `.tool-versions` – `mise`-managed Node.js/Bun/Python versions +- `requirements-dev.txt` – Python dependencies for the bundler (PyYAML) +- `.watchmanconfig` – Watchman file watching config + +## Performance Comparison + +**Bundling speed** (9700+ line OpenAPI spec): + +- Python bundler: ~100-200ms + +Both are fast enough for development. Python is used in CI for zero dependencies. + +**Linting speed:** + +- Mintlify CLI (`openapi-check`): ~1s for 1MB spec (depends on Node runtime) + +## Additional Tools + +### Preview Docs Locally + +**Mintlify Preview** (Full documentation): +```bash +just preview-mintlify +# Opens http://localhost:3000 with full docs +# Includes OpenAPI + MDX content + navigation +# This is what's deployed to docs.terminal49.com +``` + +**Quick Development Workflow:** +```bash +just dev +# Bundles OpenAPI + lints + starts Mintlify preview +# Perfect for active development with full docs preview + +# Or with full validation: +just dev-full +# Bundles + validates + tests + starts Mintlify +``` + +### Format YAML Files +```bash +just format +# or: bunx prettier --write "docs/openapi/**/*.yaml" +``` + +## Getting Help + +- **Justfile commands:** `just --list` or `just help` +- **Python bundler:** `python -m tools.openapi_bundle --help` +- **Mintlify CLI:** `mintlify --help` + +For detailed developer workflows, see `docs/openapi/DEVELOPER_GUIDE.md`. diff --git a/docs/openapi/components/schemas/account.yaml b/docs/openapi/components/schemas/account.yaml new file mode 100644 index 00000000..d299f598 --- /dev/null +++ b/docs/openapi/components/schemas/account.yaml @@ -0,0 +1,22 @@ +title: "Account model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "container" + attributes: + type: "object" + required: + - "company_name" + properties: + company_name: + type: "string" +required: + - "id" + - "type" + - "attributes" +x-examples: {} diff --git a/docs/openapi/components/schemas/container-pod-terminal-changed-event.yaml b/docs/openapi/components/schemas/container-pod-terminal-changed-event.yaml new file mode 100644 index 00000000..7361b083 --- /dev/null +++ b/docs/openapi/components/schemas/container-pod-terminal-changed-event.yaml @@ -0,0 +1,57 @@ +title: "Container Pod Terminal Changed Event" +type: "object" +properties: + id: + type: "string" + type: + type: "string" + attributes: + type: "object" + properties: + data_source: + type: "string" + enum: + - "shipping_line" + - "terminal" + - "pierpass" + example: "shipping_line" + description: "Where the information about the terminal change came from" + timestamp: + type: "string" + format: "date-time" + description: "When the terminal change was recorded" + relationships: + type: "object" + properties: + container: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "container" + shipment: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "shipment" + terminal: + type: "object" + description: "The terminal the container has changed to. If this container is still on the vessel this represents an advisory. If it was previously at the terminal this represents an off-dock move." + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "terminal" +description: "" diff --git a/docs/openapi/components/schemas/container-updated-event.yaml b/docs/openapi/components/schemas/container-updated-event.yaml new file mode 100644 index 00000000..309e9e9b --- /dev/null +++ b/docs/openapi/components/schemas/container-updated-event.yaml @@ -0,0 +1,73 @@ +title: "container_updated_event" +type: "object" +properties: + id: + type: "string" + type: + type: "string" + attributes: + type: "object" + properties: + changeset: + type: "object" + description: "A hash of all the changed attributes with the values being an array of the before and after. E.g. \n`{\"pickup_lfd\": [null, \"2020-05-20\"]}`\n\nThe current attributes that can be alerted on are:\n- `available_for_pickup`\n- `pickup_lfd`\n- `fees_at_pod_terminal`\n- `holds_at_pod_terminal`\n- `pickup_appointment_at`\n- `pod_terminal`" + timestamp: + type: "string" + format: "date-time" + description: "" + timezone: + type: "string" + description: "IANA tz " + data_source: + type: "string" + enum: + - "terminal" + example: "terminal" + required: + - "changeset" + - "timestamp" + relationships: + type: "object" + required: + - "container" + - "terminal" + properties: + container: + type: "object" + required: + - "data" + properties: + data: + type: "object" + required: + - "id" + - "type" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "container" + terminal: + type: "object" + description: "" + required: + - "data" + properties: + data: + type: "object" + required: + - "id" + - "type" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "terminal" +required: + - "relationships" diff --git a/docs/openapi/components/schemas/container.yaml b/docs/openapi/components/schemas/container.yaml new file mode 100644 index 00000000..15df5361 --- /dev/null +++ b/docs/openapi/components/schemas/container.yaml @@ -0,0 +1,374 @@ +title: "Container model" +type: "object" +x-examples: + Example Container: + id: "ff77a822-23a7-4ccd-95ca-g534c071baaf3" + type: "container" + attributes: + number: "KOCU4959010" + ref_numbers: + - "REF-1" + - "REF-2" + seal_number: "210084213" + created_at: "2021-10-18T09:52:33Z" + equipment_type: "dry" + equipment_length: 40 + equipment_height: "high_cube" + weight_in_lbs: 20210 + fees_at_pod_terminal: [] + holds_at_pod_terminal: [] + pickup_lfd: "2022-01-21T08:00:00Z" + pickup_appointment_at: null + pod_full_out_chassis_number: "APMZ418805" + location_at_pod_terminal: "Delivered 02/11/2022 14:18" + availability_known: true + available_for_pickup: false + pod_arrived_at: "2022-01-03T10:30:00Z" + pod_discharged_at: "2022-01-08T09:15:00Z" + final_destination_full_out_at: null + pod_full_out_at: "2022-02-11T22:18:00Z" + empty_terminated_at: null + terminal_checked_at: "2022-02-11T22:45:32Z" + pod_rail_carrier_scac: "UPRR" + ind_rail_carrier_scac: "CSXT" + pod_timezone: "America/Los_Angeles" + final_destination_timezone: null + empty_terminated_timezone: null + pod_last_tracking_request_at: "2022-02-11T22:40:00Z" + shipment_last_tracking_request_at: "2022-02-11T22:40:00Z" + pod_rail_loaded_at: "2022-02-11T22:18:00Z" + pod_rail_departed_at: "2022-02-11T23:30:00Z" + ind_eta_at: null + ind_ata_at: "2022-02-15T01:12:00Z" + ind_rail_unloaded_at: "2022-02-15T07:54:00Z" + ind_facility_lfd_on: null + import_deadlines: + pickup_lfd_terminal: null + pickup_lfd_rail: "2022-02-20T08:00:00Z" + pickup_lfd_line: "2022-02-25T08:00:00Z" + relationships: + shipment: + data: + id: "x92acf88-c263-43ddf-b005-aca2a32d47f1" + type: "shipment" + pod_terminal: + data: + id: "x551cac7-aff5-40a6-9c63-49facf19cc3df" + type: "terminal" + pickup_facility: + data: + id: "d7d8d314-b02b-4caa-b04f-d3d4726f4107" + type: "terminal" + transport_events: + data: + - + id: "xecfe2d1-c498-4022-a9f8-ec56722e1215" + type: "transport_event" + - + id: "2900a9b8-d9e2-4696-abd86-4a767b885d23" + type: "transport_event" + - + id: "5ad0dce1-x78e4-464d-af5f-a36190428a2c" + type: "transport_event" + - + id: "876575d5-5ede-40d6-a093-c3a4cfcxaa1c7" + type: "transport_event" + - + id: "dc2a9d8f-75e6-43xa5-a04e-58458495f08c" + type: "transport_event" + - + id: "50xd2ea1-01ac-473d-8a08-3b5d77d2b793" + type: "transport_event" + - + id: "9d1f55xe3-6758-4be7-872a-30451ddd957e" + type: "transport_event" + raw_events: + data: + - + id: "38084a1d-a2eb-434e-81ac3-606c89a61c4b" + type: "raw_event" + - + id: "53680df3-93d5-4385-86c5-a33ee41b4c1f" + type: "raw_event" + - + id: "7d9cdf70-51e8-4b75-a8229-f5d691495ab6" + type: "raw_event" + - + id: "e62d41ac-8738-42e8-b582-35ef28ae88e2" + type: "raw_event" + - + id: "1209172b-acd8-4ce0-8821-dbc4934208b3" + type: "raw_event" + - + id: "4265ea5f-2b9a-436f-98fa-803d8ed49acb2" + type: "raw_event" + - + id: "c3cb2eb7-6c0a-4db8-8742-517b97b175d5" + type: "raw_event" + - + id: "b1959f36-a218-4b6e-863a9-2e0b4ad5159c" + type: "raw_event" +description: "Represents the equipment during a specific journey." +properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "container" + attributes: + type: "object" + properties: + number: + type: "string" + ref_numbers: + type: "array" + items: + type: "string" + equipment_type: + type: "string" + enum: + - "dry" + - "reefer" + - "open top" + - "flat rack" + - "bulk" + - "tank" + - null + nullable: true + equipment_length: + type: "integer" + enum: + - null + - 10 + - 20 + - 40 + - 45 + nullable: true + equipment_height: + type: "string" + enum: + - "standard" + - "high_cube" + - null + nullable: true + weight_in_lbs: + type: "number" + nullable: true + created_at: + type: "string" + format: "date-time" + seal_number: + type: "string" + nullable: true + pickup_lfd: + type: "string" + format: "date-time" + description: "Coalesces `import_deadlines` values giving preference to `pickup_lfd_line`" + nullable: true + pickup_appointment_at: + type: "string" + format: "date-time" + description: "When available the pickup appointment time at the terminal is returned." + nullable: true + availability_known: + type: "boolean" + description: "Whether Terminal 49 is receiving availability status from the terminal." + available_for_pickup: + type: "boolean" + description: "If availability_known is true, then whether container is available to be picked up at terminal." + nullable: true + pod_arrived_at: + type: "string" + format: "date-time" + description: "Time the vessel arrived at the POD" + nullable: true + pod_discharged_at: + type: "string" + format: "date-time" + description: "Discharge time at the port of discharge" + nullable: true + pod_full_out_at: + type: "string" + format: "date-time" + description: "Full Out time at port of discharge. Null for inland moves." + nullable: true + terminal_checked_at: + type: "string" + format: "date-time" + description: "When the terminal was last checked." + nullable: true + pod_full_out_chassis_number: + type: "string" + description: "The chassis number used when container was picked up at POD (if available)" + nullable: true + location_at_pod_terminal: + type: "string" + description: "Location at port of discharge terminal" + nullable: true + final_destination_full_out_at: + type: "string" + format: "date-time" + description: "Pickup time at final destination for inland moves." + nullable: true + empty_terminated_at: + type: "string" + format: "date-time" + description: "Time empty container was returned." + nullable: true + holds_at_pod_terminal: + type: "array" + items: + $ref: "#/components/schemas/terminal_hold" + fees_at_pod_terminal: + type: "array" + items: + $ref: "#/components/schemas/terminal_fee" + pod_timezone: + type: "string" + description: "IANA tz. Applies to attributes pod_arrived_at, pod_discharged_at, pickup_appointment_at, pod_full_out_at." + nullable: true + final_destination_timezone: + type: "string" + description: "IANA tz. Applies to attribute final_destination_full_out_at." + nullable: true + empty_terminated_timezone: + type: "string" + description: "IANA tz. Applies to attribute empty_terminated_at." + nullable: true + pod_rail_carrier_scac: + type: "string" + description: "The SCAC of the rail carrier for the pickup leg of the container's journey.(BETA)" + nullable: true + ind_rail_carrier_scac: + type: "string" + description: "The SCAC of the rail carrier for the delivery leg of the container's journey.(BETA)" + nullable: true + pod_last_tracking_request_at: + type: "string" + format: "date-time" + nullable: true + shipment_last_tracking_request_at: + type: "string" + format: "date-time" + nullable: true + pod_rail_loaded_at: + type: "string" + format: "date-time" + nullable: true + pod_rail_departed_at: + type: "string" + format: "date-time" + nullable: true + ind_eta_at: + type: "string" + format: "date-time" + nullable: true + ind_ata_at: + type: "string" + format: "date-time" + nullable: true + ind_rail_unloaded_at: + type: "string" + format: "date-time" + nullable: true + ind_facility_lfd_on: + type: "string" + format: "date-time" + description: "Please use `import_deadlines.pickup_lfd_rail`" + nullable: true + deprecated: true + import_deadlines: + type: "object" + description: "Import pickup deadlines for the container" + properties: + pickup_lfd_terminal: + type: "string" + format: "date-time" + description: "The last free day for pickup before demmurage accrues. Corresponding timezone is pod_timezone." + nullable: true + pickup_lfd_rail: + type: "string" + format: "date-time" + description: "The last free day for pickup before demmurage accrues. Corresponding timezone is final_destination_timezone." + nullable: true + pickup_lfd_line: + type: "string" + format: "date-time" + description: "The last free day as reported by the line. Corresponding timezone is final_destination_timezone or pod_timezone." + nullable: true + nullable: true + relationships: + type: "object" + properties: + shipment: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + type: + type: "string" + enum: + - "shipment" + pickup_facility: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + type: + type: "string" + enum: + - "terminal" + pod_terminal: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + type: + type: "string" + enum: + - "terminal" + transport_events: + type: "object" + properties: + data: + type: "array" + items: + type: "object" + properties: + id: + type: "string" + type: + type: "string" + enum: + - "transport_event" + raw_events: + type: "object" + properties: + data: + type: "array" + items: + type: "object" + properties: + id: + type: "string" + type: + type: "string" + enum: + - "raw_event" +required: + - "id" + - "type" + - "attributes" diff --git a/docs/openapi/components/schemas/error.yaml b/docs/openapi/components/schemas/error.yaml new file mode 100644 index 00000000..9a8fbb86 --- /dev/null +++ b/docs/openapi/components/schemas/error.yaml @@ -0,0 +1,35 @@ +title: "Error model" +type: "object" +properties: + detail: + type: "string" + nullable: true + title: + type: "string" + nullable: true + source: + type: "object" + nullable: true + properties: + pointer: + type: "string" + nullable: true + parameter: + type: "string" + nullable: true + code: + type: "string" + nullable: true + status: + type: "string" + nullable: true + meta: + type: "object" + nullable: true + properties: + tracking_request_id: + type: "string" + format: "uuid" + nullable: true +required: + - "title" diff --git a/docs/openapi/components/schemas/estimated-event.yaml b/docs/openapi/components/schemas/estimated-event.yaml new file mode 100644 index 00000000..4061865d --- /dev/null +++ b/docs/openapi/components/schemas/estimated-event.yaml @@ -0,0 +1,102 @@ +title: "Estimated Event Model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "estimated_event" + attributes: + type: "object" + required: + - "created_at" + - "estimated_timestamp" + - "event" + properties: + created_at: + type: "string" + description: "When the estimated event was created" + format: "date-time" + estimated_timestamp: + type: "string" + format: "date-time" + event: + type: "string" + enum: + - "shipment.estimated.arrival" + location_locode: + type: "string" + description: "UNLOCODE of the event location" + nullable: true + timezone: + type: "string" + description: "IANA tz" + nullable: true + voyage_number: + type: "string" + nullable: true + data_source: + type: "string" + enum: + - "shipping_line" + - "terminal" + description: "The original source of the event data" + relationships: + type: "object" + required: + - "shipment" + properties: + shipment: + type: "object" + required: + - "data" + properties: + data: + type: "object" + required: + - "id" + - "type" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "shipment" + port: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "port" + vessel: + type: "object" + description: "\n" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "vessel" +required: + - "id" + - "type" + - "attributes" + - "relationships" diff --git a/docs/openapi/components/schemas/link-self.yaml b/docs/openapi/components/schemas/link-self.yaml new file mode 100644 index 00000000..ab858670 --- /dev/null +++ b/docs/openapi/components/schemas/link-self.yaml @@ -0,0 +1,6 @@ +title: "link" +type: "object" +properties: + self: + type: "string" + format: "uri" diff --git a/docs/openapi/components/schemas/links.yaml b/docs/openapi/components/schemas/links.yaml new file mode 100644 index 00000000..771e00e6 --- /dev/null +++ b/docs/openapi/components/schemas/links.yaml @@ -0,0 +1,18 @@ +title: "links" +type: "object" +properties: + last: + type: "string" + format: "uri" + next: + type: "string" + format: "uri" + prev: + type: "string" + format: "uri" + first: + type: "string" + format: "uri" + self: + type: "string" + format: "uri" diff --git a/docs/openapi/components/schemas/meta.yaml b/docs/openapi/components/schemas/meta.yaml new file mode 100644 index 00000000..317da9a2 --- /dev/null +++ b/docs/openapi/components/schemas/meta.yaml @@ -0,0 +1,7 @@ +title: "meta" +type: "object" +properties: + size: + type: "integer" + total: + type: "integer" diff --git a/docs/openapi/components/schemas/metro-area.yaml b/docs/openapi/components/schemas/metro-area.yaml new file mode 100644 index 00000000..ef7b9d75 --- /dev/null +++ b/docs/openapi/components/schemas/metro-area.yaml @@ -0,0 +1,49 @@ +title: "Metro area model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + attributes: + type: "object" + properties: + name: + type: "string" + code: + type: "string" + description: "UN/LOCODE" + state_abbr: + type: "string" + x-stoplight: + id: "j9yuwej2ym7yq" + nullable: true + country_code: + type: "string" + x-stoplight: + id: "hfupdk750wcrj" + time_zone: + type: "string" + description: "IANA tz" + x-stoplight: + id: "izvtty345nfsz" + latitude: + type: "number" + x-stoplight: + id: "9l62t4cwsp53w" + nullable: true + longitude: + type: "number" + x-stoplight: + id: "3tzibc0li8xvg" + nullable: true + type: + type: "string" + enum: + - "metro_area" + "": + type: "string" + x-stoplight: + id: "kwcjunrtu3r5o" +required: + - "id" + - "type" diff --git a/docs/openapi/components/schemas/party.yaml b/docs/openapi/components/schemas/party.yaml new file mode 100644 index 00000000..fbc762f4 --- /dev/null +++ b/docs/openapi/components/schemas/party.yaml @@ -0,0 +1,20 @@ +title: "Party model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + attributes: + type: "object" + required: + - "company_name" + properties: + company_name: + type: "string" + description: "Company name" + type: + type: "string" + enum: + - "party" +required: + - "attributes" diff --git a/docs/openapi/components/schemas/port.yaml b/docs/openapi/components/schemas/port.yaml new file mode 100644 index 00000000..64b4fa42 --- /dev/null +++ b/docs/openapi/components/schemas/port.yaml @@ -0,0 +1,47 @@ +title: "Port model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + attributes: + type: "object" + properties: + name: + type: "string" + code: + type: "string" + description: "UN/LOCODE" + state_abbr: + type: "string" + x-stoplight: + id: "jixah1a0q3exs" + nullable: true + city: + type: "string" + x-stoplight: + id: "657ij4boc7kyv" + nullable: true + country_code: + type: "string" + description: "2 digit country code" + time_zone: + type: "string" + description: "IANA tz" + latitude: + type: "number" + x-stoplight: + id: "480os7a90z6kk" + nullable: true + longitude: + type: "number" + x-stoplight: + id: "nfdetqgx5p1yv" + nullable: true + type: + type: "string" + enum: + - "port" +required: + - "id" + - "type" diff --git a/docs/openapi/components/schemas/rail-terminal.yaml b/docs/openapi/components/schemas/rail-terminal.yaml new file mode 100644 index 00000000..ff502a90 --- /dev/null +++ b/docs/openapi/components/schemas/rail-terminal.yaml @@ -0,0 +1,54 @@ +title: "Rail Terminal model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + relationships: + type: "object" + properties: + port: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "port" + metro_area: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "metro_area" + attributes: + type: "object" + required: + - "name" + properties: + name: + type: "string" + nickname: + type: "string" + firms_code: + type: "string" + description: "CBP FIRMS Code or CBS Sublocation Code" + type: + type: "string" + enum: + - "rail_terminal" +required: + - "attributes" diff --git a/docs/openapi/components/schemas/raw-event.yaml b/docs/openapi/components/schemas/raw-event.yaml new file mode 100644 index 00000000..f51fdedb --- /dev/null +++ b/docs/openapi/components/schemas/raw-event.yaml @@ -0,0 +1,139 @@ +title: "Raw Event Model" +type: "object" +description: "Raw Events represent the milestones from the shipping line for a given container.\n\n### About raw_event datetimes\n\nThe events may include estimated future events. The event is a future event if an `estimated_` timestamp is not null. \n\nThe datetime properties `timestamp` and `estimated`. \n\nWhen the `time_zone` property is present the datetimes are UTC timestamps, which can be converted to the local time by parsing the provided `time_zone`.\n\nWhen the `time_zone` property is absent, the datetimes represent local times which serialized as UTC timestamps for consistency. " +properties: + id: + type: "string" + type: + type: "string" + description: "" + enum: + - "raw_event" + attributes: + type: "object" + properties: + event: + type: "string" + enum: + - "empty_out" + - "full_in" + - "positioned_in" + - "positioned_out" + - "vessel_loaded" + - "vessel_departed" + - "transshipment_arrived" + - "transshipment_discharged" + - "transshipment_loaded" + - "transshipment_departed" + - "feeder_arrived" + - "feeder_discharged" + - "feeder_loaded" + - "feeder_departed" + - "rail_loaded" + - "rail_departed" + - "rail_arrived" + - "rail_unloaded" + - "vessel_arrived" + - "vessel_discharged" + - "arrived_at_destination" + - "delivered" + - "full_out" + - "empty_in" + - "vgm_received" + - "carrier_release" + - "customs_release" + - "available" + description: "Normalized string representing the event" + nullable: true + original_event: + type: "string" + description: "The event name as returned by the carrier" + timestamp: + type: "string" + format: "date-time" + description: "The datetime the event either transpired or will occur in UTC" + estimated: + type: "boolean" + description: "True if the timestamp is estimated, false otherwise" + actual_on: + type: "string" + format: "date" + description: "Deprecated: The date of the event at the event location when no time information is available. " + nullable: true + estimated_on: + type: "string" + format: "date" + description: "Deprecated: The estimated date of the event at the event location when no time information is available. " + nullable: true + actual_at: + type: "string" + format: "date-time" + description: "Deprecated: The datetime the event transpired in UTC" + nullable: true + estimated_at: + type: "string" + format: "date-time" + description: "Deprecated: The estimated datetime the event will occur in UTC" + nullable: true + timezone: + type: "string" + description: "IANA tz where the event occured" + nullable: true + created_at: + type: "string" + format: "date-time" + description: "When the raw_event was created in UTC" + location_name: + type: "string" + description: "The city or facility name of the event location" + nullable: true + location_locode: + type: "string" + description: "UNLOCODE of the event location" + nullable: true + vessel_name: + type: "string" + description: "The name of the vessel where applicable" + nullable: true + vessel_imo: + type: "string" + description: "The IMO of the vessel where applicable" + nullable: true + index: + type: "integer" + description: "The order of the event. This may be helpful when only dates (i.e. actual_on) are available." + voyage_number: + type: "string" + nullable: true + relationships: + type: "object" + properties: + location: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "port" + - "metro_area" + vessel: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "vessel" diff --git a/docs/openapi/components/schemas/route-location.yaml b/docs/openapi/components/schemas/route-location.yaml new file mode 100644 index 00000000..11456779 --- /dev/null +++ b/docs/openapi/components/schemas/route-location.yaml @@ -0,0 +1,153 @@ +title: "Route Location model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "route_location" + attributes: + type: "object" + properties: + id: + type: "string" + format: "uuid" + inbound_scac: + type: "string" + nullable: true + minLength: 4 + maxLength: 4 + inbound_mode: + type: "string" + nullable: true + enum: + - "vessel" + - "rail" + - null + inbound_eta_at: + type: "string" + format: "date-time" + nullable: true + inbound_ata_at: + type: "string" + format: "date-time" + nullable: true + inbound_voyage_number: + type: "string" + nullable: true + outbound_scac: + type: "string" + nullable: true + minLength: 4 + maxLength: 4 + outbound_mode: + type: "string" + nullable: true + enum: + - "vessel" + - "rail" + - null + outbound_etd_at: + type: "string" + format: "date-time" + nullable: true + outbound_atd_at: + type: "string" + format: "date-time" + nullable: true + outbound_voyage_number: + type: "string" + nullable: true + created_at: + type: "string" + format: "date-time" + updated_at: + type: "string" + format: "date-time" + required: + - "id" + - "created_at" + - "updated_at" + relationships: + type: "object" + properties: + route: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "route" + required: + - "id" + - "type" + inbound_vessel: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "vessel" + outbound_vessel: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "vessel" + location: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "port" + - "terminal" + facility: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "terminal" + - "port" +required: + - "id" + - "type" + - "attributes" + - "relationships" diff --git a/docs/openapi/components/schemas/route.yaml b/docs/openapi/components/schemas/route.yaml new file mode 100644 index 00000000..c856f5ea --- /dev/null +++ b/docs/openapi/components/schemas/route.yaml @@ -0,0 +1,84 @@ +title: "Route model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "route" + attributes: + type: "object" + properties: + id: + type: "string" + format: "uuid" + created_at: + type: "string" + format: "date-time" + updated_at: + type: "string" + format: "date-time" + required: + - "id" + - "created_at" + - "updated_at" + relationships: + type: "object" + properties: + cargo: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "container" + required: + - "id" + - "type" + shipment: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "shipment" + required: + - "id" + - "type" + route_locations: + type: "object" + properties: + data: + type: "array" + items: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "route_location" + required: + - "id" + - "type" +required: + - "id" + - "type" + - "attributes" + - "relationships" diff --git a/docs/openapi/components/schemas/shipment.yaml b/docs/openapi/components/schemas/shipment.yaml new file mode 100644 index 00000000..f40cd7f5 --- /dev/null +++ b/docs/openapi/components/schemas/shipment.yaml @@ -0,0 +1,278 @@ +title: "Shipment model" +type: "object" +x-examples: {} +description: "" +properties: + id: + type: "string" + format: "uuid" + relationships: + type: "object" + properties: + destination: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + type: + type: "string" + enum: + - "port" + - "metro_area" + id: + type: "string" + format: "uuid" + required: + - "type" + - "id" + port_of_lading: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + type: + type: "string" + enum: + - "port" + id: + type: "string" + format: "uuid" + required: + - "type" + - "id" + containers: + type: "object" + properties: + data: + type: "array" + items: + type: "object" + properties: + type: + type: "string" + enum: + - "container" + id: + type: "string" + format: "uuid" + required: + - "type" + - "id" + port_of_discharge: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + type: + type: "string" + enum: + - "port" + id: + type: "string" + format: "uuid" + required: + - "type" + - "id" + pod_terminal: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + type: + type: "string" + enum: + - "terminal" + id: + type: "string" + format: "uuid" + required: + - "type" + - "id" + destination_terminal: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + type: + type: "string" + enum: + - "terminal" + - "rail_terminal" + id: + type: "string" + format: "uuid" + required: + - "type" + - "id" + line_tracking_stopped_by_user: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + type: + type: "string" + enum: + - "user" + id: + type: "string" + format: "uuid" + required: + - "type" + - "id" + attributes: + type: "object" + properties: + bill_of_lading_number: + type: "string" + normalized_number: + type: "string" + description: "The normalized version of the shipment number used for querying the carrier" + ref_numbers: + type: "array" + items: + type: "string" + nullable: true + created_at: + type: "string" + format: "date-time" + tags: + type: "array" + items: + type: "string" + port_of_lading_locode: + type: "string" + description: "UN/LOCODE" + nullable: true + port_of_lading_name: + type: "string" + nullable: true + port_of_discharge_locode: + type: "string" + description: "UN/LOCODE" + nullable: true + port_of_discharge_name: + type: "string" + nullable: true + destination_locode: + type: "string" + description: "UN/LOCODE" + nullable: true + destination_name: + type: "string" + nullable: true + shipping_line_scac: + type: "string" + shipping_line_name: + type: "string" + shipping_line_short_name: + type: "string" + customer_name: + type: "string" + nullable: true + pod_vessel_name: + type: "string" + nullable: true + pod_vessel_imo: + type: "string" + nullable: true + pod_voyage_number: + type: "string" + nullable: true + pol_etd_at: + type: "string" + format: "date-time" + nullable: true + pol_atd_at: + type: "string" + format: "date-time" + nullable: true + pod_eta_at: + type: "string" + format: "date-time" + nullable: true + pod_original_eta_at: + type: "string" + format: "date-time" + nullable: true + pod_ata_at: + type: "string" + format: "date-time" + nullable: true + destination_eta_at: + type: "string" + format: "date-time" + nullable: true + destination_ata_at: + type: "string" + format: "date-time" + nullable: true + pol_timezone: + type: "string" + description: "IANA tz" + nullable: true + pod_timezone: + type: "string" + description: "IANA tz" + nullable: true + destination_timezone: + type: "string" + description: "IANA tz" + nullable: true + line_tracking_last_attempted_at: + type: "string" + format: "date-time" + description: "When Terminal49 last tried to update the shipment status from the shipping line" + nullable: true + line_tracking_last_succeeded_at: + type: "string" + format: "date-time" + description: "When Terminal49 last successfully updated the shipment status from the shipping line" + nullable: true + line_tracking_stopped_at: + type: "string" + format: "date-time" + description: "When Terminal49 stopped checking at the shipping line" + nullable: true + line_tracking_stopped_reason: + type: "string" + enum: + - "all_containers_terminated" + - "past_arrival_window" + - "no_updates_at_line" + - "cancelled_by_user" + - "booking_cancelled" + - null + description: "The reason Terminal49 stopped checking" + nullable: true + required: + - "bill_of_lading_number" + type: + type: "string" + enum: + - "shipment" + links: + type: "object" + properties: + self: + type: "string" + format: "uri" + required: + - "self" +required: + - "id" + - "type" + - "attributes" + - "relationships" + - "links" diff --git a/docs/openapi/components/schemas/shipping-line.yaml b/docs/openapi/components/schemas/shipping-line.yaml new file mode 100644 index 00000000..8c7e2e8b --- /dev/null +++ b/docs/openapi/components/schemas/shipping-line.yaml @@ -0,0 +1,50 @@ +title: "Shipping line model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + attributes: + type: "object" + required: + - "scac" + - "name" + - "alternative_scacs" + - "short_name" + - "bill_of_lading_tracking_support" + - "booking_number_tracking_support" + - "container_number_tracking_support" + properties: + scac: + type: "string" + minLength: 4 + maxLength: 4 + name: + type: "string" + alternative_scacs: + type: "array" + x-stoplight: + id: "jwf70hnip0xwb" + description: "Additional SCACs which will be accepted in tracking requests" + items: + x-stoplight: + id: "nrqnwg5y2u0ni" + type: "string" + minLength: 4 + maxLength: 4 + short_name: + type: "string" + bill_of_lading_tracking_support: + type: "boolean" + booking_number_tracking_support: + type: "boolean" + container_number_tracking_support: + type: "boolean" + type: + type: "string" + enum: + - "shipping_line" +required: + - "id" + - "attributes" + - "type" diff --git a/docs/openapi/components/schemas/terminal-fee.yaml b/docs/openapi/components/schemas/terminal-fee.yaml new file mode 100644 index 00000000..ffa85062 --- /dev/null +++ b/docs/openapi/components/schemas/terminal-fee.yaml @@ -0,0 +1,21 @@ +title: "terminal_fee" +type: "object" +properties: + type: + type: "string" + enum: + - "demurrage" + - "exam" + - "extended_dwell_time" + - "other" + - "total" + amount: + type: "number" + description: "The fee amount in local currency" + currency_code: + type: "string" + description: "The ISO 4217 currency code of the fee is charged in. E.g. USD" + example: "USD" +required: + - "type" + - "amount" diff --git a/docs/openapi/components/schemas/terminal-hold.yaml b/docs/openapi/components/schemas/terminal-hold.yaml new file mode 100644 index 00000000..f6454d87 --- /dev/null +++ b/docs/openapi/components/schemas/terminal-hold.yaml @@ -0,0 +1,17 @@ +title: "terminal_hold" +type: "object" +properties: + name: + type: "string" + status: + type: "string" + enum: + - "pending" + - "hold" + description: + type: "string" + description: "Text description from the terminal (if any)" + nullable: true +required: + - "name" + - "status" diff --git a/docs/openapi/components/schemas/terminal.yaml b/docs/openapi/components/schemas/terminal.yaml new file mode 100644 index 00000000..697687bf --- /dev/null +++ b/docs/openapi/components/schemas/terminal.yaml @@ -0,0 +1,67 @@ +title: "Terminal model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + relationships: + type: "object" + required: + - "port" + properties: + port: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "port" + attributes: + type: "object" + required: + - "name" + properties: + name: + type: "string" + nickname: + type: "string" + firms_code: + type: "string" + description: "CBP FIRMS Code or CBS Sublocation Code" + smdg_code: + type: "string" + description: "SMDG Code" + bic_facility_code: + type: "string" + description: "BIC Facility Code" + street: + type: "string" + description: "Street part of the address" + city: + type: "string" + description: "City part of the address" + state: + type: "string" + description: "State part of the address" + state_abbr: + type: "string" + description: "State abbreviation for the state" + zip: + type: "string" + description: "ZIP code part of the address" + country: + type: "string" + description: "Country part of the address" + type: + type: "string" + enum: + - "terminal" +required: + - "attributes" + - "relationships" diff --git a/docs/openapi/components/schemas/tracking-request.yaml b/docs/openapi/components/schemas/tracking-request.yaml new file mode 100644 index 00000000..191b4fbb --- /dev/null +++ b/docs/openapi/components/schemas/tracking-request.yaml @@ -0,0 +1,113 @@ +title: "Tracking Request" +type: "object" +properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "tracking_request" + attributes: + type: "object" + properties: + request_number: + type: "string" + example: "ONEYSH9AME650500" + ref_numbers: + type: "array" + nullable: true + items: + type: "string" + tags: + type: "array" + items: + type: "string" + status: + type: "string" + enum: + - "pending" + - "awaiting_manifest" + - "created" + - "failed" + - "tracking_stopped" + failed_reason: + type: "string" + enum: + - "booking_cancelled" + - "duplicate" + - "expired" + - "internal_processing_error" + - "invalid_number" + - "not_found" + - "retries_exhausted" + - "shipping_line_unreachable" + - "unrecognized_response" + - "data_unavailable" + - null + description: "If the tracking request has failed, or is currently failing, the last reason we were unable to complete the request" + nullable: true + request_type: + type: "string" + enum: + - "bill_of_lading" + - "booking_number" + - "container" + example: "bill_of_lading" + scac: + type: "string" + example: "ONEY" + minLength: 4 + maxLength: 4 + created_at: + type: "string" + format: "date-time" + updated_at: + type: "string" + format: "date-time" + is_retrying: + type: "boolean" + retry_count: + type: "integer" + description: "How many times T49 has attempted to get the shipment from the shipping line" + nullable: true + required: + - "request_number" + - "status" + - "request_type" + - "scac" + - "created_at" + relationships: + type: "object" + properties: + tracked_object: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "shipment" + customer: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "party" +required: + - "id" + - "type" diff --git a/docs/openapi/components/schemas/transport-event.yaml b/docs/openapi/components/schemas/transport-event.yaml new file mode 100644 index 00000000..4e67d779 --- /dev/null +++ b/docs/openapi/components/schemas/transport-event.yaml @@ -0,0 +1,143 @@ +title: "Transport Event Model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "transport_event" + attributes: + type: "object" + properties: + event: + type: "string" + enum: + - "container.transport.vessel_arrived" + - "container.transport.vessel_discharged" + - "container.transport.vessel_loaded" + - "container.transport.vessel_departed" + - "container.transport.rail_departed" + - "container.transport.rail_arrived" + - "container.transport.rail_loaded" + - "container.transport.rail_unloaded" + - "container.transport.transshipment_arrived" + - "container.transport.transshipment_discharged" + - "container.transport.transshipment_loaded" + - "container.transport.transshipment_departed" + - "container.transport.feeder_arrived" + - "container.transport.feeder_discharged" + - "container.transport.feeder_loaded" + - "container.transport.feeder_departed" + - "container.transport.empty_out" + - "container.transport.full_in" + - "container.transport.full_out" + - "container.transport.empty_in" + - "container.transport.vessel_berthed" + - "container.transport.arrived_at_inland_destination" + - "container.transport.estimated.arrived_at_inland_destination" + - "container.pickup_lfd.changed" + - "container.transport.available" + voyage_number: + type: "string" + nullable: true + timestamp: + type: "string" + format: "date-time" + nullable: true + timezone: + type: "string" + description: "IANA tz" + nullable: true + location_locode: + type: "string" + description: "UNLOCODE of the event location" + nullable: true + created_at: + type: "string" + format: "date-time" + data_source: + type: "string" + enum: + - "shipping_line" + - "terminal" + - "ais" + example: "shipping_line" + description: "The original source of the event data" + relationships: + type: "object" + properties: + shipment: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "shipment" + location: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "port" + - "metro_area" + vessel: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + name: + type: "string" + enum: + - "vessel" + terminal: + type: "object" + properties: + data: + type: "object" + nullable: true + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "terminal" + - "rail_terminal" + container: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "container" +required: + - "id" + - "type" diff --git a/docs/openapi/components/schemas/vessel-with-positions.yaml b/docs/openapi/components/schemas/vessel-with-positions.yaml new file mode 100644 index 00000000..16b599e2 --- /dev/null +++ b/docs/openapi/components/schemas/vessel-with-positions.yaml @@ -0,0 +1,72 @@ +title: "Vessel with positions model" +type: "object" +properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "vessel" + attributes: + type: "object" + properties: + name: + type: "string" + description: "The name of the ship or vessel" + imo: + type: "string" + description: "International Maritime Organization (IMO) number" + nullable: true + mmsi: + type: "string" + description: "Maritime Mobile Service Identity (MMSI)" + nullable: true + latitude: + type: "number" + description: "The current latitude position of the vessel" + nullable: true + longitude: + type: "number" + description: "The current longitude position of the vessel" + nullable: true + nautical_speed_knots: + type: "number" + description: "The current speed of the ship in knots (nautical miles per hour)" + nullable: true + navigational_heading_degrees: + type: "number" + description: "The current heading of the ship in degrees, where 0 is North, 90 is East, 180 is South, and 270 is West" + nullable: true + position_timestamp: + type: "string" + format: "date-time" + description: "The timestamp of when the ship's position was last recorded, in ISO 8601 date and time format" + nullable: true + positions: + type: "array" + description: "Array of estimated future positions" + items: + type: "object" + properties: + latitude: + type: "number" + longitude: + type: "number" + heading: + type: "number" + nullable: true + timestamp: + type: "string" + format: "date-time" + estimated: + type: "boolean" + required: + - "latitude" + - "longitude" + - "timestamp" + - "estimated" +required: + - "id" + - "type" + - "attributes" diff --git a/docs/openapi/components/schemas/vessel.yaml b/docs/openapi/components/schemas/vessel.yaml new file mode 100644 index 00000000..cc54987d --- /dev/null +++ b/docs/openapi/components/schemas/vessel.yaml @@ -0,0 +1,76 @@ +title: "vessel" +type: "object" +properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "vessel" + attributes: + type: "object" + properties: + name: + type: "string" + description: "The name of the ship or vessel" + example: "Ever Given" + imo: + type: "string" + description: "International Maritime Organization (IMO) number" + nullable: true + example: "9811000" + mmsi: + type: "string" + description: "Maritime Mobile Service Identity (MMSI)" + nullable: true + example: "353136000" + latitude: + type: "number" + description: "The current latitude position of the vessel" + nullable: true + example: 25.29845 + longitude: + type: "number" + description: "The current longitude position of the vessel" + nullable: true + example: 121.217 + nautical_speed_knots: + type: "number" + description: "The current speed of the ship in knots (nautical miles per hour)" + nullable: true + example: 90 + navigational_heading_degrees: + type: "number" + description: "The current heading of the ship in degrees, where 0 is North, 90 is East, 180 is South, and 270 is West" + nullable: true + example: 194 + position_timestamp: + type: "string" + description: "The timestamp of when the ship's position was last recorded, in ISO 8601 date and time format" + nullable: true + example: "2023-07-28T14:01:37Z" + positions: + type: "array" + description: "An array of historical position data for the vessel. Only included if `show_positions` is true." + nullable: true + items: + type: "object" + properties: + latitude: + type: "number" + example: 1.477285 + longitude: + type: "number" + example: 104.535533333 + heading: + type: "number" + nullable: true + example: 51 + timestamp: + type: "string" + format: "date-time" + example: "2025-05-23T19:14:22Z" + estimated: + type: "boolean" + example: false diff --git a/docs/openapi/components/schemas/webhook-notification.yaml b/docs/openapi/components/schemas/webhook-notification.yaml new file mode 100644 index 00000000..1fc38f7c --- /dev/null +++ b/docs/openapi/components/schemas/webhook-notification.yaml @@ -0,0 +1,97 @@ +title: "webhook_notification" +type: "object" +properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "webhook_notification" + attributes: + type: "object" + properties: + event: + type: "string" + enum: + - "container.transport.vessel_arrived" + - "container.transport.vessel_discharged" + - "container.transport.vessel_loaded" + - "container.transport.vessel_departed" + - "container.transport.rail_departed" + - "container.transport.rail_arrived" + - "container.transport.rail_loaded" + - "container.transport.rail_unloaded" + - "container.transport.transshipment_arrived" + - "container.transport.transshipment_discharged" + - "container.transport.transshipment_loaded" + - "container.transport.transshipment_departed" + - "container.transport.feeder_arrived" + - "container.transport.feeder_discharged" + - "container.transport.feeder_loaded" + - "container.transport.feeder_departed" + - "container.transport.empty_out" + - "container.transport.full_in" + - "container.transport.full_out" + - "container.transport.empty_in" + - "container.transport.vessel_berthed" + - "shipment.estimated.arrival" + - "tracking_request.succeeded" + - "tracking_request.failed" + - "tracking_request.awaiting_manifest" + - "tracking_request.tracking_stopped" + - "container.created" + - "container.updated" + - "container.pod_terminal_changed" + - "container.transport.arrived_at_inland_destination" + - "container.transport.estimated.arrived_at_inland_destination" + - "container.pickup_lfd.changed" + - "container.transport.available" + delivery_status: + type: "string" + default: "pending" + enum: + - "pending" + - "succeeded" + - "failed" + description: "Whether the notification has been delivered to the webhook endpoint" + created_at: + type: "string" + required: + - "event" + - "delivery_status" + - "created_at" + relationships: + type: "object" + properties: + webhook: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "webhook" + reference_object: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "tracking_request" + - "estimated_event" + - "transport_event" + - "container_updated_event" + required: + - "webhook" diff --git a/docs/openapi/components/schemas/webhook.yaml b/docs/openapi/components/schemas/webhook.yaml new file mode 100644 index 00000000..dce6a0b1 --- /dev/null +++ b/docs/openapi/components/schemas/webhook.yaml @@ -0,0 +1,85 @@ +title: "webhook" +type: "object" +x-examples: {} +properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "webhook" + attributes: + type: "object" + properties: + url: + type: "string" + format: "uri" + description: "https end point" + active: + type: "boolean" + default: true + description: "Whether the webhook will be delivered when events are triggered" + events: + type: "array" + description: "The list of events to enabled for this endpoint" + uniqueItems: true + minItems: 1 + items: + type: "string" + enum: + - "container.transport.vessel_arrived" + - "container.transport.vessel_discharged" + - "container.transport.vessel_loaded" + - "container.transport.vessel_departed" + - "container.transport.rail_departed" + - "container.transport.rail_arrived" + - "container.transport.rail_loaded" + - "container.transport.rail_unloaded" + - "container.transport.transshipment_arrived" + - "container.transport.transshipment_discharged" + - "container.transport.transshipment_loaded" + - "container.transport.transshipment_departed" + - "container.transport.feeder_arrived" + - "container.transport.feeder_discharged" + - "container.transport.feeder_loaded" + - "container.transport.feeder_departed" + - "container.transport.empty_out" + - "container.transport.full_in" + - "container.transport.full_out" + - "container.transport.empty_in" + - "container.transport.vessel_berthed" + - "shipment.estimated.arrival" + - "tracking_request.succeeded" + - "tracking_request.failed" + - "tracking_request.awaiting_manifest" + - "tracking_request.tracking_stopped" + - "container.created" + - "container.updated" + - "container.pod_terminal_changed" + - "container.transport.arrived_at_inland_destination" + - "container.transport.estimated.arrived_at_inland_destination" + - "container.pickup_lfd.changed" + - "container.transport.available" + secret: + type: "string" + description: "A random token that will sign all delivered webhooks" + headers: + type: "array" + nullable: true + items: + type: "object" + properties: + name: + type: "string" + value: + type: "string" + required: + - "url" + - "active" + - "events" + - "secret" +required: + - "id" + - "type" +description: "" diff --git a/docs/openapi/components/securitySchemes/authorization.yaml b/docs/openapi/components/securitySchemes/authorization.yaml new file mode 100644 index 00000000..96428f15 --- /dev/null +++ b/docs/openapi/components/securitySchemes/authorization.yaml @@ -0,0 +1,4 @@ +name: "Authorization" +type: "apiKey" +in: "header" +description: "`Token YOUR_API_TOKEN`\n\nThe APIs require authentication to be done using header-based API Key and Secret Authentication. \n\nAPI key and secret are sent va the `Authorization` request header.\n\nYou send your API key and secret in the following way:\n\n`Authorization: Token YOUR_API_KEY`" diff --git a/docs/openapi/index.yaml b/docs/openapi/index.yaml new file mode 100644 index 00000000..ecc60d77 --- /dev/null +++ b/docs/openapi/index.yaml @@ -0,0 +1,177 @@ +openapi: "3.0.0" +info: + title: "Terminal49 API Reference" + version: "0.2.0" + contact: + name: "Terminal49 API support" + url: "https://www.terminal49.com" + email: "support@terminal49.com" + description: "The Terminal 49 API offers a convenient way to programmatically track your shipments from origin to destination.\n\nPlease enter your API key into the \"Variables\" tab before using these endpoints within Postman." + x-label: "Beta" + termsOfService: "https://www.terminal49.com/terms" +servers: + - + url: "https://api.terminal49.com/v2" + description: "Production" +tags: + - + name: "Containers" + - + name: "Shipments" + - + name: "Shipping Lines" + - + name: "Locations" + - + name: "Events" + - + name: "Tracking Requests" + - + name: "Webhooks" + - + name: "Webhook Notifications" + - + name: "Ports" + - + name: "Metro Areas" + - + name: "Terminals" + - + name: "Routing (Paid)" + - + name: "Vessels" + - + name: "Parties" +security: + - + authorization: [] +x-tagGroups: + - + name: "End Points" + tags: + - "Shipments" + - "Containers" + - "Tracking Requests" + - "Webhooks" + - "Webhook Notifications" + - "Metro Areas" + - + name: "Routing (Paid)" + tags: + - "Routing (Paid)" +paths: + /shipments: + $ref: "./paths/shipments.yaml" + "/shipments/{id}": + $ref: "./paths/shipments-id.yaml" + "/shipments/{id}/stop_tracking": + $ref: "./paths/shipments-id-stop-tracking.yaml" + "/shipments/{id}/resume_tracking": + $ref: "./paths/shipments-id-resume-tracking.yaml" + /tracking_requests: + $ref: "./paths/tracking-requests.yaml" + "/tracking_requests/{id}": + $ref: "./paths/tracking-requests-id.yaml" + "/webhooks/{id}": + $ref: "./paths/webhooks-id.yaml" + /webhooks: + $ref: "./paths/webhooks.yaml" + "/webhook_notifications/{id}": + $ref: "./paths/webhook-notifications-id.yaml" + /webhook_notifications: + $ref: "./paths/webhook-notifications.yaml" + /webhook_notifications/examples: + $ref: "./paths/webhook-notifications-examples.yaml" + /webhooks/ips: + $ref: "./paths/webhooks-ips.yaml" + /containers: + $ref: "./paths/containers.yaml" + "/containers/{id}": + $ref: "./paths/containers-id.yaml" + "/containers/{id}/raw_events": + $ref: "./paths/containers-id-raw-events.yaml" + "/containers/{id}/transport_events": + $ref: "./paths/containers-id-transport-events.yaml" + "/containers/{id}/route": + $ref: "./paths/containers-id-route.yaml" + "/containers/{id}/refresh": + $ref: "./paths/containers-id-refresh.yaml" + /shipping_lines: + $ref: "./paths/shipping-lines.yaml" + "/shipping_lines/{id}": + $ref: "./paths/shipping-lines-id.yaml" + "/metro_areas/{id}": + $ref: "./paths/metro-areas-id.yaml" + "/ports/{id}": + $ref: "./paths/ports-id.yaml" + "/vessels/{id}": + $ref: "./paths/vessels-id.yaml" + "/vessels/{id}/future_positions": + $ref: "./paths/vessels-id-future-positions.yaml" + "/vessels/{id}/future_positions_with_coordinates": + $ref: "./paths/vessels-id-future-positions-with-coordinates.yaml" + "/terminals/{id}": + $ref: "./paths/terminals-id.yaml" + /parties: + $ref: "./paths/parties.yaml" + "/parties/{id}": + $ref: "./paths/parties-id.yaml" +components: + schemas: + shipment: + $ref: "./components/schemas/shipment.yaml" + meta: + $ref: "./components/schemas/meta.yaml" + link-self: + $ref: "./components/schemas/link-self.yaml" + links: + $ref: "./components/schemas/links.yaml" + container: + $ref: "./components/schemas/container.yaml" + port: + $ref: "./components/schemas/port.yaml" + shipping_line: + $ref: "./components/schemas/shipping-line.yaml" + account: + $ref: "./components/schemas/account.yaml" + error: + $ref: "./components/schemas/error.yaml" + metro_area: + $ref: "./components/schemas/metro-area.yaml" + terminal: + $ref: "./components/schemas/terminal.yaml" + rail_terminal: + $ref: "./components/schemas/rail-terminal.yaml" + tracking_request: + $ref: "./components/schemas/tracking-request.yaml" + webhook: + $ref: "./components/schemas/webhook.yaml" + vessel: + $ref: "./components/schemas/vessel.yaml" + transport_event: + $ref: "./components/schemas/transport-event.yaml" + estimated_event: + $ref: "./components/schemas/estimated-event.yaml" + webhook_notification: + $ref: "./components/schemas/webhook-notification.yaml" + terminal_hold: + $ref: "./components/schemas/terminal-hold.yaml" + terminal_fee: + $ref: "./components/schemas/terminal-fee.yaml" + container_updated_event: + $ref: "./components/schemas/container-updated-event.yaml" + raw_event: + $ref: "./components/schemas/raw-event.yaml" + container_pod_terminal_changed_event: + $ref: "./components/schemas/container-pod-terminal-changed-event.yaml" + party: + $ref: "./components/schemas/party.yaml" + route: + $ref: "./components/schemas/route.yaml" + route_location: + $ref: "./components/schemas/route-location.yaml" + vessel_with_positions: + $ref: "./components/schemas/vessel-with-positions.yaml" + securitySchemes: + authorization: + $ref: "./components/securitySchemes/authorization.yaml" diff --git a/docs/openapi/paths/containers-id-raw-events.yaml b/docs/openapi/paths/containers-id-raw-events.yaml new file mode 100644 index 00000000..b60c04be --- /dev/null +++ b/docs/openapi/paths/containers-id-raw-events.yaml @@ -0,0 +1,359 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get a container's raw events" + tags: + - "Containers" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + type: "array" + items: + $ref: "#/components/schemas/raw_event" + examples: + Example Raw Events: + value: + data: + - + id: "ca6b760f-13e9-4bf6-ab49-3cf2e40757fb" + type: "raw_event" + attributes: + timestamp: "2020-03-03T00:00:00Z" + estimated: false + actual_on: "2020-03-03" + estimated_at: null + actual_at: null + event: "empty_out" + index: 0 + original_event: "Truck Gate out empty" + created_at: "2020-04-18T00:18:27Z" + voyage_number: null + location_name: "Oakland" + location_locode: null + vessel_name: null + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: null + - + id: "bcdfc796-0570-4c85-9336-d6c7d0da02d2" + type: "raw_event" + attributes: + timestamp: "2020-03-09T00:00:00Z" + estimated: false + actual_on: "2020-03-09" + estimated_at: null + actual_at: null + event: "full_in" + index: 1 + original_event: "Truck Arrival in" + created_at: "2020-04-18T00:18:27Z" + voyage_number: null + location_name: null + location_locode: null + vessel_name: null + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: null + - + id: "a4ff01b0-b374-4123-ae65-3dc0c7ea41ea" + type: "raw_event" + attributes: + timestamp: "2020-03-14T00:00:00Z" + estimated: false + actual_on: "2020-03-14" + estimated_at: null + actual_at: null + event: "vessel_loaded" + index: 2 + original_event: "Vessel Loaded" + created_at: "2020-04-18T00:18:27Z" + voyage_number: "FA009R" + location_name: null + location_locode: null + vessel_name: "MSC FAITH" + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: + id: "4b473d0e-7073-4171-8b5b-15e71e9e13cc" + type: "vessel" + - + id: "ca5862ef-6e27-4245-a281-0cec6bbe1fb7" + type: "raw_event" + attributes: + timestamp: "2020-03-15T00:00:00Z" + estimated: false + actual_on: "2020-03-15" + estimated_at: null + actual_at: null + event: "vessel_departed" + index: 3 + original_event: "Vessel departed" + created_at: "2020-04-18T00:18:27Z" + voyage_number: "FA009R" + location_name: null + location_locode: null + vessel_name: "MSC FAITH" + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: + id: "4b473d0e-7073-4171-8b5b-15e71e9e13cc" + type: "vessel" + - + id: "f47a903e-e6d1-41c5-aec6-8401b2abf297" + type: "raw_event" + attributes: + timestamp: "2020-03-25T00:00:00Z" + estimated: false + actual_on: "2020-03-25" + estimated_at: null + actual_at: null + event: "transshipment_arrived" + index: 4 + original_event: "Vessel arrived" + created_at: "2020-04-18T00:18:27Z" + voyage_number: "FA009R" + location_name: null + location_locode: null + vessel_name: "MSC FAITH" + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: + id: "4b473d0e-7073-4171-8b5b-15e71e9e13cc" + type: "vessel" + - + id: "72a1a13b-a2e0-4ac0-851d-eec41e9e9087" + type: "raw_event" + attributes: + timestamp: "2020-03-25T00:00:00Z" + estimated: false + actual_on: "2020-03-25" + estimated_at: null + actual_at: null + event: "transshipment_discharged" + index: 5 + original_event: "Vessel Discharged" + created_at: "2020-04-18T00:18:27Z" + voyage_number: "FA009R" + location_name: null + location_locode: null + vessel_name: "MSC FAITH" + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: + id: "4b473d0e-7073-4171-8b5b-15e71e9e13cc" + type: "vessel" + - + id: "cd91f0cf-ee73-4c47-b99f-63245cb5bc96" + type: "raw_event" + attributes: + timestamp: "2020-04-07T00:00:00Z" + estimated: false + actual_on: "2020-04-07" + estimated_at: null + actual_at: null + event: "transshipment_loaded" + index: 6 + original_event: "Vessel Loaded" + created_at: "2020-04-18T00:18:27Z" + voyage_number: "15W10" + location_name: null + location_locode: null + vessel_name: "SINGAPORE EXPRESS" + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: + id: "345c05ab-4217-4ffe-a1a4-6c03b9ad2b36" + type: "vessel" + - + id: "561dbb7e-c3ab-4e63-b09b-957878b1425f" + type: "raw_event" + attributes: + timestamp: "2020-04-07T00:00:00Z" + estimated: false + actual_on: "2020-04-07" + estimated_at: null + actual_at: null + event: "transshipment_departed" + index: 7 + original_event: "Vessel departed" + created_at: "2020-04-18T00:18:27Z" + voyage_number: "15W10" + location_name: null + location_locode: null + vessel_name: "SINGAPORE EXPRESS" + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: + id: "345c05ab-4217-4ffe-a1a4-6c03b9ad2b36" + type: "vessel" + - + id: "551711a6-62ad-4205-8da2-00e0c0cbd2db" + type: "raw_event" + attributes: + timestamp: "2020-04-12T00:00:00Z" + estimated: false + actual_on: "2020-04-12" + estimated_at: null + actual_at: null + event: "vessel_arrived" + index: 8 + original_event: "Vessel arrived" + created_at: "2020-04-18T00:18:27Z" + voyage_number: "15W10" + location_name: null + location_locode: null + vessel_name: "SINGAPORE EXPRESS" + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: + id: "345c05ab-4217-4ffe-a1a4-6c03b9ad2b36" + type: "vessel" + - + id: "f4027470-75ca-4e2a-b4f0-47654a25ac48" + type: "raw_event" + attributes: + timestamp: "2020-04-13T00:00:00Z" + estimated: false + actual_on: "2020-04-13" + estimated_at: null + actual_at: null + event: "vessel_discharged" + index: 9 + original_event: "Vessel Discharged" + created_at: "2020-04-18T00:18:27Z" + voyage_number: "15W10" + location_name: null + location_locode: null + vessel_name: "SINGAPORE EXPRESS" + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: + id: "345c05ab-4217-4ffe-a1a4-6c03b9ad2b36" + type: "vessel" + - + id: "50f11e4f-411e-48e2-8141-64226500df9c" + type: "raw_event" + attributes: + timestamp: "2020-04-14T00:00:00Z" + estimated: false + actual_on: "2020-04-14" + estimated_at: null + actual_at: null + event: "full_out" + index: 10 + original_event: "Truck Departure from" + created_at: "2020-04-18T00:18:27Z" + voyage_number: null + location_name: null + location_locode: null + vessel_name: null + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: null + - + id: "49aea23c-b8c5-4a97-b133-f7a9723fa1b4" + type: "raw_event" + attributes: + timestamp: "2020-04-15T00:00:00Z" + estimated: false + actual_on: "2020-04-15" + estimated_at: null + actual_at: null + event: "empty_in" + index: 11 + original_event: "Truck Gate in empty" + created_at: "2020-04-18T00:18:27Z" + voyage_number: null + location_name: null + location_locode: null + vessel_name: null + vessel_imo: null + timezone: null + relationships: + location: + data: null + vessel: + data: null + included: + - + id: "4b473d0e-7073-4171-8b5b-15e71e9e13cc" + type: "vessel" + attributes: + name: "MSC FAITH" + imo: null + mmsi: "636019213" + latitude: 70.22625823437389 + longitude: 45.06279126658865 + nautical_speed_knots: 100 + navigational_heading_degrees: 1 + position_timestamp: "2023-06-05T19:46:18Z" + - + id: "345c05ab-4217-4ffe-a1a4-6c03b9ad2b36" + type: "vessel" + attributes: + name: "SINGAPORE EXPRESS" + imo: null + mmsi: "477300500" + latitude: 70.22625823437389 + longitude: 45.06279126658865 + nautical_speed_knots: 100 + navigational_heading_degrees: 1 + position_timestamp: "2023-06-05T19:46:18Z" + operationId: "get-containers-id-raw_events" + description: "#### Deprecation warning\nThe `raw_events` endpoint is provided as-is.\n\n For past events we recommend consuming `transport_events`.\n\n---\nGet a list of past and future (estimated) milestones for a container as reported by the carrier. Some of the data is normalized even though the API is called raw_events. \n\nNormalized attributes: `event` and `timestamp` timestamp. Not all of the `event` values have been normalized. You can expect the the events related to container movements to be normalized but there are cases where events are not normalized. \n\nFor past historical events we recommend consuming `transport_events`. Although there are fewer events here those events go through additional vetting and normalization to avoid false positives and get you correct data." + deprecated: true diff --git a/docs/openapi/paths/containers-id-refresh.yaml b/docs/openapi/paths/containers-id-refresh.yaml new file mode 100644 index 00000000..2672ffed --- /dev/null +++ b/docs/openapi/paths/containers-id-refresh.yaml @@ -0,0 +1,76 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +patch: + summary: "Refresh container" + operationId: "patch-containers-id-refresh" + tags: + - "Containers" + description: "Schedules the container to be refreshed immediately from all relevant sources.

To be alerted of updates you should subscribe to the [relevant webhooks](/api-docs/in-depth-guides/webhooks). This endpoint is limited to 10 requests per minute.This is a paid feature. Please contact sales@terminal49.com." + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + message: + type: "string" + example: "Started refresh for Shipping line, Terminal, Rail" + examples: + Refresh response: + value: + message: "Started refresh for Shipping line, Terminal, Rail" + 403: + description: "Forbidden - This API endpoint is not enabled for your account. Please contact support@terminal49.com" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + type: "object" + properties: + status: + type: "string" + example: "403" + title: + type: "string" + example: "API access not enabled" + detail: + type: "string" + example: "This API endpoint is not enabled for your account. Please contact support@terminal49.com" + 429: + description: "Too Many Requests - You've hit the refresh limit. Please try again in a minute." + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + type: "object" + properties: + status: + type: "string" + example: "429" + title: + type: "string" + example: "Too Many Requests" + detail: + type: "string" + example: "You've hit the refresh limit. Please try again in a minute." + headers: + Retry-After: + description: "Number of seconds to wait before making another request" + schema: + type: "integer" + example: 60 diff --git a/docs/openapi/paths/containers-id-route.yaml b/docs/openapi/paths/containers-id-route.yaml new file mode 100644 index 00000000..7eef5f4c --- /dev/null +++ b/docs/openapi/paths/containers-id-route.yaml @@ -0,0 +1,57 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get container route" + tags: + - "Containers" + - "Routing (Paid)" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/route" + included: + type: "array" + items: + anyOf: + - + $ref: "#/components/schemas/port" + - + $ref: "#/components/schemas/vessel" + - + $ref: "#/components/schemas/route_location" + - + $ref: "#/components/schemas/shipment" + 403: + description: "Forbidden - Routing data feature is not enabled for this account" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + type: "object" + properties: + status: + type: "string" + example: "403" + title: + type: "string" + example: "Forbidden" + detail: + type: "string" + example: "Routing data feature is not enabled for this account" + operationId: "get-containers-id-route" + description: "Retrieves the route details from the port of lading to the port of discharge, including transshipments. This is a paid feature. Please contact sales@terminal49.com." diff --git a/docs/openapi/paths/containers-id-transport-events.yaml b/docs/openapi/paths/containers-id-transport-events.yaml new file mode 100644 index 00000000..0ee1f0a1 --- /dev/null +++ b/docs/openapi/paths/containers-id-transport-events.yaml @@ -0,0 +1,233 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get a container's transport events" + tags: + - "Containers" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + type: "array" + items: + $ref: "#/components/schemas/transport_event" + included: + type: "array" + items: + anyOf: + - + $ref: "#/components/schemas/shipment" + - + $ref: "#/components/schemas/container" + - + $ref: "#/components/schemas/port" + - + $ref: "#/components/schemas/metro_area" + - + $ref: "#/components/schemas/terminal" + - + $ref: "#/components/schemas/rail_terminal" + - + $ref: "#/components/schemas/vessel" + links: + $ref: "#/components/schemas/links" + meta: + $ref: "#/components/schemas/meta" + examples: + Example transport events: + value: + data: + - + id: "efc3f3c1-cdc2-4a7d-a176-762ddec107b8" + type: "transport_event" + attributes: + event: "container.transport.vessel_loaded" + created_at: "2021-01-05T08:41:12Z" + voyage_number: "15W10" + timestamp: null + location_locode: "CLSAI" + timezone: "America/Santiago" + relationships: + shipment: + data: + id: "06264731-503e-498e-bc76-f90b87b31562" + type: "shipment" + container: + data: + id: "eeafd337-72b5-4e5c-87cb-9ef83fa99cf4" + type: "container" + vessel: + data: + id: "345c05ab-4217-4ffe-a1a4-6c03b9ad2b36" + type: "vessel" + location: + data: + id: "0ad2cf2b-e694-4ccc-9cd2-40af0d1fa1b5" + type: "port" + terminal: + data: null + - + id: "951058bd-2c3b-4bcc-94e1-9be2526b9687" + type: "transport_event" + attributes: + event: "container.transport.vessel_departed" + created_at: "2021-01-05T08:41:11Z" + voyage_number: "15W10" + timestamp: null + location_locode: "CLSAI" + timezone: "America/Santiago" + relationships: + shipment: + data: + id: "06264731-503e-498e-bc76-f90b87b31562" + type: "shipment" + container: + data: + id: "eeafd337-72b5-4e5c-87cb-9ef83fa99cf4" + type: "container" + vessel: + data: + id: "345c05ab-4217-4ffe-a1a4-6c03b9ad2b36" + type: "vessel" + location: + data: + id: "0ad2cf2b-e694-4ccc-9cd2-40af0d1fa1b5" + type: "port" + terminal: + data: null + - + id: "69af6795-56c2-4157-9a87-afd761cc85a0" + type: "transport_event" + attributes: + event: "container.transport.full_out" + created_at: "2020-05-14T00:05:41Z" + voyage_number: null + timestamp: "2020-04-14T00:00:00Z" + location_locode: "USOAK" + timezone: "America/Los_Angeles" + relationships: + shipment: + data: + id: "06264731-503e-498e-bc76-f90b87b31562" + type: "shipment" + container: + data: + id: "eeafd337-72b5-4e5c-87cb-9ef83fa99cf4" + type: "container" + vessel: + data: null + location: + data: + id: "42d1ba3a-f4b8-431d-a6fe-49fd748a59e7" + type: "port" + terminal: + data: null + - + id: "68c3c29a-504a-4dbb-ad27-7194ef42d484" + type: "transport_event" + attributes: + event: "container.transport.vessel_discharged" + created_at: "2020-05-14T00:05:41Z" + voyage_number: "15W10" + timestamp: "2020-04-13T00:00:00Z" + location_locode: "USOAK" + timezone: "America/Los_Angeles" + relationships: + shipment: + data: + id: "06264731-503e-498e-bc76-f90b87b31562" + type: "shipment" + container: + data: + id: "eeafd337-72b5-4e5c-87cb-9ef83fa99cf4" + type: "container" + vessel: + data: + id: "345c05ab-4217-4ffe-a1a4-6c03b9ad2b36" + type: "vessel" + location: + data: + id: "42d1ba3a-f4b8-431d-a6fe-49fd748a59e7" + type: "port" + terminal: + data: + id: "3e550f0e-ac2a-48fb-b242-5be45ecf2c78" + type: "terminal" + - + id: "03349405-a9be-4f3e-abde-28f2cb3922bd" + type: "transport_event" + attributes: + event: "container.transport.vessel_arrived" + created_at: "2020-05-14T00:05:41Z" + voyage_number: "15W10" + timestamp: "2020-04-13T01:24:00Z" + location_locode: "USOAK" + timezone: "America/Los_Angeles" + relationships: + shipment: + data: + id: "06264731-503e-498e-bc76-f90b87b31562" + type: "shipment" + container: + data: + id: "eeafd337-72b5-4e5c-87cb-9ef83fa99cf4" + type: "container" + vessel: + data: + id: "345c05ab-4217-4ffe-a1a4-6c03b9ad2b36" + type: "vessel" + location: + data: + id: "42d1ba3a-f4b8-431d-a6fe-49fd748a59e7" + type: "port" + terminal: + data: + id: "3e550f0e-ac2a-48fb-b242-5be45ecf2c78" + type: "terminal" + - + id: "ba9f85b4-658d-4f23-9308-635964df8037" + type: "transport_event" + attributes: + event: "container.transport.empty_in" + created_at: "2020-05-14T00:05:42Z" + voyage_number: null + timestamp: "2020-04-15T00:00:00Z" + location_locode: null + timezone: null + relationships: + shipment: + data: + id: "06264731-503e-498e-bc76-f90b87b31562" + type: "shipment" + container: + data: + id: "eeafd337-72b5-4e5c-87cb-9ef83fa99cf4" + type: "container" + vessel: + data: null + location: + data: null + terminal: + data: null + links: + self: "https://api.terminal49.com/v2/containers/eeafd337-72b5-4e5c-87cb-9ef83fa99cf4/transport_events" + current: "https://api.terminal49.com/v2/containers/eeafd337-72b5-4e5c-87cb-9ef83fa99cf4/transport_events?page[number]=1" + operationId: "get-containers-id-transport_events" + description: "Get a list of past transport events (canonical) for a container. All data has been normalized across all carriers. These are a verified subset of the raw events may also be sent as Webhook Notifications to a webhook endpoint.\n\nThis does not provide any estimated future events. See `container/:id/raw_events` endpoint for that. " + parameters: + - + schema: + type: "string" + in: "query" + name: "include" + description: "Comma delimited list of relations to include" diff --git a/docs/openapi/paths/containers-id.yaml b/docs/openapi/paths/containers-id.yaml new file mode 100644 index 00000000..da788216 --- /dev/null +++ b/docs/openapi/paths/containers-id.yaml @@ -0,0 +1,120 @@ +parameters: + - schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get a container" + tags: + - "Containers" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/container" + included: + type: "array" + items: + anyOf: + - $ref: "#/components/schemas/shipment" + - $ref: "#/components/schemas/terminal" + - $ref: "#/components/schemas/transport_event" + examples: + Example Container: + value: + data: + id: "55a700e4-7005-45a9-92fd-1ff38641dbd9" + type: "container" + attributes: + number: "CAIU7432986" + seal_number: null + created_at: "2024-06-26T15:05:21Z" + ref_numbers: [] + pod_arrived_at: null + pod_discharged_at: "2024-06-22T04:00:00Z" + final_destination_full_out_at: null + holds_at_pod_terminal: [] + available_for_pickup: true + equipment_type: "dry" + equipment_length: 40 + equipment_height: "high_cube" + weight_in_lbs: null + pod_full_out_at: null + empty_terminated_at: null + terminal_checked_at: "2024-06-26T17:51:12Z" + fees_at_pod_terminal: [] + pickup_lfd: "2024-07-07T04:00:00Z" + pickup_appointment_at: null + pod_full_out_chassis_number: null + location_at_pod_terminal: "Yard - Y0709A" + pod_last_tracking_request_at: "2024-06-26T17:51:12Z" + shipment_last_tracking_request_at: "2024-06-26T15:05:20Z" + availability_known: true + pod_timezone: "America/New_York" + final_destination_timezone: "US/Eastern" + empty_terminated_timezone: "US/Eastern" + pod_rail_carrier_scac: "CSXT" + ind_rail_carrier_scac: "CSXT" + pod_rail_loaded_at: null + pod_rail_departed_at: null + ind_eta_at: null + ind_ata_at: null + ind_rail_unloaded_at: null + ind_facility_lfd_on: null + import_deadlines: + pickup_lfd_terminal: "2024-07-07T04:00:00Z" + pickup_lfd_rail: null + pickup_lfd_line: "2024-07-07T04:00:00Z" + relationships: + shipment: + data: + id: "02b1bd6f-407c-45bb-8645-06e7ee34e7e3" + type: "shipment" + pickup_facility: + data: null + pod_terminal: + data: + id: "b859f5c3-8515-41da-bf20-39c0a5ada887" + type: "terminal" + transport_events: + data: + - id: "45b542cb-332b-4684-b915-42e3a0759823" + type: "transport_event" + - id: "174ed528-a1a9-4002-aef0-f2c9369199da" + type: "transport_event" + - id: "7a2f30a6-a756-4c14-9477-fbfc1c7fe2f8" + type: "transport_event" + - id: "e7365004-175a-46e8-96cd-dbed0f3daf21" + type: "transport_event" + - id: "7c567bf3-7f01-4a3d-a176-eaa1f7165585" + type: "transport_event" + raw_events: + data: + - id: "2956f71c-bfb9-4e49-b9e2-1b4d53c74cac" + type: "raw_event" + - id: "391e0eda-65b5-4fc3-a53d-25ecd9570259" + type: "raw_event" + - id: "74810c04-6c8a-4194-8cff-52936584a965" + type: "raw_event" + - id: "4b1500e2-b23b-4896-87bd-c38b1d16f385" + type: "raw_event" + - id: "8b9a7d88-720a-4304-8c1e-a3336e39f481" + type: "raw_event" + - id: "bf1f59c5-5dd8-4013-87f9-d7056bc87114" + type: "raw_event" + links: + self: "https://api.terminal49.com/v2/containers/55a700e4-7005-45a9-92fd-1ff38641dbd9" + operationId: "get-containers-id" + description: "Retrieves the details of a container." + parameters: + - schema: + type: "string" + in: "query" + name: "include" + description: "Comma delimited list of relations to include" diff --git a/docs/openapi/paths/containers.yaml b/docs/openapi/paths/containers.yaml new file mode 100644 index 00000000..4418b7c4 --- /dev/null +++ b/docs/openapi/paths/containers.yaml @@ -0,0 +1,747 @@ +get: + summary: "List containers" + tags: + - "Containers" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + type: "array" + items: + $ref: "#/components/schemas/container" + included: + type: "array" + items: + $ref: "#/components/schemas/shipment" + links: + $ref: "#/components/schemas/links" + meta: + $ref: "#/components/schemas/meta" + examples: + Example List of containers: + value: + data: + - + id: "be0b247b-c144-4163-8919-cf9178930736" + type: "container" + attributes: + number: "TCLU6718159" + seal_number: null + created_at: "2024-06-26T15:05:18Z" + ref_numbers: [] + pod_arrived_at: "2024-06-21T14:12:00Z" + pod_discharged_at: "2024-06-23T00:19:00Z" + final_destination_full_out_at: null + holds_at_pod_terminal: [] + available_for_pickup: false + equipment_type: "dry" + equipment_length: 40 + equipment_height: "high_cube" + weight_in_lbs: 53502 + pod_full_out_at: "2024-06-26T16:15:00Z" + empty_terminated_at: null + terminal_checked_at: "2024-06-26T18:47:56Z" + fees_at_pod_terminal: [] + pickup_lfd: null + pickup_appointment_at: null + pod_full_out_chassis_number: null + location_at_pod_terminal: "Community" + pod_last_tracking_request_at: "2024-06-26T18:47:56Z" + shipment_last_tracking_request_at: "2024-06-26T15:05:18Z" + availability_known: true + pod_timezone: "America/New_York" + final_destination_timezone: null + empty_terminated_timezone: "America/New_York" + pod_rail_carrier_scac: null + ind_rail_carrier_scac: null + pod_rail_loaded_at: null + pod_rail_departed_at: null + ind_eta_at: null + ind_ata_at: null + ind_rail_unloaded_at: null + ind_facility_lfd_on: null + import_deadlines: + pickup_lfd_terminal: null + pickup_lfd_rail: null + pickup_lfd_line: null + relationships: + shipment: + data: + id: "cc8f8e43-d6a9-4edb-a8c0-d0ab03c113d3" + type: "shipment" + pickup_facility: + data: null + pod_terminal: + data: + id: "a243bdf8-0da3-4056-a6a7-05fe8ab43999" + type: "terminal" + transport_events: + data: + - + id: "fb53b35c-6a0c-4e22-b196-b623e8ba7db5" + type: "transport_event" + - + id: "179897a3-04f5-450b-86e1-db57970c0248" + type: "transport_event" + - + id: "a119b8e6-10c5-4967-8364-885f7dbf8e50" + type: "transport_event" + - + id: "3372d58c-df89-46a2-b064-b308a9dc7040" + type: "transport_event" + - + id: "800a3e59-8231-4e42-a80f-73c97cfb1be9" + type: "transport_event" + - + id: "d466676b-0073-4b0c-89aa-d42486e9ed4f" + type: "transport_event" + - + id: "85665836-5915-4cb9-ab78-b8487598cd0d" + type: "transport_event" + - + id: "94cca22a-520a-4d19-a551-0554aceb3794" + type: "transport_event" + - + id: "032e812f-d5e4-48af-8d79-2c2b41a07032" + type: "transport_event" + - + id: "1b7dd74d-eff6-4e06-9a15-234295ce6fd5" + type: "transport_event" + - + id: "b9f07b7e-1653-4209-b375-4588653d5275" + type: "transport_event" + - + id: "a35f3c1b-ad35-4347-b0f2-9e08f0d4ca64" + type: "transport_event" + raw_events: + data: + - + id: "e26fc659-f79d-4cc0-8efc-5ce5e8444891" + type: "raw_event" + - + id: "8820af5e-cb77-41c5-a897-906f2c56eb1e" + type: "raw_event" + - + id: "a628a2c2-dab6-4b04-b3ae-d7ec99098a89" + type: "raw_event" + - + id: "6ca157f9-3b58-4db5-8155-fc7b41a62611" + type: "raw_event" + - + id: "6fb06390-4b0a-4c1f-9703-ec89927df7f3" + type: "raw_event" + - + id: "26fe408d-e091-412a-a2fb-23a4d778b6b9" + type: "raw_event" + - + id: "16490dd8-d79f-468a-91b1-dbb30bb45c85" + type: "raw_event" + - + id: "ff3db923-a644-4706-8057-1bd53c95fbd5" + type: "raw_event" + - + id: "3fd27ffd-9618-477f-b1a9-cbc179defefe" + type: "raw_event" + - + id: "f92efdd3-f79c-4a1c-97ce-9a47588b525c" + type: "raw_event" + - + id: "3b2a88ef-df0b-4e61-99c1-d4a175910111" + type: "raw_event" + - + id: "9b367e33-9e43-488f-8217-081698adf40d" + type: "raw_event" + - + id: "ee0915df-e2f8-46b0-acf1-816871ca142d" + type: "raw_event" + - + id: "a9e52f3d-2fa9-467c-8deb-09e90dac2f0b" + type: "container" + attributes: + number: "TCLU2224327" + seal_number: null + created_at: "2024-06-26T15:05:34Z" + ref_numbers: [] + pod_arrived_at: "2024-06-21T14:12:00Z" + pod_discharged_at: "2024-06-23T17:21:00Z" + final_destination_full_out_at: null + holds_at_pod_terminal: [] + available_for_pickup: false + equipment_type: "dry" + equipment_length: 20 + equipment_height: "standard" + weight_in_lbs: 44225 + pod_full_out_at: null + empty_terminated_at: null + terminal_checked_at: "2024-06-26T18:47:56Z" + fees_at_pod_terminal: [] + pickup_lfd: null + pickup_appointment_at: null + pod_full_out_chassis_number: null + location_at_pod_terminal: "Yard" + pod_last_tracking_request_at: "2024-06-26T18:47:56Z" + shipment_last_tracking_request_at: "2024-06-26T15:05:34Z" + availability_known: true + pod_timezone: "America/New_York" + final_destination_timezone: "America/Chicago" + empty_terminated_timezone: "America/Chicago" + pod_rail_carrier_scac: "CSXT" + ind_rail_carrier_scac: "CSXT" + pod_rail_loaded_at: null + pod_rail_departed_at: null + ind_eta_at: "2024-07-02T14:20:00Z" + ind_ata_at: null + ind_rail_unloaded_at: null + ind_facility_lfd_on: null + import_deadlines: + pickup_lfd_terminal: null + pickup_lfd_rail: null + pickup_lfd_line: null + relationships: + shipment: + data: + id: "99f84294-3bda-4765-81b3-31765e6d2a24" + type: "shipment" + pickup_facility: + data: + id: "e6fa9a01-511b-4f43-a7e1-d628315b84ef" + type: "terminal" + pod_terminal: + data: + id: "a243bdf8-0da3-4056-a6a7-05fe8ab43999" + type: "terminal" + transport_events: + data: + - + id: "4a5a04b7-8974-4c46-beaa-bf55004422c9" + type: "transport_event" + - + id: "11c90391-aa9c-408b-b20e-daed8dd09586" + type: "transport_event" + - + id: "d7f23c71-7084-4fbb-9fef-740f624182aa" + type: "transport_event" + - + id: "c4c3537d-5c47-4623-afe0-edc0dd6f75c5" + type: "transport_event" + - + id: "e4002e13-0a74-4bd4-9147-787bb21e2fda" + type: "transport_event" + - + id: "57b5568f-d8a6-443d-b1c8-be5cd080e5ed" + type: "transport_event" + - + id: "0771cff1-79bf-4eaa-9d9d-790cb433ce44" + type: "transport_event" + - + id: "031021b9-7b39-41f7-bd45-26cc8cb799d2" + type: "transport_event" + - + id: "9956448d-34d3-4c23-bcfd-19807eb4034f" + type: "transport_event" + - + id: "f1caf6ea-3e92-4b68-bcea-556828301062" + type: "transport_event" + - + id: "2dd558a8-fa07-454c-acf3-b53d072264af" + type: "transport_event" + - + id: "83118511-d9ed-4b16-b323-5e685d9b266e" + type: "transport_event" + raw_events: + data: + - + id: "f256289f-219d-45f6-b727-56fb9c6bc433" + type: "raw_event" + - + id: "c5581f60-ffb2-4ef0-a855-b70acd3b294f" + type: "raw_event" + - + id: "3c6716f9-814c-4459-9bbb-753f010446b2" + type: "raw_event" + - + id: "62c7b849-c99b-4e37-9861-105141cc0a4c" + type: "raw_event" + - + id: "7db37d43-426a-4f84-82af-2957621ce466" + type: "raw_event" + - + id: "d4342119-db56-46fc-8299-f573f5b52e73" + type: "raw_event" + - + id: "ba159c3b-590c-43ff-bc04-b0354fd326f4" + type: "raw_event" + - + id: "ec1be31a-17f1-4f6f-85ab-c74cb0dbe6cb" + type: "raw_event" + - + id: "d12c4656-0d1f-4f30-a0fa-a2ee887741a8" + type: "raw_event" + - + id: "146d56e2-b41d-4469-8202-0c7d7315e794" + type: "raw_event" + - + id: "6b86b4d1-f85f-4c26-9fbc-3132a62f0fbc" + type: "raw_event" + - + id: "bb2c9105-e421-4372-9265-e61b3fa54851" + type: "raw_event" + - + id: "3a09c49f-c12e-49e9-b2de-b8dca2b3d608" + type: "raw_event" + - + id: "54d91ebc-8f57-4764-b7c6-a3f4dc2459be" + type: "raw_event" + - + id: "9e788c46-9431-41eb-baee-c8b14fb4f590" + type: "raw_event" + - + id: "d3051802-8b6f-497d-ad16-fb35547c8662" + type: "raw_event" + - + id: "af3090e7-c6d3-4d8e-88aa-9cd757102f9b" + type: "raw_event" + - + id: "95daf204-d95d-4a89-bedf-358bedb8b3b8" + type: "raw_event" + - + id: "8d1faeeb-3890-4fac-8659-cd13737b26f1" + type: "container" + attributes: + number: "CMAU0619052" + seal_number: null + created_at: "2024-06-26T15:02:11Z" + ref_numbers: [] + pod_arrived_at: "2024-06-22T22:10:00Z" + pod_discharged_at: "2024-06-23T20:38:00Z" + final_destination_full_out_at: null + holds_at_pod_terminal: [] + available_for_pickup: false + equipment_type: "dry" + equipment_length: 20 + equipment_height: "standard" + weight_in_lbs: null + pod_full_out_at: null + empty_terminated_at: null + terminal_checked_at: "2024-06-26T18:47:47Z" + fees_at_pod_terminal: [] + pickup_lfd: "2024-06-27T07:00:00Z" + pickup_appointment_at: null + pod_full_out_chassis_number: null + location_at_pod_terminal: "Grounded" + pod_last_tracking_request_at: "2024-06-26T18:47:47Z" + shipment_last_tracking_request_at: "2024-06-26T15:02:11Z" + availability_known: true + pod_timezone: "America/Los_Angeles" + final_destination_timezone: "Asia/Shanghai" + empty_terminated_timezone: "Asia/Shanghai" + pod_rail_carrier_scac: null + ind_rail_carrier_scac: null + pod_rail_loaded_at: null + pod_rail_departed_at: null + ind_eta_at: null + ind_ata_at: null + ind_rail_unloaded_at: null + ind_facility_lfd_on: null + import_deadlines: + pickup_lfd_terminal: "2024-06-27T07:00:00Z" + pickup_lfd_rail: null + pickup_lfd_line: "2024-06-27T07:00:00Z" + relationships: + shipment: + data: + id: "f706cbea-3264-473d-8d26-af257f3bc1be" + type: "shipment" + pickup_facility: + data: null + pod_terminal: + data: + id: "eaa2580c-5f5b-4198-85e4-821145d62098" + type: "terminal" + transport_events: + data: + - + id: "1bb3a814-edab-403f-8ef2-a6d0966df423" + type: "transport_event" + - + id: "19f197bf-444c-40ee-8478-6f02abe715a9" + type: "transport_event" + - + id: "4c9223bb-0218-4175-8a2e-7bb99c40642a" + type: "transport_event" + - + id: "432da964-6e99-45e9-b4b1-00b7be858591" + type: "transport_event" + - + id: "b462b4d1-1e02-4037-af7f-6c8fa981f268" + type: "transport_event" + - + id: "e3ca4a25-692f-474a-aa71-48fb9840aef1" + type: "transport_event" + - + id: "014b9d1f-f033-4a3e-89f9-c57569883436" + type: "transport_event" + - + id: "2cec71c9-721a-4060-993f-0ffcf01151cd" + type: "transport_event" + - + id: "24941515-1b5e-4fca-87eb-092e56ed156a" + type: "transport_event" + - + id: "0fd06bc0-1fda-467c-ab67-90a30c6d62ab" + type: "transport_event" + - + id: "0bce915e-b9ba-42a0-a484-136266fe8b9a" + type: "transport_event" + - + id: "582006aa-6547-4712-b964-5637aad839b4" + type: "transport_event" + - + id: "11458420-b354-4288-a275-7572d3c60e33" + type: "transport_event" + - + id: "5c900fa1-11bf-4f96-89e7-b12f6a98edc4" + type: "transport_event" + raw_events: + data: + - + id: "999d7de7-eaed-4313-85df-772a6d24a85e" + type: "raw_event" + - + id: "ac9c2780-240d-443f-87f4-95465fa5447b" + type: "raw_event" + - + id: "a0ee3724-91c3-4b78-af32-2f16e8c2d600" + type: "raw_event" + - + id: "79725b1f-19f7-4fc3-8c69-586e237c1719" + type: "raw_event" + - + id: "4f07f257-ea4f-4e61-94ed-a01598899020" + type: "raw_event" + - + id: "41612acb-b3d4-495f-9138-f34105851d21" + type: "raw_event" + - + id: "84ffdd37-ec39-404a-9b68-d72d8fb96d48" + type: "raw_event" + - + id: "7e9d8a6d-5339-4266-a6fb-22c28f41149f" + type: "raw_event" + - + id: "2359b787-b218-42dc-b9a5-84b608aee671" + type: "raw_event" + - + id: "ea33303e-0e48-4442-9886-0dfe38b726b5" + type: "raw_event" + - + id: "3689d013-8525-418b-92ed-95ec684130b4" + type: "raw_event" + - + id: "a64f7f7e-a6fa-4913-aba0-b28ba189d68b" + type: "raw_event" + - + id: "c264a859-4fcb-4fab-95c0-29be99ec54a4" + type: "raw_event" + - + id: "2aabf25c-9a3e-44bc-b6c8-ed7b1e3c3630" + type: "raw_event" + - + id: "6ae70038-02d7-425a-99c1-8761c69a9033" + type: "raw_event" + - + id: "c30021d8-93e9-4bfd-a978-e9e24de148c8" + type: "raw_event" + - + id: "853f1794-9b94-4118-9970-4e28e549440d" + type: "container" + attributes: + number: "TGHU6578122" + seal_number: null + created_at: "2024-06-26T15:08:30Z" + ref_numbers: [] + pod_arrived_at: "2024-06-23T21:58:00Z" + pod_discharged_at: "2024-06-24T02:28:00Z" + final_destination_full_out_at: null + holds_at_pod_terminal: [] + available_for_pickup: false + equipment_type: "dry" + equipment_length: 40 + equipment_height: "high_cube" + weight_in_lbs: 8898 + pod_full_out_at: null + empty_terminated_at: null + terminal_checked_at: "2024-06-26T18:47:47Z" + fees_at_pod_terminal: [] + pickup_lfd: "2024-06-27T07:00:00Z" + pickup_appointment_at: null + pod_full_out_chassis_number: null + location_at_pod_terminal: "Wheeled" + pod_last_tracking_request_at: "2024-06-26T18:47:46Z" + shipment_last_tracking_request_at: "2024-06-26T15:08:30Z" + availability_known: true + pod_timezone: "America/Los_Angeles" + final_destination_timezone: "America/New_York" + empty_terminated_timezone: "America/New_York" + pod_rail_carrier_scac: "BNSF" + ind_rail_carrier_scac: "CSXT" + pod_rail_loaded_at: null + pod_rail_departed_at: null + ind_eta_at: "2024-07-07T08:00:00Z" + ind_ata_at: null + ind_rail_unloaded_at: null + ind_facility_lfd_on: null + import_deadlines: + pickup_lfd_terminal: "2024-06-27T07:00:00Z" + pickup_lfd_rail: null + pickup_lfd_line: "2024-06-27T07:00:00Z" + relationships: + shipment: + data: + id: "f3cfe624-706e-4a0c-89d5-140980d986fd" + type: "shipment" + pickup_facility: + data: + id: "7e4557b9-cc5a-4298-aaec-1a32e90202c9" + type: "terminal" + pod_terminal: + data: + id: "eaa2580c-5f5b-4198-85e4-821145d62098" + type: "terminal" + transport_events: + data: + - + id: "94f687d0-dc6b-4342-8710-cb98bc98716e" + type: "transport_event" + - + id: "a8d0a842-95fe-4c12-a80e-bd12e87a1421" + type: "transport_event" + - + id: "c1f1a186-3737-41ca-ae2b-f79a17519991" + type: "transport_event" + - + id: "7fcc5496-d402-4b1c-a6c5-8514e6433070" + type: "transport_event" + - + id: "ab7cd84a-edc5-476d-a1c4-190011582314" + type: "transport_event" + - + id: "68d91384-3eb3-4d21-ac7a-c1f688f649c2" + type: "transport_event" + - + id: "5a702f46-4356-4570-bd2e-2b8adab5ba3e" + type: "transport_event" + raw_events: + data: + - + id: "a4b7e4b6-5227-4f34-9e91-9e75223798ae" + type: "raw_event" + - + id: "4f3e3c7b-d1e6-4fde-b95e-ce9a8835445c" + type: "raw_event" + - + id: "39e8570d-1a8f-4e10-8d2e-ac930abc5971" + type: "raw_event" + - + id: "b8015a72-9741-4fbf-8adc-d30b87de6aa3" + type: "raw_event" + - + id: "61512b1a-a94e-4cac-8bab-763588dbbddf" + type: "raw_event" + - + id: "c0bf87f2-37c3-4895-90b0-9f97ac4b5c13" + type: "raw_event" + - + id: "3856c7e7-f832-42ca-873b-096952599e29" + type: "raw_event" + - + id: "485be998-0861-4d10-8a60-f66d27eb46a7" + type: "raw_event" + - + id: "29cde194-bbd9-40c2-adba-5dcb1514f5fc" + type: "raw_event" + - + id: "681d713d-bcd6-4303-b082-b9f893e7d1d9" + type: "container" + attributes: + number: "CSNU8439129" + seal_number: null + created_at: "2024-06-26T15:02:32Z" + ref_numbers: [] + pod_arrived_at: "2024-06-23T21:58:00Z" + pod_discharged_at: "2024-06-26T04:30:00Z" + final_destination_full_out_at: null + holds_at_pod_terminal: [] + available_for_pickup: true + equipment_type: "dry" + equipment_length: 40 + equipment_height: "high_cube" + weight_in_lbs: 40488 + pod_full_out_at: null + empty_terminated_at: null + terminal_checked_at: "2024-06-26T18:47:47Z" + fees_at_pod_terminal: [] + pickup_lfd: "2024-07-01T07:00:00Z" + pickup_appointment_at: "2024-06-28T15:00:00Z" + pod_full_out_chassis_number: null + location_at_pod_terminal: "Grounded" + pod_last_tracking_request_at: "2024-06-26T18:47:46Z" + shipment_last_tracking_request_at: "2024-06-26T15:02:32Z" + availability_known: true + pod_timezone: "America/Los_Angeles" + final_destination_timezone: "America/Chicago" + empty_terminated_timezone: "America/Chicago" + pod_rail_carrier_scac: "BNSF" + ind_rail_carrier_scac: "BNSF" + pod_rail_loaded_at: null + pod_rail_departed_at: null + ind_eta_at: "2024-07-04T22:00:00Z" + ind_ata_at: null + ind_rail_unloaded_at: null + ind_facility_lfd_on: null + import_deadlines: + pickup_lfd_terminal: "2024-07-01T07:00:00Z" + pickup_lfd_rail: null + pickup_lfd_line: "2024-07-01T07:00:00Z" + relationships: + shipment: + data: + id: "edd626cf-b0b5-4679-8a6c-80c8e9fe7698" + type: "shipment" + pickup_facility: + data: + id: "572b372f-21c7-4403-8fb0-948377c74642" + type: "terminal" + pod_terminal: + data: + id: "eaa2580c-5f5b-4198-85e4-821145d62098" + type: "terminal" + transport_events: + data: + - + id: "9d19125a-2944-442c-8132-bf0d83670e5c" + type: "transport_event" + - + id: "b2ff0b47-3151-41e2-8c46-7f95cdbe4167" + type: "transport_event" + - + id: "e52feaa3-7a50-4570-a2ea-bf06f955ce23" + type: "transport_event" + - + id: "c56d95e5-774f-432c-b6f4-c53967f07292" + type: "transport_event" + - + id: "9b1d8b48-e870-46fa-bc46-10f9b30c64d4" + type: "transport_event" + - + id: "3e1d3571-6b24-4ad2-a071-4e70d59af521" + type: "transport_event" + - + id: "60f5eefe-13d5-4f85-9b65-d13b4c67115a" + type: "transport_event" + raw_events: + data: + - + id: "2af51127-0971-4741-9b97-ea1b338e3a7c" + type: "raw_event" + - + id: "4472ded6-eb69-4f21-8666-9a4f2342dfeb" + type: "raw_event" + - + id: "ce238754-d5fd-4dc8-9f55-2ac6efdfbb5e" + type: "raw_event" + - + id: "5cd3b5ef-843f-4f60-87ce-5beaeea86f7b" + type: "raw_event" + - + id: "55291737-98b6-403c-9424-1605e6e01007" + type: "raw_event" + - + id: "cdc55ea8-a075-45b3-9570-ade6fb2f0d94" + type: "raw_event" + - + id: "c0ab5406-4e10-4fdc-85a4-e17ce8d956f5" + type: "raw_event" + - + id: "965f0172-1c20-4342-a44a-7be0e594ff76" + type: "raw_event" + - + id: "db178011-c795-42a4-9537-b4e77ffb4f98" + type: "raw_event" + meta: + size: 5 + total: 59229 + links: + self: "https://api.terminal49.com/v2/containers?page%5Bsize%5D=5" + current: "https://api.terminal49.com/v2/containers?page%5Bnumber%5D=1&page%5Bsize%5D=5" + next: "https://api.terminal49.com/v2/containers?page%5Bnumber%5D=2&page%5Bsize%5D=5" + last: "https://api.terminal49.com/v2/containers?page%5Bnumber%5D=11846&page%5Bsize%5D=5" + operationId: "get-containers" + description: "Returns a list of container. The containers are returned sorted by creation date, with the most recently refreshed containers appearing first.\n\nThis API will return all containers associated with the account." + parameters: + - + schema: + type: "integer" + default: 1 + in: "query" + name: "page%5Bnumber%5D" + - + schema: + type: "integer" + default: 30 + in: "query" + name: "page%5Bsize%5D" + description: "" + - + schema: + type: "string" + in: "query" + name: "include" + description: "Comma delimited list of relations to include" + - + schema: + type: "integer" + in: "query" + name: "terminal_checked_before" + description: "Number of seconds in which containers were refreshed" +patch: + summary: "Edit a container" + operationId: "patch-containers-id" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/container" + description: "Update a container" + tags: + - "Containers" + requestBody: + content: + application/json: + schema: + type: "object" + properties: + data: + type: "object" + required: + - "attributes" + - "type" + properties: + attributes: + type: "object" + properties: + ref_numbers: + type: "array" + items: + type: "string" + example: "REF-12345" diff --git a/docs/openapi/paths/metro-areas-id.yaml b/docs/openapi/paths/metro-areas-id.yaml new file mode 100644 index 00000000..68b2ab1a --- /dev/null +++ b/docs/openapi/paths/metro-areas-id.yaml @@ -0,0 +1,23 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get a metro area using the un/locode or the id" + tags: + - "Metro Areas" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/metro_area" + operationId: "get-metro-area-id" + description: "Return the details of a single metro area." diff --git a/docs/openapi/paths/parties-id.yaml b/docs/openapi/paths/parties-id.yaml new file mode 100644 index 00000000..115ee335 --- /dev/null +++ b/docs/openapi/paths/parties-id.yaml @@ -0,0 +1,86 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/party" + links: + $ref: "#/components/schemas/link-self" + operationId: "get-parties-id" + description: "Returns a party by it's given identifier" + tags: + - "Parties" +patch: + description: "Updates a party" + operationId: "edit-party" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/party" + links: + $ref: "#/components/schemas/link-self" + 422: + description: "Unprocessable Entity" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + $ref: "#/components/schemas/error" + examples: + Error Examples: + value: + errors: + - + status: "422" + source: + pointer: "/data/attributes/company_name" + title: "Unprocessable Entity" + detail: "Company name can't be blank" + - + status: "422" + source: + pointer: "/data/attributes/customer" + title: "Unprocessable Entity" + detail: "'XXXX' already exists in Account" + requestBody: + content: + application/json: + schema: + type: "object" + properties: + data: + type: "object" + required: + - "attributes" + properties: + attributes: + type: "object" + properties: + company_name: + type: "string" + example: "COMPANY NAME" + description: "The name of the company" + tags: + - "Parties" diff --git a/docs/openapi/paths/parties.yaml b/docs/openapi/paths/parties.yaml new file mode 100644 index 00000000..7291f7c5 --- /dev/null +++ b/docs/openapi/paths/parties.yaml @@ -0,0 +1,108 @@ +get: + description: "Get a list of parties" + operationId: "list-parties" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + type: "array" + items: + $ref: "#/components/schemas/party" + links: + $ref: "#/components/schemas/links" + meta: + $ref: "#/components/schemas/meta" + parameters: + - + schema: + type: "integer" + default: 1 + in: "query" + name: "page[number]" + - + schema: + type: "integer" + default: 25 + in: "query" + name: "page[size]" + description: "" + tags: + - "Parties" +post: + description: "Creates a new party" + operationId: "post-party" + responses: + 201: + description: "Party Created" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/party" + links: + $ref: "#/components/schemas/link-self" + examples: + New Party: + value: + data: + id: "ba4cb904-827f-4038-8e31-1e92b3356218" + type: "party" + attributes: + company_name: "COMPANY NAME" + links: + self: "https://api.terminal49.com/v2/parties/ba4cb904-827f-4038-8e31-1e92b3356218" + headers: {} + 422: + description: "Unprocessable Entity" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + $ref: "#/components/schemas/error" + examples: + Error Examples: + value: + errors: + - + status: "422" + source: + pointer: "/data/attributes/company_name" + title: "Unprocessable Entity" + detail: "Company name can't be blank" + - + status: "422" + source: + pointer: "/data/attributes/customer" + title: "Unprocessable Entity" + detail: "'XXXX' already exists in Account" + requestBody: + content: + application/json: + schema: + type: "object" + properties: + data: + type: "object" + required: + - "attributes" + properties: + attributes: + type: "object" + properties: + company_name: + type: "string" + example: "COMPANY NAME" + description: "The name of the company" + tags: + - "Parties" diff --git a/docs/openapi/paths/ports-id.yaml b/docs/openapi/paths/ports-id.yaml new file mode 100644 index 00000000..fbc3a1f1 --- /dev/null +++ b/docs/openapi/paths/ports-id.yaml @@ -0,0 +1,23 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get a port using the locode or the id" + tags: + - "Ports" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/port" + operationId: "get-port-id" + description: "Return the details of a single port." diff --git a/docs/openapi/paths/shipments-id-resume-tracking.yaml b/docs/openapi/paths/shipments-id-resume-tracking.yaml new file mode 100644 index 00000000..12b1d0af --- /dev/null +++ b/docs/openapi/paths/shipments-id-resume-tracking.yaml @@ -0,0 +1,23 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +patch: + summary: "Resume tracking a shipment" + operationId: "patch-shipments-id-resume-tracking" + tags: + - "Shipments" + description: "Resume tracking a shipment. Keep in mind that some information is only made available by our data sources at specific times, so a stopped and resumed shipment may have some information missing." + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/shipment" diff --git a/docs/openapi/paths/shipments-id-stop-tracking.yaml b/docs/openapi/paths/shipments-id-stop-tracking.yaml new file mode 100644 index 00000000..ae89bae5 --- /dev/null +++ b/docs/openapi/paths/shipments-id-stop-tracking.yaml @@ -0,0 +1,23 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +patch: + summary: "Stop tracking a shipment" + operationId: "patch-shipments-id-stop-tracking" + tags: + - "Shipments" + description: "We'll stop tracking the shipment, which means that there will be no more updates. You can still access the shipment's previously-collected information via the API or dashboard.\n\nYou can resume tracking a shipment by calling the `resume_tracking` endpoint, but keep in mind that some information is only made available by our data sources at specific times, so a stopped and resumed shipment may have some information missing." + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/shipment" diff --git a/docs/openapi/paths/shipments-id.yaml b/docs/openapi/paths/shipments-id.yaml new file mode 100644 index 00000000..d2540cf2 --- /dev/null +++ b/docs/openapi/paths/shipments-id.yaml @@ -0,0 +1,397 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true + description: "Shipment Id" +get: + summary: "Get a shipment" + tags: + - "Shipments" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/shipment" + included: + type: "array" + items: + anyOf: + - + $ref: "#/components/schemas/container" + - + $ref: "#/components/schemas/port" + - + $ref: "#/components/schemas/terminal" + examples: + En-route to NY with inland move: + value: + data: + id: "02b1bd6f-407c-45bb-8645-06e7ee34e7e3" + type: "shipment" + attributes: + created_at: "2024-06-26T15:05:20Z" + ref_numbers: [] + tags: [] + bill_of_lading_number: "MEDUF5399896" + normalized_number: "MEDUF5399896" + shipping_line_scac: "MSCU" + shipping_line_name: "Mediterranean Shipping Company" + shipping_line_short_name: "MSC" + customer_name: "Sodor Steamworks" + port_of_lading_locode: "FRLEH" + port_of_lading_name: "Le Havre" + port_of_discharge_locode: "USNYC" + port_of_discharge_name: "New York / New Jersey" + pod_vessel_name: "MSC ANISHA R." + pod_vessel_imo: "9227297" + pod_voyage_number: "421A" + destination_locode: "USIND" + destination_name: "Indianapolis" + destination_timezone: "US/Eastern" + destination_ata_at: null + destination_eta_at: null + pol_etd_at: null + pol_atd_at: "2024-06-11T22:00:00Z" + pol_timezone: "Europe/Paris" + pod_eta_at: null + pod_original_eta_at: null + pod_ata_at: null + pod_timezone: "America/New_York" + line_tracking_last_attempted_at: "2024-06-26T15:05:20Z" + line_tracking_last_succeeded_at: "2024-06-26T15:05:20Z" + line_tracking_stopped_at: null + line_tracking_stopped_reason: null + links: + self: "https://api.terminal49.com/v2/shipments/02b1bd6f-407c-45bb-8645-06e7ee34e7e3" + relationships: + port_of_lading: + data: + id: "fe7fc831-8a81-4079-8938-b90015912e8b" + type: "port" + port_of_discharge: + data: + id: "f7cb530a-9e60-412c-a5bc-205a2f34ba54" + type: "port" + pod_terminal: + data: + id: "b859f5c3-8515-41da-bf20-39c0a5ada887" + type: "terminal" + destination: + data: + id: "e1e492f6-c8ba-45a9-ad1a-67a7e74547ce" + type: "port" + destination_terminal: + data: null + line_tracking_stopped_by_user: + data: null + containers: + data: + - + id: "55a700e4-7005-45a9-92fd-1ff38641dbd9" + type: "container" + links: + self: "https://api.terminal49.com/v2/shipments/02b1bd6f-407c-45bb-8645-06e7ee34e7e3?include=containers" + included: + - + id: "55a700e4-7005-45a9-92fd-1ff38641dbd9" + type: "container" + attributes: + number: "CAIU7432986" + seal_number: null + created_at: "2024-06-26T15:05:21Z" + ref_numbers: [] + pod_arrived_at: null + pod_discharged_at: "2024-06-22T04:00:00Z" + final_destination_full_out_at: null + holds_at_pod_terminal: [] + available_for_pickup: true + equipment_type: "dry" + equipment_length: 40 + equipment_height: "high_cube" + weight_in_lbs: null + pod_full_out_at: null + empty_terminated_at: null + terminal_checked_at: "2024-06-26T17:51:12Z" + fees_at_pod_terminal: [] + pickup_lfd: "2024-07-07T04:00:00Z" + pickup_appointment_at: null + pod_full_out_chassis_number: null + location_at_pod_terminal: "Yard - Y0709A" + pod_last_tracking_request_at: "2024-06-26T17:51:12Z" + shipment_last_tracking_request_at: "2024-06-26T15:05:20Z" + availability_known: true + pod_timezone: "America/New_York" + final_destination_timezone: "US/Eastern" + empty_terminated_timezone: "US/Eastern" + pod_rail_carrier_scac: "CSXT" + ind_rail_carrier_scac: "CSXT" + pod_rail_loaded_at: null + pod_rail_departed_at: null + ind_eta_at: null + ind_ata_at: null + ind_rail_unloaded_at: null + ind_facility_lfd_on: null + import_deadlines: + pickup_lfd_terminal: "2024-07-07T04:00:00Z" + pickup_lfd_rail: null + pickup_lfd_line: "2024-07-07T04:00:00Z" + relationships: + shipment: + data: + id: "02b1bd6f-407c-45bb-8645-06e7ee34e7e3" + type: "shipment" + pickup_facility: + data: null + pod_terminal: + data: + id: "b859f5c3-8515-41da-bf20-39c0a5ada887" + type: "terminal" + transport_events: + data: + - + id: "45b542cb-332b-4684-b915-42e3a0759823" + type: "transport_event" + - + id: "174ed528-a1a9-4002-aef0-f2c9369199da" + type: "transport_event" + - + id: "7a2f30a6-a756-4c14-9477-fbfc1c7fe2f8" + type: "transport_event" + - + id: "e7365004-175a-46e8-96cd-dbed0f3daf21" + type: "transport_event" + - + id: "7c567bf3-7f01-4a3d-a176-eaa1f7165585" + type: "transport_event" + raw_events: + data: + - + id: "2956f71c-bfb9-4e49-b9e2-1b4d53c74cac" + type: "raw_event" + - + id: "391e0eda-65b5-4fc3-a53d-25ecd9570259" + type: "raw_event" + - + id: "74810c04-6c8a-4194-8cff-52936584a965" + type: "raw_event" + - + id: "4b1500e2-b23b-4896-87bd-c38b1d16f385" + type: "raw_event" + - + id: "8b9a7d88-720a-4304-8c1e-a3336e39f481" + type: "raw_event" + - + id: "bf1f59c5-5dd8-4013-87f9-d7056bc87114" + type: "raw_event" + 404: + description: "Not Found" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + $ref: "#/components/schemas/error" + examples: + En-route to NY with inland move: + value: + data: + id: "512ae32c-a604-44f8-9c15-2ca9cd3d2ae8" + type: "shipment" + attributes: + bill_of_lading_number: "6140575020" + ref_numbers: + - "my-ref-49" + - "PO#18412" + created_at: "2020-02-20T13:37:12Z" + tags: [] + port_of_lading_locode: "INVTZ" + port_of_lading_name: "Visakhapatnam, IN" + port_of_discharge_locode: "USNYC" + port_of_discharge_name: "New York / New Jersey, NY" + destination_locode: "USDET" + destination_name: "Detroit, MI" + shipping_line_scac: "HLCU" + pod_vessel_name: "CMA CGM ALMAVIVA" + pod_voyage_number: "0108" + pol_etd_at: null + pol_atd_at: "2020-02-15T21:53Z" + pol_timezone: "Asia/Calcutta" + pod_eta_at: "2020-03-18T08:00Z" + pod_ata_at: null + pod_timezone: "America/New_York" + destination_eta_at: "2020-03-26T17:00Z" + destination_ata_at: null + destination_timezone: "America/Detroit" + relationships: + containers: + data: + - + id: "c99a81c0-ff69-4bdf-aa5f-8e33a787f5fa" + type: "container" + port_of_lading: + data: + id: "bde5465a-1160-4fde-a026-74df9c362f65" + type: "port" + port_of_discharge: + data: + id: "f7cb530a-9e60-412c-a5bc-205a2f34ba54" + type: "port" + destination: + data: + id: "c9ae2b6b-5088-4e07-ba09-2872121e4fa2" + type: "metro_area" + customer: + data: + id: "ff76b51a-371e-45ec-86d1-9d03ccae566a" + type: "account" + included: + - + id: "c99a81c0-ff69-4bdf-aa5f-8e33a787f5fa" + type: "container" + attributes: + number: "UACU4743531" + equipment_type: "reefer" + length: 40 + height: "high_cube" + weight_in_lbs: 35075 + created_at: "2020-02-20T08:19:52Z" + seal_number: null + pickup_lfd: null + availability_known: false + available_for_pickup: null + current_transportation_mode: "vessel" + pod_discharged_at: null + pod_picked_up_at: null + destination_unloaded_at: null + destination_picked_up_at: null + empty_returned_at: null + pod_timezone: "America/Los_Angeles" + final_destination_timezone: null + empty_terminated_timezone: null + relationships: + most_recent_location: + data: + id: "dd179094-a1d4-4129-842d-b952e43df4b7" + type: "port" + shipment: + data: + id: "512ae32c-a604-44f8-9c15-2ca9cd3d2ae8" + type: "shipment" + - + id: "bde5465a-1160-4fde-a026-74df9c362f65" + type: "port" + attributes: + name: "Visakhapatnam" + code: "INVTZ" + country_code: "IN" + timezone: "Asia/Calcutta" + - + id: "dd179094-a1d4-4129-842d-b952e43df4b7" + type: "port" + attributes: + name: "Damietta" + code: "EGDAM" + country_code: "EG" + time_zone: "Africa/Cairo" + - + id: "f7cb530a-9e60-412c-a5bc-205a2f34ba54" + type: "port" + attributes: + name: "New York / New Jersey" + code: "USNYC" + country_code: "US" + timezone: "America/New_York" + - + id: "c9ae2b6b-5088-4e07-ba09-2872121e4fa2" + type: "metro_area" + attributes: + name: "Detroit" + code: "USDET" + country_code: "US" + state_abbr: "MI" + timezone: "America/Detroit" + - + id: "ff76b51a-371e-45ec-86d1-9d03ccae566a" + type: "account" + attributes: + name: "A-Z Imports" + - + id: "252a5450-2893-4207-b5c4-81ce3152ce84" + type: "vessel" + attributes: + name: "CMA CGM ALMAVIVA" + imo: "9450648" + mmsi: "228339600" + latitude: 70.22625823437389 + longitude: 45.06279126658865 + nautical_speed_knots: 100 + navigational_heading_degrees: 1 + position_timestamp: "2023-06-05T19:46:18Z" + operationId: "get-shipment-id" + description: "Retrieves the details of an existing shipment. You need only supply the unique shipment `id` that was returned upon `tracking_request` creation." + parameters: + - + schema: + type: "string" + in: "query" + name: "include" + description: "Comma delimited list of relations to include" +patch: + summary: "Edit a shipment" + operationId: "patch-shipments-id" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/shipment" + description: "Update a shipment" + tags: + - "Shipments" + requestBody: + content: + application/json: + schema: + type: "object" + properties: + data: + type: "object" + required: + - "attributes" + properties: + attributes: + type: "object" + properties: + ref_numbers: + type: "array" + example: + - "REFNUMBER10" + description: "Shipment ref numbers." + items: + type: "string" + shipment_tags: + type: "array" + x-stoplight: + id: "02itol38fmg55" + uniqueItems: true + description: "Tags related to a shipment" + items: + x-stoplight: + id: "64x90wvr9d6nd" + type: "string" + example: "tag1, tag2" diff --git a/docs/openapi/paths/shipments.yaml b/docs/openapi/paths/shipments.yaml new file mode 100644 index 00000000..a88d1b5f --- /dev/null +++ b/docs/openapi/paths/shipments.yaml @@ -0,0 +1,450 @@ +get: + summary: "List shipments" + tags: + - "Shipments" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + type: "array" + items: + $ref: "#/components/schemas/shipment" + included: + type: "array" + items: + anyOf: + - + $ref: "#/components/schemas/container" + - + $ref: "#/components/schemas/port" + - + $ref: "#/components/schemas/terminal" + links: + $ref: "#/components/schemas/links" + meta: + $ref: "#/components/schemas/meta" + examples: + En-route to NY with inland move: + value: + data: + - + id: "62738624-7032-4a50-892e-c55826228c25" + type: "shipment" + attributes: + created_at: "2024-06-26T17:28:59Z" + ref_numbers: [] + tags: [] + bill_of_lading_number: "OOLU2148468620" + normalized_number: "2148468620" + shipping_line_scac: "OOLU" + shipping_line_name: "Orient Overseas Container Line" + shipping_line_short_name: "OOCL" + customer_name: "Sodor Steamworks" + port_of_lading_locode: "CNNBG" + port_of_lading_name: "Ningbo" + port_of_discharge_locode: "USLAX" + port_of_discharge_name: "Los Angeles" + pod_vessel_name: "EVER FORWARD" + pod_vessel_imo: "9850551" + pod_voyage_number: "1119E" + destination_locode: "USCLE" + destination_name: "Cleveland" + destination_timezone: "America/New_York" + destination_ata_at: null + destination_eta_at: "2024-07-02T08:00:00Z" + pol_etd_at: null + pol_atd_at: "2024-06-09T03:42:00Z" + pol_timezone: "Asia/Shanghai" + pod_eta_at: null + pod_original_eta_at: null + pod_ata_at: "2024-06-22T13:36:00Z" + pod_timezone: "America/Los_Angeles" + line_tracking_last_attempted_at: "2024-06-26T17:28:59Z" + line_tracking_last_succeeded_at: "2024-06-26T17:28:59Z" + line_tracking_stopped_at: null + line_tracking_stopped_reason: null + links: + self: "https://api.terminal49.com/v2/shipments/62738624-7032-4a50-892e-c55826228c25" + relationships: + port_of_lading: + data: + id: "2a90c27b-c2ee-45e2-892f-5c695d74e2d0" + type: "port" + port_of_discharge: + data: + id: "47b27584-4ec9-4e2f-95e1-7a42928cc40c" + type: "port" + pod_terminal: + data: + id: "42c53b13-0d29-4fa6-8663-7343a56319f1" + type: "terminal" + destination: + data: + id: "3b1cc325-ffe9-400a-82ce-f5c4891af382" + type: "port" + destination_terminal: + data: + id: "ce22669e-14b2-4501-b782-f0a360f07cd0" + type: "terminal" + line_tracking_stopped_by_user: + data: null + containers: + data: + - + id: "7aefc29e-0898-4825-8376-4f998b51d033" + type: "container" + - + id: "baaa725e-aa0e-4937-ac78-54d9e2e8621e" + type: "shipment" + attributes: + created_at: "2024-06-26T16:47:42Z" + ref_numbers: [] + tags: [] + bill_of_lading_number: "HDMUTAOM72244900" + normalized_number: "TAOM72244900" + shipping_line_scac: "HDMU" + shipping_line_name: "Hyundai Merchant Marine" + shipping_line_short_name: "Hyundai" + customer_name: "Sodor Steamworks" + port_of_lading_locode: "CNQDG" + port_of_lading_name: "Qingdao" + port_of_discharge_locode: "USSAV" + port_of_discharge_name: "Savannah" + pod_vessel_name: "UMM SALAL" + pod_vessel_imo: "9525857" + pod_voyage_number: "0038E" + destination_locode: "USROQ" + destination_name: "Rossville" + destination_timezone: "America/Chicago" + destination_ata_at: null + destination_eta_at: "2024-06-30T07:05:00Z" + pol_etd_at: null + pol_atd_at: "2024-05-07T03:01:00Z" + pol_timezone: "Asia/Shanghai" + pod_eta_at: null + pod_original_eta_at: null + pod_ata_at: "2024-06-20T21:27:00Z" + pod_timezone: "America/New_York" + line_tracking_last_attempted_at: "2024-06-26T16:48:04Z" + line_tracking_last_succeeded_at: "2024-06-26T16:48:04Z" + line_tracking_stopped_at: null + line_tracking_stopped_reason: null + links: + self: "https://api.terminal49.com/v2/shipments/baaa725e-aa0e-4937-ac78-54d9e2e8621e" + relationships: + port_of_lading: + data: + id: "0ccbe8af-c8d0-4abd-a842-3bfad1d82024" + type: "port" + port_of_discharge: + data: + id: "6129528d-846e-4571-ae16-b5328a4285ab" + type: "port" + pod_terminal: + data: + id: "a243bdf8-0da3-4056-a6a7-05fe8ab43999" + type: "terminal" + destination: + data: + id: "87ca3f37-e4d1-46eb-9eb1-6b5ffafde95d" + type: "port" + destination_terminal: + data: null + line_tracking_stopped_by_user: + data: null + containers: + data: + - + id: "772cd872-9677-4c68-9b7a-4e9e843b00e2" + type: "container" + - + id: "52efc544-0de1-452f-bcf8-0290a6ce5c11" + type: "container" + - + id: "3107692e-61ad-4b4c-b3d4-78348b2e37ff" + type: "container" + - + id: "7721a48c-5e93-43c9-9f5f-5be10a87fdde" + type: "shipment" + attributes: + created_at: "2024-06-26T16:28:39Z" + ref_numbers: [] + tags: [] + bill_of_lading_number: "OOLU2738424980" + normalized_number: "2738424980" + shipping_line_scac: "OOLU" + shipping_line_name: "Orient Overseas Container Line" + shipping_line_short_name: "OOCL" + customer_name: "Sodor Steamworks" + port_of_lading_locode: "ITSPE" + port_of_lading_name: "La Spezia" + port_of_discharge_locode: "USSAV" + port_of_discharge_name: "Savannah" + pod_vessel_name: "OOCL GUANGZHOU" + pod_vessel_imo: "9404869" + pod_voyage_number: "162E" + destination_locode: "USATL" + destination_name: "Atlanta" + destination_timezone: "America/New_York" + destination_ata_at: null + destination_eta_at: "2024-06-27T06:42:00Z" + pol_etd_at: null + pol_atd_at: "2024-06-05T08:03:00Z" + pol_timezone: "Europe/Rome" + pod_eta_at: null + pod_original_eta_at: null + pod_ata_at: "2024-06-23T15:34:00Z" + pod_timezone: "America/New_York" + line_tracking_last_attempted_at: "2024-06-26T16:28:39Z" + line_tracking_last_succeeded_at: "2024-06-26T16:28:39Z" + line_tracking_stopped_at: null + line_tracking_stopped_reason: null + links: + self: "https://api.terminal49.com/v2/shipments/7721a48c-5e93-43c9-9f5f-5be10a87fdde" + relationships: + port_of_lading: + data: + id: "b5656766-a56f-4b32-8e03-d240e7519604" + type: "port" + port_of_discharge: + data: + id: "6129528d-846e-4571-ae16-b5328a4285ab" + type: "port" + pod_terminal: + data: + id: "a243bdf8-0da3-4056-a6a7-05fe8ab43999" + type: "terminal" + destination: + data: + id: "7daf9ea3-3018-4d62-b88c-43803df9030c" + type: "port" + destination_terminal: + data: + id: "022ef8fc-1e2a-4ad6-8eae-330d65eb1c8e" + type: "terminal" + line_tracking_stopped_by_user: + data: null + containers: + data: + - + id: "2a25fd3e-a18e-47cc-9cea-62771e82d0f2" + type: "container" + - + id: "6cdc725d-2b31-40f9-86dd-76225390a488" + type: "container" + - + id: "2f1e9a9d-4689-4f4d-84a8-64409b56521d" + type: "container" + - + id: "32b5ad78-43ba-42d9-bdc0-4cf12320e020" + type: "shipment" + attributes: + created_at: "2024-06-26T15:59:52Z" + ref_numbers: [] + tags: [] + bill_of_lading_number: "OOLU2738277190" + normalized_number: "2738277190" + shipping_line_scac: "OOLU" + shipping_line_name: "Orient Overseas Container Line" + shipping_line_short_name: "OOCL" + customer_name: "Sodor Steamworks" + port_of_lading_locode: "CNQDG" + port_of_lading_name: "Qingdao" + port_of_discharge_locode: "USLAX" + port_of_discharge_name: "Los Angeles" + pod_vessel_name: "EVER FORWARD" + pod_vessel_imo: "9850551" + pod_voyage_number: "1119E" + destination_locode: "USMEM" + destination_name: "Memphis" + destination_timezone: "America/Chicago" + destination_ata_at: null + destination_eta_at: "2024-07-01T14:00:00Z" + pol_etd_at: null + pol_atd_at: "2024-06-02T18:22:00Z" + pol_timezone: "Asia/Shanghai" + pod_eta_at: null + pod_original_eta_at: null + pod_ata_at: "2024-06-22T13:36:00Z" + pod_timezone: "America/Los_Angeles" + line_tracking_last_attempted_at: "2024-06-26T15:59:52Z" + line_tracking_last_succeeded_at: "2024-06-26T15:59:52Z" + line_tracking_stopped_at: null + line_tracking_stopped_reason: null + links: + self: "https://api.terminal49.com/v2/shipments/32b5ad78-43ba-42d9-bdc0-4cf12320e020" + relationships: + port_of_lading: + data: + id: "0ccbe8af-c8d0-4abd-a842-3bfad1d82024" + type: "port" + port_of_discharge: + data: + id: "47b27584-4ec9-4e2f-95e1-7a42928cc40c" + type: "port" + pod_terminal: + data: + id: "42c53b13-0d29-4fa6-8663-7343a56319f1" + type: "terminal" + destination: + data: + id: "ba0b9f68-2025-40ca-ae12-1c2210cca333" + type: "port" + destination_terminal: + data: + id: "d0ec0da1-8a3a-4b11-b1e3-5716bbc71dc3" + type: "terminal" + line_tracking_stopped_by_user: + data: null + containers: + data: + - + id: "60d2fd62-14e2-4ca2-a927-9633fc58fdff" + type: "container" + - + id: "0ffe3e75-b3df-4d20-b9f4-97bbbcec404d" + type: "container" + - + id: "bd117d3b-8fa4-487c-9bab-25c15e227d1a" + type: "shipment" + attributes: + created_at: "2024-06-26T15:59:35Z" + ref_numbers: [] + tags: [] + bill_of_lading_number: "OOLU2147973020" + normalized_number: "2147973020" + shipping_line_scac: "OOLU" + shipping_line_name: "Orient Overseas Container Line" + shipping_line_short_name: "OOCL" + customer_name: "Sodor Steamworks" + port_of_lading_locode: "IDSUB" + port_of_lading_name: "Surabaya" + port_of_discharge_locode: "USLAX" + port_of_discharge_name: "Los Angeles" + pod_vessel_name: "CMA CGM A.LINCOLN" + pod_vessel_imo: "9780859" + pod_voyage_number: "1TU70E1MA" + destination_locode: null + destination_name: null + destination_timezone: null + destination_ata_at: null + destination_eta_at: null + pol_etd_at: null + pol_atd_at: "2024-05-14T02:37:00Z" + pol_timezone: "Asia/Jakarta" + pod_eta_at: null + pod_original_eta_at: null + pod_ata_at: "2024-06-23T21:58:00Z" + pod_timezone: "America/Los_Angeles" + line_tracking_last_attempted_at: "2024-06-26T15:59:35Z" + line_tracking_last_succeeded_at: "2024-06-26T15:59:35Z" + line_tracking_stopped_at: null + line_tracking_stopped_reason: null + links: + self: "https://api.terminal49.com/v2/shipments/bd117d3b-8fa4-487c-9bab-25c15e227d1a" + relationships: + port_of_lading: + data: + id: "4201ab42-c51f-48ac-b7a1-12146e02c6a2" + type: "port" + port_of_discharge: + data: + id: "47b27584-4ec9-4e2f-95e1-7a42928cc40c" + type: "port" + pod_terminal: + data: + id: "eaa2580c-5f5b-4198-85e4-821145d62098" + type: "terminal" + destination: + data: null + destination_terminal: + data: null + line_tracking_stopped_by_user: + data: null + containers: + data: + - + id: "815ff702-fdb5-4455-a28e-314c345d7481" + type: "container" + meta: + size: 5 + total: 34044 + links: + self: "https://api.terminal49.com/v2/shipments?page%5Bsize%5D=5" + current: "https://api.terminal49.com/v2/shipments?page%5Bnumber%5D=1&page%5Bsize%5D=5" + next: "https://api.terminal49.com/v2/shipments?page%5Bnumber%5D=2&page%5Bsize%5D=5" + last: "https://api.terminal49.com/v2/shipments?page%5Bnumber%5D=6809&page%5Bsize%5D=5" + 422: + description: "Unprocessable Entity" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + $ref: "#/components/schemas/error" + examples: + Errors: + value: + error: + - + title: "Invalid arrival_date_from" + detail: "filter['arrival_from'] must be in the format 'YYYY-MM-DD' and a valid date" + - + title: "Invalid arrival_date_to" + detail: "filter['arrival_from'] must be in the format 'YYYY-MM-DD' and a valid date" + - + title: "Invalid port_of_lading" + detail: "port_of_discharge must be an array of 5 character UN/LOCODEs" + - + title: "Invalid port_of_discharge" + detail: "port_of_discharge must be an array of 5 character UN/LOCODEs" + operationId: "get-shipments" + description: "Returns a list of your shipments. The shipments are returned sorted by creation date, with the most recent shipments appearing first.\n\nThis api will return all shipments associated with the account. Shipments created via the `tracking_request` API aswell as the ones added via the dashboard will be retuned via this endpoint. " + parameters: + - + schema: + type: "integer" + default: 1 + in: "query" + name: "page%5Bnumber%5D" + description: "\n" + - + schema: + type: "integer" + default: 30 + in: "query" + name: "page%5Bsize%5D" + description: "\n" + - + schema: + type: "string" + in: "query" + name: "q" + description: "\nSearch shipments by master bill of lading, reference number, or container number." + deprecated: true + - + schema: + type: "string" + in: "query" + name: "include" + description: "Comma delimited list of relations to include" + - + schema: + type: "string" + in: "query" + name: "number" + description: "Search shipments by the original request tracking `request_number`" + - + schema: + type: "boolean" + in: "query" + name: "filter[tracking_stopped]" + description: "Filter shipments by whether they are still tracking or not" diff --git a/docs/openapi/paths/shipping-lines-id.yaml b/docs/openapi/paths/shipping-lines-id.yaml new file mode 100644 index 00000000..a0a17168 --- /dev/null +++ b/docs/openapi/paths/shipping-lines-id.yaml @@ -0,0 +1,23 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get a single shipping line" + tags: + - "Shipping Lines" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/shipping_line" + operationId: "get-shipping_lines-id" + description: "Return the details of a single shipping line." diff --git a/docs/openapi/paths/shipping-lines.yaml b/docs/openapi/paths/shipping-lines.yaml new file mode 100644 index 00000000..f798a750 --- /dev/null +++ b/docs/openapi/paths/shipping-lines.yaml @@ -0,0 +1,20 @@ +get: + summary: "Shipping Lines" + tags: + - "Shipping Lines" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + type: "array" + items: + $ref: "#/components/schemas/shipping_line" + links: + $ref: "#/components/schemas/links" + operationId: "get-shipping_lines" + description: "Return a list of shipping lines supported by Terminal49. \nN.B. There is no pagination for this endpoint." diff --git a/docs/openapi/paths/terminals-id.yaml b/docs/openapi/paths/terminals-id.yaml new file mode 100644 index 00000000..b7ba0db4 --- /dev/null +++ b/docs/openapi/paths/terminals-id.yaml @@ -0,0 +1,23 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get a terminal using the id" + tags: + - "Terminals" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/terminal" + operationId: "get-terminal-id" + description: "Return the details of a single terminal." diff --git a/docs/openapi/paths/tracking-requests-id.yaml b/docs/openapi/paths/tracking-requests-id.yaml new file mode 100644 index 00000000..ec7d9124 --- /dev/null +++ b/docs/openapi/paths/tracking-requests-id.yaml @@ -0,0 +1,252 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true + description: "Tracking Request ID" +get: + summary: "Get a single tracking request" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/tracking_request" + included: + type: "array" + items: + anyOf: + - + $ref: "#/components/schemas/account" + - + $ref: "#/components/schemas/shipment" + - + $ref: "#/components/schemas/shipping_line" + examples: + With Status Created: + value: + data: + id: "ba4cb904-827f-4038-8e31-1e92b3356218" + type: "tracking_request" + attributes: + request_number: "MEDUFR030802" + request_type: "bill_of_lading" + scac: "MSCU" + ref_numbers: [] + created_at: "2020-04-04T16:13:35-07:00" + updated_at: "2020-04-04T17:13:35-07:00" + status: "created" + failed_reason: null + relationships: + tracked_object: + data: + id: "eb6f218a-0b4a-47f9-8ef9-759aa5e0ea83" + type: "shipment" + links: + self: "https://api.terminal49.com/v2/tracking_requests/ba4cb904-827f-4038-8e31-1e92b3356218" + included: + - + id: "eb6f218a-0b4a-47f9-8ef9-759aa5e0ea83" + type: "shipment" + attributes: + created_at: "2020-04-04T16:13:37-07:00" + bill_of_lading_number: "MEDUFR030802" + ref_numbers: [] + shipping_line_scac: "MSCU" + shipping_line_name: "Mediterranean Shipping Company" + port_of_lading_locode: "FRFOS" + port_of_lading_name: "Fos-Sur-Mer" + port_of_discharge_locode: "USOAK" + port_of_discharge_name: "Oakland" + pod_vessel_name: "MSC ALGECIRAS" + pod_vessel_imo: "9605243" + pod_voyage_number: "920A" + destination_locode: "USOAK" + destination_name: "Oakland" + destination_timezone: "America/Los_Angeles" + destination_ata_at: "2019-06-21T18:46:00-07:00" + destination_eta_at: null + pol_etd_at: null + pol_atd_at: "2019-05-24T03:00:00-07:00" + pol_timezone: "Europe/Paris" + pod_eta_at: null + pod_ata_at: "2019-06-21T18:46:00-07:00" + pod_timezone: "America/Los_Angeles" + relationships: + port_of_lading: + data: + id: "6d8c6c29-72a6-49ad-87b7-fd045f202212" + type: "port" + port_of_discharge: + data: + id: "42d1ba3a-f4b8-431d-a6fe-49fd748a59e7" + type: "port" + pod_terminal: + data: null + destination: + data: + id: "42d1ba3a-f4b8-431d-a6fe-49fd748a59e7" + type: "port" + containers: + data: + - + id: "11c1fa10-52a5-48e2-82f4-5523756b3d0f" + type: "container" + links: + self: "https://api.terminal49.com/v2/shipments/eb6f218a-0b4a-47f9-8ef9-759aa5e0ea83" + Multiple containers: + value: + data: + id: "62c30bd4-d7fc-40dc-9fd6-fb39224301f5" + type: "tracking_request" + attributes: + request_number: "212157148" + request_type: "bill_of_lading" + scac: "MAEU" + ref_numbers: [] + shipment_tags: [] + created_at: "2021-07-27T16:44:14Z" + updated_at: "2021-07-27T17:44:14Z" + status: "created" + failed_reason: null + is_retrying: false + retry_count: null + relationships: + tracked_object: + data: + id: "dfc9f601-f6fe-412e-a71c-feabcc2dd4e3" + type: "shipment" + customer: + data: null + links: + self: "https://api.terminal49.com/v2/tracking_requests/62c30bd4-d7fc-40dc-9fd6-fb39224301f5" + links: + self: "https://api.terminal49.com/v2/tracking_requests/62c30bd4-d7fc-40dc-9fd6-fb39224301f5?filter%5Bstatus%5D=created" + included: + - + id: "dfc9f601-f6fe-412e-a71c-feabcc2dd4e3" + type: "shipment" + attributes: + created_at: "2021-07-27T16:44:16Z" + ref_numbers: null + tags: [] + bill_of_lading_number: "212157148" + shipping_line_scac: "MAEU" + shipping_line_name: "Maersk" + shipping_line_short_name: "Maersk" + port_of_lading_locode: "MYTPP" + port_of_lading_name: "Tanjung Pelepas" + port_of_discharge_locode: null + port_of_discharge_name: null + pod_vessel_name: null + pod_vessel_imo: null + pod_voyage_number: null + destination_locode: null + destination_name: null + destination_timezone: null + destination_ata_at: null + destination_eta_at: null + pol_etd_at: null + pol_atd_at: null + pol_timezone: "Asia/Kuala_Lumpur" + pod_eta_at: "2021-09-15T15:00:00Z" + pod_ata_at: null + pod_timezone: null + line_tracking_last_attempted_at: null + line_tracking_last_succeeded_at: "2021-07-27T16:44:16Z" + line_tracking_stopped_at: null + line_tracking_stopped_reason: null + relationships: + port_of_lading: + data: + id: "6c387786-252c-476d-9f99-7d835b6b978b" + type: "port" + port_of_discharge: + data: null + pod_terminal: + data: null + destination: + data: null + destination_terminal: + data: null + containers: + data: + - + id: "965880c9-a37e-4ed7-a060-9c49c0f0c5ed" + type: "container" + - + id: "ea1f8e08-fcdf-498d-9cb5-0c370b023eeb" + type: "container" + - + id: "67f55105-8ea2-4137-9244-f9cc204f5766" + type: "container" + - + id: "5ab5d058-772c-466c-bc73-0b8767ad5a79" + type: "container" + links: + self: "https://api.terminal49.com/v2/shipments/dfc9f601-f6fe-412e-a71c-feabcc2dd4e3" + 404: + description: "Not Found" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + $ref: "#/components/schemas/error" + examples: {} + operationId: "get-track-request-by-id" + description: "Get the details and status of an existing tracking request. " + tags: + - "Tracking Requests" + parameters: + - + schema: + type: "string" + in: "query" + name: "include" + description: "Comma delimited list of relations to include. 'tracked_object' is included by default." + x-internal: false +patch: + summary: "Edit a tracking request" + operationId: "patch-track-request-by-id" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/tracking_request" + description: "Update a tracking request" + tags: + - "Tracking Requests" + requestBody: + content: + application/json: + schema: + type: "object" + properties: + data: + type: "object" + required: + - "attributes" + - "type" + properties: + attributes: + type: "object" + properties: + ref_number: + type: "string" + example: "REFNUMBER11" + description: "Tracking request ref number." diff --git a/docs/openapi/paths/tracking-requests.yaml b/docs/openapi/paths/tracking-requests.yaml new file mode 100644 index 00000000..7fb420dd --- /dev/null +++ b/docs/openapi/paths/tracking-requests.yaml @@ -0,0 +1,332 @@ +post: + summary: "Create a tracking request" + operationId: "post-track" + responses: + 201: + description: "Tracking Request Created" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/tracking_request" + included: + type: "array" + items: + anyOf: + - + $ref: "#/components/schemas/account" + - + $ref: "#/components/schemas/shipping_line" + examples: + Pending Tracking Request: + value: + data: + id: "ba4cb904-827f-4038-8e31-1e92b3356218" + type: "tracking_request" + attributes: + request_number: "MEDUFR030802" + request_type: "bill_of_lading" + scac: "MSCU" + ref_numbers: [] + created_at: "2020-04-04T16:13:35-07:00" + updated_at: "2020-04-04T17:13:35-07:00" + status: "pending" + failed_reason: null + relationships: + tracked_object: + data: null + customer: + data: + id: "f7cb530a-9e60-412c-a5bc-205a2f34ba54" + type: "party" + links: + self: "https://api.terminal49.com/v2/tracking_requests/ba4cb904-827f-4038-8e31-1e92b3356218" + headers: {} + 422: + description: "Unprocessable Entity" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + $ref: "#/components/schemas/error" + examples: + Error Examples: + value: + errors: + - + status: "422" + source: + pointer: "/data/attributes/scac" + title: "Unprocessable Entity" + detail: "Scac can't be blank" + code: "blank" + - + status: "422" + source: + pointer: "/data/attributes/scac" + title: "Unprocessable Entity" + detail: "Scac 'XXXX' is not recognized" + code: "blank" + - + status: "422" + source: + pointer: "/data/attributes/scac" + title: "Unprocessable Entity" + detail: "Scac 'UALC' is not supported. We do not currently integrate with Universal Africa Lines" + code: "blank" + - + status: "422" + source: + pointer: "/data/attributes/request_number" + title: "Unprocessable Entity" + detail: "Request number can't be blank" + code: "blank" + 429: + description: "Too Many Requests - You've hit the create tracking requests limit. Please try again in a minute." + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + type: "object" + properties: + status: + type: "string" + example: "429" + title: + type: "string" + example: "Too Many Requests" + detail: + type: "string" + example: "You've hit the create tracking requests limit. Please try again in a minute." + headers: + Retry-After: + description: "Number of seconds to wait before making another request" + schema: + type: "integer" + example: 60 + requestBody: + content: + application/json: + schema: + type: "object" + properties: + data: + type: "object" + properties: + attributes: + type: "object" + properties: + request_type: + type: "string" + example: "bill_of_lading" + enum: + - "bill_of_lading" + - "booking_number" + - "container" + description: " The type of document number to be supplied. Container number support is currently in BETA." + request_number: + type: "string" + example: "MEDUFR030802" + scac: + type: "string" + example: "MSCU" + minLength: 4 + maxLength: 4 + ref_numbers: + type: "array" + description: "Optional list of reference numbers to be added to the shipment when tracking request completes" + items: + type: "string" + shipment_tags: + type: "array" + description: "Optional list of tags to be added to the shipment when tracking request completes" + items: + type: "string" + required: + - "request_type" + - "request_number" + - "scac" + relationships: + type: "object" + properties: + customer: + type: "object" + properties: + data: + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "party" + type: + enum: + - "tracking_request" + type: "string" + required: + - "type" + examples: + "Example: MSC BL": + value: + data: + attributes: + request_type: "bill_of_lading" + request_number: "MEDUFR030802" + ref_numbers: + - "PO12345" + - "HBL12345" + - "CUSREF1234" + shipment_tags: + - "camembert" + scac: "MSCU" + relationships: + customer: + data: + id: "f7cb530a-9e60-412c-a5bc-205a2f34ba54" + type: "party" + type: "tracking_request" + description: "Create a shipment tracking request" + security: + - + authorization: [] + description: "To track an ocean shipment, you create a new tracking request. \nTwo attributes are required to track a shipment. A `bill of lading/booking number` and a shipping line `SCAC`. \n\nOnce a tracking request is created we will attempt to fetch the shipment details and it's related containers from the shipping line. If the attempt is successful we will create in new shipment object including any related container objects. We will send a `tracking_request.succeeded` webhook notification to your webhooks. \n\nIf the attempt to fetch fails then we will send a `tracking_request.failed` webhook notification to your `webhooks`. \n\nA `tracking_request.succeeded` or `tracking_request.failed` webhook notificaiton will only be sent if you have atleast one active webhook.

This endpoint is limited to 100 tracking requests per minute." + tags: + - "Tracking Requests" + parameters: [] +parameters: [] +get: + summary: "List tracking requests" + operationId: "get-tracking-requests" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + type: "array" + items: + $ref: "#/components/schemas/tracking_request" + links: + $ref: "#/components/schemas/links" + meta: + $ref: "#/components/schemas/meta" + included: + type: "array" + items: + anyOf: + - + $ref: "#/components/schemas/account" + - + $ref: "#/components/schemas/shipping_line" + - + type: "object" + properties: + id: + type: "string" + format: "uuid" + type: + type: "string" + enum: + - "shipment" + links: + type: "object" + properties: + self: + type: "string" + format: "uri" + description: "" + examples: {} + 404: + description: "Not Found" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + $ref: "#/components/schemas/error" + description: "Returns a list of your tracking requests. The tracking requests are returned sorted by creation date, with the most recent tracking request appearing first." + tags: + - "Tracking Requests" + parameters: + - + schema: + type: "string" + in: "query" + name: "q" + description: "A search term to be applied against request_number and reference_numbers." + deprecated: true + - + schema: + type: "string" + enum: + - "created" + - "pending" + - "failed" + example: "created" + in: "query" + name: "filter[status]" + description: "filter by `status`" + - + schema: + type: "string" + example: "MSCU" + in: "query" + name: "filter[scac]" + description: "filter by shipping line `scac`" + - + schema: + type: "string" + example: "2020-04-28T22:59:15Z" + format: "date-time" + in: "query" + name: "filter[created_at][start]" + description: "filter by tracking_requests `created_at` after a certain ISO8601 timestamp" + - + schema: + type: "string" + format: "date-time" + example: "2020-04-28T22:59:15Z" + in: "query" + description: "filter by tracking_requests `created_at` before a certain ISO8601 timestamp" + name: "filter[created_at][end]" + - + schema: + type: "string" + in: "query" + name: "include" + description: "Comma delimited list of relations to include. 'tracked_object' is included by default." + - + schema: + type: "integer" + in: "query" + name: "page[number]" + - + schema: + type: "integer" + in: "query" + name: "page[size]" + - + schema: + type: "string" + in: "query" + name: "filter[request_number]" + description: "filter by `request_number`" diff --git a/docs/openapi/paths/vessels-id-future-positions-with-coordinates.yaml b/docs/openapi/paths/vessels-id-future-positions-with-coordinates.yaml new file mode 100644 index 00000000..337ddd35 --- /dev/null +++ b/docs/openapi/paths/vessels-id-future-positions-with-coordinates.yaml @@ -0,0 +1,82 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get vessel future positions from coordinates" + tags: + - "Routing (Paid)" + - "Vessels" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/vessel_with_positions" + links: + type: "object" + properties: + self: + type: "string" + format: "uri" + 403: + description: "Forbidden - Routing data feature is not enabled for this account" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + type: "object" + properties: + status: + type: "string" + example: "403" + title: + type: "string" + example: "Forbidden" + detail: + type: "string" + example: "Routing data feature is not enabled for this account" + operationId: "get-vessels-id-future-positions-with-coordinates" + description: "Returns the estimated route between two ports for a given vessel from a set of coordinates. The timestamp of the positions has fixed spacing of one minute. This is a paid feature. Please contact sales@terminal49.com." + parameters: + - + schema: + type: "string" + format: "uuid" + in: "query" + name: "port_id" + description: "The destination port id" + required: true + - + schema: + type: "string" + format: "uuid" + in: "query" + name: "previous_port_id" + description: "The previous port id" + required: true + - + schema: + type: "number" + in: "query" + name: "latitude" + description: "Starting latitude coordinate" + required: true + - + schema: + type: "number" + in: "query" + name: "longitude" + description: "Starting longitude coordinate" + required: true diff --git a/docs/openapi/paths/vessels-id-future-positions.yaml b/docs/openapi/paths/vessels-id-future-positions.yaml new file mode 100644 index 00000000..a4dc412d --- /dev/null +++ b/docs/openapi/paths/vessels-id-future-positions.yaml @@ -0,0 +1,68 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get vessel future positions" + tags: + - "Routing (Paid)" + - "Vessels" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/vessel_with_positions" + links: + type: "object" + properties: + self: + type: "string" + format: "uri" + 403: + description: "Forbidden - Routing data feature is not enabled for this account" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + type: "object" + properties: + status: + type: "string" + example: "403" + title: + type: "string" + example: "Forbidden" + detail: + type: "string" + example: "Routing data feature is not enabled for this account" + operationId: "get-vessels-id-future-positions" + description: "Returns the estimated route between two ports for a given vessel. The timestamp of the positions has fixed spacing of one minute. This is a paid feature. Please contact sales@terminal49.com." + parameters: + - + schema: + type: "string" + format: "uuid" + in: "query" + name: "port_id" + description: "The destination port id" + required: true + - + schema: + type: "string" + format: "uuid" + in: "query" + name: "previous_port_id" + description: "The previous port id" + required: true diff --git a/docs/openapi/paths/vessels-id.yaml b/docs/openapi/paths/vessels-id.yaml new file mode 100644 index 00000000..9827523f --- /dev/null +++ b/docs/openapi/paths/vessels-id.yaml @@ -0,0 +1,65 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true + - + schema: + type: "string" + format: "date-time" + example: "2025-05-20T00:00:00Z" + name: "show_positions[from_timestamp]" + in: "query" + description: "ISO 8601 timestamp to filter positions from. 7 days by default." + required: false + - + schema: + type: "string" + format: "date-time" + example: "2025-05-24T00:00:00Z" + name: "show_positions[to_timestamp]" + in: "query" + description: "ISO 8601 timestamp to filter positions up to. Current time by default." + required: false +get: + summary: "Get a vessel using the id" + tags: + - "Vessels" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/vessel" + 403: + description: "Forbidden - Feature not enabled" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + type: "object" + properties: + status: + type: "string" + example: "403" + source: + type: "object" + nullable: true + title: + type: "string" + example: "Forbidden" + detail: + type: "string" + example: "Routing data feature is not enabled for this account" + operationId: "get-vessels-id" + description: "Returns a vessel by id. `show_positions` is a paid feature. Please contact sales@terminal49.com." diff --git a/docs/openapi/paths/vessels-imo.yaml b/docs/openapi/paths/vessels-imo.yaml new file mode 100644 index 00000000..d398efa9 --- /dev/null +++ b/docs/openapi/paths/vessels-imo.yaml @@ -0,0 +1,66 @@ +parameters: + - + schema: + type: "string" + name: "imo" + in: "path" + required: true + - + schema: + type: "string" + format: "date-time" + example: "2025-05-20T00:00:00Z" + name: "show_positions[from_timestamp]" + in: "query" + description: "ISO 8601 timestamp to filter positions from. 7 days by default." + required: false + - + schema: + type: "string" + format: "date-time" + example: "2025-05-24T00:00:00Z" + name: "show_positions[to_timestamp]" + in: "query" + description: "ISO 8601 timestamp to filter positions up to. Current time by default." + required: false +get: + summary: "Get a vessel using the imo" + tags: + - "Vessels" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/vessel" + 403: + description: "Forbidden - Feature not enabled" + content: + application/json: + schema: + type: "object" + properties: + errors: + type: "array" + items: + type: "object" + properties: + status: + type: "string" + example: "403" + source: + type: "object" + nullable: true + title: + type: "string" + example: "Forbidden" + detail: + type: "string" + example: "Routing data feature is not enabled for this account" + operationId: "get-vessels-imo" + description: "Returns a vessel by the given IMO number. `show_positions` is a paid feature. Please contact sales@terminal49.com." + x-internal: true diff --git a/docs/openapi/paths/webhook-notifications-examples.yaml b/docs/openapi/paths/webhook-notifications-examples.yaml new file mode 100644 index 00000000..f6dea491 --- /dev/null +++ b/docs/openapi/paths/webhook-notifications-examples.yaml @@ -0,0 +1,77 @@ +get: + summary: "Get webhook notification payload examples" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + type: "array" + items: + $ref: "#/components/schemas/webhook_notification" + links: + $ref: "#/components/schemas/links" + meta: + $ref: "#/components/schemas/meta" + included: + type: "array" + items: + anyOf: + - + $ref: "#/components/schemas/webhook" + - + $ref: "#/components/schemas/tracking_request" + - + $ref: "#/components/schemas/transport_event" + - + $ref: "#/components/schemas/estimated_event" + operationId: "get-webhook-notifications-example" + description: "Returns an example payload as it would be sent to a webhook endpoint for the provided `event` " + tags: + - "Webhook Notifications" + parameters: + - + schema: + type: "string" + enum: + - "container.transport.vessel_arrived" + - "container.transport.vessel_discharged" + - "container.transport.vessel_loaded" + - "container.transport.vessel_departed" + - "container.transport.rail_departed" + - "container.transport.rail_arrived" + - "container.transport.rail_loaded" + - "container.transport.rail_unloaded" + - "container.transport.transshipment_arrived" + - "container.transport.transshipment_discharged" + - "container.transport.transshipment_loaded" + - "container.transport.transshipment_departed" + - "container.transport.feeder_arrived" + - "container.transport.feeder_discharged" + - "container.transport.feeder_loaded" + - "container.transport.feeder_departed" + - "container.transport.empty_out" + - "container.transport.full_in" + - "container.transport.full_out" + - "container.transport.empty_in" + - "container.transport.vessel_berthed" + - "shipment.estimated.arrival" + - "tracking_request.succeeded" + - "tracking_request.failed" + - "tracking_request.awaiting_manifest" + - "tracking_request.tracking_stopped" + - "container.created" + - "container.updated" + - "container.pod_terminal_changed" + - "container.transport.arrived_at_inland_destination" + - "container.transport.estimated.arrived_at_inland_destination" + - "container.pickup_lfd.changed" + - "container.transport.available" + example: "container.transport.full_out" + in: "query" + name: "event" + description: "The webhook notification event name you wish to see an example of" +parameters: [] diff --git a/docs/openapi/paths/webhook-notifications-id.yaml b/docs/openapi/paths/webhook-notifications-id.yaml new file mode 100644 index 00000000..b254c896 --- /dev/null +++ b/docs/openapi/paths/webhook-notifications-id.yaml @@ -0,0 +1,517 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get a single webhook notification" + responses: + 200: + description: "" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/webhook_notification" + included: + type: "array" + items: + anyOf: + - + $ref: "#/components/schemas/webhook" + - + $ref: "#/components/schemas/tracking_request" + - + $ref: "#/components/schemas/transport_event" + - + $ref: "#/components/schemas/estimated_event" + - + $ref: "#/components/schemas/container_updated_event" + - + $ref: "#/components/schemas/shipment" + - + $ref: "#/components/schemas/container" + - + $ref: "#/components/schemas/port" + - + $ref: "#/components/schemas/terminal" + - + $ref: "#/components/schemas/vessel" + - + $ref: "#/components/schemas/metro_area" + - + $ref: "#/components/schemas/rail_terminal" + examples: + Tracking Request: + value: + data: + id: "a76187fc-5749-43f9-9053-cfaad9790a31" + type: "webhook_notification" + attributes: + id: "a76187fc-5749-43f9-9053-cfaad9790a31" + event: "tracking_request.succeeded" + delivery_status: "pending" + created_at: "2020-09-11T21:25:34Z" + relationships: + reference_object: + data: + id: "bdeca506-9741-4ab1-a0a7-cfd1d908e923" + type: "tracking_request" + webhook: + data: + id: "914b21ce-dd7d-4c49-8503-65aba488e9a9" + type: "webhook" + webhook_notification_logs: + data: [] + included: + - + id: "bdeca506-9741-4ab1-a0a7-cfd1d908e923" + type: "tracking_request" + attributes: + request_number: "TE497ED1063E" + request_type: "bill_of_lading" + scac: "MSCU" + ref_numbers: [] + created_at: "2020-09-11T21:25:34Z" + updated_at: "2020-09-11T22:25:34Z" + status: "created" + failed_reason: null + is_retrying: false + retry_count: null + relationships: + tracked_object: + data: + id: "b5b10c0a-8d18-46da-b4c2-4e5fa790e7da" + type: "shipment" + links: + self: "https://api.terminal49.com/v2/tracking_requests/bdeca506-9741-4ab1-a0a7-cfd1d908e923" + - + id: "b5b10c0a-8d18-46da-b4c2-4e5fa790e7da" + type: "shipment" + attributes: + created_at: "2020-09-11T21:25:33Z" + bill_of_lading_number: "TE497ED1063E" + ref_numbers: [] + shipping_line_scac: "MSCU" + shipping_line_name: "Mediterranean Shipping Company" + port_of_lading_locode: "MXZLO" + port_of_lading_name: "Manzanillo" + port_of_discharge_locode: "USOAK" + port_of_discharge_name: "Port of Oakland" + pod_vessel_name: "MSC CHANNE" + pod_vessel_imo: "9710438" + pod_voyage_number: "098N" + destination_locode: null + destination_name: null + destination_timezone: null + destination_ata_at: null + destination_eta_at: null + pol_etd_at: null + pol_atd_at: "2020-08-29T21:25:33Z" + pol_timezone: "America/Mexico_City" + pod_eta_at: "2020-09-18T21:25:33Z" + pod_ata_at: null + pod_timezone: "America/Los_Angeles" + relationships: + port_of_lading: + data: + id: "4384d6a5-5ccc-43b7-8d19-4a9525e74c08" + type: "port" + port_of_discharge: + data: + id: "2a765fdd-c479-4345-b71d-c4ef839952e2" + type: "port" + pod_terminal: + data: + id: "17891bc8-52da-40bf-8ff0-0247ec05faf1" + type: "terminal" + destination: + data: null + containers: + data: + - + id: "b2fc728c-e2f5-4a99-8899-eb7b34ef22d7" + type: "container" + links: + self: "https://api.terminal49.com/v2/shipments/b5b10c0a-8d18-46da-b4c2-4e5fa790e7da" + - + id: "b2fc728c-e2f5-4a99-8899-eb7b34ef22d7" + type: "container" + attributes: + number: "ARDU1824900" + seal_number: "139F1451" + created_at: "2020-09-11T21:25:34Z" + equipment_type: "dry" + equipment_length: 40 + equipment_height: "standard" + weight_in_lbs: 53507 + fees_at_pod_terminal: [] + holds_at_pod_terminal: [] + pickup_lfd: null + pickup_appointment_at: null + availability_known: true + available_for_pickup: false + pod_arrived_at: null + pod_discharged_at: null + final_destination_full_out_at: null + pod_full_out_at: null + empty_terminated_at: null + pod_timezone: "America/Los_Angeles" + final_destination_timezone: null + empty_terminated_timezone: null + relationships: + shipment: + data: + id: "b5b10c0a-8d18-46da-b4c2-4e5fa790e7da" + type: "shipment" + pod_terminal: + data: + id: "17891bc8-52da-40bf-8ff0-0247ec05faf1" + type: "terminal" + transport_events: + data: + - + id: "56078596-5293-4c84-9245-cca00a787265" + type: "transport_event" + - + id: "56078596-5293-4c84-9245-cca00a787265" + type: "transport_event" + attributes: + event: "container.transport.vessel_departed" + created_at: "2020-09-11T21:25:34Z" + voyage_number: null + timestamp: "2020-08-29T21:25:33Z" + location_locode: "MXZLO" + timezone: "America/Los_Angeles" + relationships: + shipment: + data: + id: "b5b10c0a-8d18-46da-b4c2-4e5fa790e7da" + type: "shipment" + container: + data: + id: "b2fc728c-e2f5-4a99-8899-eb7b34ef22d7" + type: "container" + vessel: + data: null + location: + data: + id: "2a765fdd-c479-4345-b71d-c4ef839952e2" + type: "port" + terminal: + data: null + Estimated Event: + value: + data: + id: "d7e04138-b59d-4c41-9d2d-251d95bedd6e" + type: "webhook_notification" + attributes: + id: "d7e04138-b59d-4c41-9d2d-251d95bedd6e" + event: "shipment.estimated.arrival" + delivery_status: "pending" + created_at: "2020-09-11T21:25:34Z" + relationships: + reference_object: + data: + id: "b68bc6cb-2c37-43f6-889b-86a16b2b6fe6" + type: "estimated_event" + webhook: + data: + id: "614eab61-ae3c-4d40-bbe9-41200a172691" + type: "webhook" + included: + - + id: "b68bc6cb-2c37-43f6-889b-86a16b2b6fe6" + type: "estimated_event" + attributes: + created_at: "2020-04-06T19:02:46-07:00" + estimated_timestamp: "2020-04-09T19:02:46-07:00" + voyage_number: "A1C" + event: "shipment.estimated.arrival" + timezone: "America/Los_Angeles" + relationships: + shipment: + data: + id: "715ed64b-6195-49f6-9407-1383a8088bfd" + type: "shipment" + port: + data: + id: "ed4001a5-ad9d-43c3-883c-79354f422510" + type: "port" + vessel: + data: + id: "ebf68c6c-9d0d-4383-aa41-e097009dfb4c" + type: "vessel" + - + id: "ed4001a5-ad9d-43c3-883c-79354f422510" + type: "port" + attributes: + id: "ed4001a5-ad9d-43c3-883c-79354f422510" + name: "Port of Oakland" + code: "USOAK" + state_abbr: "CA" + city: "Oakland" + country_code: "US" + time_zone: "America/Los_Angeles" + - + id: "715ed64b-6195-49f6-9407-1383a8088bfd" + type: "shipment" + attributes: + created_at: "2020-04-06T19:02:46-07:00" + bill_of_lading_number: "TE49DD6650B9" + ref_numbers: + - "REF-4A25EA" + shipping_line_scac: "MSCU" + shipping_line_name: "Mediterranean Shipping Company" + port_of_lading_locode: "MXZLO" + port_of_lading_name: "Manzanillo" + port_of_discharge_locode: "USOAK" + port_of_discharge_name: "Port of Oakland" + pod_vessel_name: "MSC CHANNE" + pod_vessel_imo: "9710438" + pod_voyage_number: "098N" + destination_locode: null + destination_name: null + destination_timezone: null + destination_ata_at: null + destination_eta_at: null + pol_etd_at: null + pol_atd_at: null + pol_timezone: "America/Mexico_City" + pod_eta_at: "2020-04-13T19:02:46-07:00" + pod_ata_at: null + pod_timezone: "America/Los_Angeles" + relationships: + port_of_lading: + data: + id: "1378c720-efe9-4562-a2ad-562002eb4b1d" + type: "port" + port_of_discharge: + data: + id: "ed4001a5-ad9d-43c3-883c-79354f422510" + type: "port" + pod_terminal: + data: + id: "2508d879-4451-4d7f-ab23-92258b5df553" + type: "terminal" + destination: + data: null + containers: + data: [] + links: + self: "https://api.terminal49.com/v2/shipments/715ed64b-6195-49f6-9407-1383a8088bfd" + Transport Event: + value: + data: + id: "abec839a-48fe-4540-93d7-d3ea3d67bdbf" + type: "webhook_notification" + attributes: + id: "abec839a-48fe-4540-93d7-d3ea3d67bdbf" + event: "container.transport.vessel_arrived" + delivery_status: "pending" + created_at: "2020-07-28T23:12:53Z" + relationships: + reference_object: + data: + id: "a6ecb8ab-98d6-4cab-8487-ce9dd7be082b" + type: "transport_event" + webhook: + data: + id: "534d498b-8332-439a-accb-129dfd144ceb" + type: "webhook" + webhook_notification_logs: + data: [] + included: + - + id: "a6ecb8ab-98d6-4cab-8487-ce9dd7be082b" + type: "transport_event" + attributes: + event: "container.transport.vessel_arrived" + created_at: "2020-07-28T23:12:53Z" + voyage_number: null + timestamp: "2020-07-28T23:12:53Z" + timezone: "America/Los_Angeles" + relationships: + shipment: + data: + id: "1fc35241-4c8b-420d-803a-9e6661720a05" + type: "shipment" + container: + data: + id: "8c2f335a-b155-4021-87f0-9b040159a981" + type: "container" + vessel: + data: + id: "b381c692-8dad-4f04-873f-d9e567143335" + type: "vessel" + location: + data: + id: "f5a8a49f-d8b2-4d2a-8a43-0e4ff0ce7995" + type: "port" + terminal: + data: + id: "26fede8d-2c6d-4bf5-98d6-5a86d30f17a9" + type: "terminal" + - + id: "f5a8a49f-d8b2-4d2a-8a43-0e4ff0ce7995" + type: "port" + attributes: + id: "f5a8a49f-d8b2-4d2a-8a43-0e4ff0ce7995" + name: "Port of Oakland" + code: "USOAK" + state_abbr: "CA" + city: "Oakland" + country_code: "US" + time_zone: "America/Los_Angeles" + - + id: "1fc35241-4c8b-420d-803a-9e6661720a05" + type: "shipment" + attributes: + created_at: "2020-07-28T23:12:53Z" + bill_of_lading_number: "TE491846459E" + ref_numbers: [] + shipping_line_scac: "MSCU" + shipping_line_name: "Mediterranean Shipping Company" + port_of_lading_locode: "MXZLO" + port_of_lading_name: "Manzanillo" + port_of_discharge_locode: "USOAK" + port_of_discharge_name: "Port of Oakland" + pod_vessel_name: "MSC CHANNE" + pod_vessel_imo: "9710438" + pod_voyage_number: "098N" + destination_locode: null + destination_name: null + destination_timezone: null + destination_ata_at: null + destination_eta_at: null + pol_etd_at: null + pol_atd_at: "2020-07-15T23:12:53Z" + pol_timezone: "America/Mexico_City" + pod_eta_at: "2020-08-04T23:12:53Z" + pod_ata_at: null + pod_timezone: "America/Los_Angeles" + relationships: + port_of_lading: + data: + id: "06564cb7-77d6-4e0e-8e4a-37756ca21bc9" + type: "port" + port_of_discharge: + data: + id: "f5a8a49f-d8b2-4d2a-8a43-0e4ff0ce7995" + type: "port" + pod_terminal: + data: + id: "06f5d3bb-f258-4f1b-8c2f-db78248f6e29" + type: "terminal" + destination: + data: null + containers: + data: + - + id: "8c2f335a-b155-4021-87f0-9b040159a981" + type: "container" + links: + self: "https://api.terminal49.com/v2/shipments/1fc35241-4c8b-420d-803a-9e6661720a05" + Container Updated Event: + value: + data: + id: "416e293f-4423-47f7-abf3-1ae97054f41f" + type: "webhook_notification" + attributes: + id: "416e293f-4423-47f7-abf3-1ae97054f41f" + event: "container.updated" + delivery_status: "pending" + created_at: "2020-06-04T22:03:09Z" + relationships: + reference_object: + data: + id: "fc48cb10-b7a8-47a4-a12f-89bce7434978" + type: "container_updated_event" + webhook: + data: + id: "cda37836-aa40-455e-8b43-5fd74930c7f6" + type: "webhook" + webhook_notification_logs: + data: [] + included: + - + id: "fc48cb10-b7a8-47a4-a12f-89bce7434978" + type: "container_updated_event" + attributes: + changeset: + available_for_pickup: + - false + - true + pod_terminal_holds: + - null + - + - + name: "customs" + status: "hold" + description: "CUST EXAM" + timestamp: "2020-06-04T22:03:09Z" + timezone: "America/Los_Angeles" + relationships: + container: + data: + id: "1445af31-991c-4d52-a183-6c3ea97cd6e8" + type: "container" + terminal: + data: + id: "07db0258-1911-4acf-8e70-0cfe4b100f80" + type: "terminal" + - + id: "1445af31-991c-4d52-a183-6c3ea97cd6e8" + type: "container" + attributes: + number: "GLDU1355602" + seal_number: "431ac97412228532" + created_at: "2020-05-04T22:03:09Z" + equipment_type: "dry" + equipment_length: 40 + equipment_height: "standard" + weight_in_lbs: 55634 + fees_at_pod_terminal: [] + holds_at_pod_terminal: [] + pickup_lfd: null + availability_known: true + available_for_pickup: null + pod_arrived_at: "2020-06-04T22:03:08Z" + pod_discharged_at: "2020-06-04T22:03:08Z" + final_destination_full_out_at: "2020-06-04T22:03:08Z" + pod_full_out_at: null + empty_terminated_at: null + pod_timezone: "America/Los_Angeles" + final_destination_timezone: null + empty_terminated_timezone: null + relationships: + shipment: + data: null + - + id: "07db0258-1911-4acf-8e70-0cfe4b100f80" + type: "terminal" + attributes: + id: "07db0258-1911-4acf-8e70-0cfe4b100f80" + nickname: "Denesik-Hintz" + name: "Adams LLC Terminal" + firms_code: "E005" + relationships: + port: + data: + id: "d8a92775-95f9-47be-a6d2-42542a32d5fc" + type: "port" + operationId: "get-webhook-notification-id" + description: "\n" + tags: + - "Webhook Notifications" + parameters: + - + schema: + type: "string" + in: "query" + description: "Comma delimited list of relations to include." + name: "include" diff --git a/docs/openapi/paths/webhook-notifications.yaml b/docs/openapi/paths/webhook-notifications.yaml new file mode 100644 index 00000000..68db5f34 --- /dev/null +++ b/docs/openapi/paths/webhook-notifications.yaml @@ -0,0 +1,51 @@ +get: + summary: "List webhook notifications" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + type: "array" + items: + $ref: "#/components/schemas/webhook_notification" + links: + $ref: "#/components/schemas/links" + meta: + $ref: "#/components/schemas/meta" + included: + type: "array" + items: + anyOf: + - + $ref: "#/components/schemas/webhook" + - + $ref: "#/components/schemas/tracking_request" + - + $ref: "#/components/schemas/transport_event" + - + $ref: "#/components/schemas/estimated_event" + operationId: "get-webhook-notifications" + description: "Return the list of webhook notifications. This can be useful for reconciling your data if your endpoint has been down. " + tags: + - "Webhook Notifications" + parameters: + - + schema: + type: "integer" + in: "query" + name: "page[number]" + - + schema: + type: "integer" + in: "query" + name: "page[size]" + - + schema: + type: "string" + in: "query" + name: "include" + description: "Comma delimited list of relations to include." diff --git a/docs/openapi/paths/webhooks-id.yaml b/docs/openapi/paths/webhooks-id.yaml new file mode 100644 index 00000000..f65c44b9 --- /dev/null +++ b/docs/openapi/paths/webhooks-id.yaml @@ -0,0 +1,130 @@ +parameters: + - + schema: + type: "string" + name: "id" + in: "path" + required: true +get: + summary: "Get single webhook" + tags: + - "Webhooks" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/webhook" + operationId: "get-webhooks-id" + description: "Get the details of a single webhook" +patch: + summary: "Edit a webhook" + operationId: "patch-webhooks-id" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/webhook" + description: "Update a single webhook" + tags: + - "Webhooks" + requestBody: + content: + application/json: + schema: + type: "object" + properties: + data: + type: "object" + required: + - "attributes" + - "type" + properties: + attributes: + type: "object" + properties: + url: + type: "string" + example: "https://webhook.site/#!/39084fbb-d887-42e8-be08-b9183ad02362" + format: "uri" + description: "The URL of the webhook endpoint." + events: + type: "array" + description: "The list of events to enable for this endpoint." + uniqueItems: true + minItems: 1 + items: + type: "string" + enum: + - "container.transport.vessel_arrived" + - "container.transport.vessel_discharged" + - "container.transport.vessel_loaded" + - "container.transport.vessel_departed" + - "container.transport.rail_departed" + - "container.transport.rail_arrived" + - "container.transport.rail_loaded" + - "container.transport.rail_unloaded" + - "container.transport.transshipment_arrived" + - "container.transport.transshipment_discharged" + - "container.transport.transshipment_loaded" + - "container.transport.transshipment_departed" + - "container.transport.feeder_arrived" + - "container.transport.feeder_discharged" + - "container.transport.feeder_loaded" + - "container.transport.feeder_departed" + - "container.transport.empty_out" + - "container.transport.full_in" + - "container.transport.full_out" + - "container.transport.empty_in" + - "container.transport.vessel_berthed" + - "shipment.estimated.arrival" + - "tracking_request.succeeded" + - "tracking_request.failed" + - "tracking_request.awaiting_manifest" + - "tracking_request.tracking_stopped" + - "container.created" + - "container.updated" + - "container.pod_terminal_changed" + - "container.transport.arrived_at_inland_destination" + - "container.transport.estimated.arrived_at_inland_destination" + - "container.pickup_lfd.changed" + - "container.transport.available" + active: + type: "boolean" + headers: + type: "array" + description: "Optional custom headers to pass with each webhook invocation" + items: + type: "object" + properties: + name: + type: "string" + description: "The name of the header. (Please not this will be auto-capitalized) " + value: + type: "string" + description: "The value to pass for the header\n" + type: + type: "string" + enum: + - "webhook" + required: + - "data" + examples: {} +delete: + summary: "Delete a webhook" + operationId: "delete-webhooks-id" + responses: + 200: + description: "OK" + description: "Delete a webhook" + tags: + - "Webhooks" diff --git a/docs/openapi/paths/webhooks-ips.yaml b/docs/openapi/paths/webhooks-ips.yaml new file mode 100644 index 00000000..dd00b22c --- /dev/null +++ b/docs/openapi/paths/webhooks-ips.yaml @@ -0,0 +1,31 @@ +get: + summary: "List webhook IPs" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + webhook_notification_ips: + type: "array" + items: + type: "string" + format: "ipv4" + last_updated: + type: "string" + format: "date-time" + examples: + Example List of IPs: + value: + webhook_notification_ips: + - "35.222.62.171" + - "3.230.67.145" + - "44.217.15.129" + last_updated: "2023-10-17T21:23:16Z" + operationId: "get-webhooks-ips" + description: "Return the list of IPs used for sending webhook notifications. This can be useful for whitelisting the IPs on the firewall." + tags: + - "Webhooks" + parameters: [] diff --git a/docs/openapi/paths/webhooks.yaml b/docs/openapi/paths/webhooks.yaml new file mode 100644 index 00000000..6843bf21 --- /dev/null +++ b/docs/openapi/paths/webhooks.yaml @@ -0,0 +1,220 @@ +get: + summary: "List webhooks" + tags: + - "Webhooks" + responses: + 200: + description: "OK" + content: + application/json: + schema: + type: "object" + properties: + data: + type: "array" + items: + $ref: "#/components/schemas/webhook" + meta: + $ref: "#/components/schemas/meta" + links: + $ref: "#/components/schemas/links" + examples: + example-1: + value: + data: + - + id: "497f6eca-6276-4993-bfeb-53cbbbba6f08" + type: "webhook" + attributes: + url: "http://example.com" + active: true + events: + - "tracking_request.succeeded" + secret: "672bd7b58b54645934a830d8fa" + headers: + - + name: "x-secret-sauce" + value: "sriracha" + meta: + size: 0 + total: 0 + links: + last: "http://example.com" + next: "http://example.com" + prev: "http://example.com" + first: "http://example.com" + self: "http://example.com" + operationId: "get-webhooks" + description: "Get a list of all the webhooks" + parameters: + - + schema: + type: "integer" + in: "query" + name: "page[number]" + - + schema: + type: "integer" + in: "query" + name: "page[size]" +post: + summary: "Create a webhook" + operationId: "post-webhooks" + tags: + - "Webhooks" + description: "You can configure a webhook via the API to be notified about events that happen in your Terminal49 account. These events can be realted to tracking_requests, shipments and containers. \n\nThis is the recommended way tracking shipments and containers via the API. You should use this instead of polling our the API periodically. " + requestBody: + content: + application/json: + schema: + type: "object" + properties: + data: + type: "object" + required: + - "attributes" + - "type" + properties: + attributes: + type: "object" + required: + - "url" + - "active" + properties: + url: + type: "string" + example: "https://webhook.site/#!/39084fbb-d887-42e8-be08-b9183ad02362" + format: "uri" + description: "The URL of the webhook endpoint." + events: + type: "array" + uniqueItems: true + description: "The list of events to enable for this endpoint." + minItems: 1 + items: + type: "string" + enum: + - "container.transport.vessel_arrived" + - "container.transport.vessel_discharged" + - "container.transport.vessel_loaded" + - "container.transport.vessel_departed" + - "container.transport.rail_departed" + - "container.transport.rail_arrived" + - "container.transport.rail_loaded" + - "container.transport.rail_unloaded" + - "container.transport.transshipment_arrived" + - "container.transport.transshipment_discharged" + - "container.transport.transshipment_loaded" + - "container.transport.transshipment_departed" + - "container.transport.feeder_arrived" + - "container.transport.feeder_discharged" + - "container.transport.feeder_loaded" + - "container.transport.feeder_departed" + - "container.transport.empty_out" + - "container.transport.full_in" + - "container.transport.full_out" + - "container.transport.empty_in" + - "container.transport.vessel_berthed" + - "shipment.estimated.arrival" + - "tracking_request.succeeded" + - "tracking_request.failed" + - "tracking_request.awaiting_manifest" + - "tracking_request.tracking_stopped" + - "container.created" + - "container.updated" + - "container.pod_terminal_changed" + - "container.transport.arrived_at_inland_destination" + - "container.transport.estimated.arrived_at_inland_destination" + - "container.pickup_lfd.changed" + - "container.transport.available" + example: "tracking_request.succeeded" + active: + type: "boolean" + headers: + type: "array" + description: "Optional custom headers to pass with each webhook invocation" + items: + type: "object" + properties: + name: + type: "string" + description: "The name of the header. (Please note this will be auto-capitalized) " + value: + type: "string" + description: "The value to pass for the header\n" + type: + type: "string" + enum: + - "webhook" + required: + - "data" + examples: + Test Webhook (all events): + value: + data: + attributes: + url: "https://webhook.site/" + events: + - "container.transport.vessel_arrived" + - "container.transport.vessel_discharged" + - "container.transport.vessel_loaded" + - "container.transport.vessel_departed" + - "container.transport.rail_departed" + - "container.transport.rail_arrived" + - "container.transport.rail_loaded" + - "container.transport.rail_unloaded" + - "container.transport.transshipment_arrived" + - "container.transport.transshipment_discharged" + - "container.transport.transshipment_loaded" + - "container.transport.transshipment_departed" + - "container.transport.feeder_arrived" + - "container.transport.feeder_discharged" + - "container.transport.feeder_loaded" + - "container.transport.feeder_departed" + - "container.transport.empty_out" + - "container.transport.full_in" + - "container.transport.full_out" + - "container.transport.empty_in" + - "container.transport.vessel_berthed" + - "shipment.estimated.arrival" + - "tracking_request.succeeded" + - "tracking_request.failed" + - "tracking_request.awaiting_manifest" + - "tracking_request.tracking_stopped" + - "container.created" + - "container.updated" + - "container.pod_terminal_changed" + - "container.transport.arrived_at_inland_destination" + - "container.transport.estimated.arrived_at_inland_destination" + - "container.pickup_lfd.changed" + - "container.transport.available" + active: true + type: "webhook" + description: "" + responses: + 201: + description: "Create a test webhook endpoint" + content: + application/json: + schema: + type: "object" + properties: + data: + $ref: "#/components/schemas/webhook" + examples: + Test Endpoint Created: + value: + data: + type: "webhook" + id: "9809fb96-7754-488f-99df-29ca8d410d89" + attributes: + url: "https://webhook.site/" + active: true + events: + - "tracking_request.succeeded" + secret: "C193J3QOXMFH" + created_at: "2020-06-05T19:06:13Z" + application/xml: + schema: + $ref: "#/components/schemas/webhook" +parameters: [] diff --git a/justfile b/justfile new file mode 100644 index 00000000..b8eca73f --- /dev/null +++ b/justfile @@ -0,0 +1,210 @@ +# Terminal49 API Documentation - Task Runner +# Usage: just +# List all commands: just --list + +# Default: show available commands +default: + @just --list + +# ======================================== +# OpenAPI Bundling (Python - Production) +# ======================================== + +# Bundle OpenAPI using Python (production method, used in CI) +bundle: + @echo "🔄 Bundling with Python..." + python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json + @echo "✅ Bundle complete" + +# Bundle without schema validation (faster, use with caution) +bundle-fast: + @echo "🔄 Bundling without validation..." + python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json --no-validate + @echo "✅ Bundle complete (validation skipped)" + +# ======================================== +# Linting & Validation +# ======================================== + +# Lint OpenAPI with Mintlify CLI +lint: + @echo "🔄 Ensuring OpenAPI bundle is up to date..." + @just bundle-fast + @echo "🔍 Linting OpenAPI with Mintlify CLI..." + npx -y mintlify openapi-check docs/openapi.json + +# ======================================== +# Testing +# ======================================== + +# Run OpenAPI bundle regression test +test: + @echo "🧪 Running bundle regression test..." + python -m unittest tests.test_openapi_bundle + +# Validate everything (bundle + lint + test) +validate: bundle lint test + @echo "✅ All validations passed" + +# Full validation (kept for backwards compatibility) +validate-full: + @just validate + @echo "✅ All validations passed (full)" + +# ======================================== +# Development Workflow +# ======================================== + +# Watch for changes and auto-bundle (requires Bun + chokidar) +watch: + @echo "👀 Watching docs/openapi/**/*.yaml for changes..." + @echo "Press Ctrl+C to stop" + bun run watch + +# ======================================== +# Documentation Preview +# ======================================== + +# Preview full docs with Mintlify (includes MDX content) +preview-mintlify: + @echo "📦 Ensuring OpenAPI bundle is up to date..." + @just bundle-fast + @echo "📚 Starting Mintlify dev server..." + @echo "Opens at http://localhost:3000" + @echo "Mintlify will use docs/openapi.json" + cd docs && npx -y mintlify dev + +# Bundle, lint, then preview with Mintlify +dev: bundle lint preview-mintlify + +# Bundle, validate, then preview with Mintlify (thorough) +dev-full: validate preview-mintlify + +# ======================================== +# Git Hooks +# ======================================== + +# Install pre-commit hook +install-hooks: + @echo "🪝 Installing pre-commit hook..." + cp scripts/pre-commit.sh .git/hooks/pre-commit + chmod +x .git/hooks/pre-commit + @echo "✅ Pre-commit hook installed" + +# Uninstall pre-commit hook +uninstall-hooks: + @echo "🗑️ Removing pre-commit hook..." + rm -f .git/hooks/pre-commit + @echo "✅ Pre-commit hook removed" + +# ======================================== +# Setup & Dependencies +# ======================================== + +# Setup development environment (Python + Bun + hooks) +setup: + @echo "🚀 Setting up development environment..." + @echo "" + @echo "🛠️ Installing toolchain with mise..." + mise install + @echo "" + @if command -v uv >/dev/null 2>&1; then \ + echo "🐍 Installing Python deps with uv..."; \ + uv pip install --upgrade --quiet -r requirements-dev.txt; \ + else \ + echo "🐍 Installing Python deps with pip..."; \ + python -m pip install --upgrade --quiet -r requirements-dev.txt; \ + fi + @echo "" + @echo "📦 Installing Bun dependencies..." + bun install + @echo "" + @echo "🪝 Installing pre-commit hook..." + @just install-hooks + @echo "" + @echo "✅ Setup complete!" + @echo "" + @echo "Try these commands:" + @echo " just bundle - Bundle with Python (production)" + @echo " just lint - Lint with Mintlify CLI" + @echo " just watch - Auto-bundle on file changes" + @echo " just preview-mintlify - Preview docs locally" + +# Install Bun dependencies +install: + @echo "📦 Installing Bun dependencies..." + bun install + +# Update dependencies +update: + @echo "⬆️ Updating dependencies..." + bun update + +# ======================================== +# Utilities +# ======================================== + +# Split a monolithic openapi.json back into modular files (destructive!) +split: + @echo "⚠️ This will overwrite existing YAML files!" + @echo "Press Ctrl+C to cancel, or Enter to continue..." + @read + python scripts/split_openapi.py + @echo "✅ Split complete" + +# Clean generated files +clean: + @echo "🧹 Cleaning generated files..." + rm -f docs/openapi-dereferenced.json + @echo "✅ Clean complete" + +# Format YAML files (requires prettier) +format: + @echo "💅 Formatting YAML files..." + bunx prettier --write "docs/openapi/**/*.yaml" + +# Check YAML formatting +format-check: + @echo "🔍 Checking YAML formatting..." + bunx prettier --check "docs/openapi/**/*.yaml" + +# ======================================== +# CI/CD Simulation +# ======================================== + +# Simulate CI workflow +ci: bundle lint test + @echo "✅ CI workflow passed" + +# Generate Postman collection (used in GitHub Actions) +postman: + @echo "📮 Generating Postman collection..." + openapi2postmanv2 -s docs/openapi.json -o Terminal49-API.postman_collection.json -p -O folderStrategy=Tags + @echo "✅ Postman collection generated" + +# ======================================== +# Help & Documentation +# ======================================== + +# Show detailed help +help: + @echo "Terminal49 API Documentation - Task Runner" + @echo "" + @echo "🚀 Quick Start:" + @echo " just dev - Bundle + lint + preview with Mintlify" + @echo " just setup - First-time setup (install deps + hooks)" + @echo "" + @echo "📦 Building:" + @echo " just bundle - Bundle OpenAPI with Python (production)" + @echo " just validate - Bundle + lint + test" + @echo "" + @echo "👀 Development:" + @echo " just watch - Auto-bundle on file changes" + @echo " just preview-mintlify - Preview full docs with Mintlify" + @echo "" + @echo "🔍 Quality:" + @echo " just lint - Lint with Mintlify CLI" + @echo " just test - Run regression tests" + @echo "" + @echo "For full command list: just --list" + @echo "For justfile documentation: cat justfile" diff --git a/package.json b/package.json new file mode 100644 index 00000000..0257c019 --- /dev/null +++ b/package.json @@ -0,0 +1,28 @@ +{ + "name": "terminal49-api-docs", + "version": "1.0.0", + "private": true, + "description": "Terminal49 API documentation with modular OpenAPI specifications", + "scripts": { + "bundle": "python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json", + "lint": "python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json --no-validate && mintlify openapi-check docs/openapi.json", + "validate": "bun run bundle && bun run lint && python -m unittest tests.test_openapi_bundle", + "watch": "chokidar 'docs/openapi/**/*.yaml' -c 'python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json --no-validate' --initial", + "preview:mintlify": "mintlify dev" + }, + "devDependencies": { + "chokidar-cli": "^3.0.0", + "mintlify": "^4.0.0" + }, + "engines": { + "node": ">=18.0.0", + "bun": ">=1.0.0" + }, + "keywords": [ + "openapi", + "api-documentation", + "terminal49", + "shipping", + "container-tracking" + ] +} diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 00000000..90348139 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1 @@ +PyYAML>=6.0,<7.0 diff --git a/scripts/pre-commit.sh b/scripts/pre-commit.sh new file mode 100644 index 00000000..9aa88d89 --- /dev/null +++ b/scripts/pre-commit.sh @@ -0,0 +1,75 @@ +#!/usr/bin/env bash +# Pre-commit hook for OpenAPI bundling +# This ensures the bundled openapi.json is always in sync with the modular YAML sources + +set -e + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Resolve a Python runtime (python, python3, or mise-managed) +run_python() { + if command -v python >/dev/null 2>&1; then + python "$@" + elif command -v python3 >/dev/null 2>&1; then + python3 "$@" + elif command -v mise >/dev/null 2>&1; then + mise exec -- python "$@" + else + echo -e "${RED}❌ No Python interpreter found. Install one via mise (just setup) or add python to PATH.${NC}" + exit 1 + fi +} + +# Check if any OpenAPI YAML files were modified +if git diff --cached --name-only | grep -q "^docs/openapi/.*\.yaml$"; then + echo -e "${YELLOW}🔄 OpenAPI YAML files changed, regenerating bundle...${NC}" + + # Run the bundler + if run_python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json; then + echo -e "${GREEN}✅ Bundle regenerated successfully${NC}" + + # Check if the bundle changed + if git diff --name-only docs/openapi.json | grep -q "openapi.json"; then + echo -e "${YELLOW}📝 Staging updated openapi.json${NC}" + git add docs/openapi.json + echo -e "${GREEN}✅ Updated openapi.json staged for commit${NC}" + else + echo -e "${GREEN}✅ Bundle is already up to date${NC}" + fi + else + echo -e "${RED}❌ Failed to regenerate bundle${NC}" + echo -e "${RED}Please fix the errors above and try again${NC}" + exit 1 + fi +fi + +# Check that openapi.json is in sync (extra safety check) +if git diff --cached --name-only | grep -q "^docs/openapi.json$"; then + # If openapi.json is being committed, verify it matches the bundle + echo -e "${YELLOW}🔍 Verifying openapi.json is in sync...${NC}" + + # Create a temp file with the freshly bundled version + TEMP_BUNDLE=$(mktemp) + run_python -m tools.openapi_bundle docs/openapi/index.yaml "$TEMP_BUNDLE" 2>/dev/null || { + echo -e "${RED}❌ Failed to create verification bundle${NC}" + rm -f "$TEMP_BUNDLE" + exit 1 + } + + # Compare the staged version with the freshly bundled version + if ! diff -q docs/openapi.json "$TEMP_BUNDLE" > /dev/null 2>&1; then + echo -e "${RED}❌ openapi.json is out of sync with YAML sources!${NC}" + echo -e "${YELLOW}Run: python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json${NC}" + rm -f "$TEMP_BUNDLE" + exit 1 + fi + + rm -f "$TEMP_BUNDLE" + echo -e "${GREEN}✅ openapi.json is in sync${NC}" +fi + +exit 0 diff --git a/scripts/split_openapi.py b/scripts/split_openapi.py new file mode 100644 index 00000000..d554ebb8 --- /dev/null +++ b/scripts/split_openapi.py @@ -0,0 +1,114 @@ +from __future__ import annotations + +import json +import re +from pathlib import Path +from typing import Dict + +import sys + +sys.path.append(str(Path(__file__).resolve().parents[1])) + +from tools.openapi_yaml import write_yaml + + +ROOT = Path(__file__).resolve().parents[1] +OPENAPI_JSON = ROOT / "docs" / "openapi.json" +OPENAPI_ROOT = ROOT / "docs" / "openapi" +PATHS_DIR = OPENAPI_ROOT / "paths" +SCHEMAS_DIR = OPENAPI_ROOT / "components" / "schemas" +SECURITY_DIR = OPENAPI_ROOT / "components" / "securitySchemes" + + +def _slugify(value: str) -> str: + value = value.strip().lower() + value = re.sub(r"[^a-z0-9]+", "-", value) + value = re.sub(r"-+", "-", value).strip("-") + return value or "root" + + +def _path_filename(path: str, existing: Dict[str, int]) -> str: + base = _slugify(path.replace("{", "").replace("}", "").replace("/", "-")) + count = existing.get(base, 0) + existing[base] = count + 1 + if count: + return f"{base}-{count+1}.yaml" + return f"{base}.yaml" + + +def _component_filename(name: str, existing: Dict[str, int]) -> str: + base = _slugify(name) + count = existing.get(base, 0) + existing[base] = count + 1 + if count: + return f"{base}-{count+1}.yaml" + return f"{base}.yaml" + + +def split() -> None: + data = json.loads(OPENAPI_JSON.read_text()) + + OPENAPI_ROOT.mkdir(parents=True, exist_ok=True) + PATHS_DIR.mkdir(parents=True, exist_ok=True) + SCHEMAS_DIR.mkdir(parents=True, exist_ok=True) + SECURITY_DIR.mkdir(parents=True, exist_ok=True) + + path_files: Dict[str, str] = {} + path_counts: Dict[str, int] = {} + for route, definition in data.get("paths", {}).items(): + filename = _path_filename(route, path_counts) + write_yaml(PATHS_DIR / filename, definition) + path_files[route] = filename + + schema_files: Dict[str, str] = {} + schema_counts: Dict[str, int] = {} + for name, definition in data.get("components", {}).get("schemas", {}).items(): + filename = _component_filename(name, schema_counts) + write_yaml(SCHEMAS_DIR / filename, definition) + schema_files[name] = filename + + security_files: Dict[str, str] = {} + security_counts: Dict[str, int] = {} + for name, definition in data.get("components", {}).get("securitySchemes", {}).items(): + filename = _component_filename(name, security_counts) + write_yaml(SECURITY_DIR / filename, definition) + security_files[name] = filename + + index: Dict[str, object] = { + "openapi": data.get("openapi"), + "info": data.get("info"), + } + if data.get("servers"): + index["servers"] = data["servers"] + if data.get("tags"): + index["tags"] = data["tags"] + if data.get("security"): + index["security"] = data["security"] + if data.get("x-tagGroups"): + index["x-tagGroups"] = data["x-tagGroups"] + + index_paths = {} + for route, filename in path_files.items(): + index_paths[route] = {"$ref": f"./paths/{filename}"} + if index_paths: + index["paths"] = index_paths + + components: Dict[str, Dict[str, Dict[str, str]]] = {} + if schema_files: + components["schemas"] = { + name: {"$ref": f"./components/schemas/{filename}"} + for name, filename in schema_files.items() + } + if security_files: + components["securitySchemes"] = { + name: {"$ref": f"./components/securitySchemes/{filename}"} + for name, filename in security_files.items() + } + if components: + index["components"] = components + + write_yaml(OPENAPI_ROOT / "index.yaml", index) + + +if __name__ == "__main__": + split() diff --git a/tests/test_openapi_bundle.py b/tests/test_openapi_bundle.py new file mode 100644 index 00000000..4642d31c --- /dev/null +++ b/tests/test_openapi_bundle.py @@ -0,0 +1,19 @@ +from __future__ import annotations + +import json +from pathlib import Path +import unittest + +from tools.openapi_bundle import bundle_openapi + + +class OpenAPIBundleTest(unittest.TestCase): + def test_bundle_matches_single_file_spec(self) -> None: + root = Path(__file__).resolve().parents[1] + bundled = bundle_openapi(root / "docs" / "openapi" / "index.yaml") + single = json.loads((root / "docs" / "openapi.json").read_text()) + self.assertEqual(single, bundled) + + +if __name__ == "__main__": + unittest.main() diff --git a/tools/__init__.py b/tools/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tools/openapi_bundle.py b/tools/openapi_bundle.py new file mode 100644 index 00000000..44d2a2c9 --- /dev/null +++ b/tools/openapi_bundle.py @@ -0,0 +1,199 @@ +from __future__ import annotations + +from pathlib import Path +from typing import Any, Dict, Tuple +import yaml + + +def load_yaml(source: Path) -> Any: + """Load YAML from a file using the standard library parser.""" + with open(source, 'r', encoding='utf-8') as f: + return yaml.safe_load(f) + + +class BundleError(RuntimeError): + """Raised when a referenced document cannot be resolved.""" + + +class ValidationError(RuntimeError): + """Raised when schema validation fails.""" + + +def _split_ref(ref: str) -> Tuple[str, str | None]: + if "#" in ref: + path, fragment = ref.split("#", 1) + return path, fragment or None + return ref, None + + +def _resolve(value: Any, current_file: Path, stack: set[Tuple[Path, str | None]]) -> Any: + if isinstance(value, dict): + if set(value.keys()) == {"$ref"}: + ref = value["$ref"] + if not ref or ref.startswith("#") or "://" in ref: + return value + target_path, fragment = _split_ref(ref) + target_file = (current_file.parent / target_path).resolve() + if not target_file.exists(): + # Enhanced error message with helpful context + rel_path = target_file.relative_to(current_file.parent.parent) if target_file.is_relative_to(current_file.parent.parent) else target_file + current_rel = current_file.relative_to(current_file.parent.parent) if current_file.is_relative_to(current_file.parent.parent) else current_file + + error_msg = [ + f"Referenced file not found: {ref}", + f" Referenced from: {current_rel}", + f" Looking for: {rel_path}", + f" Resolved path: {target_file}", + f"", + f"💡 Tips:", + f" - Check if the path is correct relative to {current_file.parent}", + f" - Verify the file exists in your working directory", + f" - Make sure the filename and extension match exactly (case-sensitive)", + ] + raise BundleError("\n".join(error_msg)) + key = (target_file, fragment) + if key in stack: + # Show the circular reference chain + chain = [str(f.relative_to(current_file.parent.parent) if f.is_relative_to(current_file.parent.parent) else f) for f, _ in stack] + chain.append(str(target_file.relative_to(current_file.parent.parent) if target_file.is_relative_to(current_file.parent.parent) else target_file)) + error_msg = [ + f"Circular $ref detected: {ref}", + f"", + f"Reference chain:", + ] + [f" {i+1}. {path}" for i, path in enumerate(chain)] + raise BundleError("\n".join(error_msg)) + data = load_yaml(target_file) + resolved = _resolve(data, target_file, stack | {key}) + if fragment: + fragment = fragment.lstrip("/") + original_resolved = resolved + parts = fragment.split("/") + for i, part in enumerate(parts): + if part: + if isinstance(resolved, dict) and part in resolved: + resolved = resolved[part] + else: + # Enhanced fragment error with available keys + available = list(resolved.keys())[:10] if isinstance(resolved, dict) else [] + error_msg = [ + f"Fragment '{fragment}' not found in {ref}", + f" Looking for: {part}", + f" At path: {'/' + '/'.join(parts[:i]) if i > 0 else '(root)'}", + ] + if available: + error_msg.append(f"") + error_msg.append(f"Available keys at this level:") + for key in available: + error_msg.append(f" - {key}") + if len(resolved.keys()) > 10: + error_msg.append(f" ... and {len(resolved.keys()) - 10} more") + raise BundleError("\n".join(error_msg)) + return _resolve(resolved, target_file, stack | {key}) + normalized: Dict[str, Any] = {} + for k, v in value.items(): + key = k if isinstance(k, str) else str(k) + normalized[key] = _resolve(v, current_file, stack) + return normalized + if isinstance(value, list): + return [_resolve(item, current_file, stack) for item in value] + return value + + +def _validate_schema_file(path: Path, data: Any) -> None: + """Validate that a schema file has the expected structure.""" + if not isinstance(data, dict): + raise ValidationError( + f"Schema file must be a dictionary: {path}\n" + f" Got: {type(data).__name__}" + ) + + # Check if it's a $ref-only file (which is valid) + if set(data.keys()) == {"$ref"}: + return + + # Check if it has at least one of the expected schema fields + expected_fields = {"type", "properties", "anyOf", "oneOf", "allOf", "$ref", "enum"} + if not any(field in data for field in expected_fields): + error_msg = [ + f"Schema file appears to be missing expected fields: {path}", + f"", + f"Expected at least one of: {', '.join(sorted(expected_fields))}", + f"Found keys: {', '.join(sorted(data.keys()))}", + f"", + f"💡 Tip: Schema files should define a type structure or reference another schema", + ] + raise ValidationError("\n".join(error_msg)) + + +def bundle_openapi(root: Path, validate_schemas: bool = True) -> Dict[str, Any]: + """ + Bundle a multi-file OpenAPI specification into a single document. + + Args: + root: Path to the root OpenAPI YAML file + validate_schemas: If True, validate schema files before bundling + + Returns: + The bundled OpenAPI document as a dictionary + + Raises: + BundleError: If a referenced file cannot be resolved or circular refs detected + ValidationError: If schema validation fails + """ + document = load_yaml(root) + + # Optionally validate schema files before bundling + if validate_schemas: + schemas_dir = root.parent / "components" / "schemas" + if schemas_dir.exists(): + for schema_file in schemas_dir.glob("*.yaml"): + try: + schema_data = load_yaml(schema_file) + _validate_schema_file(schema_file, schema_data) + except ValidationError: + raise + except Exception as e: + raise ValidationError( + f"Failed to validate schema file: {schema_file}\n" + f" Error: {e}" + ) + + return _resolve(document, root.resolve(), set()) + + +def write_bundle(source: Path, destination: Path, validate_schemas: bool = True) -> None: + import json + + bundled = bundle_openapi(source, validate_schemas=validate_schemas) + destination.write_text(json.dumps(bundled, indent=2, sort_keys=False) + "\n") + + +def main() -> None: + import argparse + + parser = argparse.ArgumentParser( + description="Bundle a multi-file OpenAPI spec into a single JSON document", + epilog="Example: python -m tools.openapi_bundle docs/openapi/index.yaml docs/openapi.json" + ) + parser.add_argument("source", type=Path, help="Path to the root OpenAPI YAML file") + parser.add_argument("destination", type=Path, help="Where to write the bundled JSON output") + parser.add_argument( + "--no-validate", + action="store_true", + help="Skip schema validation before bundling" + ) + args = parser.parse_args() + + try: + write_bundle(args.source, args.destination, validate_schemas=not args.no_validate) + print(f"✅ Successfully bundled {args.source} → {args.destination}") + except (BundleError, ValidationError) as e: + print(f"❌ Error: {e}", file=__import__('sys').stderr) + exit(1) + except Exception as e: + print(f"❌ Unexpected error: {e}", file=__import__('sys').stderr) + exit(1) + + +if __name__ == "__main__": + main() diff --git a/tools/openapi_yaml.py b/tools/openapi_yaml.py new file mode 100644 index 00000000..9dc8c542 --- /dev/null +++ b/tools/openapi_yaml.py @@ -0,0 +1,200 @@ +from __future__ import annotations + +from dataclasses import dataclass +from pathlib import Path +from typing import Any, List, Tuple +import json + + +class YamlError(RuntimeError): + """Raised when the lightweight YAML parser encounters invalid syntax.""" + + +def _needs_quotes(value: str) -> bool: + if value == "" or value.strip() != value: + return True + if value.lower() in {"null", "true", "false"}: + return True + if value and value[0] in "-?:[]{}#&,*!|>'\"%@`": + return True + return any(ch in value for ch in ":#{}[]\n\r\t") + + +def _format_key(key: str) -> str: + if _needs_quotes(key): + return json.dumps(key) + return key + + +def _format_scalar(value: Any) -> str: + if value is None: + return "null" + if isinstance(value, bool): + return "true" if value else "false" + if isinstance(value, (int, float)): + return str(value) + if isinstance(value, str): + return json.dumps(value) + raise TypeError(f"Unsupported scalar type: {type(value)!r}") + + +def dump_yaml(data: Any, indent: int = 0) -> str: + prefix = " " * indent + if isinstance(data, dict): + lines: List[str] = [] + for key, value in data.items(): + if not isinstance(key, str): + raise TypeError("Dictionary keys must be strings") + formatted_key = _format_key(key) + if isinstance(value, dict): + if value: + lines.append(f"{prefix}{formatted_key}:") + lines.append(dump_yaml(value, indent + 1)) + else: + lines.append(f"{prefix}{formatted_key}: {{}}") + elif isinstance(value, list): + if value: + lines.append(f"{prefix}{formatted_key}:") + lines.append(dump_yaml(value, indent + 1)) + else: + lines.append(f"{prefix}{formatted_key}: []") + else: + lines.append(f"{prefix}{formatted_key}: {_format_scalar(value)}") + return "\n".join(lines) if lines else f"{prefix}{{}}" + if isinstance(data, list): + lines = [] + for item in data: + if isinstance(item, (dict, list)): + lines.append(f"{prefix}-") + lines.append(dump_yaml(item, indent + 1)) + else: + lines.append(f"{prefix}- {_format_scalar(item)}") + return "\n".join(lines) if lines else f"{prefix}[]" + return f"{prefix}{_format_scalar(data)}" + + +@dataclass +class _Line: + indent: int + content: str + + +def _tokenize(text: str) -> List[_Line]: + lines: List[_Line] = [] + for raw in text.splitlines(): + if not raw.strip(): + continue + stripped = raw.lstrip(" ") + if not stripped or stripped.startswith("#"): + continue + indent = (len(raw) - len(stripped)) + if indent % 2: + raise YamlError("Indentation must be multiples of two spaces") + lines.append(_Line(indent // 2, stripped)) + return lines + + +def _parse_value(token: str) -> Any: + if not token: + return None + if token == "null": + return None + if token == "true": + return True + if token == "false": + return False + if token == "[]": + return [] + if token == "{}": + return {} + if token.startswith('"') and token.endswith('"'): + return json.loads(token) + try: + if "." in token or "e" in token or "E" in token: + return float(token) + return int(token) + except ValueError: + return token + + +def _split_mapping_line(content: str) -> Tuple[str, str]: + in_quotes = False + escape = False + for idx, ch in enumerate(content): + if escape: + escape = False + continue + if ch == '\\': + escape = True + continue + if ch == '"': + in_quotes = not in_quotes + continue + if ch == ':' and not in_quotes: + return content[:idx], content[idx + 1 :] + raise YamlError(f"Missing ':' in mapping line: {content}") + + +def _parse_block(lines: List[_Line], index: int, indent: int) -> Tuple[Any, int]: + items: List[Any] = [] + mapping: dict[str, Any] = {} + mode: str | None = None # "list" or "map" + + while index < len(lines): + line = lines[index] + if line.indent < indent: + break + if line.indent > indent: + raise YamlError(f"Unexpected indentation before: {line.content}") + + content = line.content + index += 1 + + if content.startswith("- ") or content == "-": + if mode == "map": + raise YamlError("Cannot mix list and map entries at the same level") + mode = "list" + if content == "-": + value, index = _parse_block(lines, index, indent + 1) + else: + value = _parse_value(content[2:].strip()) + items.append(value) + continue + + if ":" not in content: + raise YamlError(f"Missing ':' in mapping line: {content}") + if mode == "list": + raise YamlError("Cannot mix list and map entries at the same level") + mode = "map" + key, rest = _split_mapping_line(content) + key = key.strip() + if key.startswith('"') and key.endswith('"'): + key = json.loads(key) + rest = rest.strip() + if rest: + value = _parse_value(rest) + else: + value, index = _parse_block(lines, index, indent + 1) + mapping[key] = value + + if mode is None: + return {}, index + if mode == "list": + return items, index + return mapping, index + + +def load_yaml(source: Path | str) -> Any: + if isinstance(source, Path): + text = source.read_text() + else: + text = str(source) + lines = _tokenize(text) + value, index = _parse_block(lines, 0, 0) + if index != len(lines): + raise YamlError("Unexpected trailing content") + return value + + +def write_yaml(path: Path, data: Any) -> None: + path.write_text(dump_yaml(data) + "\n")