diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index b39bced4..e0b960be 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -4,9 +4,10 @@ on:
push:
branches: [main]
paths:
- - 'docs/**'
- 'versioned_docs/**'
- 'src/**'
+ - 'api-docs/**'
+ - 'static/**'
- 'blog/**'
workflow_dispatch:
@@ -21,7 +22,7 @@ jobs:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
- node-version: 21
+ node-version: 24
cache: yarn
- name: Build website
run: |
diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml
index d977a149..0528f1f6 100644
--- a/.github/workflows/test-deploy.yml
+++ b/.github/workflows/test-deploy.yml
@@ -4,9 +4,11 @@ on:
pull_request:
branches: [main, development]
paths:
- - 'docs/**'
- 'versioned_docs/**'
- 'src/**'
+ - 'api-docs/**'
+ - 'static/**'
+ - 'blog/**'
workflow_dispatch:
jobs:
@@ -17,7 +19,7 @@ jobs:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
- node-version: 21
+ node-version: 24
cache: yarn
- name: Test build
run: |
diff --git a/readme.md b/README.md
similarity index 100%
rename from readme.md
rename to README.md
diff --git a/api-docs/clear-all-user-notifications.ParamsDetails.json b/api-docs/clear-all-user-notifications.ParamsDetails.json
new file mode 100644
index 00000000..c843d493
--- /dev/null
+++ b/api-docs/clear-all-user-notifications.ParamsDetails.json
@@ -0,0 +1 @@
+{"parameters":[{"in":"path","name":"user_id","description":"The ID of the user.","example":1,"required":true,"schema":{"type":"integer"}}]}
\ No newline at end of file
diff --git a/api-docs/clear-all-user-notifications.RequestSchema.json b/api-docs/clear-all-user-notifications.RequestSchema.json
new file mode 100644
index 00000000..c96bcede
--- /dev/null
+++ b/api-docs/clear-all-user-notifications.RequestSchema.json
@@ -0,0 +1 @@
+{"title":"Body"}
\ No newline at end of file
diff --git a/api-docs/clear-all-user-notifications.StatusCodes.json b/api-docs/clear-all-user-notifications.StatusCodes.json
new file mode 100644
index 00000000..06ec7f59
--- /dev/null
+++ b/api-docs/clear-all-user-notifications.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"message":"All notifications deleted successfully","meta":{"deleted_count":10}},"properties":{"message":{"type":"string","example":"All notifications deleted successfully"},"meta":{"type":"object","properties":{"deleted_count":{"type":"integer","example":10}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/clear-all-user-notifications.api.mdx b/api-docs/clear-all-user-notifications.api.mdx
new file mode 100644
index 00000000..4f6ddd4d
--- /dev/null
+++ b/api-docs/clear-all-user-notifications.api.mdx
@@ -0,0 +1,69 @@
+---
+id: clear-all-user-notifications
+title: "Clear all user notifications"
+description: ""
+sidebar_label: "Clear all user notifications"
+hide_title: true
+hide_table_of_contents: true
+api: eJyNVMFu2zAM/RWBpw0QknRH34K2hwDDUGztYSiCQpGZWJ0sqRLdNTD07wNlJ3WSolgujkSRfHx8ZA8+YFRkvFvVUIG2qOLS2oeE8YcnszW6GBNIqDHpaAIfoQKQEFRULRLGBNVjD4avg6IGJDjVIlTQJYxPpr5wvm9QrG6E3wpqUPCrGUjAN9UGi1BdSYj40pmINVQUO5SQdIOtgqoH2gcObRzhDiPkvObXKXiXMPGDb4sFfy7gau8IHbFNhWDHyubPiR/0lxn85hk1TXH10GJKasfWpbXCTRkSNVokrEXqtMaUtp21e5DQIqkBTzE/ad8xiKtFzhJCZP7JDMiP0Y8YEkXjdlMM/5s4v2c+r+c06RmuC4KnfVnkw08CqR33HU5lsi5pG89iGiIXoVADFcxVMPMT6PN+VEgGCQnj60FLXbRQQR+iJ6+9zdV83te+VcblCzH99l0Ud8qhFSuXSFlbgoOEVxWN2tihzkOsoeat6ixBBQ1RYHGj61quhs8gx+t1ljBkPXUKnGw20jLTvv1Q4IOn+NtgRLFnkMVPmCTMgBNryEW/CXUXDe1L7cc8j+up7Rfr89Cy8cWxWSPsomE+b1DF0ruzKeDGGbf1xdVQEdQ1RVvom+12Ynm3Ejdedy06OtB4MUncpuFwNVvMFqy14BO1qvA0zv41rxKhrC3zfSrZ86D9+3By/LEowjeaB8v0ZzlIoh+19AgqGN4zZ1Grw8ZZS2h8YhKh7zcq4UO0OfP1S4eRiV6/62Og3ST+X0O1VTbhJwi//ByX01fx8SL7EP94qdy+KNN2OBT7B/eTTZlZcw2qGmNBNViXWmOgid/FAsvTwbu5/X57fws5/wP1bgeO
+sidebar_class_name: "delete api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+
| + Security Scheme Type: + | + http + | +
|---|---|
| + HTTP Authorization Scheme: + | + bearer + | +
servers.user, eggs.nest, nodes.location","example":"servers.user","required":false,"schema":{"type":"string","description":"Comma-separated list of related resources to include. servers.user, eggs.nest, nodes.location","example":"servers.user"}},{"in":"query","name":"filter[name]","description":"Filter results by name","example":null,"required":false,"schema":{"type":"string","description":"Filter results by name","example":null}},{"in":"query","name":"filter[description]","description":"Filter results by description","example":null,"required":false,"schema":{"type":"string","description":"Filter results by description","example":null}},{"in":"query","name":"filter[price]","description":"Filter results by price","example":null,"required":false,"schema":{"type":"string","description":"Filter results by price","example":null}},{"in":"path","name":"id","description":"The ID of the product.","example":"architecto","required":true,"schema":{"type":"string"}}]}
\ No newline at end of file
diff --git a/api-docs/get-product-details.RequestSchema.json b/api-docs/get-product-details.RequestSchema.json
new file mode 100644
index 00000000..c96bcede
--- /dev/null
+++ b/api-docs/get-product-details.RequestSchema.json
@@ -0,0 +1 @@
+{"title":"Body"}
\ No newline at end of file
diff --git a/api-docs/get-product-details.StatusCodes.json b/api-docs/get-product-details.StatusCodes.json
new file mode 100644
index 00000000..33896ab6
--- /dev/null
+++ b/api-docs/get-product-details.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":"vY8xK9pZ","name":"Medium Minecraft","description":"Perfect for your SMP with friends","price":"10.00","memory":4096,"cpu":200,"swap":0,"disk":20480,"io":500,"databases":3,"backups":2,"serverlimit":1,"allocations":1,"oom_killer":true,"default_billing_priority":0,"disabled":false,"minimum_credits":"10.00","billing_period":"monthly","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"vY8xK9pZ"},"name":{"type":"string","example":"Medium Minecraft"},"description":{"type":"string","example":"Perfect for your SMP with friends"},"price":{"type":"string","example":"10.00"},"memory":{"type":"integer","example":4096},"cpu":{"type":"integer","example":200},"swap":{"type":"integer","example":0},"disk":{"type":"integer","example":20480},"io":{"type":"integer","example":500},"databases":{"type":"integer","example":3},"backups":{"type":"integer","example":2},"serverlimit":{"type":"integer","example":1},"allocations":{"type":"integer","example":1},"oom_killer":{"type":"boolean","example":true},"default_billing_priority":{"type":"integer","example":0},"disabled":{"type":"boolean","example":false},"minimum_credits":{"type":"string","example":"10.00"},"billing_period":{"type":"string","example":"monthly"},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/get-product-details.api.mdx b/api-docs/get-product-details.api.mdx
new file mode 100644
index 00000000..7bd90cb2
--- /dev/null
+++ b/api-docs/get-product-details.api.mdx
@@ -0,0 +1,69 @@
+---
+id: get-product-details
+title: "Get product details"
+description: ""
+sidebar_label: "Get product details"
+hide_title: true
+hide_table_of_contents: true
+api: eJzVV1tv2zYU/ivEedoAxVbctEiFoEDQbEUwBAjW7qEzjICWji02lMiSVBJD4H8fDiXZ8iVygrXA5hdD5Lmf71xYg9JouBOqvM4ggSW6W6OyKnVX6LiQFiLI0KZGaKKBBCACzQ0v0KGxkExrEHT8vUKzgghKXiAkIMpUVhnucX9URcFPLJIIhxmTwjqmFsygDN8GrapMipY5xVohI3YxNx8uH7iQfC4xYRepyvCDRfOAxo4qi+ZiHI6i9gqXSzsq0bqd81JlaEdSpcHh9hIiwCdeaEl294VCBAa/V8JgBsmCS4sR2DTHgkNSg1vpwOCMKJf/bz+9jw5ncSGkQzOlr9mei7+HS/Kkks6y+YoFrp6WspLyX8TwZQqOGd+T+RIf+vc/05UBPcc80kakL8pHIPypXhzUsLFfc5f3ekK2J/FLjuz6igrD5ch003lGW0jlJs2Fw9SprXp0phqw3PsZEVutSouW7idxTH97vSxVpcPS0R3XWoqmZMbfLBHU+wrU/Bumrm9hDRl3gURQB334ev70x3v998bvG8xEVbAbUWJq+MLtReEWzQJTxxbKsJWqDPt8c8sehcvZwggsM2rCTaQTOI1HcQwRFFgos4LkLH7/LoJUV5BM4jgC+8g1JHEEmbD3dHZ2HkcgFCRv6ZpMnfMQkzcRzHl6X2kLySRqO4IUhXCQnEbAZdc/bPhWqri7F1Ki6YKf4YJX0t3NhZSiXN5pI5QRbtWppya2AVkhSlFUxV1qMBPO9lxZ86MRikJYqNLlkoCfGqR2eccdJDCJJ+9O4rOTyTt2OkniOAnclc6GSbyn6NGYc6LBQpev3ZRuU1E29ytiA8x1on2X6SHqPRD4HRQMMR8HiF8jZEhOE3G/Qc+aWJQOl2HkrakJWb6F1hDdJI59h7shOqJqQDks7eycKAmxQ3Rvg9YenIeI3/ge1ge1+51CGCI+9TtVcoy4X0Jr2rlSEvnWEKDy8kP19YIwt8U3pCYUpj9QmS+C0G7VDjF1Be23K3qI5WAlb1f7q9m7XwSOL2l3hXbXZTe85EssaBDMqDpcrtptOKy7LocExlyLcTui7LgWmYcOLM0eXBkJCdTaKKdSJX0yHteZKrgo/V7L/0pVfMtLlOy6tI5LydtV4IEbQckLeehkNaMrwAESyJ3TNBOwrArygr4hao9nlP+gdZtJk7JRG6FRqoqDw7jhZI85GmxaTeBjwjLR2IkZBXJGrqdVA8dpT8901r/7TOOzbbodxTptrdlhxAaIIjcByztDmhImykXTEIQL+f3ojAzhGy2X7PL2ml2ptKL8dWHcG/SUpubjdBSPApi0sq7gIU7tqP6ErttCWHb4AVRvVgYS2/ri8MmNtaSoE0pNyFgDnClwLZrpEqADESQiI5zlylLEoK6ph/1lpPd03Gx9Iaq7Q/RZS/6b742DwbnH1dYD8YHLCkOeo9d4/OzrYEDpznvmh2neXuaPG7DzJvlhdnTr+HEL1m+Ije7Zpve8Eny//Nmu5b+yZxf6gya1h7xc9S1ZQyQDT90sR57RyJzW7cVlmqJ2PZa9zd33u/in376A9/8AxEXCtQ==
+sidebar_class_name: "get api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+permissions, users","example":"permissions","required":false,"schema":{"type":"string","description":"Comma-separated list of related resources to include. permissions, users","example":"permissions"}},{"in":"query","name":"filter[name]","description":"Filter results by name","example":null,"required":false,"schema":{"type":"string","description":"Filter results by name","example":null}},{"in":"path","name":"id","description":"The ID of the role.","example":2,"required":true,"schema":{"type":"integer"}}]}
\ No newline at end of file
diff --git a/api-docs/get-role-details.RequestSchema.json b/api-docs/get-role-details.RequestSchema.json
new file mode 100644
index 00000000..c96bcede
--- /dev/null
+++ b/api-docs/get-role-details.RequestSchema.json
@@ -0,0 +1 @@
+{"title":"Body"}
\ No newline at end of file
diff --git a/api-docs/get-role-details.StatusCodes.json b/api-docs/get-role-details.StatusCodes.json
new file mode 100644
index 00000000..c7685d0f
--- /dev/null
+++ b/api-docs/get-role-details.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":2,"name":"Moderator","color":"#00FF00","power":50,"permissions":[{"id":1,"name":"admin.roles.read","guard_name":"web","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"integer","example":2},"name":{"type":"string","example":"Moderator"},"color":{"type":"string","example":"#00FF00"},"power":{"type":"integer","example":50},"permissions":{"type":"array","example":[{"id":1,"name":"admin.roles.read","guard_name":"web","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"items":{"type":"object","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"admin.roles.read"},"guard_name":{"type":"string","example":"web"},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/get-role-details.api.mdx b/api-docs/get-role-details.api.mdx
new file mode 100644
index 00000000..d4c22c84
--- /dev/null
+++ b/api-docs/get-role-details.api.mdx
@@ -0,0 +1,69 @@
+---
+id: get-role-details
+title: "Get role details"
+description: ""
+sidebar_label: "Get role details"
+hide_title: true
+hide_table_of_contents: true
+api: eJzNVt+L2zgQ/lfE3EsPvIk3XPtglsLS7ZZ9KJRe76GEUBRrEquVLXUk7zYY/e/HKE7irNPQpQd7T0bWjOabb352YB2SDNo2dwoKWGP4aA3eYJDaeMhAoS9JOxaAAiADJ0nWGJA8FPMONP/+3iJtIING1ggF6KY0rcKR9htb1/LCIz8RUAmjfRB2JQhNOhN621KJXgQr+kcm4mpJr6/vpTZyabAQV6VV+Noh1dp7bRt/NU1/sv6m9Ui7f5AB/pC1M4xqoAIZEH5vNaGCYiWNxwx8WWEtoeggbBzL+0C6Wf+PnYgxO83/SpuANOfTYoT/Nl0yzNYEL5YbkbQGRprWmN8g6NcMHMA7GapB7qjRg58qFHc3zHGoUJA1OBm+NhtiDdSegqqbgGskiHHB0t7ZxqNngVme82eU5qVtAjaB76RzRpepRqZfPQt0Ywt2+RXLMMTVgZIhiWiVUPYevreKK85SsmIsQQF/5PntbZ5zedkHJChe5tlRrFOpKSgu989IVetmwmz4CaFk2tatJPWlv3/AJRsg5Kz8IgMUMMtnry7yvy5mr8TlrMjzIllsnTovwpz9J+/EDBxxvwl6S/6OoMccHkux36NIDhMg7kgZp+ahcg60xz3v5+R3IYn7mJzD8DKPjwK2l5ZEcjOUfeZQ6oC1/33WL3+J9ZFr8di3c7rsdjz2+5z4SX+POXmyeozPDyBuUQS55jYAPJ7Fe9nINdbcoBYZ1Bgq20/vNKFDBQVMpdPTxPy00ypCBh7pfje3WzJQQOfIBltaE4vptFO2lrqJowb82bYkPsgGjbhrfJDGpGYIGdxL0jzRUsbs3tr205VsDadhFYLjgYtNWzN+PkPW/17EDLZWj5UcG5v03ExKW58cCltN8VAhodgwyKQntBd6ixMVU7hg18uWdNgk3/d25ovh3d/c0/vGtJPYB6yHnfo+n5coKRXEo8nBodLNyiZVHVJk3wQyib7Jei2uP9yJG1u2HLwdjaPpw2HaHi4n+aRvQj7UMvHUt4V3GNI0FOr0ttYdhhi/2TsS8EeYOsOUc3JSCtc2ZeYgnebdiJMGMii04vSqrGeuoOuW0uM/ZGLk39ulI/GpPSfBYVX4KYznWJ5O+v0NN0eL6r00Lab4ZU/x56e7zhmjj7azg+XFoZ6eSOuLj/0C9Kc4vSydhLObT81mCGPPjYLI5VmhVDz95l1/cV2W6MJAZbQfxWFPevf2E8T4L3ThHK8=
+sidebar_class_name: "get api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+product, user","example":"product","required":false,"schema":{"type":"string","description":"Comma-separated list of related resources to include. product, user","example":"product"}},{"in":"query","name":"filter[name]","description":"Filter results by name","example":null,"required":false,"schema":{"type":"string","description":"Filter results by name","example":null}},{"in":"query","name":"filter[suspended]","description":"Filter results by suspended","example":null,"required":false,"schema":{"type":"string","description":"Filter results by suspended","example":null}},{"in":"query","name":"filter[identifier]","description":"Filter results by identifier","example":null,"required":false,"schema":{"type":"string","description":"Filter results by identifier","example":null}},{"in":"query","name":"filter[pterodactyl_id]","description":"Filter results by pterodactyl_id","example":null,"required":false,"schema":{"type":"string","description":"Filter results by pterodactyl_id","example":null}},{"in":"query","name":"filter[user_id]","description":"Filter results by user_id","example":null,"required":false,"schema":{"type":"string","description":"Filter results by user_id","example":null}},{"in":"query","name":"filter[product_id]","description":"Filter results by product_id","example":null,"required":false,"schema":{"type":"string","description":"Filter results by product_id","example":null}},{"in":"path","name":"id","description":"The ID of the server.","example":"X8BK1rMUV4qF3lo-ROWIl","required":true,"schema":{"type":"string"}}]}
\ No newline at end of file
diff --git a/api-docs/get-server-details.RequestSchema.json b/api-docs/get-server-details.RequestSchema.json
new file mode 100644
index 00000000..c96bcede
--- /dev/null
+++ b/api-docs/get-server-details.RequestSchema.json
@@ -0,0 +1 @@
+{"title":"Body"}
\ No newline at end of file
diff --git a/api-docs/get-server-details.StatusCodes.json b/api-docs/get-server-details.StatusCodes.json
new file mode 100644
index 00000000..2f02b795
--- /dev/null
+++ b/api-docs/get-server-details.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":"X8BK1rMUV4qF3lo-ROWIl","name":"My Server","description":"My server description","suspended":false,"identifier":"a1b2c3d4","billing_priority":0,"pterodactyl_id":10,"user_id":1,"product_id":1,"canceled":null,"created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00","last_billed":"2026-04-26 12:00:00","status":"running"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"X8BK1rMUV4qF3lo-ROWIl"},"name":{"type":"string","example":"My Server"},"description":{"type":"string","example":"My server description"},"suspended":{"type":"boolean","example":false},"identifier":{"type":"string","example":"a1b2c3d4"},"billing_priority":{"type":"integer","example":0},"pterodactyl_id":{"type":"integer","example":10},"user_id":{"type":"integer","example":1},"product_id":{"type":"integer","example":1},"canceled":{"type":"string","example":null,"nullable":true},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"},"last_billed":{"type":"string","example":"2026-04-26 12:00:00"},"status":{"type":"string","example":"running"}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/get-server-details.api.mdx b/api-docs/get-server-details.api.mdx
new file mode 100644
index 00000000..337dc51b
--- /dev/null
+++ b/api-docs/get-server-details.api.mdx
@@ -0,0 +1,69 @@
+---
+id: get-server-details
+title: "Get server details"
+description: ""
+sidebar_label: "Get server details"
+hide_title: true
+hide_table_of_contents: true
+api: eJzNV21v2zYQ/ivEfdoAxZbdoBiEoEDWrEUwBCv6shcYRkBLZ5sdRSokldYQ9N+Ho2RLimzL7Zxh+eCA1B3vuXuOd7wCdIaGO6HVbQIRrNB9QPOI5gYdF9JCAAna2IiMRCACCCDjhqfo0FiIZgUI2n7I0WwgAMVThAiEimWeYE/7tU5TfmGRjnCYMCmsY3rJDEq/Nmh1bmK0zGlWHzJiVwvz6vqRC8kXEiN2FesEX2VGJ3nsrsZ+FdS7uUVTb0EA+JWnmSRAtTQEYPAhFwYTiJZcWgzAxmtMOUQFuE1GstYZoVb/P+xlGeyP9lJIh2ZGq3kP9hv/kdDl0lm22DCv1TKgcin/RVxOMzAE3uY2Q5VgcooHO+FndeOglSFfRILKiaVAc4ozjfSzenPYzJA7mUOjEx67jbwXJ/HT1XhWt46bGnKNrtyJPtWiz+rMARuDBFUF4lRydtLPS8xBM407GXfrVtNIesd+XCO7vaEq69bIrO9Mo05x/POnn3+dmLtPv18+vHkh9cX73/64lZ0y70x+xJGynJOwzbSyaOn7NAzpX6/txVo5VI6+8SyTIvZdc/zZkkDRN6AXn9F3nB3YAhLuvIhIjkCvw3G3YVUr7kXlblOHgrX3A2gK1pa+1qWPgE8W0/hFcgkBLISUQq3uMyO0EW4DURjAk6sUTcIAthkZTQJoMUrLmKsYJRmrcic2SH3wnjuIYBpOX16ElxfTl2wyjcIwCkMIIM+SIRHJrbsneHTwARnruMstRGBypSoSPboMjRMVidtAP+WiK0We9DN7KLnKLUXHVBv2yif0DWjtYbbsULvTX2gtkav2AZ72ssv7MXu7lCj35cROUyiHq27jCMt+whyTn5DCLpuOSpbdVBuSbfLwiKdVitIvvcOqolB2c/ZYnPblYdnN5+9Q7+T6d+hv78Ex1eaK1H8BOL6ilztU+cnuuOIrTKm0zQNI0a11PQn4t75bQwRjnolxlZl2XIikpFtYLf0MkBsJERSZ0U7HWpbReFwkOuVClb3q9ZfODXvHFUp2q6zjUvK6fj1yI4ge79L2rKoWL3kuqWisnctoKEGVp+QDrSGot+d01bzVrlJGxkZ1TEaxTvf2mUqTfVmjQbYhkF6PCctEhRMTCuOcXI/z6orMWnZm8/a3D9QP6mK0ldgRVcP2PcNfZeRmT6H3hU2opfaqwnlGXzsjffhGqxW7fnfLbnScE33bMPY6F9FULSajcORTJ9PWpdzHqW43b9E1tWfv7Fc0LZBOrV1x+NWNM0lBpxthPGFV2syAZ6KVKQFEIqEkW2tL8YKiWHCLn4wsS9quXjc+psJSIjSN7CCQ/3gq2+v037jpzLyPXObo6Qu+xZWDg9QRo09Gv7NZbs8+w+Y7w9vZMHQmlmEQ3anrbCh6A8Ywkv7AdDY0zYQwDKM13JwvGu1X/QmR6EwmDYp5U+y/8b7/8L5+2P/IDg0He2HVm1xt2kB2dzeBkrrHGnlCb6ZZUX+4jmPMXEul9/Qv203z7S8foSz/AeVcoWQ=
+sidebar_class_name: "get api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+servers.product, notifications, payments, vouchers.users, roles.permissions, discordUser","example":"servers.product","required":false,"schema":{"type":"string","description":"Comma-separated list of related resources to include. servers.product, notifications, payments, vouchers.users, roles.permissions, discordUser","example":"servers.product"}},{"in":"query","name":"filter[name]","description":"Filter results by name","example":null,"required":false,"schema":{"type":"string","description":"Filter results by name","example":null}},{"in":"query","name":"filter[server_limit]","description":"Filter results by server_limit","example":null,"required":false,"schema":{"type":"string","description":"Filter results by server_limit","example":null}},{"in":"query","name":"filter[email]","description":"Filter results by email","example":null,"required":false,"schema":{"type":"string","description":"Filter results by email","example":null}},{"in":"query","name":"filter[pterodactyl_id]","description":"Filter results by pterodactyl_id","example":null,"required":false,"schema":{"type":"string","description":"Filter results by pterodactyl_id","example":null}},{"in":"query","name":"filter[suspended]","description":"Filter results by suspended","example":null,"required":false,"schema":{"type":"string","description":"Filter results by suspended","example":null}},{"in":"path","name":"id","description":"The ID of the user.","example":1,"required":true,"schema":{"type":"integer"}}]}
\ No newline at end of file
diff --git a/api-docs/get-user-details.RequestSchema.json b/api-docs/get-user-details.RequestSchema.json
new file mode 100644
index 00000000..c96bcede
--- /dev/null
+++ b/api-docs/get-user-details.RequestSchema.json
@@ -0,0 +1 @@
+{"title":"Body"}
\ No newline at end of file
diff --git a/api-docs/get-user-details.StatusCodes.json b/api-docs/get-user-details.StatusCodes.json
new file mode 100644
index 00000000..b0e16b01
--- /dev/null
+++ b/api-docs/get-user-details.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":1,"name":"John Doe","email":"john@example.com","credits":"100.00","server_limit":5,"pterodactyl_id":1,"avatar":"https://www.gravatar.com/avatar/...","ip":"127.0.0.1","suspended":false,"referral_code":"ABCDEF12","email_verified_reward":false,"discord_verified_at":"2026-04-26 12:00:00","last_seen":"2026-04-26 12:00:00","email_verified_at":"2026-04-26 12:00:00","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"John Doe"},"email":{"type":"string","example":"john@example.com"},"credits":{"type":"string","example":"100.00"},"server_limit":{"type":"integer","example":5},"pterodactyl_id":{"type":"integer","example":1},"avatar":{"type":"string","example":"https://www.gravatar.com/avatar/..."},"ip":{"type":"string","example":"127.0.0.1"},"suspended":{"type":"boolean","example":false},"referral_code":{"type":"string","example":"ABCDEF12"},"email_verified_reward":{"type":"boolean","example":false},"discord_verified_at":{"type":"string","example":"2026-04-26 12:00:00"},"last_seen":{"type":"string","example":"2026-04-26 12:00:00"},"email_verified_at":{"type":"string","example":"2026-04-26 12:00:00"},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/get-user-details.api.mdx b/api-docs/get-user-details.api.mdx
new file mode 100644
index 00000000..70181933
--- /dev/null
+++ b/api-docs/get-user-details.api.mdx
@@ -0,0 +1,69 @@
+---
+id: get-user-details
+title: "Get user details"
+description: ""
+sidebar_label: "Get user details"
+hide_title: true
+hide_table_of_contents: true
+api: eJztWF9v2zYQ/yrCPW2AKtnG2gFCUCxL2iIDBhRb+zAEhkGLZ4sZJbIk5dQw9N2Ho2RZtmzZyZKnLS+JyPt/v7vjZQNKo2FOqOKOQwJLdF8tmlt0TEgLIXC0qRGaCCABCEEzw3J0aCwk9xsQdPytRLOGEAqWIyQgilSWHHvcNyrP2RuLJMIhD6SwLlCLwKD03watKk2KNnAqaIREwdXcvL9eMSHZXGISXKWK43uLZoXGRtooXqbuKvanYXNbKCcWIvVu2YM7zdY5Fu7weKXKNCOJpUVzeGmURBtpNLmw9ohMLmyqDKfINTcQAn5nuZYUjwNjIQSD30phkEOyYNJiCDbNMGeQbMCttedxRhTL/0N4IoRVFR7H3kJIh+aevqa96H30lxSkUjobzNeB5+ooKkop/0V6LlNwzvja2ZkUuXCXONGlf1VnhhSdcwpzJuQl3njCV3XjqIZz9muHRnGWurWcCX6JI/scr+rRsKqzeCutxoLjRV61xK+LtFNadr5o5rLOzOE9qV8yDO5uqTu6DANqSlFX2rhrsDPlMXtF4XCJBqpqStRWq8KiJYLJaES/euMxVYXDwtEd01o2HTR+sESw6WtQ8wdM94ppA5w5TyK4t7Lx8DeVFcGt8t3EAziBB5UVvzSMUapy0m+QC2chgfFoFI1GEMJe1SZvQzhAC+lgK+aYgQQy57RN4vjx8TFamvqYRMf1n3EUURCFJgWTn6NRNIrGpKPN1zb3BhdoDJMzauaQwPWvN7cfPo4nW/NnKzRiIZDPDD4ys2NsJsHunjlIYDKavHsz+unN5F0wniSjUeJdk8y6mUUsTlIc6BqQlRqkETpEUmo+TFJVIWhDTyonapxsc3mY7n0qykIPdF2sVlsY9EtpNyRbhFQtRIbIe+ipOvAZYmyQVR1Ca8iDt1Ufd+c83oJyyJZL8FrVgB10qcVytQfmlmeulERWdJk8Xqse0ofUtEVQnayCSzQeLZEhvUexulc+z+A+UlrPkNItu2ewd0vyyezbnxAcW9I+A/T+DH5nBVsiPXFhGkKOLlPNbuT3H5dBAjHTIvYP3XgjeNW22XorKg215402yqlUySqJ4w1XORNF1RtTf6nSBJ9ZgTK4K6xjUvqRASGsmBH0YvfluJVVT50FK6Xbwp8cLcqc7KdvCJvjKUHFa91n0qQs2p8b/dFZcwaPGRoM1mSk5wuEDURtJ3IK4ZRcT0sj3Nr73uq5n3bv/qTJ1/TELUWbsMZsPx099pEZ3w8O5iulShQL5VmF85m9cUb68EXLZXD9+S64VWlJyduGsTejKU31x5iKnmCklXU583Fqxu0ndP7NEPDju/BmN+pJZuOIw+8u1pJCTuA0Pl01ZO6BaUFDhEADISSCE7wyZSlWsNnMmcWvRlYVHdcvNR9PYQkEnQF5yoz/1nJ4NOJ/43rvHxArJkv0yAmfEsmTe9yA0oPN88U0Hyxd5y04XB9fzJLt3nTehHbZezHdvQ3nvBH9je3lctJZTy5ISHe/2tkw3XX4Jxb6D380i8uPwfEl56hNzSEr1l0z2prhUNHAyJBxNN6g+uI6TVG7Dktvr6m6U/LThy9QVf8AT67tzA==
+sidebar_class_name: "get api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+users","example":"users","required":false,"schema":{"type":"string","description":"Comma-separated list of related resources to include. users","example":"users"}},{"in":"query","name":"filter[code]","description":"Filter results by code","example":null,"required":false,"schema":{"type":"string","description":"Filter results by code","example":null}},{"in":"query","name":"filter[memo]","description":"Filter results by memo","example":null,"required":false,"schema":{"type":"string","description":"Filter results by memo","example":null}},{"in":"query","name":"filter[credits]","description":"Filter results by credits","example":null,"required":false,"schema":{"type":"string","description":"Filter results by credits","example":null}},{"in":"query","name":"filter[uses]","description":"Filter results by uses","example":null,"required":false,"schema":{"type":"string","description":"Filter results by uses","example":null}},{"in":"path","name":"id","description":"The ID of the voucher.","example":1,"required":true,"schema":{"type":"integer"}}]}
\ No newline at end of file
diff --git a/api-docs/get-voucher-details.RequestSchema.json b/api-docs/get-voucher-details.RequestSchema.json
new file mode 100644
index 00000000..c96bcede
--- /dev/null
+++ b/api-docs/get-voucher-details.RequestSchema.json
@@ -0,0 +1 @@
+{"title":"Body"}
\ No newline at end of file
diff --git a/api-docs/get-voucher-details.StatusCodes.json b/api-docs/get-voucher-details.StatusCodes.json
new file mode 100644
index 00000000..138e8327
--- /dev/null
+++ b/api-docs/get-voucher-details.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":1,"code":"SUMMER2026","memo":"Summer promotion","credits":"50.00","uses":100,"expires_at":"2026-12-31 23:59:59","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"integer","example":1},"code":{"type":"string","example":"SUMMER2026"},"memo":{"type":"string","example":"Summer promotion"},"credits":{"type":"string","example":"50.00"},"uses":{"type":"integer","example":100},"expires_at":{"type":"string","example":"2026-12-31 23:59:59"},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/get-voucher-details.api.mdx b/api-docs/get-voucher-details.api.mdx
new file mode 100644
index 00000000..26e8bc1f
--- /dev/null
+++ b/api-docs/get-voucher-details.api.mdx
@@ -0,0 +1,69 @@
+---
+id: get-voucher-details
+title: "Get voucher details"
+description: ""
+sidebar_label: "Get voucher details"
+hide_title: true
+hide_table_of_contents: true
+api: eJzFVm1v2zYQ/ivEfdoAxZbdpUCJoEDQdEU+BCiadsAQGAMtnS12lMiSlFdD4H8fjpJi+SW2gyVYvjiS7uW5544PrwFt0AovdXWbA4cl+j90nRVob9ALqRwkkKPLrDRkAxwgASOsKNGjdcAfGpD0+keNdg0JVKJE4CCrTNU57nl/0GUpLhxSCI85U9J5phfMoorPFp2ubYaOec26ICN2Nbfvr1dCKjFXyNlVpnN8Xzu07moc/4cE8KcojaLc8QMkYPFHLS3mwBdCOUzAZQWWAngDfm3I0nkrq+X/CDKE5DB/C6k82gfym+3h+z1+JBi18o7N14zshuGrWqn/QMB5CU6BL7HU54Anu1cFfyjBSeYt5tK7s8hvTV+X/8M5TlVROzyrBLJ7VfyHEmzAG+GLgXbkewG/Fshub+gM+gLZqlWo0TDgZAjX2/oQWll5XKKFEGZk7YyuCBZvYJqm9LOndJmuPFaevgljlMyiUo6/OzJo9jPo+XfM/BBXA7nw0UTmEWU8SRzuv93dffwyTadvIYE4oBzu67JEy4zVpY4YEuj7zuEyHaUpJBCZ5JM0pSRGWnR/CQ8cKNTFZHrxZsKmb/jlO375rvUnyRqYpL9dTN+yyZSnKW8Dmvy4SQgJGEv3hJctXX1Ju1VvW1HBe9wPWxZ6NvbnaSOUA6JCz9RR+10Sw4DFY44twaFn+CjyNA3b9B8LfKgzYbs1J913W7Ldtme7938JeLGkWxy6W5/diUossaShnxHdvtDdXhAvfl8Ah7EwctwdQjduZB4gAYd21W8EtVXAoTFWe51pFfh43OS6FLIKe0f7T11b9llUqNht5bxQSnSzvxJW0l0am9HHao/pQtSKxrXw3kRdqeqSqqBnSLrXs5BAm3XbyVCyUcfQKNPlQblpPdk/BVpkawIZ/Zh0TLY4MSciZ1R6Vlvp17H2xzwPs+G3e5KK7vT0Fo9t62BHOaHnOQobJ25HkKhhslq0J0D62N8P3qpI32i5ZNefb9mNzmrqX0/jnqhRm9qHySgdxWEy2vlSRJ46Ef6EvtdZlh9eBZuNPFLYrhaPP/3YKGKdptTGjrWD8wDCSALQjQ4kwGVOc1ZoR4xB08yFw29WhUCv20stsiodjcLmKnoSyestbwcL/BvXW+vuSqgaY6+S56B+cuM6knRnR3yxzN26dDpzv+C9XM2PW84ZZW8WtBfL320pp5P3e9Um82yjV88c2F++dHvLr+zJNecgou6lqNZDJI8jmUMgBSxQ5GgjpvbDdZah8QOXvc0mDJX/08evEMK/2BTJkg==
+sidebar_class_name: "get api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+servers.user, eggs.nest, nodes.location","example":"servers.user","required":false,"schema":{"type":"string","description":"Comma-separated list of related resources to include. servers.user, eggs.nest, nodes.location","example":"servers.user"}},{"in":"query","name":"filter[name]","description":"Filter results by name","example":null,"required":false,"schema":{"type":"string","description":"Filter results by name","example":null}},{"in":"query","name":"filter[description]","description":"Filter results by description","example":null,"required":false,"schema":{"type":"string","description":"Filter results by description","example":null}},{"in":"query","name":"filter[price]","description":"Filter results by price","example":null,"required":false,"schema":{"type":"string","description":"Filter results by price","example":null}}]}
\ No newline at end of file
diff --git a/api-docs/list-all-products.RequestSchema.json b/api-docs/list-all-products.RequestSchema.json
new file mode 100644
index 00000000..c96bcede
--- /dev/null
+++ b/api-docs/list-all-products.RequestSchema.json
@@ -0,0 +1 @@
+{"title":"Body"}
\ No newline at end of file
diff --git a/api-docs/list-all-products.StatusCodes.json b/api-docs/list-all-products.StatusCodes.json
new file mode 100644
index 00000000..0e1e832e
--- /dev/null
+++ b/api-docs/list-all-products.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":[{"id":"F6QnQ-91Afeo0chihMss","name":"Basic Server","description":"Perfect for small communities","price":"5.00","memory":2048,"cpu":100,"swap":0,"disk":10240,"io":500,"databases":1,"backups":1,"serverlimit":1,"allocations":1,"oom_killer":true,"default_billing_priority":0,"disabled":false,"minimum_credits":"5.00","billing_period":"monthly","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"meta":{"total":1}},"properties":{"data":{"type":"array","example":[{"id":"F6QnQ-91Afeo0chihMss","name":"Basic Server","description":"Perfect for small communities","price":"5.00","memory":2048,"cpu":100,"swap":0,"disk":10240,"io":500,"databases":1,"backups":1,"serverlimit":1,"allocations":1,"oom_killer":true,"default_billing_priority":0,"disabled":false,"minimum_credits":"5.00","billing_period":"monthly","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"items":{"type":"object","properties":{"id":{"type":"string","example":"F6QnQ-91Afeo0chihMss"},"name":{"type":"string","example":"Basic Server"},"description":{"type":"string","example":"Perfect for small communities"},"price":{"type":"string","example":"5.00"},"memory":{"type":"integer","example":2048},"cpu":{"type":"integer","example":100},"swap":{"type":"integer","example":0},"disk":{"type":"integer","example":10240},"io":{"type":"integer","example":500},"databases":{"type":"integer","example":1},"backups":{"type":"integer","example":1},"serverlimit":{"type":"integer","example":1},"allocations":{"type":"integer","example":1},"oom_killer":{"type":"boolean","example":true},"default_billing_priority":{"type":"integer","example":0},"disabled":{"type":"boolean","example":false},"minimum_credits":{"type":"string","example":"5.00"},"billing_period":{"type":"string","example":"monthly"},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}},"meta":{"type":"object","properties":{"total":{"type":"integer","example":1}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/list-all-products.api.mdx b/api-docs/list-all-products.api.mdx
new file mode 100644
index 00000000..155ff9e5
--- /dev/null
+++ b/api-docs/list-all-products.api.mdx
@@ -0,0 +1,69 @@
+---
+id: list-all-products
+title: "List all products"
+description: ""
+sidebar_label: "List all products"
+hide_title: true
+hide_table_of_contents: true
+api: eJztV21rGzkQ/itiPm/stUnC3RIKud71CFwhpb0PhzFB1o5tNdJKlbRpjdF/L6Nd2+uXrFOuhR5cvjgrzfs8M6NZg7HoeJCmuiuhACV9uFXq3pmyFsFDBiV64aQlCigAMrDccY0BnYdisgZJx59qdCvIoOIaoQBZCVWXeMT92mjNLzySiIAlI23MzJlDlb4delM7gZ4Fw1ohA3Yzc69un7hUfKawYDfClPjKo3tC5we1R3czTEdZe4WLhR9U6MPBeWVK9ANlRHK3vYQM8AvXVpHdXaGQgcNPtXRYQjHnymMGXixRcyjWEFY2MQQnq8V/288Ys9NZnEsV0E3oa3rk4pt0SZ7UKng2W7HE1dFS1Ur9ixi+TME54zsyX+JD9/5HutKj55xH1knxonwkwh/qxUkNMU5Jibem8uhJ7DjP6eeokQhTBawC3XFrlWzwOvzoiWB9bJeZfUQRuvrWUPLAmzZE3evN9bvq3cWvo9s5mlws5fKt97sA/sa9FOx9wv6Rd/fo5igCmxvHvOZKMWG0risZJJKMxtcCrgZ5Dhlo1MatoBjnl79kIGwNxSjPM/CfuYUiz6CU/pHOxpd5BtJAcUXXZO6Mp7iMMphx8Vjb5v+mJJXUMqRvrjYF3Nwbox8epVLooAiuRrJ/zmsVHmZSKVktHqyTxsmw2qinLrLLspaV1LV+EA5LGfzOky07OmkoiNpUYakIeMIhtasHHqCAcT6+vsgvL8bXbDQu8rxI3LUt+0kIDRpDk0cTuIJiFCPFkwZPCu42jdtMc+f4qpvo/xP8UydYBtT+VKXuZ5lSeNxldmPpZHbjJr19nHuZjwep72PsR0XcwqJPRopz3EFmSyurgIsExS0xwSm2eOqjG+V53ICtj46oGiT2SxtfEiXBtI/uKmntYLhXaOwA/BzhHvrPEe+Vxjnibt1saWfGKOR7s5VqKvYV1QvC3FZcn5pUjfFEOb4EQYel2sezqeK4X8Z9LCfLd7/Ev5k9xthp8L3l37b//oRu/jIIfEEbBrS7CHvLK75ATS+GZqYsUzdbYNLEwxIKGHIrh3a3vLQP3TRAaqeggLV1JhhhVCyGw3VpNJdVPBoW/5jasXteoWJ3lQ9cKd6+1Z64kwSD5NFGVvO8ScCCApYhWFKOVa3JAfqGrD2eEpKS1n0mS8oGbSAGwugjmz4skTWc7PMSHbIVGZn4mPRMNnZiSTmZkuuiboA96eiZTLt37+mJ1U7gDcU2Pa3Z6RmWwI7cnZirtD+ArOZNa5EhQeV1cCqFb7BYsNv7O/a7ETWlbhPGo8cgpan5GA3yQcKlNT5onuLUDvi/aI+iJm2f2U/Xu0clCW09CfglDK2imBPcXcpXg5gJcCsbpDYCpxksjadIwXpNXfBvp2Kk4+Y5nqJ5OHufteHnXARPhuURV3ub+xNXNab8Zt/i8bNrW4/Sg0Xzu2ne37LOG3CwLH43OzZ70nkLtsvdTvd013NS+WawRF7StJusW+ZbIdCGDtfROhW7HfPPPz5AjF8Bn8sW0Q==
+sidebar_class_name: "get api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+permissions, users","example":"permissions","required":false,"schema":{"type":"string","description":"Comma-separated list of related resources to include. permissions, users","example":"permissions"}},{"in":"query","name":"filter[name]","description":"Filter results by name","example":null,"required":false,"schema":{"type":"string","description":"Filter results by name","example":null}}]}
\ No newline at end of file
diff --git a/api-docs/list-all-roles.RequestSchema.json b/api-docs/list-all-roles.RequestSchema.json
new file mode 100644
index 00000000..c96bcede
--- /dev/null
+++ b/api-docs/list-all-roles.RequestSchema.json
@@ -0,0 +1 @@
+{"title":"Body"}
\ No newline at end of file
diff --git a/api-docs/list-all-roles.StatusCodes.json b/api-docs/list-all-roles.StatusCodes.json
new file mode 100644
index 00000000..e74c9252
--- /dev/null
+++ b/api-docs/list-all-roles.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":[{"id":1,"name":"Administrator","color":"#FF0000","power":100,"created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"meta":{"total":1}},"properties":{"data":{"type":"array","example":[{"id":1,"name":"Administrator","color":"#FF0000","power":100,"created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"items":{"type":"object","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"Administrator"},"color":{"type":"string","example":"#FF0000"},"power":{"type":"integer","example":100},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}},"meta":{"type":"object","properties":{"total":{"type":"integer","example":1}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/list-all-roles.api.mdx b/api-docs/list-all-roles.api.mdx
new file mode 100644
index 00000000..5c7016d0
--- /dev/null
+++ b/api-docs/list-all-roles.api.mdx
@@ -0,0 +1,69 @@
+---
+id: list-all-roles
+title: "List all roles"
+description: ""
+sidebar_label: "List all roles"
+hide_title: true
+hide_table_of_contents: true
+api: eJzNVlur2zgQ/iti+uqTOGHpgzkUQrenHNiF0nYfSghlYk8SdWVLHcmnDUb/fRnZudVp2NKHNi9Bl7l833yacQfWEWPQtnmsoACjfVgY89Ya8pBBRb5k7eQYCoAMHDLWFIg9FMsOtGx/bon3kEGDNUEBuilNW9HI+qWta7zzJC4CVUpCKbtRTCatmbxtuSSvglWDk4m6X/OLxRNqg2tDhbovbUUvHHGtvde28ffTtJMNJ60nPuxBBvQVa2ckqzMTyIDpc6uZKig2aDxl4Msd1QhFB2Hv5L4PrJvtbwwixuw6/xttAvFSVqtR/g/pUNJsTfBqvVfJ6ixI0xrzEwT9vwAxriSGd7bx5MXrPM/lbyS40jaBmiBn6JzRZdLq9JOXC904Lbv+RGU4j9dBhQF7uVZQzI5ELapaN9oHxmA5hTKWoYBnDw95nueidvuFGIpZnmdQMkmFP2KAAub5/Pld/sfd/LmazYs8L9L11lW3rwjqmkKfrw1ooJjFmIFjeYVB91T06R4RITPuzwH9JkB0oNpfY/4SjaR6vKObQFviczSzeMAxltZJ+ZcQ4xHjLZsD/HjEfzOPPI+X5NzyfZWUS+J+2DyKFI7yuEnqIJ7bvB5+GQTcSr8Gaevqb2xwS7U8ql6OOyudf0spDIYdFDBFp6c8DAFP/HRo+C0bKKBzbIMtrYnFdNpVtkbdxFEr+GBbVm+wIaMeGx/QmPR2IYMnZC2tMGE5+Oqf/wZbI6rbheAkODVtLanLGrJhexUz6KNeGjkJNhkomJS2HuX0fkeqt1RfdsSk9pJkslPaK93nSZVUYyXQy5Z12CfsxzjL1fnZO2lBw8s93DgWZkg7tSlZrwk51embRidV0s3GJlMdkkheBjaJvsl2qxZvHtWftmylbgcaR81SytQvZpN8MijfhxoTT0O3+EtGFhqj+NqQ704dVzwOMAJ9DVNnhHBROadi9VpZAjotIzV5W2Wws144gq5bo6d/2MQo2/2USjxqL8U/zZbvJvArpu1VxP/S/uLL5glNS6lu2Y/g+e5wvBH0m3F+irw6vaMkyQx2hJW0uWU32C7Kklw4sxqN0HjeAl6/eg8x/geARF/I
+sidebar_class_name: "get api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+product, user","example":"product","required":false,"schema":{"type":"string","description":"Comma-separated list of related resources to include. product, user","example":"product"}},{"in":"query","name":"filter[name]","description":"Filter results by name","example":null,"required":false,"schema":{"type":"string","description":"Filter results by name","example":null}},{"in":"query","name":"filter[suspended]","description":"Filter results by suspended","example":null,"required":false,"schema":{"type":"string","description":"Filter results by suspended","example":null}},{"in":"query","name":"filter[identifier]","description":"Filter results by identifier","example":null,"required":false,"schema":{"type":"string","description":"Filter results by identifier","example":null}},{"in":"query","name":"filter[pterodactyl_id]","description":"Filter results by pterodactyl_id","example":null,"required":false,"schema":{"type":"string","description":"Filter results by pterodactyl_id","example":null}},{"in":"query","name":"filter[user_id]","description":"Filter results by user_id","example":null,"required":false,"schema":{"type":"string","description":"Filter results by user_id","example":null}},{"in":"query","name":"filter[product_id]","description":"Filter results by product_id","example":null,"required":false,"schema":{"type":"string","description":"Filter results by product_id","example":null}}]}
\ No newline at end of file
diff --git a/api-docs/list-all-servers.RequestSchema.json b/api-docs/list-all-servers.RequestSchema.json
new file mode 100644
index 00000000..c96bcede
--- /dev/null
+++ b/api-docs/list-all-servers.RequestSchema.json
@@ -0,0 +1 @@
+{"title":"Body"}
\ No newline at end of file
diff --git a/api-docs/list-all-servers.StatusCodes.json b/api-docs/list-all-servers.StatusCodes.json
new file mode 100644
index 00000000..d9069063
--- /dev/null
+++ b/api-docs/list-all-servers.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":[{"id":"X8BK1rMUV4qF3lo-ROWIl","name":"My Server","description":"My server description","suspended":false,"identifier":"a1b2c3d4","billing_priority":0,"pterodactyl_id":10,"user_id":1,"product_id":1,"canceled":null,"created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00","last_billed":"2026-04-26 12:00:00","status":"running"}],"meta":{"total":1}},"properties":{"data":{"type":"array","example":[{"id":"X8BK1rMUV4qF3lo-ROWIl","name":"My Server","description":"My server description","suspended":false,"identifier":"a1b2c3d4","billing_priority":0,"pterodactyl_id":10,"user_id":1,"product_id":1,"canceled":null,"created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00","last_billed":"2026-04-26 12:00:00","status":"running"}],"items":{"type":"object","properties":{"id":{"type":"string","example":"X8BK1rMUV4qF3lo-ROWIl"},"name":{"type":"string","example":"My Server"},"description":{"type":"string","example":"My server description"},"suspended":{"type":"boolean","example":false},"identifier":{"type":"string","example":"a1b2c3d4"},"billing_priority":{"type":"integer","example":0},"pterodactyl_id":{"type":"integer","example":10},"user_id":{"type":"integer","example":1},"product_id":{"type":"integer","example":1},"canceled":{"type":"string","example":null,"nullable":true},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"},"last_billed":{"type":"string","example":"2026-04-26 12:00:00"},"status":{"type":"string","example":"running"}}}},"meta":{"type":"object","properties":{"total":{"type":"integer","example":1}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/list-all-servers.api.mdx b/api-docs/list-all-servers.api.mdx
new file mode 100644
index 00000000..71e1f2af
--- /dev/null
+++ b/api-docs/list-all-servers.api.mdx
@@ -0,0 +1,69 @@
+---
+id: list-all-servers
+title: "List all servers"
+description: ""
+sidebar_label: "List all servers"
+hide_title: true
+hide_table_of_contents: true
+api: eJztWG1v2zYQ/ivEfVZs2Q2KQSgKZN06BFuwYm33AsMIaOlss6NEhqSyGoL+e3GULEuRLXldPOzD8qEJqTvec/cc73gtQGk03AmV3SYQgRTW3Uj5Hs0jGgsBJGhjIzQJQAQQgOaGp+joa7QoQND2Q45mBwFkPEWIQGSxzBPsab9RacqvLNIRDhNGxphaM4PSrw1alZsYLXOK1YdM2KuVeX3zyIXkK4kRexWrBF9ro5I8dq+mfhXUu7lFU29BAPiZp1oSoFoaAjD4kAuDCURrLi0GYOMtphyiAtxOk6x1RmSb/x72sgyOR3stpEOzoNWyB/ut/0jocuksW+2Y12oZyHIp/0FczjMwBt7mVmOWYHKOB43wRd04aWXMF5Fg5sRaoDnHmYP0Rb05bWbMHe3QqITHbifvxVn8dDUu6tawqTHX6Mqd6VMtelFnTtgYJagqEOeS00hflpiTZspySZasVplFS2fPw5B+9TpNrDKHmaNvXGspYt+mpp8sCRR9cGr1CX2Rb+wVkHDHqz5F3e33b779cWbuPv56/fD2hVRXv/z82608BPRux6rG13Pwbses/8La+wEcisQ+ZK2LFgGfrebxi+QaAlgJKUW2uddGKCPcDqIwgCfpG83CAPZZEM0CaEWRljHPYpRkrOIrNki95547iGAezl9ehddX85dsNo/CMApDCCDXyZiI5NbdEzw6+ISMddzlFiIweZZRBhCJKboq/MpxCdGsLD1ijcaJitkq+g1B3Bi+a/PzPy+X4EU4TO2xe9Elh8D3L/bh4XGclHLPypDqgbDyCWMjWkfILDtsNvorpSTyrH2AZ7rsUj1kr8mC8lgaNJoic7jp9s2w7OfIkPyMFJoEGpQsu9k1JntIvQFPq6ykf+kZCpEzOcWpnaZDcTqWemU3hb9CvZPeX6G/T/0h1eZWlFSbmno1eC3qajYc+P1PAI5vaBCCKt/ZHc/4BlNqW1WF3Cq6vRv0hrjbQgRTrsXUNhPW/i+qhrmREEGhjXIqVrKMptMiUSkXWdmrfX+o3LB3PEPJbjPruJS8rn6P3Ahi2vuzP6tqsWueSyo5W+c0GccsTwk+rSGot5d0a73VrpImY5M6DJNYpT1MH7bIKk321xYNsh2B9HpMWCYqnJgQI0tyPc6r27Zo2Vks29/eU5uv28leoiGnhu2fAr4qIDdH2gQNTyCytfKqwvnkeOOM9OGbbDbs5t0t+07FOTG3D2PvQUI0VYvZJJz4LNTKupT7ONXN6icaDLmUzB6foYvDu4bOrB1x+NlNtaSQ09Uynq4qXxbAtWjlyTKArbIUJyiKFbf40ciypO3qfehjKSwlwKH9nYTwL8+1R939E3ed/zV45DJHT1vwd1w5OYoOGH0yPD+b5fb0OG6+M/4+G4bOzDcOoju3PhuK3og2jqQ/cj4bmsOMNQ6jNR4+XzTac9EZkejMdgcUy0OR9/UygC3yhB48i6I+4SaOUbuWVm+GKtsd6ofvP0BZfgG1j9ml
+sidebar_class_name: "get api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+servers.product, notifications, payments, vouchers.users, roles.permissions, discordUser","example":"servers.product","required":false,"schema":{"type":"string","description":"Comma-separated list of related resources to include. servers.product, notifications, payments, vouchers.users, roles.permissions, discordUser","example":"servers.product"}},{"in":"query","name":"filter[name]","description":"Filter results by name","example":null,"required":false,"schema":{"type":"string","description":"Filter results by name","example":null}},{"in":"query","name":"filter[server_limit]","description":"Filter results by server_limit","example":null,"required":false,"schema":{"type":"string","description":"Filter results by server_limit","example":null}},{"in":"query","name":"filter[email]","description":"Filter results by email","example":null,"required":false,"schema":{"type":"string","description":"Filter results by email","example":null}},{"in":"query","name":"filter[pterodactyl_id]","description":"Filter results by pterodactyl_id","example":null,"required":false,"schema":{"type":"string","description":"Filter results by pterodactyl_id","example":null}},{"in":"query","name":"filter[suspended]","description":"Filter results by suspended","example":null,"required":false,"schema":{"type":"string","description":"Filter results by suspended","example":null}}]}
\ No newline at end of file
diff --git a/api-docs/list-all-users.RequestSchema.json b/api-docs/list-all-users.RequestSchema.json
new file mode 100644
index 00000000..c96bcede
--- /dev/null
+++ b/api-docs/list-all-users.RequestSchema.json
@@ -0,0 +1 @@
+{"title":"Body"}
\ No newline at end of file
diff --git a/api-docs/list-all-users.StatusCodes.json b/api-docs/list-all-users.StatusCodes.json
new file mode 100644
index 00000000..ca1dba8c
--- /dev/null
+++ b/api-docs/list-all-users.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":[{"id":1,"name":"John Doe","email":"john@example.com","credits":"100.00","server_limit":5,"pterodactyl_id":1,"avatar":"https://www.gravatar.com/avatar/...","ip":"127.0.0.1","suspended":false,"referral_code":"ABCDEF12","email_verified_reward":false,"discord_verified_at":"2026-04-26 12:00:00","last_seen":"2026-04-26 12:00:00","email_verified_at":"2026-04-26 12:00:00","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"meta":{"total":1}},"properties":{"data":{"type":"array","example":[{"id":1,"name":"John Doe","email":"john@example.com","credits":"100.00","server_limit":5,"pterodactyl_id":1,"avatar":"https://www.gravatar.com/avatar/...","ip":"127.0.0.1","suspended":false,"referral_code":"ABCDEF12","email_verified_reward":false,"discord_verified_at":"2026-04-26 12:00:00","last_seen":"2026-04-26 12:00:00","email_verified_at":"2026-04-26 12:00:00","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"items":{"type":"object","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"John Doe"},"email":{"type":"string","example":"john@example.com"},"credits":{"type":"string","example":"100.00"},"server_limit":{"type":"integer","example":5},"pterodactyl_id":{"type":"integer","example":1},"avatar":{"type":"string","example":"https://www.gravatar.com/avatar/..."},"ip":{"type":"string","example":"127.0.0.1"},"suspended":{"type":"boolean","example":false},"referral_code":{"type":"string","example":"ABCDEF12"},"email_verified_reward":{"type":"boolean","example":false},"discord_verified_at":{"type":"string","example":"2026-04-26 12:00:00"},"last_seen":{"type":"string","example":"2026-04-26 12:00:00"},"email_verified_at":{"type":"string","example":"2026-04-26 12:00:00"},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}},"meta":{"type":"object","properties":{"total":{"type":"integer","example":1}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/list-all-users.api.mdx b/api-docs/list-all-users.api.mdx
new file mode 100644
index 00000000..7b1073a0
--- /dev/null
+++ b/api-docs/list-all-users.api.mdx
@@ -0,0 +1,69 @@
+---
+id: list-all-users
+title: "List all users"
+description: ""
+sidebar_label: "List all users"
+hide_title: true
+hide_table_of_contents: true
+api: eJztWN9v2zYQ/leEe1Zk2Vg7QAiKZUk7ZNiAAmsfhsAwaOlsM6NElqScGgb/9+IoWZYlW3az5GFY8+JI5N13P7478rQFqVAzy2Vxn0ECght7I8Rng9pACBmaVHNFy5AAhKCYZjlaWk0etsDp9ZcS9QZCKFiOkAAvUlFm2JO+lXnOrgySCotZQFCBXAQahX/WaGSpUzSBlUGtJAqu5/rdzZpxweYCk+A6lRm+M6jXqE2ktMzK1F6P/NuwXi2k5QueeqdMZ02xTY6F7b5eyzJdkcaSHO8sainQRAp1zo05ojPjJpU6o5jVKxACfmW5EhSPjrEQgsYvJdeYQbJgwmAIJl1hziDZgt0oL2M1L5Y/QngihM6Fx7m34MKifqCnaS96H/wiBakU1gTzTeClWkBFKcS/SM9lAOeMr5ydCZ5ze4kT7f2v6swQ0DmnMGdcXOKN3/iqbhxFOGe/sqhlxlK7ETOeXeLIocSrejQMdZZvpVFYZHiRV83m12XaKRTnpgRklCwMGlI9iWP66R1UqSwsFpbWmFKi7mWjR0Mbtn3b5PwR0wNabyFjllXHXAbJuInb73JVBHfSF7bnUgKPclX8UktGqczJAI0ZtwYSGMdxFMcQwkEBJW9C6CSOMNiaWaYhgZW1yiSj0dPTU7TU1WtSPar+HUVRBCFwRQCTn6M4iqMxYTSh26VB4wK1ZmJGfRUSuPn19u79h/FkZ/5sjZovOGYzjU9M7wXrprxfZxYSmMSTt1fxT1eTt8F4ksRx4l0TzNiZQSxO7uhgDehKNdJpNrSlVNnwFuJJjrbKsLRMQDJ2LgSl6b5jeUWeKsENB5jWbNOmwI/U/0dTzy3m5lh1H+afAt/s4YXFJep2/sdul/l+D9vfThpSuIYVQ9t7hHEtxgwJ1mRyXTYNefDG9al2zuMdD4dsuYSiruLooEsNfd0BfxuZuZQCWdEW8hR1PXIPwTS8dyeJfwni0aoYwj1Kz4OKeYb0kWp6hpZ2pT1DvF2F3y3uqBM33XmwQuvePUzZ3V8Ili1pMAUaJII/WcGWSLMKVKfBStKIu0QPw+wKEhgxxUdlPe3WY4bv+6Wm5r5VWlqZSuGS0WibyZzxwvUuMH/LUgcfWYEiuC+MZUL4ywaEsGaa09Tlfdnpqu4rC1YKu6sk8qcoczKdniGsX0+JdR71UEgRWHR46hza9GmFQSUZPK1QY7AhI71cwE3AKzsxo2xMyfW01NxuvO8NzsO0vfYX3Znqg3O3o0lMbba/V/kyQqZ9njo3M8oSLxbSi3LrSXJrtfDhi5bL4ObjfXAn05Lytgtj73ZHaaoextQ/iJFKGpszH6f6sP6DpmMmRFAe+5qx3V8RSWPthsWvdqQEBZxYrn2yKq48AFOcDiCvbRrCShqKEWy3c2bwsxbO0evqlu3jyA0lv3WsnjLg/zXYH431P7g5+Hi0ZqJEz5jweyJ5cgYfAO18NXgx5M7AfN6C7uj/YpbsZt7zJjSD+oth96bT80b0p+2Xy0lrtLwgIe3ZeG/DdN/ZfZMMYYUsQ+2rvlJwk6aobEuqN4W69qH02/tP4Nw3gWJHIg==
+sidebar_class_name: "get api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+users","example":"users","required":false,"schema":{"type":"string","description":"Comma-separated list of related resources to include. users","example":"users"}},{"in":"query","name":"filter[code]","description":"Filter results by code","example":null,"required":false,"schema":{"type":"string","description":"Filter results by code","example":null}},{"in":"query","name":"filter[memo]","description":"Filter results by memo","example":null,"required":false,"schema":{"type":"string","description":"Filter results by memo","example":null}},{"in":"query","name":"filter[credits]","description":"Filter results by credits","example":null,"required":false,"schema":{"type":"string","description":"Filter results by credits","example":null}},{"in":"query","name":"filter[uses]","description":"Filter results by uses","example":null,"required":false,"schema":{"type":"string","description":"Filter results by uses","example":null}}]}
\ No newline at end of file
diff --git a/api-docs/list-all-vouchers.RequestSchema.json b/api-docs/list-all-vouchers.RequestSchema.json
new file mode 100644
index 00000000..c96bcede
--- /dev/null
+++ b/api-docs/list-all-vouchers.RequestSchema.json
@@ -0,0 +1 @@
+{"title":"Body"}
\ No newline at end of file
diff --git a/api-docs/list-all-vouchers.StatusCodes.json b/api-docs/list-all-vouchers.StatusCodes.json
new file mode 100644
index 00000000..bc5d0376
--- /dev/null
+++ b/api-docs/list-all-vouchers.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":[{"id":1,"code":"SUMMER2026","memo":"Summer promotion","credits":"50.00","uses":100,"expires_at":"2026-12-31 23:59:59","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"meta":{"total":1}},"properties":{"data":{"type":"array","example":[{"id":1,"code":"SUMMER2026","memo":"Summer promotion","credits":"50.00","uses":100,"expires_at":"2026-12-31 23:59:59","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"items":{"type":"object","properties":{"id":{"type":"integer","example":1},"code":{"type":"string","example":"SUMMER2026"},"memo":{"type":"string","example":"Summer promotion"},"credits":{"type":"string","example":"50.00"},"uses":{"type":"integer","example":100},"expires_at":{"type":"string","example":"2026-12-31 23:59:59"},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}},"meta":{"type":"object","properties":{"total":{"type":"integer","example":1}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/list-all-vouchers.api.mdx b/api-docs/list-all-vouchers.api.mdx
new file mode 100644
index 00000000..57ae0308
--- /dev/null
+++ b/api-docs/list-all-vouchers.api.mdx
@@ -0,0 +1,69 @@
+---
+id: list-all-vouchers
+title: "List all vouchers"
+description: ""
+sidebar_label: "List all vouchers"
+hide_title: true
+hide_table_of_contents: true
+api: eJzVVm2L2zgQ/itiPnsTJ70tVCyFpS/Hwi2U27ZQlnAo9iRRT7ZUSc41GP33MrKdOOtsknK7lO6XrK2ZeWaeGY+eGrRBK7zU5U0OHJR0/lqpz7rKVmgdJJCjy6w0ZAEcIAEjrCjQ0ym/r0HS628V2g0kUIoCgYMsM1XlOPB+o4tCXDikEB5zRmhML5hFFZ8tOl3ZDB3zmrVBRuxqbl9fr4VUYq6Qs6tM5/i6cmjd1Tj+Dwngd1EYRdjxABKw+K2SFnPgC6EcJuCyFRYCeA1+Y8jSeSvL5S9MMoTkMH8LqTzae/KbDfJ7Hw8pjUp5x+YbRnb98GWl1P8g4DyAU8kXWOhzkie7Z03+EMBJ5i3m0ruzyG9Mn5f/wxinqqgcnlUC2T1r/ocAQpgRhjO6pFNewzRN6WewcDJdeiw9nQljlMziuhp/dWRQD9PS86+Y+T5eDbnwollXOfAJxczJ9O7T7e27v6fp9CUkEAeFw11VFGiZsbrQMYkEOv45XKajNIUEYkV8kqaEYqRF94/wwIFCXUymFy8mbPqCX77il68af1odPZP0j4vpSzaZ8jTlTUCTHzchugr0TaHaCwV8EkICxtIG97LhsKlzS4WwVmz6TPzuDEiPhTvU630aqMatjSw9LtH2aZiEjoDhMO+2dI+b0JFz1P4hb6FH3DHHhtPQkXo08zQN+4wfC3yoGWG/GyfdH3Zhv1M/7R5C6A3y0S62Y368kd1fAl4sSZJAK17YrSjFEgtaHc23s9IkcZYYkYRfAYexMHK83qkdh3bdKZvKKuBQG6u9zrQKfDyuc10IWYbBzvuiK8s+iBIVuymdF0qJ9stZCytJE8SKuljNnluIStGwr7w3cT+WVUEF0DMk7etZSKBB3XcyBDZqiRhluhjk9HGFrPFk/63QIttQktGPScdkkyfm1JMZlZ5VVvpNrH2Lcz/rn93Rrm03TWexbU+bdtzH9DxHYWO3Hmx06pUsF83HJH0clTfeqkjfaLlk1x9u2FudVdS6jsbBrUBtah4mo3QU59Jo5wsReWovwr9Iuwml2PoRQVvvbhcK2lbi8bsfG0Wc07jb2K9mYu5BGEnwXcBZAivtiCmo67lw+MmqEOh1cylHNqWjEdhdpY/m8Hzi82Bp/+JmT66vhaow9ij5mawfVYxHQB9o3CdDbuXeaeROoD5dzVuVdkbZO4H5ZPityjoN3unCHfJst6fiJ5/ACkWONk5v43udZWh8z2ugxUJ/y/757iOE8APLbNF7
+sidebar_class_name: "get api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+id of an existing record in the users table.","example":[16],"items":{"type":"integer"}},"title":{"type":"string","description":"The title of the notification. Must be at least 1 character.","example":"System Update"},"content":{"type":"string","description":"The content of the notification. Must be at least 1 character.","example":"A new update is available."}},"required":["via","title","content"]}}}}}
\ No newline at end of file
diff --git a/api-docs/send-notification-to-users.StatusCodes.json b/api-docs/send-notification-to-users.StatusCodes.json
new file mode 100644
index 00000000..4937a1aa
--- /dev/null
+++ b/api-docs/send-notification-to-users.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"message":"Notification sent successfully.","meta":{"user_count":5,"channels":["mail","database"]}},"properties":{"message":{"type":"string","example":"Notification sent successfully."},"meta":{"type":"object","properties":{"user_count":{"type":"integer","example":5},"channels":{"type":"array","example":["mail","database"],"items":{"type":"string"}}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/send-notification-to-users.api.mdx b/api-docs/send-notification-to-users.api.mdx
new file mode 100644
index 00000000..e7393f12
--- /dev/null
+++ b/api-docs/send-notification-to-users.api.mdx
@@ -0,0 +1,69 @@
+---
+id: send-notification-to-users
+title: "Send notification to users"
+description: ""
+sidebar_label: "Send notification to users"
+hide_title: true
+hide_table_of_contents: true
+api: eJylVk1v4zYQ/SvEnFqAsZMC24OwWCD9OOTQNmiSQ2EYBS2NLW4pkksOkxiC/nsxpGxLtrF7WB9siRxy3rx5fHQPzmNQpJ19aKCCiLb505He6joPPruXiCGChAZjHbTnQagAJHgVVIfEs9VqLSFg9M5GjFD18NPtLf9cLKqdJbTEc8p7M2ZZfo4c0EOsW+wUP9HeI1TgNp+xJpCA76rzBnmqwxjVjmenSEVESyKmusYYt8mY/QIkdEh5uxQx/Fu7xKk/SKhbZS0aRg6d0obrU6Q2KiKsh0GCD8wL6VLNMeMRV6Sg7W6K65tghhOa8+Lm2aZYj7HaEu4wTDN+GKaFHCNVCGo/jbtSogRN2MXLgobjRwKpXSZoWliE3OkvCSP94po978CvOmADFYWE39HjOQ2vWl0jfC6p5xaFnRI/EiJ+4JqlOJQsxcZR++Ni1jEe4gGbumssyRKwHmRuyTWOL8F8rF2Dn3TzcZkfhNsKZQW+60ja7kTA2oVGaCuoRZG3FaQ2BmfIVnc/X2nRQQK5N5rMVT1eIsqhjIPOuFqIP1IksUGhSBhUkcQd8xdUTRjmVD3tI2EnXnyjCFnKkyZ/G8IY/L0g7oXFN5EyBqGjUK9Km0Iec3LS4SqL58DSCey6CLtDah27nXcx605RCxUsldfLKba4ZDu8IXeTRhOMGF6L4fWQgoEKeh8cudqZoVou+8Z1StvhgoR/XAriUbEwH2wkZUxOABJeVdBcQm70Ya9inVuVDEEFLZGPE53yO8hxmNVZss4XeU62GLlb1K672piyUry1GFDsGWRex+TqghMb9oQ1l16noGmfaz/mWa2nc098tEspx4ijPkbY+fjn04cqZEM7uyS4Q+wVf59c5veT+WdXOJzc8ViW4zIeiTOpTpT6Vf1I0HbrMtxxn18pmNyyxW4n7h8fxG+uTh1aOrTu4nJjaZSXu8Xt4pY3ZYV1KvfGqlz2E9pmblnkRLp2yfYT6CzmQiPhOy294YazMYUslqLgFSivQcJMw1m1UxWvJbSs+2oFfc9G9xLMMPDwl4RhXy7zgyxzhyW0qBoMufX/4Z7JKchunhkUh5uUffHc7wd5WHFf1+jpq7HrydF8/OvpOTtwuWM61/CaoN5A5u9MifOlRL6EeKwHo+wulT8HZU/+/A//3RKQ
+sidebar_class_name: "post api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+id of an existing record in the users table.","example":16},"product_id":{"type":"string","description":"The id of an existing record in the products table.","example":"architecto"}},"required":["user_id","product_id"]}}}}}
\ No newline at end of file
diff --git a/api-docs/update-server-resources.StatusCodes.json b/api-docs/update-server-resources.StatusCodes.json
new file mode 100644
index 00000000..2f02b795
--- /dev/null
+++ b/api-docs/update-server-resources.StatusCodes.json
@@ -0,0 +1 @@
+{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":"X8BK1rMUV4qF3lo-ROWIl","name":"My Server","description":"My server description","suspended":false,"identifier":"a1b2c3d4","billing_priority":0,"pterodactyl_id":10,"user_id":1,"product_id":1,"canceled":null,"created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00","last_billed":"2026-04-26 12:00:00","status":"running"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"X8BK1rMUV4qF3lo-ROWIl"},"name":{"type":"string","example":"My Server"},"description":{"type":"string","example":"My server description"},"suspended":{"type":"boolean","example":false},"identifier":{"type":"string","example":"a1b2c3d4"},"billing_priority":{"type":"integer","example":0},"pterodactyl_id":{"type":"integer","example":10},"user_id":{"type":"integer","example":1},"product_id":{"type":"integer","example":1},"canceled":{"type":"string","example":null,"nullable":true},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"},"last_billed":{"type":"string","example":"2026-04-26 12:00:00"},"status":{"type":"string","example":"running"}}}}}}}}}}
\ No newline at end of file
diff --git a/api-docs/update-server-resources.api.mdx b/api-docs/update-server-resources.api.mdx
new file mode 100644
index 00000000..222e2ca0
--- /dev/null
+++ b/api-docs/update-server-resources.api.mdx
@@ -0,0 +1,69 @@
+---
+id: update-server-resources
+title: "Update server resources"
+description: ""
+sidebar_label: "Update server resources"
+hide_title: true
+hide_table_of_contents: true
+api: eJylVm1r4zgQ/itmPt2BmzjZUg6zHHS7d1w5ypVue7tHCEWRp7H2ZEmV5G2D8X8/RnLiuEld6OVDEsvz/jwzowa0Qcu80OqygBxqUzCPX9D+QHuDTteWo4MUCnTcCkNykAOkYJhlFXq0DvJFA4KODfMlpKBYhZCDC0buRXGgflticvk50Q+JLzGJchNIAZ9ZZSTpfvvl058ze3X39+nj7x+kPrn56+ulhBQsPtbCYgG5tzWm4HiJFYO8Ab8xpCiUxzVaaNslSTujlUNHAvMso5+DRLhWHpWnd8wYKXgoxvS7I4Hm0INefUfu96NtoGA+iIhiJPauLFebJJb3oCxXm64Wyf55Cq52BlVBWT8w6TAFUaDy4kGghRzYbDXnH4pTSGElpBRqfW+s0Fb4DeRZCsaj1QXjfiMJjHyWpVC7iEw+S8FYXdTcbx85UxwlOVO1lClwi8xjcc885DDP5mcn2enJ/CyZzfMsy7MM0o40oyKSOX9P4ZHhV2ScZ752kIOtlRJqDW0bojNovYggbgv9EouhFGWyk3Hekq232dVuIRpT7dFrX8D3htYRZNsBtDv9ldYSmdo3EGBvh7iP+dtRoj3GiYNm2VPN2kPCjMnPSGHHplHJdki1t2R7Ho5kGilK32xFzzQV2iFnx+p0jIftkM/vUB9w/R362z4YU+1bpPuk4NmaZjFEfiZXTLE1VjTalnFwovOfdBEI8HKOvnsIDhtvjAiHK+Aj1wX+KoqP0/CH9gFTCT4L54VaJxa5tkUiVNgSZNolnmAerIrZ2Wu82lXtf3rujB9zDszyUnjkXodh1Zd1savFILplhKpCX+oibkxehm3qS8hhyoyYxknhps1ugbbTVS0kmerehZVbWwk5NMZqr7mWbT6dNoWumFDtQdL/6Nom10yhTC6V80xK1i2XH8wKyivgt7UVF+UDqyVN9NJ7Q3cAVHVFmdEzpN3xkuZg8DpUMuRs0lVqwnV1FIiomTyVaDHZUJBBLxEuETFOLIjjS0qd13F+Lfb8LJb7774QT7tNsZXY8aELO3A5zFlk9ggzA5BE/Ju+ZX7rV32/Oc+GvBtwIQWhHnRwLnxgyoW3MgAwWa+T8+vL5LPmNXXnFoiDiwkBHR9mk2wSJoPRzlcsVLq7TdyFUbXdLva1G1vTdziZ7iri8dlPjSTsaOrZgHuk4gKYEXuESyHfv89FPi5TKLUjFKBpVszhnZVtS8ePNVpCatkTLOImHP3vbzKvRvnTTddLPyevXRePZtEdMrUJ5JY1xpT/xc3gTtoScUtkBe3SRdO9v4j+T27JSq9/MBPbdKtxzjkaPyq73Gv46/Pbiz+ogN0grnQRxjl7otste4rB6lCQwONw1oBkal2zNclGo/T5Dxea9AU=
+sidebar_class_name: "patch api-method"
+info_path: docs/api//ctrlpanel-gg-api-documentation
+custom_edit_url: null
+---
+
+import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
+import ParamsDetails from "@theme/ParamsDetails";
+import RequestSchema from "@theme/RequestSchema";
+import StatusCodes from "@theme/StatusCodes";
+import OperationTabs from "@theme/OperationTabs";
+import TabItem from "@theme/TabItem";
+import Heading from "@theme/Heading";
+import Translate from "@docusaurus/Translate";
+
+servers.user, eggs.nest, nodes.location'
+ example: servers.user
+ required: false
+ schema:
+ type: string
+ description: 'Comma-separated list of related resources to include. servers.user, eggs.nest, nodes.location'
+ example: servers.user
+ -
+ in: query
+ name: 'filter[name]'
+ description: 'Filter results by name'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by name'
+ example: null
+ -
+ in: query
+ name: 'filter[description]'
+ description: 'Filter results by description'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by description'
+ example: null
+ -
+ in: query
+ name: 'filter[price]'
+ description: 'Filter results by price'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by price'
+ example: null
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ -
+ id: F6QnQ-91Afeo0chihMss
+ name: 'Basic Server'
+ description: 'Perfect for small communities'
+ price: '5.00'
+ memory: 2048
+ cpu: 100
+ swap: 0
+ disk: 10240
+ io: 500
+ databases: 1
+ backups: 1
+ serverlimit: 1
+ allocations: 1
+ oom_killer: true
+ default_billing_priority: 0
+ disabled: false
+ minimum_credits: '5.00'
+ billing_period: monthly
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ meta:
+ total: 1
+ properties:
+ data:
+ type: array
+ example:
+ -
+ id: F6QnQ-91Afeo0chihMss
+ name: 'Basic Server'
+ description: 'Perfect for small communities'
+ price: '5.00'
+ memory: 2048
+ cpu: 100
+ swap: 0
+ disk: 10240
+ io: 500
+ databases: 1
+ backups: 1
+ serverlimit: 1
+ allocations: 1
+ oom_killer: true
+ default_billing_priority: 0
+ disabled: false
+ minimum_credits: '5.00'
+ billing_period: monthly
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ example: F6QnQ-91Afeo0chihMss
+ name:
+ type: string
+ example: 'Basic Server'
+ description:
+ type: string
+ example: 'Perfect for small communities'
+ price:
+ type: string
+ example: '5.00'
+ memory:
+ type: integer
+ example: 2048
+ cpu:
+ type: integer
+ example: 100
+ swap:
+ type: integer
+ example: 0
+ disk:
+ type: integer
+ example: 10240
+ io:
+ type: integer
+ example: 500
+ databases:
+ type: integer
+ example: 1
+ backups:
+ type: integer
+ example: 1
+ serverlimit:
+ type: integer
+ example: 1
+ allocations:
+ type: integer
+ example: 1
+ oom_killer:
+ type: boolean
+ example: true
+ default_billing_priority:
+ type: integer
+ example: 0
+ disabled:
+ type: boolean
+ example: false
+ minimum_credits:
+ type: string
+ example: '5.00'
+ billing_period:
+ type: string
+ example: monthly
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ meta:
+ type: object
+ properties:
+ total:
+ type: integer
+ example: 1
+ tags:
+ - 'Product Management'
+ post:
+ summary: 'Create product'
+ operationId: createProduct
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: vY8xK9pZ
+ name: 'Medium Minecraft'
+ description: 'Perfect for your SMP with friends'
+ price: '10.00'
+ memory: 4096
+ cpu: 200
+ swap: 0
+ disk: 20480
+ io: 500
+ databases: 3
+ backups: 2
+ serverlimit: 1
+ allocations: 1
+ oom_killer: true
+ default_billing_priority: 0
+ disabled: false
+ minimum_credits: '10.00'
+ billing_period: monthly
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: string
+ example: vY8xK9pZ
+ name:
+ type: string
+ example: 'Medium Minecraft'
+ description:
+ type: string
+ example: 'Perfect for your SMP with friends'
+ price:
+ type: string
+ example: '10.00'
+ memory:
+ type: integer
+ example: 4096
+ cpu:
+ type: integer
+ example: 200
+ swap:
+ type: integer
+ example: 0
+ disk:
+ type: integer
+ example: 20480
+ io:
+ type: integer
+ example: 500
+ databases:
+ type: integer
+ example: 3
+ backups:
+ type: integer
+ example: 2
+ serverlimit:
+ type: integer
+ example: 1
+ allocations:
+ type: integer
+ example: 1
+ oom_killer:
+ type: boolean
+ example: true
+ default_billing_priority:
+ type: integer
+ example: 0
+ disabled:
+ type: boolean
+ example: false
+ minimum_credits:
+ type: string
+ example: '10.00'
+ billing_period:
+ type: string
+ example: monthly
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'Product Management'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ description: 'Max 30 chars.'
+ example: 'Medium Minecraft'
+ description:
+ type: string
+ description: 'Max 191 chars.'
+ example: 'Perfect for your SMP with friends'
+ nullable: true
+ price:
+ type: number
+ description: 'Min 0.'
+ example: 10.0
+ minimum_credits:
+ type: number
+ description: 'Min 0, must be GTE price.'
+ example: 10.0
+ nullable: true
+ memory:
+ type: integer
+ description: 'Memory in MB. Use 0 for unlimited.'
+ example: 4096
+ cpu:
+ type: integer
+ description: 'CPU limit in %. Use 0 for unlimited.'
+ example: 200
+ swap:
+ type: integer
+ description: 'Swap in MB. Use 0 to disable, -1 for unlimited.'
+ example: 0
+ disk:
+ type: integer
+ description: 'Disk in MB. Use 0 for unlimited.'
+ example: 20480
+ io:
+ type: integer
+ description: 'IO limit.'
+ example: 500
+ serverlimit:
+ type: integer
+ description: 'Max servers. Use 0 for unlimited.'
+ example: 1
+ databases:
+ type: integer
+ description: 'Max databases.'
+ example: 3
+ backups:
+ type: integer
+ description: 'Max backups.'
+ example: 2
+ allocations:
+ type: integer
+ description: 'Max allocations.'
+ example: 1
+ nodes:
+ type: array
+ description: 'List of node IDs associated with the product.'
+ example:
+ - 1
+ - 2
+ items:
+ type: integer
+ eggs:
+ type: array
+ description: 'List of egg IDs associated with the product.'
+ example:
+ - 1
+ - 3
+ items:
+ type: integer
+ disabled:
+ type: boolean
+ description: 'Whether the product is disabled.'
+ example: false
+ oom_killer:
+ type: boolean
+ description: 'Whether the OOM killer is enabled.'
+ example: true
+ default_billing_priority:
+ type: integer
+ description: 'The default billing priority.'
+ example: 0
+ billing_period:
+ type: string
+ description: 'hourly, daily, weekly, monthly, quarterly, half-annually, annually.'
+ example: monthly
+ required:
+ - name
+ - description
+ - price
+ - memory
+ - cpu
+ - swap
+ - disk
+ - io
+ - serverlimit
+ - databases
+ - backups
+ - allocations
+ - billing_period
+ '/api/products/{id}':
+ get:
+ summary: 'Get product details'
+ operationId: getProductDetails
+ description: ''
+ parameters:
+ -
+ in: query
+ name: include
+ description: 'Comma-separated list of related resources to include. servers.user, eggs.nest, nodes.location'
+ example: servers.user
+ required: false
+ schema:
+ type: string
+ description: 'Comma-separated list of related resources to include. servers.user, eggs.nest, nodes.location'
+ example: servers.user
+ -
+ in: query
+ name: 'filter[name]'
+ description: 'Filter results by name'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by name'
+ example: null
+ -
+ in: query
+ name: 'filter[description]'
+ description: 'Filter results by description'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by description'
+ example: null
+ -
+ in: query
+ name: 'filter[price]'
+ description: 'Filter results by price'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by price'
+ example: null
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: vY8xK9pZ
+ name: 'Medium Minecraft'
+ description: 'Perfect for your SMP with friends'
+ price: '10.00'
+ memory: 4096
+ cpu: 200
+ swap: 0
+ disk: 20480
+ io: 500
+ databases: 3
+ backups: 2
+ serverlimit: 1
+ allocations: 1
+ oom_killer: true
+ default_billing_priority: 0
+ disabled: false
+ minimum_credits: '10.00'
+ billing_period: monthly
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: string
+ example: vY8xK9pZ
+ name:
+ type: string
+ example: 'Medium Minecraft'
+ description:
+ type: string
+ example: 'Perfect for your SMP with friends'
+ price:
+ type: string
+ example: '10.00'
+ memory:
+ type: integer
+ example: 4096
+ cpu:
+ type: integer
+ example: 200
+ swap:
+ type: integer
+ example: 0
+ disk:
+ type: integer
+ example: 20480
+ io:
+ type: integer
+ example: 500
+ databases:
+ type: integer
+ example: 3
+ backups:
+ type: integer
+ example: 2
+ serverlimit:
+ type: integer
+ example: 1
+ allocations:
+ type: integer
+ example: 1
+ oom_killer:
+ type: boolean
+ example: true
+ default_billing_priority:
+ type: integer
+ example: 0
+ disabled:
+ type: boolean
+ example: false
+ minimum_credits:
+ type: string
+ example: '10.00'
+ billing_period:
+ type: string
+ example: monthly
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'Product Management'
+ put:
+ summary: 'Update product'
+ operationId: updateProduct
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: vY8xK9pZ
+ name: 'Medium Minecraft'
+ description: 'Perfect for your SMP with friends'
+ price: '10.00'
+ memory: 4096
+ cpu: 200
+ swap: 0
+ disk: 20480
+ io: 500
+ databases: 3
+ backups: 2
+ serverlimit: 1
+ allocations: 1
+ oom_killer: true
+ default_billing_priority: 0
+ disabled: false
+ minimum_credits: '10.00'
+ billing_period: monthly
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: string
+ example: vY8xK9pZ
+ name:
+ type: string
+ example: 'Medium Minecraft'
+ description:
+ type: string
+ example: 'Perfect for your SMP with friends'
+ price:
+ type: string
+ example: '10.00'
+ memory:
+ type: integer
+ example: 4096
+ cpu:
+ type: integer
+ example: 200
+ swap:
+ type: integer
+ example: 0
+ disk:
+ type: integer
+ example: 20480
+ io:
+ type: integer
+ example: 500
+ databases:
+ type: integer
+ example: 3
+ backups:
+ type: integer
+ example: 2
+ serverlimit:
+ type: integer
+ example: 1
+ allocations:
+ type: integer
+ example: 1
+ oom_killer:
+ type: boolean
+ example: true
+ default_billing_priority:
+ type: integer
+ example: 0
+ disabled:
+ type: boolean
+ example: false
+ minimum_credits:
+ type: string
+ example: '10.00'
+ billing_period:
+ type: string
+ example: monthly
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'Product Management'
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ description: 'The name of the product.'
+ example: 'Medium Minecraft'
+ description:
+ type: string
+ description: 'The description of the product.'
+ example: 'Perfect for your SMP with friends'
+ nullable: true
+ price:
+ type: number
+ description: 'The price of the product.'
+ example: 10.0
+ minimum_credits:
+ type: number
+ description: 'The minimum credits required to purchase.'
+ example: 10.0
+ nullable: true
+ memory:
+ type: integer
+ description: 'The memory in MB.'
+ example: 4096
+ cpu:
+ type: integer
+ description: 'The CPU limit in %.'
+ example: 200
+ swap:
+ type: integer
+ description: 'The swap limit in MB.'
+ example: 0
+ disk:
+ type: integer
+ description: 'The disk limit in MB.'
+ example: 20480
+ io:
+ type: integer
+ description: 'The IO limit.'
+ example: 500
+ serverlimit:
+ type: integer
+ description: 'The server limit.'
+ example: 1
+ databases:
+ type: integer
+ description: 'The database limit.'
+ example: 3
+ backups:
+ type: integer
+ description: 'The backup limit.'
+ example: 2
+ allocations:
+ type: integer
+ description: 'The allocation limit.'
+ example: 1
+ nodes:
+ type: array
+ description: 'List of node IDs associated with the product.'
+ example:
+ - 1
+ - 2
+ items:
+ type: integer
+ eggs:
+ type: array
+ description: 'List of egg IDs associated with the product.'
+ example:
+ - 1
+ - 3
+ items:
+ type: integer
+ disabled:
+ type: boolean
+ description: 'Whether the product is disabled.'
+ example: false
+ oom_killer:
+ type: boolean
+ description: 'Whether the OOM killer is enabled.'
+ example: true
+ default_billing_priority:
+ type: integer
+ description: 'The default billing priority.'
+ example: 0
+ billing_period:
+ type: string
+ description: 'The billing period.'
+ example: monthly
+ delete:
+ summary: 'Delete product'
+ operationId: deleteProduct
+ description: ''
+ parameters: []
+ responses:
+ 204:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example: { }
+ properties: { }
+ tags:
+ - 'Product Management'
+ parameters:
+ -
+ in: path
+ name: id
+ description: 'The ID of the product.'
+ example: architecto
+ required: true
+ schema:
+ type: string
+ /api/roles:
+ get:
+ summary: 'List all roles'
+ operationId: listAllRoles
+ description: ''
+ parameters:
+ -
+ in: query
+ name: include
+ description: 'Comma-separated list of related resources to include. permissions, users'
+ example: permissions
+ required: false
+ schema:
+ type: string
+ description: 'Comma-separated list of related resources to include. permissions, users'
+ example: permissions
+ -
+ in: query
+ name: 'filter[name]'
+ description: 'Filter results by name'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by name'
+ example: null
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ -
+ id: 1
+ name: Administrator
+ color: '#FF0000'
+ power: 100
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ meta:
+ total: 1
+ properties:
+ data:
+ type: array
+ example:
+ -
+ id: 1
+ name: Administrator
+ color: '#FF0000'
+ power: 100
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ items:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: Administrator
+ color:
+ type: string
+ example: '#FF0000'
+ power:
+ type: integer
+ example: 100
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ meta:
+ type: object
+ properties:
+ total:
+ type: integer
+ example: 1
+ tags:
+ - 'Role Management'
+ post:
+ summary: 'Create role'
+ operationId: createRole
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 2
+ name: Moderator
+ color: '#00FF00'
+ power: 50
+ permissions:
+ -
+ id: 1
+ name: admin.roles.read
+ guard_name: web
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 2
+ name:
+ type: string
+ example: Moderator
+ color:
+ type: string
+ example: '#00FF00'
+ power:
+ type: integer
+ example: 50
+ permissions:
+ type: array
+ example:
+ -
+ id: 1
+ name: admin.roles.read
+ guard_name: web
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ items:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: admin.roles.read
+ guard_name:
+ type: string
+ example: web
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'Role Management'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ description: 'The name of the role.'
+ example: Moderator
+ color:
+ type: string
+ description: 'The hex color of the role.'
+ example: '#00FF00'
+ power:
+ type: integer
+ description: 'The power level of the role.'
+ example: 50
+ permissions:
+ type: array
+ description: 'The permissions assigned to the role.'
+ example:
+ - admin.roles.read
+ items:
+ type: string
+ required:
+ - name
+ - color
+ - power
+ '/api/roles/{id}':
+ get:
+ summary: 'Get role details'
+ operationId: getRoleDetails
+ description: ''
+ parameters:
+ -
+ in: query
+ name: include
+ description: 'Comma-separated list of related resources to include. permissions, users'
+ example: permissions
+ required: false
+ schema:
+ type: string
+ description: 'Comma-separated list of related resources to include. permissions, users'
+ example: permissions
+ -
+ in: query
+ name: 'filter[name]'
+ description: 'Filter results by name'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by name'
+ example: null
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 2
+ name: Moderator
+ color: '#00FF00'
+ power: 50
+ permissions:
+ -
+ id: 1
+ name: admin.roles.read
+ guard_name: web
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 2
+ name:
+ type: string
+ example: Moderator
+ color:
+ type: string
+ example: '#00FF00'
+ power:
+ type: integer
+ example: 50
+ permissions:
+ type: array
+ example:
+ -
+ id: 1
+ name: admin.roles.read
+ guard_name: web
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ items:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: admin.roles.read
+ guard_name:
+ type: string
+ example: web
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'Role Management'
+ put:
+ summary: 'Update role'
+ operationId: updateRole
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 2
+ name: Moderator
+ color: '#00FF00'
+ power: 50
+ permissions:
+ -
+ id: 1
+ name: admin.roles.read
+ guard_name: web
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 2
+ name:
+ type: string
+ example: Moderator
+ color:
+ type: string
+ example: '#00FF00'
+ power:
+ type: integer
+ example: 50
+ permissions:
+ type: array
+ example:
+ -
+ id: 1
+ name: admin.roles.read
+ guard_name: web
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ items:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: admin.roles.read
+ guard_name:
+ type: string
+ example: web
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'Role Management'
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ description: 'The name of the role.'
+ example: Moderator
+ color:
+ type: string
+ description: 'The hex color of the role.'
+ example: '#00FF00'
+ power:
+ type: integer
+ description: 'The power level of the role.'
+ example: 50
+ permissions:
+ type: array
+ description: 'The permissions assigned to the role.'
+ example:
+ - admin.roles.read
+ items:
+ type: string
+ delete:
+ summary: 'Delete role'
+ operationId: deleteRole
+ description: ''
+ parameters: []
+ responses:
+ 204:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example: { }
+ properties: { }
+ tags:
+ - 'Role Management'
+ parameters:
+ -
+ in: path
+ name: id
+ description: 'The ID of the role.'
+ example: 2
+ required: true
+ schema:
+ type: integer
+ /api/servers:
+ get:
+ summary: 'List all servers'
+ operationId: listAllServers
+ description: ''
+ parameters:
+ -
+ in: query
+ name: include
+ description: 'Comma-separated list of related resources to include. product, user'
+ example: product
+ required: false
+ schema:
+ type: string
+ description: 'Comma-separated list of related resources to include. product, user'
+ example: product
+ -
+ in: query
+ name: 'filter[name]'
+ description: 'Filter results by name'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by name'
+ example: null
+ -
+ in: query
+ name: 'filter[suspended]'
+ description: 'Filter results by suspended'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by suspended'
+ example: null
+ -
+ in: query
+ name: 'filter[identifier]'
+ description: 'Filter results by identifier'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by identifier'
+ example: null
+ -
+ in: query
+ name: 'filter[pterodactyl_id]'
+ description: 'Filter results by pterodactyl_id'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by pterodactyl_id'
+ example: null
+ -
+ in: query
+ name: 'filter[user_id]'
+ description: 'Filter results by user_id'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by user_id'
+ example: null
+ -
+ in: query
+ name: 'filter[product_id]'
+ description: 'Filter results by product_id'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by product_id'
+ example: null
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ -
+ id: X8BK1rMUV4qF3lo-ROWIl
+ name: 'My Server'
+ description: 'My server description'
+ suspended: false
+ identifier: a1b2c3d4
+ billing_priority: 0
+ pterodactyl_id: 10
+ user_id: 1
+ product_id: 1
+ canceled: null
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ last_billed: '2026-04-26 12:00:00'
+ status: running
+ meta:
+ total: 1
+ properties:
+ data:
+ type: array
+ example:
+ -
+ id: X8BK1rMUV4qF3lo-ROWIl
+ name: 'My Server'
+ description: 'My server description'
+ suspended: false
+ identifier: a1b2c3d4
+ billing_priority: 0
+ pterodactyl_id: 10
+ user_id: 1
+ product_id: 1
+ canceled: null
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ last_billed: '2026-04-26 12:00:00'
+ status: running
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ example: X8BK1rMUV4qF3lo-ROWIl
+ name:
+ type: string
+ example: 'My Server'
+ description:
+ type: string
+ example: 'My server description'
+ suspended:
+ type: boolean
+ example: false
+ identifier:
+ type: string
+ example: a1b2c3d4
+ billing_priority:
+ type: integer
+ example: 0
+ pterodactyl_id:
+ type: integer
+ example: 10
+ user_id:
+ type: integer
+ example: 1
+ product_id:
+ type: integer
+ example: 1
+ canceled:
+ type: string
+ example: null
+ nullable: true
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_billed:
+ type: string
+ example: '2026-04-26 12:00:00'
+ status:
+ type: string
+ example: running
+ meta:
+ type: object
+ properties:
+ total:
+ type: integer
+ example: 1
+ tags:
+ - 'Server Management'
+ post:
+ summary: 'Create server'
+ operationId: createServer
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: X8BK1rMUV4qF3lo-ROWIl
+ name: 'My Server'
+ description: 'My server description'
+ suspended: false
+ identifier: a1b2c3d4
+ billing_priority: 0
+ pterodactyl_id: 10
+ user_id: 1
+ product_id: 1
+ canceled: null
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ last_billed: '2026-04-26 12:00:00'
+ status: running
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: string
+ example: X8BK1rMUV4qF3lo-ROWIl
+ name:
+ type: string
+ example: 'My Server'
+ description:
+ type: string
+ example: 'My server description'
+ suspended:
+ type: boolean
+ example: false
+ identifier:
+ type: string
+ example: a1b2c3d4
+ billing_priority:
+ type: integer
+ example: 0
+ pterodactyl_id:
+ type: integer
+ example: 10
+ user_id:
+ type: integer
+ example: 1
+ product_id:
+ type: integer
+ example: 1
+ canceled:
+ type: string
+ example: null
+ nullable: true
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_billed:
+ type: string
+ example: '2026-04-26 12:00:00'
+ status:
+ type: string
+ example: running
+ tags:
+ - 'Server Management'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ description: 'The name of the server.'
+ example: 'My Awesome Server'
+ description:
+ type: string
+ description: 'The description of the server.'
+ example: 'High performance gaming server'
+ nullable: true
+ user_id:
+ type: integer
+ description: 'The ID of the user who owns the server.'
+ example: 1
+ product_id:
+ type: string
+ description: 'The ID of the product.'
+ example: '1'
+ egg_id:
+ type: integer
+ description: 'The ID of the egg.'
+ example: 1
+ location_id:
+ type: integer
+ description: 'The ID of the location.'
+ example: 1
+ egg_variables:
+ type: object
+ description: 'The egg variables for the server.'
+ example: []
+ properties:
+ STARTUP:
+ type: string
+ description: ''
+ example: ./myserver
+ nullable: true
+ billing_priority:
+ type: integer
+ description: 'The billing priority.'
+ example: 0
+ nullable: true
+ required:
+ - name
+ - user_id
+ - product_id
+ - egg_id
+ - location_id
+ '/api/servers/{id}':
+ get:
+ summary: 'Get server details'
+ operationId: getServerDetails
+ description: ''
+ parameters:
+ -
+ in: query
+ name: include
+ description: 'Comma-separated list of related resources to include. product, user'
+ example: product
+ required: false
+ schema:
+ type: string
+ description: 'Comma-separated list of related resources to include. product, user'
+ example: product
+ -
+ in: query
+ name: 'filter[name]'
+ description: 'Filter results by name'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by name'
+ example: null
+ -
+ in: query
+ name: 'filter[suspended]'
+ description: 'Filter results by suspended'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by suspended'
+ example: null
+ -
+ in: query
+ name: 'filter[identifier]'
+ description: 'Filter results by identifier'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by identifier'
+ example: null
+ -
+ in: query
+ name: 'filter[pterodactyl_id]'
+ description: 'Filter results by pterodactyl_id'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by pterodactyl_id'
+ example: null
+ -
+ in: query
+ name: 'filter[user_id]'
+ description: 'Filter results by user_id'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by user_id'
+ example: null
+ -
+ in: query
+ name: 'filter[product_id]'
+ description: 'Filter results by product_id'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by product_id'
+ example: null
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: X8BK1rMUV4qF3lo-ROWIl
+ name: 'My Server'
+ description: 'My server description'
+ suspended: false
+ identifier: a1b2c3d4
+ billing_priority: 0
+ pterodactyl_id: 10
+ user_id: 1
+ product_id: 1
+ canceled: null
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ last_billed: '2026-04-26 12:00:00'
+ status: running
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: string
+ example: X8BK1rMUV4qF3lo-ROWIl
+ name:
+ type: string
+ example: 'My Server'
+ description:
+ type: string
+ example: 'My server description'
+ suspended:
+ type: boolean
+ example: false
+ identifier:
+ type: string
+ example: a1b2c3d4
+ billing_priority:
+ type: integer
+ example: 0
+ pterodactyl_id:
+ type: integer
+ example: 10
+ user_id:
+ type: integer
+ example: 1
+ product_id:
+ type: integer
+ example: 1
+ canceled:
+ type: string
+ example: null
+ nullable: true
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_billed:
+ type: string
+ example: '2026-04-26 12:00:00'
+ status:
+ type: string
+ example: running
+ tags:
+ - 'Server Management'
+ put:
+ summary: 'Update server'
+ operationId: updateServer
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: X8BK1rMUV4qF3lo-ROWIl
+ name: 'My Server'
+ description: 'My server description'
+ suspended: false
+ identifier: a1b2c3d4
+ billing_priority: 0
+ pterodactyl_id: 10
+ user_id: 1
+ product_id: 1
+ canceled: null
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ last_billed: '2026-04-26 12:00:00'
+ status: running
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: string
+ example: X8BK1rMUV4qF3lo-ROWIl
+ name:
+ type: string
+ example: 'My Server'
+ description:
+ type: string
+ example: 'My server description'
+ suspended:
+ type: boolean
+ example: false
+ identifier:
+ type: string
+ example: a1b2c3d4
+ billing_priority:
+ type: integer
+ example: 0
+ pterodactyl_id:
+ type: integer
+ example: 10
+ user_id:
+ type: integer
+ example: 1
+ product_id:
+ type: integer
+ example: 1
+ canceled:
+ type: string
+ example: null
+ nullable: true
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_billed:
+ type: string
+ example: '2026-04-26 12:00:00'
+ status:
+ type: string
+ example: running
+ tags:
+ - 'Server Management'
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ description: 'The name of the server.'
+ example: 'My Awesome Server'
+ description:
+ type: string
+ description: 'The description of the server.'
+ example: 'High performance gaming server'
+ nullable: true
+ user_id:
+ type: integer
+ description: 'The ID of the user who owns the server.'
+ example: 1
+ billing_priority:
+ type: integer
+ description: 'The billing priority.'
+ example: 0
+ nullable: true
+ product_id:
+ type: string
+ description: 'The ID of the product.'
+ example: '1'
+ egg_id:
+ type: integer
+ description: 'The ID of the egg.'
+ example: 1
+ location_id:
+ type: integer
+ description: 'The ID of the location.'
+ example: 1
+ egg_variables:
+ type: object
+ description: 'The egg variables for the server.'
+ example: []
+ properties:
+ STARTUP:
+ type: string
+ description: ''
+ example: ./myserver
+ delete:
+ summary: 'Delete server'
+ operationId: deleteServer
+ description: ''
+ parameters: []
+ responses:
+ 204:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example: { }
+ properties: { }
+ tags:
+ - 'Server Management'
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ reason:
+ type: string
+ description: 'User requested deletion.'
+ example: 'User requested deletion'
+ parameters:
+ -
+ in: path
+ name: id
+ description: 'The ID of the server.'
+ example: X8BK1rMUV4qF3lo-ROWIl
+ required: true
+ schema:
+ type: string
+ '/api/servers/{server_id}/build':
+ patch:
+ summary: 'Update server resources'
+ operationId: updateServerResources
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: X8BK1rMUV4qF3lo-ROWIl
+ name: 'My Server'
+ description: 'My server description'
+ suspended: false
+ identifier: a1b2c3d4
+ billing_priority: 0
+ pterodactyl_id: 10
+ user_id: 1
+ product_id: 1
+ canceled: null
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ last_billed: '2026-04-26 12:00:00'
+ status: running
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: string
+ example: X8BK1rMUV4qF3lo-ROWIl
+ name:
+ type: string
+ example: 'My Server'
+ description:
+ type: string
+ example: 'My server description'
+ suspended:
+ type: boolean
+ example: false
+ identifier:
+ type: string
+ example: a1b2c3d4
+ billing_priority:
+ type: integer
+ example: 0
+ pterodactyl_id:
+ type: integer
+ example: 10
+ user_id:
+ type: integer
+ example: 1
+ product_id:
+ type: integer
+ example: 1
+ canceled:
+ type: string
+ example: null
+ nullable: true
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_billed:
+ type: string
+ example: '2026-04-26 12:00:00'
+ status:
+ type: string
+ example: running
+ tags:
+ - 'Server Management'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ user_id:
+ type: integer
+ description: 'The id of an existing record in the users table.'
+ example: 16
+ product_id:
+ type: string
+ description: 'The id of an existing record in the products table.'
+ example: architecto
+ required:
+ - user_id
+ - product_id
+ parameters:
+ -
+ in: path
+ name: server_id
+ description: 'The ID of the server.'
+ example: X8BK1rMUV4qF3lo-ROWIl
+ required: true
+ schema:
+ type: integer
+ '/api/servers/{server_id}/suspend':
+ patch:
+ summary: 'Suspend server'
+ operationId: suspendServer
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: X8BK1rMUV4qF3lo-ROWIl
+ name: 'My Server'
+ description: 'My server description'
+ suspended: true
+ identifier: a1b2c3d4
+ billing_priority: 0
+ pterodactyl_id: 10
+ user_id: 1
+ product_id: 1
+ canceled: null
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ last_billed: '2026-04-26 12:00:00'
+ status: running
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: string
+ example: X8BK1rMUV4qF3lo-ROWIl
+ name:
+ type: string
+ example: 'My Server'
+ description:
+ type: string
+ example: 'My server description'
+ suspended:
+ type: boolean
+ example: true
+ identifier:
+ type: string
+ example: a1b2c3d4
+ billing_priority:
+ type: integer
+ example: 0
+ pterodactyl_id:
+ type: integer
+ example: 10
+ user_id:
+ type: integer
+ example: 1
+ product_id:
+ type: integer
+ example: 1
+ canceled:
+ type: string
+ example: null
+ nullable: true
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_billed:
+ type: string
+ example: '2026-04-26 12:00:00'
+ status:
+ type: string
+ example: running
+ tags:
+ - 'Server Management'
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ reason:
+ type: string
+ description: 'Violation of terms of use.'
+ example: 'Violation of terms of use'
+ parameters:
+ -
+ in: path
+ name: server_id
+ description: 'The ID of the server.'
+ example: X8BK1rMUV4qF3lo-ROWIl
+ required: true
+ schema:
+ type: integer
+ '/api/servers/{server_id}/unsuspend':
+ patch:
+ summary: 'Unsuspend server'
+ operationId: unsuspendServer
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: X8BK1rMUV4qF3lo-ROWIl
+ name: 'My Server'
+ description: 'My server description'
+ suspended: false
+ identifier: a1b2c3d4
+ billing_priority: 0
+ pterodactyl_id: 10
+ user_id: 1
+ product_id: 1
+ canceled: null
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ last_billed: '2026-04-26 12:00:00'
+ status: running
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: string
+ example: X8BK1rMUV4qF3lo-ROWIl
+ name:
+ type: string
+ example: 'My Server'
+ description:
+ type: string
+ example: 'My server description'
+ suspended:
+ type: boolean
+ example: false
+ identifier:
+ type: string
+ example: a1b2c3d4
+ billing_priority:
+ type: integer
+ example: 0
+ pterodactyl_id:
+ type: integer
+ example: 10
+ user_id:
+ type: integer
+ example: 1
+ product_id:
+ type: integer
+ example: 1
+ canceled:
+ type: string
+ example: null
+ nullable: true
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_billed:
+ type: string
+ example: '2026-04-26 12:00:00'
+ status:
+ type: string
+ example: running
+ tags:
+ - 'Server Management'
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ reason:
+ type: string
+ description: 'Re-activation after review.'
+ example: 'Re-activation after review'
+ parameters:
+ -
+ in: path
+ name: server_id
+ description: 'The ID of the server.'
+ example: X8BK1rMUV4qF3lo-ROWIl
+ required: true
+ schema:
+ type: integer
+ /api/users:
+ get:
+ summary: 'List all users'
+ operationId: listAllUsers
+ description: ''
+ parameters:
+ -
+ in: query
+ name: include
+ description: 'Comma-separated list of related resources to include. servers.product, notifications, payments, vouchers.users, roles.permissions, discordUser'
+ example: servers.product
+ required: false
+ schema:
+ type: string
+ description: 'Comma-separated list of related resources to include. servers.product, notifications, payments, vouchers.users, roles.permissions, discordUser'
+ example: servers.product
+ -
+ in: query
+ name: 'filter[name]'
+ description: 'Filter results by name'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by name'
+ example: null
+ -
+ in: query
+ name: 'filter[server_limit]'
+ description: 'Filter results by server_limit'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by server_limit'
+ example: null
+ -
+ in: query
+ name: 'filter[email]'
+ description: 'Filter results by email'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by email'
+ example: null
+ -
+ in: query
+ name: 'filter[pterodactyl_id]'
+ description: 'Filter results by pterodactyl_id'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by pterodactyl_id'
+ example: null
+ -
+ in: query
+ name: 'filter[suspended]'
+ description: 'Filter results by suspended'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by suspended'
+ example: null
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ -
+ id: 1
+ name: 'John Doe'
+ email: john@example.com
+ credits: '100.00'
+ server_limit: 5
+ pterodactyl_id: 1
+ avatar: 'https://www.gravatar.com/avatar/...'
+ ip: 127.0.0.1
+ suspended: false
+ referral_code: ABCDEF12
+ email_verified_reward: false
+ discord_verified_at: '2026-04-26 12:00:00'
+ last_seen: '2026-04-26 12:00:00'
+ email_verified_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ meta:
+ total: 1
+ properties:
+ data:
+ type: array
+ example:
+ -
+ id: 1
+ name: 'John Doe'
+ email: john@example.com
+ credits: '100.00'
+ server_limit: 5
+ pterodactyl_id: 1
+ avatar: 'https://www.gravatar.com/avatar/...'
+ ip: 127.0.0.1
+ suspended: false
+ referral_code: ABCDEF12
+ email_verified_reward: false
+ discord_verified_at: '2026-04-26 12:00:00'
+ last_seen: '2026-04-26 12:00:00'
+ email_verified_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ items:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: 'John Doe'
+ email:
+ type: string
+ example: john@example.com
+ credits:
+ type: string
+ example: '100.00'
+ server_limit:
+ type: integer
+ example: 5
+ pterodactyl_id:
+ type: integer
+ example: 1
+ avatar:
+ type: string
+ example: 'https://www.gravatar.com/avatar/...'
+ ip:
+ type: string
+ example: 127.0.0.1
+ suspended:
+ type: boolean
+ example: false
+ referral_code:
+ type: string
+ example: ABCDEF12
+ email_verified_reward:
+ type: boolean
+ example: false
+ discord_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_seen:
+ type: string
+ example: '2026-04-26 12:00:00'
+ email_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ meta:
+ type: object
+ properties:
+ total:
+ type: integer
+ example: 1
+ tags:
+ - 'User Management'
+ post:
+ summary: 'Create user'
+ operationId: createUser
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 1
+ name: 'John Doe'
+ email: john@example.com
+ credits: '100.00'
+ server_limit: 5
+ pterodactyl_id: 1
+ avatar: 'https://www.gravatar.com/avatar/...'
+ ip: 127.0.0.1
+ suspended: false
+ referral_code: ABCDEF12
+ email_verified_reward: false
+ discord_verified_at: '2026-04-26 12:00:00'
+ last_seen: '2026-04-26 12:00:00'
+ email_verified_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: 'John Doe'
+ email:
+ type: string
+ example: john@example.com
+ credits:
+ type: string
+ example: '100.00'
+ server_limit:
+ type: integer
+ example: 5
+ pterodactyl_id:
+ type: integer
+ example: 1
+ avatar:
+ type: string
+ example: 'https://www.gravatar.com/avatar/...'
+ ip:
+ type: string
+ example: 127.0.0.1
+ suspended:
+ type: boolean
+ example: false
+ referral_code:
+ type: string
+ example: ABCDEF12
+ email_verified_reward:
+ type: boolean
+ example: false
+ discord_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_seen:
+ type: string
+ example: '2026-04-26 12:00:00'
+ email_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'User Management'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ description: 'Min 4, max 30 chars.'
+ example: john_doe
+ email:
+ type: string
+ description: 'Valid email address.'
+ example: john@example.com
+ password:
+ type: string
+ description: 'Min 8 chars.'
+ example: secret123
+ credits:
+ type: number
+ description: 'Initial credits. Max: 9223372036854775.'
+ example: 100.0
+ server_limit:
+ type: integer
+ description: 'Initial server limit. Use 0 for unlimited.'
+ example: 5
+ role_id:
+ type: integer
+ description: 'Valid role ID.'
+ example: 1
+ referral_code:
+ type: string
+ description: 'The referral code used by the user.'
+ example: ABCDEF12
+ nullable: true
+ required:
+ - name
+ - email
+ - password
+ - role_id
+ '/api/users/{id}':
+ get:
+ summary: 'Get user details'
+ operationId: getUserDetails
+ description: ''
+ parameters:
+ -
+ in: query
+ name: include
+ description: 'Comma-separated list of related resources to include. servers.product, notifications, payments, vouchers.users, roles.permissions, discordUser'
+ example: servers.product
+ required: false
+ schema:
+ type: string
+ description: 'Comma-separated list of related resources to include. servers.product, notifications, payments, vouchers.users, roles.permissions, discordUser'
+ example: servers.product
+ -
+ in: query
+ name: 'filter[name]'
+ description: 'Filter results by name'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by name'
+ example: null
+ -
+ in: query
+ name: 'filter[server_limit]'
+ description: 'Filter results by server_limit'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by server_limit'
+ example: null
+ -
+ in: query
+ name: 'filter[email]'
+ description: 'Filter results by email'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by email'
+ example: null
+ -
+ in: query
+ name: 'filter[pterodactyl_id]'
+ description: 'Filter results by pterodactyl_id'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by pterodactyl_id'
+ example: null
+ -
+ in: query
+ name: 'filter[suspended]'
+ description: 'Filter results by suspended'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by suspended'
+ example: null
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 1
+ name: 'John Doe'
+ email: john@example.com
+ credits: '100.00'
+ server_limit: 5
+ pterodactyl_id: 1
+ avatar: 'https://www.gravatar.com/avatar/...'
+ ip: 127.0.0.1
+ suspended: false
+ referral_code: ABCDEF12
+ email_verified_reward: false
+ discord_verified_at: '2026-04-26 12:00:00'
+ last_seen: '2026-04-26 12:00:00'
+ email_verified_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: 'John Doe'
+ email:
+ type: string
+ example: john@example.com
+ credits:
+ type: string
+ example: '100.00'
+ server_limit:
+ type: integer
+ example: 5
+ pterodactyl_id:
+ type: integer
+ example: 1
+ avatar:
+ type: string
+ example: 'https://www.gravatar.com/avatar/...'
+ ip:
+ type: string
+ example: 127.0.0.1
+ suspended:
+ type: boolean
+ example: false
+ referral_code:
+ type: string
+ example: ABCDEF12
+ email_verified_reward:
+ type: boolean
+ example: false
+ discord_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_seen:
+ type: string
+ example: '2026-04-26 12:00:00'
+ email_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'User Management'
+ put:
+ summary: 'Update user'
+ operationId: updateUser
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 1
+ name: 'John Doe'
+ email: john@example.com
+ credits: '100.00'
+ server_limit: 5
+ pterodactyl_id: 1
+ avatar: 'https://www.gravatar.com/avatar/...'
+ ip: 127.0.0.1
+ suspended: false
+ referral_code: ABCDEF12
+ email_verified_reward: false
+ discord_verified_at: '2026-04-26 12:00:00'
+ last_seen: '2026-04-26 12:00:00'
+ email_verified_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: 'John Doe'
+ email:
+ type: string
+ example: john@example.com
+ credits:
+ type: string
+ example: '100.00'
+ server_limit:
+ type: integer
+ example: 5
+ pterodactyl_id:
+ type: integer
+ example: 1
+ avatar:
+ type: string
+ example: 'https://www.gravatar.com/avatar/...'
+ ip:
+ type: string
+ example: 127.0.0.1
+ suspended:
+ type: boolean
+ example: false
+ referral_code:
+ type: string
+ example: ABCDEF12
+ email_verified_reward:
+ type: boolean
+ example: false
+ discord_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_seen:
+ type: string
+ example: '2026-04-26 12:00:00'
+ email_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'User Management'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ name:
+ type: string
+ description: 'The name.'
+ example: john_doe
+ email:
+ type: string
+ description: 'The email.'
+ example: john@example.com
+ password:
+ type: string
+ description: 'The password.'
+ example: secret123
+ credits:
+ type: number
+ description: 'The credits for the user.'
+ example: 100.0
+ server_limit:
+ type: integer
+ description: 'The server limit for the user.'
+ example: 5
+ role_id:
+ type: integer
+ description: 'The role ID.'
+ example: 1
+ referral_code:
+ type: string
+ description: 'Must be at least 2 characters. Must not be greater than 32 characters.'
+ example: 'n'
+ pterodactyl_id:
+ type: number
+ description: ''
+ example: 4326.41688
+ required:
+ - name
+ - email
+ delete:
+ summary: 'Delete user'
+ operationId: deleteUser
+ description: ''
+ parameters: []
+ responses:
+ 204:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example: { }
+ properties: { }
+ tags:
+ - 'User Management'
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ reason:
+ type: string
+ description: 'User requested deletion.'
+ example: 'User requested deletion'
+ parameters:
+ -
+ in: path
+ name: id
+ description: 'The ID of the user.'
+ example: 1
+ required: true
+ schema:
+ type: integer
+ '/api/users/{user_id}/increment':
+ patch:
+ summary: 'Increment user balance or server limit'
+ operationId: incrementUserBalanceOrServerLimit
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 1
+ name: 'John Doe'
+ email: john@example.com
+ credits: '110.00'
+ server_limit: 6
+ pterodactyl_id: 1
+ avatar: 'https://www.gravatar.com/avatar/...'
+ ip: 127.0.0.1
+ suspended: false
+ referral_code: ABCDEF12
+ email_verified_reward: false
+ discord_verified_at: '2026-04-26 12:00:00'
+ last_seen: '2026-04-26 12:00:00'
+ email_verified_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: 'John Doe'
+ email:
+ type: string
+ example: john@example.com
+ credits:
+ type: string
+ example: '110.00'
+ server_limit:
+ type: integer
+ example: 6
+ pterodactyl_id:
+ type: integer
+ example: 1
+ avatar:
+ type: string
+ example: 'https://www.gravatar.com/avatar/...'
+ ip:
+ type: string
+ example: 127.0.0.1
+ suspended:
+ type: boolean
+ example: false
+ referral_code:
+ type: string
+ example: ABCDEF12
+ email_verified_reward:
+ type: boolean
+ example: false
+ discord_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_seen:
+ type: string
+ example: '2026-04-26 12:00:00'
+ email_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'User Management'
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ credits:
+ type: number
+ description: 'Must be at least 0. Must not be greater than 9223372036854775.'
+ example: 1
+ server_limit:
+ type: number
+ description: 'Must be at least 0. Must not be greater than 1000000.'
+ example: 22
+ parameters:
+ -
+ in: path
+ name: user_id
+ description: 'The ID of the user.'
+ example: 1
+ required: true
+ schema:
+ type: integer
+ '/api/users/{user_id}/decrement':
+ patch:
+ summary: 'Decrement user balance or server limit'
+ operationId: decrementUserBalanceOrServerLimit
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 1
+ name: 'John Doe'
+ email: john@example.com
+ credits: '90.00'
+ server_limit: 4
+ pterodactyl_id: 1
+ avatar: 'https://www.gravatar.com/avatar/...'
+ ip: 127.0.0.1
+ suspended: false
+ referral_code: ABCDEF12
+ email_verified_reward: false
+ discord_verified_at: '2026-04-26 12:00:00'
+ last_seen: '2026-04-26 12:00:00'
+ email_verified_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: 'John Doe'
+ email:
+ type: string
+ example: john@example.com
+ credits:
+ type: string
+ example: '90.00'
+ server_limit:
+ type: integer
+ example: 4
+ pterodactyl_id:
+ type: integer
+ example: 1
+ avatar:
+ type: string
+ example: 'https://www.gravatar.com/avatar/...'
+ ip:
+ type: string
+ example: 127.0.0.1
+ suspended:
+ type: boolean
+ example: false
+ referral_code:
+ type: string
+ example: ABCDEF12
+ email_verified_reward:
+ type: boolean
+ example: false
+ discord_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_seen:
+ type: string
+ example: '2026-04-26 12:00:00'
+ email_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'User Management'
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ credits:
+ type: number
+ description: 'Must be at least 1.'
+ example: 16
+ server_limit:
+ type: number
+ description: 'Must be at least 1.'
+ example: 22
+ parameters:
+ -
+ in: path
+ name: user_id
+ description: 'The ID of the user.'
+ example: 1
+ required: true
+ schema:
+ type: integer
+ '/api/users/{user_id}/suspend':
+ patch:
+ summary: 'Suspend user'
+ operationId: suspendUser
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 1
+ name: 'John Doe'
+ email: john@example.com
+ credits: '100.00'
+ server_limit: 5
+ pterodactyl_id: 1
+ avatar: 'https://www.gravatar.com/avatar/...'
+ ip: 127.0.0.1
+ suspended: true
+ referral_code: ABCDEF12
+ email_verified_reward: false
+ discord_verified_at: '2026-04-26 12:00:00'
+ last_seen: '2026-04-26 12:00:00'
+ email_verified_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: 'John Doe'
+ email:
+ type: string
+ example: john@example.com
+ credits:
+ type: string
+ example: '100.00'
+ server_limit:
+ type: integer
+ example: 5
+ pterodactyl_id:
+ type: integer
+ example: 1
+ avatar:
+ type: string
+ example: 'https://www.gravatar.com/avatar/...'
+ ip:
+ type: string
+ example: 127.0.0.1
+ suspended:
+ type: boolean
+ example: true
+ referral_code:
+ type: string
+ example: ABCDEF12
+ email_verified_reward:
+ type: boolean
+ example: false
+ discord_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_seen:
+ type: string
+ example: '2026-04-26 12:00:00'
+ email_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'User Management'
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ reason:
+ type: string
+ description: 'Violation of terms of service.'
+ example: 'Violation of terms of service'
+ parameters:
+ -
+ in: path
+ name: user_id
+ description: 'The ID of the user.'
+ example: 1
+ required: true
+ schema:
+ type: integer
+ '/api/users/{user_id}/unsuspend':
+ patch:
+ summary: 'Unsuspend user'
+ operationId: unsuspendUser
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 1
+ name: 'John Doe'
+ email: john@example.com
+ credits: '100.00'
+ server_limit: 5
+ pterodactyl_id: 1
+ avatar: 'https://www.gravatar.com/avatar/...'
+ ip: 127.0.0.1
+ suspended: false
+ referral_code: ABCDEF12
+ email_verified_reward: false
+ discord_verified_at: '2026-04-26 12:00:00'
+ last_seen: '2026-04-26 12:00:00'
+ email_verified_at: '2026-04-26 12:00:00'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ name:
+ type: string
+ example: 'John Doe'
+ email:
+ type: string
+ example: john@example.com
+ credits:
+ type: string
+ example: '100.00'
+ server_limit:
+ type: integer
+ example: 5
+ pterodactyl_id:
+ type: integer
+ example: 1
+ avatar:
+ type: string
+ example: 'https://www.gravatar.com/avatar/...'
+ ip:
+ type: string
+ example: 127.0.0.1
+ suspended:
+ type: boolean
+ example: false
+ referral_code:
+ type: string
+ example: ABCDEF12
+ email_verified_reward:
+ type: boolean
+ example: false
+ discord_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ last_seen:
+ type: string
+ example: '2026-04-26 12:00:00'
+ email_verified_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'User Management'
+ requestBody:
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ reason:
+ type: string
+ description: 'Re-activation after review.'
+ example: 'Re-activation after review'
+ parameters:
+ -
+ in: path
+ name: user_id
+ description: 'The ID of the user.'
+ example: 1
+ required: true
+ schema:
+ type: integer
+ /api/vouchers:
+ get:
+ summary: 'List all vouchers'
+ operationId: listAllVouchers
+ description: ''
+ parameters:
+ -
+ in: query
+ name: include
+ description: 'Comma-separated list of related resources to include. users'
+ example: users
+ required: false
+ schema:
+ type: string
+ description: 'Comma-separated list of related resources to include. users'
+ example: users
+ -
+ in: query
+ name: 'filter[code]'
+ description: 'Filter results by code'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by code'
+ example: null
+ -
+ in: query
+ name: 'filter[memo]'
+ description: 'Filter results by memo'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by memo'
+ example: null
+ -
+ in: query
+ name: 'filter[credits]'
+ description: 'Filter results by credits'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by credits'
+ example: null
+ -
+ in: query
+ name: 'filter[uses]'
+ description: 'Filter results by uses'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by uses'
+ example: null
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ -
+ id: 1
+ code: SUMMER2026
+ memo: 'Summer promotion'
+ credits: '50.00'
+ uses: 100
+ expires_at: '2026-12-31 23:59:59'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ meta:
+ total: 1
+ properties:
+ data:
+ type: array
+ example:
+ -
+ id: 1
+ code: SUMMER2026
+ memo: 'Summer promotion'
+ credits: '50.00'
+ uses: 100
+ expires_at: '2026-12-31 23:59:59'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ items:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ code:
+ type: string
+ example: SUMMER2026
+ memo:
+ type: string
+ example: 'Summer promotion'
+ credits:
+ type: string
+ example: '50.00'
+ uses:
+ type: integer
+ example: 100
+ expires_at:
+ type: string
+ example: '2026-12-31 23:59:59'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ meta:
+ type: object
+ properties:
+ total:
+ type: integer
+ example: 1
+ tags:
+ - 'Voucher Management'
+ post:
+ summary: 'Create voucher'
+ operationId: createVoucher
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 1
+ code: SUMMER2026
+ memo: 'Summer promotion'
+ credits: '50.00'
+ uses: 100
+ expires_at: '2026-12-31 23:59:59'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ code:
+ type: string
+ example: SUMMER2026
+ memo:
+ type: string
+ example: 'Summer promotion'
+ credits:
+ type: string
+ example: '50.00'
+ uses:
+ type: integer
+ example: 100
+ expires_at:
+ type: string
+ example: '2026-12-31 23:59:59'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'Voucher Management'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ memo:
+ type: string
+ description: 'Description for the voucher.'
+ example: 'Summer 2026 Promotion'
+ nullable: true
+ code:
+ type: string
+ description: '4-36 chars, alpha-dash format.'
+ example: SUMMER2026
+ uses:
+ type: integer
+ description: 'Max uses.'
+ example: 100
+ credits:
+ type: number
+ description: 'Credits amount. Min: 0.01, Max: 9223372036854775.'
+ example: 50.0
+ expires_at:
+ type: string
+ description: 'Expiration date (d-m-Y H:i:s or d-m-Y).'
+ example: '31-12-2026 23:59:59'
+ nullable: true
+ required:
+ - code
+ - uses
+ - credits
+ '/api/vouchers/{id}':
+ get:
+ summary: 'Get voucher details'
+ operationId: getVoucherDetails
+ description: ''
+ parameters:
+ -
+ in: query
+ name: include
+ description: 'Comma-separated list of related resources to include. users'
+ example: users
+ required: false
+ schema:
+ type: string
+ description: 'Comma-separated list of related resources to include. users'
+ example: users
+ -
+ in: query
+ name: 'filter[code]'
+ description: 'Filter results by code'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by code'
+ example: null
+ -
+ in: query
+ name: 'filter[memo]'
+ description: 'Filter results by memo'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by memo'
+ example: null
+ -
+ in: query
+ name: 'filter[credits]'
+ description: 'Filter results by credits'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by credits'
+ example: null
+ -
+ in: query
+ name: 'filter[uses]'
+ description: 'Filter results by uses'
+ example: null
+ required: false
+ schema:
+ type: string
+ description: 'Filter results by uses'
+ example: null
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 1
+ code: SUMMER2026
+ memo: 'Summer promotion'
+ credits: '50.00'
+ uses: 100
+ expires_at: '2026-12-31 23:59:59'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ code:
+ type: string
+ example: SUMMER2026
+ memo:
+ type: string
+ example: 'Summer promotion'
+ credits:
+ type: string
+ example: '50.00'
+ uses:
+ type: integer
+ example: 100
+ expires_at:
+ type: string
+ example: '2026-12-31 23:59:59'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'Voucher Management'
+ put:
+ summary: 'Update voucher'
+ operationId: updateVoucher
+ description: ''
+ parameters: []
+ responses:
+ 200:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ data:
+ id: 1
+ code: SUMMER2026
+ memo: 'Summer 2026 promotion'
+ credits: '50.00'
+ uses: 100
+ expires_at: '2026-12-31 23:59:59'
+ created_at: '2026-04-26 12:00:00'
+ updated_at: '2026-04-26 12:00:00'
+ properties:
+ data:
+ type: object
+ properties:
+ id:
+ type: integer
+ example: 1
+ code:
+ type: string
+ example: SUMMER2026
+ memo:
+ type: string
+ example: 'Summer 2026 promotion'
+ credits:
+ type: string
+ example: '50.00'
+ uses:
+ type: integer
+ example: 100
+ expires_at:
+ type: string
+ example: '2026-12-31 23:59:59'
+ created_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ updated_at:
+ type: string
+ example: '2026-04-26 12:00:00'
+ tags:
+ - 'Voucher Management'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ memo:
+ type: string
+ description: 'A description for the voucher.'
+ example: 'Summer 2026 Promotion'
+ nullable: true
+ uses:
+ type: integer
+ description: 'The number of times the voucher can be used.'
+ example: 100
+ code:
+ type: string
+ description: 'The unique code for the voucher.'
+ example: SUMMER2026
+ credits:
+ type: number
+ description: 'The amount of credits the voucher gives.'
+ example: 50.0
+ expires_at:
+ type: string
+ description: 'The expiration date of the voucher (d-m-Y H:i:s or d-m-Y).'
+ example: '31-12-2026 23:59:59'
+ nullable: true
+ required:
+ - uses
+ - credits
+ delete:
+ summary: 'Delete voucher'
+ operationId: deleteVoucher
+ description: ''
+ parameters: []
+ responses:
+ 204:
+ description: ''
+ content:
+ application/json:
+ schema:
+ type: object
+ example: { }
+ properties: { }
+ tags:
+ - 'Voucher Management'
+ parameters:
+ -
+ in: path
+ name: id
+ description: 'The ID of the voucher.'
+ example: 1
+ required: true
+ schema:
+ type: integer
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 00000000..57bbce40
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,6 @@
+{
+ "extends": "@tsconfig/docusaurus/tsconfig.json",
+ "compilerOptions": {
+ "baseUrl": "."
+ }
+}
diff --git a/yarn.lock b/yarn.lock
index 04945906..959b2321 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -181,6 +181,13 @@
"@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.24"
+"@apidevtools/json-schema-ref-parser@^15.3.3":
+ version "15.3.5"
+ resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-15.3.5.tgz#503726178d8d792eea7b195566272aaee6837e2f"
+ integrity sha512-orNOYXw3hYXxxisXMldjzjBzqqTLBPbwOtHg7ovBPvfBHDue1qM9YJENZ3W2BQuS+7z4ThogMbEzEsov57Itkg==
+ dependencies:
+ js-yaml "^4.1.1"
+
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.27.1":
version "7.27.1"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be"
@@ -1045,6 +1052,11 @@
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.6.tgz#ec4070a04d76bae8ddbb10770ba55714a417b7c6"
integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==
+"@babel/runtime@^7.18.3":
+ version "7.29.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.29.2.tgz#9a6e2d05f4b6692e1801cd4fb176ad823930ed5e"
+ integrity sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==
+
"@babel/template@^7.27.1", "@babel/template@^7.27.2":
version "7.27.2"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d"
@@ -1583,7 +1595,7 @@
vfile "^6.0.1"
webpack "^5.88.1"
-"@docusaurus/module-type-aliases@3.10.0":
+"@docusaurus/module-type-aliases@3.10.0", "@docusaurus/module-type-aliases@^3.10.0":
version "3.10.0"
resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.10.0.tgz#749928f104d563f11f046bf0c9ab6489a470c7c8"
integrity sha512-/1O0Zg8w3DFrYX/I6Fbss7OJrtZw1QoyjDhegiFNHVi9A9Y0gQ3jUAytVxF6ywpAWpLyLxch8nN8H/V3XfzdJQ==
@@ -1924,6 +1936,16 @@
utility-types "^3.10.0"
webpack "^5.88.1"
+"@exodus/schemasafe@^1.0.0-rc.2":
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/@exodus/schemasafe/-/schemasafe-1.3.0.tgz#731656abe21e8e769a7f70a4d833e6312fe59b7f"
+ integrity sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==
+
+"@faker-js/faker@5.5.3":
+ version "5.5.3"
+ resolved "https://registry.yarnpkg.com/@faker-js/faker/-/faker-5.5.3.tgz#18e3af6b8eae7984072bbeb0c0858474d7c4cefe"
+ integrity sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==
+
"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0":
version "9.3.0"
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
@@ -1936,6 +1958,11 @@
dependencies:
"@hapi/hoek" "^9.0.0"
+"@hookform/error-message@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@hookform/error-message/-/error-message-2.0.1.tgz#6a37419106e13664ad6a29c9dae699ae6cd276b8"
+ integrity sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg==
+
"@jest/schemas@^29.6.3":
version "29.6.3"
resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03"
@@ -1963,6 +1990,14 @@
"@jridgewell/sourcemap-codec" "^1.5.0"
"@jridgewell/trace-mapping" "^0.3.24"
+"@jridgewell/gen-mapping@^0.3.2":
+ version "0.3.13"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f"
+ integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.5.0"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
"@jridgewell/resolve-uri@^3.1.0":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
@@ -2217,6 +2252,95 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
+"@parcel/watcher-android-arm64@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz#5f32e0dba356f4ac9a11068d2a5c134ca3ba6564"
+ integrity sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==
+
+"@parcel/watcher-darwin-arm64@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz#88d3e720b59b1eceffce98dac46d7c40e8be5e8e"
+ integrity sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==
+
+"@parcel/watcher-darwin-x64@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz#bf05d76a78bc15974f15ec3671848698b0838063"
+ integrity sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==
+
+"@parcel/watcher-freebsd-x64@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz#8bc26e9848e7303ac82922a5ae1b1ef1bdb48a53"
+ integrity sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==
+
+"@parcel/watcher-linux-arm-glibc@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz#1328fee1deb0c2d7865079ef53a2ba4cc2f8b40a"
+ integrity sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==
+
+"@parcel/watcher-linux-arm-musl@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz#bad0f45cb3e2157746db8b9d22db6a125711f152"
+ integrity sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==
+
+"@parcel/watcher-linux-arm64-glibc@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz#b75913fbd501d9523c5f35d420957bf7d0204809"
+ integrity sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==
+
+"@parcel/watcher-linux-arm64-musl@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz#da5621a6a576070c8c0de60dea8b46dc9c3827d4"
+ integrity sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==
+
+"@parcel/watcher-linux-x64-glibc@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz#ce437accdc4b30f93a090b4a221fd95cd9b89639"
+ integrity sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==
+
+"@parcel/watcher-linux-x64-musl@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz#02400c54b4a67efcc7e2327b249711920ac969e2"
+ integrity sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==
+
+"@parcel/watcher-win32-arm64@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz#caae3d3c7583ca0a7171e6bd142c34d20ea1691e"
+ integrity sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==
+
+"@parcel/watcher-win32-ia32@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz#9ac922550896dfe47bfc5ae3be4f1bcaf8155d6d"
+ integrity sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==
+
+"@parcel/watcher-win32-x64@2.5.6":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz#73fdafba2e21c448f0e456bbe13178d8fe11739d"
+ integrity sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==
+
+"@parcel/watcher@^2.4.1":
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.6.tgz#3f932828c894f06d0ad9cfefade1756ecc6ef1f1"
+ integrity sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==
+ dependencies:
+ detect-libc "^2.0.3"
+ is-glob "^4.0.3"
+ node-addon-api "^7.0.0"
+ picomatch "^4.0.3"
+ optionalDependencies:
+ "@parcel/watcher-android-arm64" "2.5.6"
+ "@parcel/watcher-darwin-arm64" "2.5.6"
+ "@parcel/watcher-darwin-x64" "2.5.6"
+ "@parcel/watcher-freebsd-x64" "2.5.6"
+ "@parcel/watcher-linux-arm-glibc" "2.5.6"
+ "@parcel/watcher-linux-arm-musl" "2.5.6"
+ "@parcel/watcher-linux-arm64-glibc" "2.5.6"
+ "@parcel/watcher-linux-arm64-musl" "2.5.6"
+ "@parcel/watcher-linux-x64-glibc" "2.5.6"
+ "@parcel/watcher-linux-x64-musl" "2.5.6"
+ "@parcel/watcher-win32-arm64" "2.5.6"
+ "@parcel/watcher-win32-ia32" "2.5.6"
+ "@parcel/watcher-win32-x64" "2.5.6"
+
"@peculiar/asn1-cms@^2.6.0", "@peculiar/asn1-cms@^2.6.1":
version "2.6.1"
resolved "https://registry.yarnpkg.com/@peculiar/asn1-cms/-/asn1-cms-2.6.1.tgz#cb5445c1bad9197d176073bf142a5c035b460640"
@@ -2366,6 +2490,51 @@
resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.29.tgz#5a40109a1ab5f84d6fd8fc928b19f367cbe7e7b1"
integrity sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==
+"@redocly/ajv@^8.18.0":
+ version "8.18.3"
+ resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.18.3.tgz#a925753d9a33375219f1b2ba91aef320f9929577"
+ integrity sha512-l42u0of3hY98sN2A+M4qTX1O/KrpgGH32Hu9kP2GtHyD5Dfqq86PKFLe5dwaD8DEnNmlOlll2BAmeEtf0DaySg==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+ fast-uri "^3.0.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+
+"@redocly/config@^0.48.1":
+ version "0.48.1"
+ resolved "https://registry.yarnpkg.com/@redocly/config/-/config-0.48.1.tgz#40f08b0dac6055e5020c877196485e5bdc521da5"
+ integrity sha512-vq8GM3e0KiglqkwE5Lb9XayrmZY4dHCs21BsvV92yAZN68f1N9cZUuwY1SwnztPbH06dn9uLzubBl/JNfImqfA==
+ dependencies:
+ json-schema-to-ts "2.7.2"
+
+"@redocly/openapi-core@^2.25.2":
+ version "2.30.0"
+ resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-2.30.0.tgz#45c1ad14fc3ea8774013635c744c9633500c1170"
+ integrity sha512-ZwsTS/BHzfzmadf4qPcpBcYDQm78XoinmLTGQWzDKOpgnjNOV62YId79611ulHpYXndRG8vcVm5LJdvXqGp8Yw==
+ dependencies:
+ "@redocly/ajv" "^8.18.0"
+ "@redocly/config" "^0.48.1"
+ ajv "npm:@redocly/ajv@8.18.0"
+ ajv-formats "^3.0.1"
+ colorette "^1.2.0"
+ js-levenshtein "^1.1.6"
+ js-yaml "^4.1.0"
+ picomatch "^4.0.4"
+ pluralize "^8.0.0"
+ yaml-ast-parser "0.0.43"
+
+"@reduxjs/toolkit@^2.8.2":
+ version "2.11.2"
+ resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-2.11.2.tgz#582225acea567329ca6848583e7dd72580d38e82"
+ integrity sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==
+ dependencies:
+ "@standard-schema/spec" "^1.0.0"
+ "@standard-schema/utils" "^0.3.0"
+ immer "^11.0.0"
+ redux "^5.0.1"
+ redux-thunk "^3.1.0"
+ reselect "^5.1.0"
+
"@sideway/address@^4.1.5":
version "4.1.5"
resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5"
@@ -2407,6 +2576,16 @@
micromark-util-character "^1.1.0"
micromark-util-symbol "^1.0.1"
+"@standard-schema/spec@^1.0.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@standard-schema/spec/-/spec-1.1.0.tgz#a79b55dbaf8604812f52d140b2c9ab41bc150bb8"
+ integrity sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==
+
+"@standard-schema/utils@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@standard-schema/utils/-/utils-0.3.0.tgz#3d5e608f16c2390c10528e98e59aef6bf73cae7b"
+ integrity sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==
+
"@svgr/babel-plugin-add-jsx-attribute@8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22"
@@ -2628,6 +2807,11 @@
resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
+"@tsconfig/docusaurus@^2.0.9":
+ version "2.0.9"
+ resolved "https://registry.yarnpkg.com/@tsconfig/docusaurus/-/docusaurus-2.0.9.tgz#e530ae78bca4f88917af48fe25a944d6d6bdcdf5"
+ integrity sha512-0jVxZCgy2v7TnJrW9kVNikNwJHeiWb68Zhiiw2vHw4tzBFSP5vS2zn3O5EY2oPEVz5dXZRkK7MnWG3Ay5q0mIg==
+
"@types/body-parser@*":
version "1.19.6"
resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.6.tgz#1859bebb8fd7dac9918a45d54c1971ab8b5af474"
@@ -2839,6 +3023,13 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190"
integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==
+"@types/node@^25.6.0":
+ version "25.6.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-25.6.0.tgz#4e09bad9b469871f2d0f68140198cbd714f4edca"
+ integrity sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==
+ dependencies:
+ undici-types "~7.19.0"
+
"@types/parse-json@^4.0.0":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239"
@@ -2864,6 +3055,11 @@
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb"
integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==
+"@types/react-dom@^19.2.3":
+ version "19.2.3"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.2.3.tgz#c1e305d15a52a3e508d54dca770d202cb63abf2c"
+ integrity sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==
+
"@types/react-router-config@*", "@types/react-router-config@^5.0.7":
version "5.0.11"
resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.11.tgz#2761a23acc7905a66a94419ee40294a65aaa483a"
@@ -2897,6 +3093,13 @@
dependencies:
csstype "^3.0.2"
+"@types/react@^19.2.14":
+ version "19.2.14"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-19.2.14.tgz#39604929b5e3957e3a6fa0001dafb17c7af70bad"
+ integrity sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==
+ dependencies:
+ csstype "^3.2.2"
+
"@types/retry@0.12.2":
version "0.12.2"
resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.2.tgz#ed279a64fa438bb69f2480eda44937912bb7480a"
@@ -2967,6 +3170,11 @@
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4"
integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==
+"@types/use-sync-external-store@^0.0.6":
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz#60be8d21baab8c305132eb9cb912ed497852aadc"
+ integrity sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==
+
"@types/ws@^8.5.10":
version "8.18.1"
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9"
@@ -3160,13 +3368,25 @@ aggregate-error@^3.0.0:
clean-stack "^2.0.0"
indent-string "^4.0.0"
-ajv-formats@^2.1.1:
+ajv-draft-04@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz#3b64761b268ba0b9e668f0b41ba53fce0ad77fc8"
+ integrity sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==
+
+ajv-formats@2.1.1, ajv-formats@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520"
integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
dependencies:
ajv "^8.0.0"
+ajv-formats@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-3.0.1.tgz#3d5dc762bca17679c3c2ea7e90ad6b7532309578"
+ integrity sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==
+ dependencies:
+ ajv "^8.0.0"
+
ajv-keywords@^3.5.2:
version "3.5.2"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
@@ -3199,6 +3419,26 @@ ajv@^8.0.0, ajv@^8.9.0:
json-schema-traverse "^1.0.0"
require-from-string "^2.0.2"
+ajv@^8.11.0:
+ version "8.20.0"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.20.0.tgz#304b3636add88ba7d936760dd50ece006dea95f9"
+ integrity sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+ fast-uri "^3.0.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+
+"ajv@npm:@redocly/ajv@8.18.0":
+ version "8.18.0"
+ resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.18.0.tgz#e6c7ba549111838baa950bc31acbc84b06f0239f"
+ integrity sha512-F+LMD2IDIXuHxgpLJh3nkLj9+tSaEzoUWd+7fONGq5pe2169FUDjpEkOfEpoGLz1sbZni/69p07OsecNfAOpqA==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+ fast-uri "^3.0.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+
algoliasearch-helper@^3.26.0:
version "3.28.1"
resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.28.1.tgz#49813dca2166287d4444f95c697d51abddd2bd0a"
@@ -3226,6 +3466,13 @@ algoliasearch@^5.37.0:
"@algolia/requester-fetch" "5.50.2"
"@algolia/requester-node-http" "5.50.2"
+allof-merge@^0.6.6:
+ version "0.6.8"
+ resolved "https://registry.yarnpkg.com/allof-merge/-/allof-merge-0.6.8.tgz#5813a23c860407d279f85053ef541c8f946c5021"
+ integrity sha512-RJrHVDqITsU1kjE2L7s1hy4AYZSTlO1m9jTleYhVCEOfOpbbygRGfcEgrp+bW3oX/PcMUwVkt6MSJyXoyI6lRA==
+ dependencies:
+ json-crawl "^0.5.3"
+
ansi-align@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
@@ -3274,6 +3521,11 @@ ansi-styles@^6.1.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
+any-promise@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
+ integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==
+
anymatch@~3.1.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
@@ -3363,6 +3615,11 @@ async-function@^1.0.0:
resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b"
integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==
+async@3.2.6, async@^3.2.2:
+ version "3.2.6"
+ resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce"
+ integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==
+
autoprefixer@^10.4.19, autoprefixer@^10.4.21:
version "10.4.21"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d"
@@ -3431,6 +3688,11 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+base64-js@^1.3.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
batch@0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
@@ -3535,6 +3797,14 @@ buffer-from@^1.0.0:
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+buffer@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
+ integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.2.1"
+
bundle-name@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-4.1.0.tgz#f3b96b34160d6431a19d7688135af7cfb8797889"
@@ -3601,6 +3871,11 @@ call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4:
call-bind-apply-helpers "^1.0.2"
get-intrinsic "^1.3.0"
+call-me-maybe@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa"
+ integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==
+
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@@ -3666,6 +3941,11 @@ chalk@^5.0.1, chalk@^5.2.0:
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8"
integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==
+chalk@^5.6.2:
+ version "5.6.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.2.tgz#b1238b6e23ea337af71c7f8a295db5af0c158aea"
+ integrity sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==
+
char-regex@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
@@ -3691,6 +3971,11 @@ character-reference-invalid@^2.0.0:
resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9"
integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==
+charset@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/charset/-/charset-1.0.1.tgz#8d59546c355be61049a8fa9164747793319852bd"
+ integrity sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==
+
cheerio-select@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4"
@@ -3731,6 +4016,13 @@ chokidar@^3.5.3, chokidar@^3.6.0:
optionalDependencies:
fsevents "~2.3.2"
+chokidar@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30"
+ integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==
+ dependencies:
+ readdirp "^4.0.1"
+
chrome-trace-event@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b"
@@ -3767,6 +4059,15 @@ cli-table3@^0.6.3:
optionalDependencies:
"@colors/colors" "1.5.0"
+cliui@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
+ integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.1"
+ wrap-ansi "^7.0.0"
+
clone-deep@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
@@ -3781,7 +4082,7 @@ clsx@^1.1.1:
resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
-clsx@^2.0.0:
+clsx@^2.0.0, clsx@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999"
integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
@@ -3829,6 +4130,11 @@ colord@^2.9.3:
resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43"
integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==
+colorette@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
+ integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
+
colorette@^2.0.10:
version "2.0.20"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
@@ -3844,15 +4150,20 @@ comma-separated-tokens@^2.0.0:
resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee"
integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==
+commander@2.20.3, commander@^2.20.0:
+ version "2.20.3"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
commander@^10.0.0:
version "10.0.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
-commander@^2.20.0:
- version "2.20.3"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
- integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+commander@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
+ integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
commander@^5.1.0:
version "5.1.0"
@@ -3894,6 +4205,25 @@ compression@^1.8.1:
safe-buffer "5.2.1"
vary "~1.1.2"
+compute-gcd@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/compute-gcd/-/compute-gcd-1.2.1.tgz#34d639f3825625e1357ce81f0e456a6249d8c77f"
+ integrity sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==
+ dependencies:
+ validate.io-array "^1.0.3"
+ validate.io-function "^1.0.2"
+ validate.io-integer-array "^1.0.0"
+
+compute-lcm@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/compute-lcm/-/compute-lcm-1.1.2.tgz#9107c66b9dca28cefb22b4ab4545caac4034af23"
+ integrity sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==
+ dependencies:
+ compute-gcd "^1.2.1"
+ validate.io-array "^1.0.3"
+ validate.io-function "^1.0.2"
+ validate.io-integer-array "^1.0.0"
+
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
@@ -4024,6 +4354,11 @@ cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
+crypto-js@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631"
+ integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==
+
crypto-random-string@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2"
@@ -4253,6 +4588,11 @@ csstype@^3.0.2:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
+csstype@^3.2.2:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a"
+ integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==
+
data-view-buffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570"
@@ -4389,11 +4729,23 @@ destroy@1.2.0, destroy@~1.2.0:
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
+detect-libc@^2.0.3:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad"
+ integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==
+
detect-node@^2.0.4:
version "2.1.0"
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
+detect-package-manager@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/detect-package-manager/-/detect-package-manager-3.0.2.tgz#ca34261ab84198072580e93ae86582c575428da9"
+ integrity sha512-8JFjJHutStYrfWwzfretQoyNGoZVW1Fsrp4JO9spa7h/fBfwgTMEIy4/LBzRDGsxwVPHU0q+T9YvwLDJoOApLQ==
+ dependencies:
+ execa "^5.1.1"
+
detect-port@^1.5.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.6.1.tgz#45e4073997c5f292b957cb678fb0bb8ed4250a67"
@@ -4423,6 +4775,68 @@ dns-packet@^5.2.2:
dependencies:
"@leichtgewicht/ip-codec" "^2.0.1"
+docusaurus-plugin-openapi-docs@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-5.0.1.tgz#2fe62b58fc1af11e3d947edc2f0d60e04f1aa149"
+ integrity sha512-OVfoDovRdiS78DQYWmr2BjuOF2A6kVmJ43mgkQaAEZxASyHbUft4zUIhvfa7gqema6KNL9pVKejDievZdZ3wGQ==
+ dependencies:
+ "@apidevtools/json-schema-ref-parser" "^15.3.3"
+ "@redocly/openapi-core" "^2.25.2"
+ allof-merge "^0.6.6"
+ chalk "^5.6.2"
+ clsx "^2.1.1"
+ fs-extra "^11.3.0"
+ json-pointer "^0.6.2"
+ json5 "^2.2.3"
+ lodash "^4.17.21"
+ mustache "^4.2.0"
+ openapi-to-postmanv2 "^6.0.0"
+ postman-collection "^5.0.2"
+ slugify "^1.6.6"
+ swagger2openapi "^7.0.8"
+ xml-formatter "^3.6.6"
+
+docusaurus-plugin-sass@^0.2.6:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.6.tgz#b4930a1fe1cc7bcead639bb1bee38bce0ffd073d"
+ integrity sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg==
+ dependencies:
+ sass-loader "^16.0.2"
+
+docusaurus-theme-openapi-docs@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/docusaurus-theme-openapi-docs/-/docusaurus-theme-openapi-docs-5.0.1.tgz#a2c2c91346b6238f6d7862752cdb02611fb5396f"
+ integrity sha512-bVeb7hOqog9LKVrJzYXdNJ7/0N22lk0VE22QK+naAn5GuAvYo41JmpXW9hqLIPkEp2UbexTHoPW9SYVdUsyvvw==
+ dependencies:
+ "@hookform/error-message" "^2.0.1"
+ "@reduxjs/toolkit" "^2.8.2"
+ allof-merge "^0.6.6"
+ buffer "^6.0.3"
+ clsx "^2.1.1"
+ copy-text-to-clipboard "^3.2.0"
+ crypto-js "^4.2.0"
+ file-saver "^2.0.5"
+ lodash "^4.17.21"
+ pako "^2.1.0"
+ path-browserify "^1.0.1"
+ postman-code-generators "^2.0.0"
+ postman-collection "^5.0.2"
+ prism-react-renderer "^2.4.1"
+ process "^0.11.10"
+ react-hook-form "^7.59.0"
+ react-live "^4.1.8"
+ react-magic-dropzone "^1.0.1"
+ react-markdown "^10.1.0"
+ react-modal "^3.16.3"
+ react-redux "^9.2.0"
+ rehype-raw "^7.0.0"
+ remark-gfm "4.0.1"
+ sass "^1.89.2"
+ sass-loader "^16.0.5"
+ unist-util-visit "^5.0.0"
+ url "^0.11.4"
+ xml-formatter "^3.6.6"
+
dom-converter@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
@@ -4716,6 +5130,11 @@ es-to-primitive@^1.3.0:
is-date-object "^1.0.5"
is-symbol "^1.0.4"
+es6-promise@^3.2.1:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
+ integrity sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==
+
esast-util-from-estree@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz#8d1cfb51ad534d2f159dc250e604f3478a79f1ad"
@@ -4905,6 +5324,11 @@ execa@^5.1.1:
signal-exit "^3.0.3"
strip-final-newline "^2.0.0"
+exenv@^1.2.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d"
+ integrity sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==
+
express@^4.22.1:
version "4.22.1"
resolved "https://registry.yarnpkg.com/express/-/express-4.22.1.tgz#1de23a09745a4fffdb39247b344bb5eaff382069"
@@ -4975,6 +5399,11 @@ fast-json-stable-stringify@^2.0.0:
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+fast-safe-stringify@^2.0.7:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884"
+ integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==
+
fast-uri@^3.0.1:
version "3.0.6"
resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748"
@@ -5001,6 +5430,11 @@ faye-websocket@^0.11.3:
dependencies:
websocket-driver ">=0.5.1"
+fdir@^6.5.0:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350"
+ integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==
+
feed@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e"
@@ -5023,6 +5457,16 @@ file-loader@^6.2.0:
loader-utils "^2.0.0"
schema-utils "^3.0.0"
+file-saver@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38"
+ integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==
+
+file-type@3.9.0:
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9"
+ integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==
+
fill-range@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
@@ -5076,6 +5520,11 @@ for-each@^0.3.3, for-each@^0.3.5:
dependencies:
is-callable "^1.2.7"
+foreach@^2.0.4:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.6.tgz#87bcc8a1a0e74000ff2bf9802110708cfb02eb6e"
+ integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==
+
form-data-encoder@^2.1.2:
version "2.1.4"
resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5"
@@ -5110,6 +5559,20 @@ fs-extra@^11.1.1, fs-extra@^11.2.0:
jsonfile "^6.0.1"
universalify "^2.0.0"
+fs-extra@^11.3.0:
+ version "11.3.4"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.4.tgz#ab6934eca8bcf6f7f6b82742e33591f86301d6fc"
+ integrity sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
fsevents@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
@@ -5142,6 +5605,11 @@ gensync@^1.0.0-beta.2:
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+get-caller-file@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
@@ -5214,6 +5682,18 @@ glob-to-regexp@^0.4.1:
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
+glob@^7.0.0:
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ 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"
+
global-dirs@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485"
@@ -5284,6 +5764,13 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11,
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
+graphlib@2.1.8:
+ version "2.1.8"
+ resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.8.tgz#5761d414737870084c92ec7b5dbcb0592c9d35da"
+ integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==
+ dependencies:
+ lodash "^4.17.15"
+
gray-matter@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798"
@@ -5543,6 +6030,11 @@ html-tags@^3.3.1:
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce"
integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==
+html-url-attributes@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/html-url-attributes/-/html-url-attributes-3.0.1.tgz#83b052cd5e437071b756cd74ae70f708870c2d87"
+ integrity sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==
+
html-void-elements@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7"
@@ -5635,6 +6127,16 @@ http-proxy@^1.18.1:
follow-redirects "^1.0.0"
requires-port "^1.0.0"
+http-reasons@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/http-reasons/-/http-reasons-0.1.0.tgz#a953ca670078669dde142ce899401b9d6e85d3b4"
+ integrity sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==
+
+http2-client@^1.2.5:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/http2-client/-/http2-client-1.3.5.tgz#20c9dc909e3cc98284dd20af2432c524086df181"
+ integrity sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==
+
http2-wrapper@^2.1.10:
version "2.2.1"
resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a"
@@ -5653,6 +6155,13 @@ hyperdyperid@^1.2.0:
resolved "https://registry.yarnpkg.com/hyperdyperid/-/hyperdyperid-1.2.0.tgz#59668d323ada92228d2a869d3e474d5a33b69e6b"
integrity sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==
+iconv-lite@0.6.3:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
+ integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3.0.0"
+
iconv-lite@~0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
@@ -5665,6 +6174,11 @@ icss-utils@^5.0.0, icss-utils@^5.1.0:
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
+ieee754@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
ignore@^5.2.0, ignore@^5.2.4:
version "5.3.2"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
@@ -5675,6 +6189,16 @@ image-size@^2.0.2:
resolved "https://registry.yarnpkg.com/image-size/-/image-size-2.0.2.tgz#84a7b43704db5736f364bf0d1b029821299b4bdc"
integrity sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==
+immer@^11.0.0:
+ version "11.1.4"
+ resolved "https://registry.yarnpkg.com/immer/-/immer-11.1.4.tgz#37aee86890b134a8f1a2fadd44361fb86c6ae67e"
+ integrity sha512-XREFCPo6ksxVzP4E0ekD5aMdf8WMwmdNaz6vuvxgI40UaEiu6q3p8X52aU6GdyvLY3XXX/8R7JOTXStz/nBbRw==
+
+immutable@^5.1.5:
+ version "5.1.5"
+ resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.5.tgz#93ee4db5c2a9ab42a4a783069f3c5d8847d40165"
+ integrity sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==
+
import-fresh@^3.2.1, import-fresh@^3.3.0:
version "3.3.1"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
@@ -5703,16 +6227,24 @@ infima@0.2.0-alpha.45:
resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.45.tgz#542aab5a249274d81679631b492973dd2c1e7466"
integrity sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==
-inherits@2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
- integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
-inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@~2.0.4:
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@~2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+inherits@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
+
ini@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
@@ -5737,6 +6269,11 @@ internal-slot@^1.1.0:
hasown "^2.0.2"
side-channel "^1.1.0"
+interpret@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
+ integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
+
invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
@@ -5826,7 +6363,7 @@ is-ci@^3.0.1:
dependencies:
ci-info "^3.2.0"
-is-core-module@^2.16.0:
+is-core-module@^2.16.0, is-core-module@^2.16.1:
version "2.16.1"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4"
integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
@@ -6161,11 +6698,23 @@ joi@^17.9.2:
"@sideway/formula" "^3.0.1"
"@sideway/pinpoint" "^2.0.0"
+js-levenshtein@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
+ integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
+
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+js-yaml@4.1.0, js-yaml@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
js-yaml@^3.13.1:
version "3.14.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
@@ -6174,10 +6723,10 @@ js-yaml@^3.13.1:
argparse "^1.0.7"
esprima "^4.0.0"
-js-yaml@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
- integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+js-yaml@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b"
+ integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==
dependencies:
argparse "^2.0.1"
@@ -6196,11 +6745,48 @@ json-buffer@3.0.1:
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
+json-crawl@^0.5.3:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/json-crawl/-/json-crawl-0.5.3.tgz#3a2e1d308d4fc5a444902f1f94f4a9e03d584c6b"
+ integrity sha512-BEjjCw8c7SxzNK4orhlWD5cXQh8vCk2LqDr4WgQq4CV+5dvopeYwt1Tskg67SuSLKvoFH5g0yuYtg7rcfKV6YA==
+
json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+json-pointer@0.6.2, json-pointer@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.2.tgz#f97bd7550be5e9ea901f8c9264c9d436a22a93cd"
+ integrity sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==
+ dependencies:
+ foreach "^2.0.4"
+
+json-schema-compare@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/json-schema-compare/-/json-schema-compare-0.2.2.tgz#dd601508335a90c7f4cfadb6b2e397225c908e56"
+ integrity sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==
+ dependencies:
+ lodash "^4.17.4"
+
+json-schema-merge-allof@0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/json-schema-merge-allof/-/json-schema-merge-allof-0.8.1.tgz#ed2828cdd958616ff74f932830a26291789eaaf2"
+ integrity sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==
+ dependencies:
+ compute-lcm "^1.1.2"
+ json-schema-compare "^0.2.2"
+ lodash "^4.17.20"
+
+json-schema-to-ts@2.7.2:
+ version "2.7.2"
+ resolved "https://registry.yarnpkg.com/json-schema-to-ts/-/json-schema-to-ts-2.7.2.tgz#e8df41d7153e5517f0e68dbe57be12bb3609d6d5"
+ integrity sha512-R1JfqKqbBR4qE8UyBR56Ms30LL62/nlhoz+1UkfI/VE7p54Awu919FZ6ZUPG8zIa3XB65usPJgr1ONVncUGSaQ==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ "@types/json-schema" "^7.0.9"
+ ts-algebra "^1.2.0"
+
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
@@ -6272,6 +6858,11 @@ lines-and-columns@^1.1.6:
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+liquid-json@0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/liquid-json/-/liquid-json-0.3.1.tgz#9155a18136d8a6b2615e5f16f9a2448ab6b50eea"
+ integrity sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==
+
loader-runner@^4.2.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1"
@@ -6308,11 +6899,21 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
-lodash@^4.17.20, lodash@^4.17.21:
+lodash@4.17.21, lodash@^4.17.20, lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+lodash@4.17.23:
+ version "4.17.23"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.23.tgz#f113b0378386103be4f6893388c73d0bde7f2c5a"
+ integrity sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==
+
+lodash@^4.17.15, lodash@^4.17.4:
+ version "4.18.1"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c"
+ integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==
+
longest-streak@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4"
@@ -7088,6 +7689,13 @@ mime-db@~1.33.0:
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==
+mime-format@2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/mime-format/-/mime-format-2.0.2.tgz#77fa304b9aedb21439c4db010305146edbd8a912"
+ integrity sha512-Y5ERWVcyh3sby9Fx2U5F1yatiTFjNsqF5NltihTWI9QgNtr5o3dbCZdcKa1l2wyfhnwwoP9HGNxga7LqZLA6gw==
+ dependencies:
+ charset "^1.0.0"
+
mime-types@2.1.18:
version "2.1.18"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
@@ -7114,6 +7722,11 @@ mime@1.6.0:
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+mime@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7"
+ integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==
+
mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
@@ -7142,7 +7755,7 @@ minimalistic-assert@^1.0.0:
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-minimatch@3.1.5:
+minimatch@3.1.5, minimatch@^3.1.1:
version "3.1.5"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e"
integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==
@@ -7184,6 +7797,20 @@ multicast-dns@^7.2.5:
dns-packet "^5.2.2"
thunky "^1.0.2"
+mustache@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64"
+ integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==
+
+mz@^2.7.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
+ integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
+ dependencies:
+ any-promise "^1.0.0"
+ object-assign "^4.0.1"
+ thenify-all "^1.0.0"
+
nanoid@^3.3.11:
version "3.3.11"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b"
@@ -7204,6 +7831,11 @@ neo-async@^2.6.2:
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+neotraverse@0.6.15:
+ version "0.6.15"
+ resolved "https://registry.yarnpkg.com/neotraverse/-/neotraverse-0.6.15.tgz#dc4abb64700c52440f13bc53635b559862420360"
+ integrity sha512-HZpdkco+JeXq0G+WWpMJ4NsX3pqb5O7eR9uGz3FfoFt+LYzU8iRWp49nJtud6hsDoywM8tIrDo3gjgmOqJA8LA==
+
no-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
@@ -7212,6 +7844,11 @@ no-case@^3.0.4:
lower-case "^2.0.2"
tslib "^2.0.3"
+node-addon-api@^7.0.0:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558"
+ integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==
+
node-emoji@^2.1.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-2.2.0.tgz#1d000e3c76e462577895be1b436f4aa2d6760eb0"
@@ -7222,6 +7859,27 @@ node-emoji@^2.1.0:
emojilib "^2.4.0"
skin-tone "^2.0.0"
+node-fetch-h2@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz#c6188325f9bd3d834020bf0f2d6dc17ced2241ac"
+ integrity sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==
+ dependencies:
+ http2-client "^1.2.5"
+
+node-fetch@^2.6.1:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
+ integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
+ dependencies:
+ whatwg-url "^5.0.0"
+
+node-readfiles@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/node-readfiles/-/node-readfiles-0.2.0.tgz#dbbd4af12134e2e635c245ef93ffcf6f60673a5d"
+ integrity sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==
+ dependencies:
+ es6-promise "^3.2.1"
+
node-releases@^2.0.19:
version "2.0.19"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
@@ -7276,11 +7934,74 @@ null-loader@^4.0.1:
loader-utils "^2.0.0"
schema-utils "^3.0.0"
-object-assign@^4.1.1:
+oas-kit-common@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/oas-kit-common/-/oas-kit-common-1.0.8.tgz#6d8cacf6e9097967a4c7ea8bcbcbd77018e1f535"
+ integrity sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==
+ dependencies:
+ fast-safe-stringify "^2.0.7"
+
+oas-linter@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/oas-linter/-/oas-linter-3.2.2.tgz#ab6a33736313490659035ca6802dc4b35d48aa1e"
+ integrity sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==
+ dependencies:
+ "@exodus/schemasafe" "^1.0.0-rc.2"
+ should "^13.2.1"
+ yaml "^1.10.0"
+
+oas-resolver-browser@2.5.6:
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/oas-resolver-browser/-/oas-resolver-browser-2.5.6.tgz#1974db66d594fa8c67d3aa866b46b9e2156a8b55"
+ integrity sha512-Jw5elT/kwUJrnGaVuRWe1D7hmnYWB8rfDDjBnpQ+RYY/dzAewGXeTexXzt4fGEo6PUE4eqKqPWF79MZxxvMppA==
+ dependencies:
+ node-fetch-h2 "^2.3.0"
+ oas-kit-common "^1.0.8"
+ path-browserify "^1.0.1"
+ reftools "^1.1.9"
+ yaml "^1.10.0"
+ yargs "^17.0.1"
+
+oas-resolver@^2.5.6:
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/oas-resolver/-/oas-resolver-2.5.6.tgz#10430569cb7daca56115c915e611ebc5515c561b"
+ integrity sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==
+ 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"
+
+oas-schema-walker@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz#74c3cd47b70ff8e0b19adada14455b5d3ac38a22"
+ integrity sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==
+
+oas-validator@^5.0.8:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/oas-validator/-/oas-validator-5.0.8.tgz#387e90df7cafa2d3ffc83b5fb976052b87e73c28"
+ integrity sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==
+ 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"
+
+object-assign@^4.0.1, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
+object-hash@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
+ integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
+
object-inspect@^1.13.3, object-inspect@^1.13.4:
version "1.13.4"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213"
@@ -7343,6 +8064,13 @@ on-headers@~1.1.0:
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.1.0.tgz#59da4f91c45f5f989c6e4bcedc5a3b0aed70ff65"
integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+ dependencies:
+ wrappy "1"
+
onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
@@ -7369,6 +8097,35 @@ open@^8.4.0:
is-docker "^2.1.1"
is-wsl "^2.2.0"
+openapi-to-postmanv2@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/openapi-to-postmanv2/-/openapi-to-postmanv2-6.0.1.tgz#ce14def40b16cd02f5656445cfe7d039f761a602"
+ integrity sha512-zAjaTwXo07az6jjvZTw4d26QMQsFxZBxTqjj3LQQMDCCuO6+peATQc9bSmAq3QbzvikP+h2WEjTphMcIrcSurg==
+ dependencies:
+ ajv "^8.11.0"
+ ajv-draft-04 "1.0.0"
+ ajv-formats "2.1.1"
+ async "3.2.6"
+ commander "2.20.3"
+ graphlib "2.1.8"
+ js-yaml "4.1.0"
+ json-pointer "0.6.2"
+ json-schema-merge-allof "0.8.1"
+ lodash "4.17.21"
+ neotraverse "0.6.15"
+ oas-resolver-browser "2.5.6"
+ object-hash "3.0.0"
+ openapi-types "^12.1.3"
+ path-browserify "1.0.1"
+ postman-collection "^5.0.0"
+ swagger2openapi "7.0.8"
+ yaml "1.10.2"
+
+openapi-types@^12.1.3:
+ version "12.1.3"
+ resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-12.1.3.tgz#471995eb26c4b97b7bd356aacf7b91b73e777dd3"
+ integrity sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==
+
opener@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
@@ -7448,6 +8205,11 @@ package-json@^8.1.0:
registry-url "^6.0.0"
semver "^7.3.7"
+pako@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86"
+ integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==
+
param-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5"
@@ -7519,11 +8281,21 @@ pascal-case@^3.1.2:
no-case "^3.0.4"
tslib "^2.0.3"
+path-browserify@1.0.1, path-browserify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
+ integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
+
path-exists@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7"
integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
path-is-inside@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
@@ -7571,6 +8343,16 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1:
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+picomatch@^4.0.3, picomatch@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589"
+ integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==
+
+pirates@^4.0.1:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22"
+ integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==
+
pkg-dir@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11"
@@ -7590,6 +8372,11 @@ pkijs@^3.3.3:
pvutils "^1.1.3"
tslib "^2.8.1"
+pluralize@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1"
+ integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==
+
possible-typed-array-names@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae"
@@ -8152,6 +8939,41 @@ postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.33, postcss@^8.5.4:
picocolors "^1.1.1"
source-map-js "^1.2.1"
+postman-code-generators@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/postman-code-generators/-/postman-code-generators-2.1.1.tgz#37d1d612b103d96997a7d0698737d4b006d53e97"
+ integrity sha512-+egQK1Jf9a92QP23vRTKcDLOthIQmI7WI4czEsZq/wgguLMnVHJ26KlT8AVtpAdVw28hqUbHwicerYxRWCfjoA==
+ dependencies:
+ async "^3.2.2"
+ detect-package-manager "^3.0.2"
+ lodash "^4.17.21"
+ postman-collection "^5.0.0"
+ shelljs "^0.8.5"
+
+postman-collection@^5.0.0, postman-collection@^5.0.2:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/postman-collection/-/postman-collection-5.3.0.tgz#9b74ff3e2971ee3bf109a06bfe3c4d069176fbe5"
+ integrity sha512-PMa5vRheqDFfS1bkRg8WBidWxunRA80sT5YNLP27YC5+ycyfiLMCwPnqQd1zfvxkGk04Pr9UronWmmgsbpsVyQ==
+ dependencies:
+ "@faker-js/faker" "5.5.3"
+ file-type "3.9.0"
+ http-reasons "0.1.0"
+ iconv-lite "0.6.3"
+ liquid-json "0.3.1"
+ lodash "4.17.23"
+ mime "3.0.0"
+ mime-format "2.0.2"
+ postman-url-encoder "3.0.8"
+ semver "7.7.1"
+ uuid "8.3.2"
+
+postman-url-encoder@3.0.8:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/postman-url-encoder/-/postman-url-encoder-3.0.8.tgz#f4f40c1858301fadc466f0a7825f9bb638857367"
+ integrity sha512-EOgUMBazo7JNP4TDrd64TsooCiWzzo4143Ws8E8WYGEpn2PKpq+S4XRTDhuRTYHm3VKOpUZs7ZYZq7zSDuesqA==
+ dependencies:
+ punycode "^2.3.1"
+
pretty-error@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6"
@@ -8165,7 +8987,7 @@ pretty-time@^1.1.0:
resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e"
integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==
-prism-react-renderer@^2.1.0, prism-react-renderer@^2.3.0:
+prism-react-renderer@^2.1.0, prism-react-renderer@^2.3.0, prism-react-renderer@^2.4.0, prism-react-renderer@^2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz#ac63b7f78e56c8f2b5e76e823a976d5ede77e35f"
integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==
@@ -8183,6 +9005,11 @@ process-nextick-args@~2.0.0:
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+process@^0.11.10:
+ version "0.11.10"
+ resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+ integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
+
prompts@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
@@ -8223,7 +9050,12 @@ proxy-addr@~2.0.7:
forwarded "0.2.0"
ipaddr.js "1.9.1"
-punycode@^2.1.0:
+punycode@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==
+
+punycode@^2.1.0, punycode@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
@@ -8252,6 +9084,13 @@ q@^1.1.2:
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
+qs@^6.12.3:
+ version "6.15.1"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.15.1.tgz#bdb55aed06bfac257a90c44a446a73fba5575c8f"
+ integrity sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==
+ dependencies:
+ side-channel "^1.1.0"
+
qs@~6.14.0:
version "6.14.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.2.tgz#b5634cf9d9ad9898e31fba3504e866e8efb6798c"
@@ -8330,6 +9169,11 @@ react-fast-compare@^3.2.0:
react-fast-compare "^3.2.0"
shallowequal "^1.1.0"
+react-hook-form@^7.59.0:
+ version "7.73.1"
+ resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.73.1.tgz#ddd1a27cae48f6095529f6e2e0c581daaca5462a"
+ integrity sha512-VAfVYOPcx3piiEVQy95vyFmBwbVUsP/AUIN+mpFG8h11yshDd444nn0VyfaGWSRnhOLVgiDu7HIuBtAIzxn9dA==
+
react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
@@ -8340,6 +9184,20 @@ react-json-view-lite@^2.3.0:
resolved "https://registry.yarnpkg.com/react-json-view-lite/-/react-json-view-lite-2.4.1.tgz#0d06696a06aaf4a74e890302b76cf8cddcc45d60"
integrity sha512-fwFYknRIBxjbFm0kBDrzgBy1xa5tDg2LyXXBepC5f1b+MY3BUClMCsvanMPn089JbV1Eg3nZcrp0VCuH43aXnA==
+react-lifecycles-compat@^3.0.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
+ integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
+
+react-live@^4.1.8:
+ version "4.1.8"
+ resolved "https://registry.yarnpkg.com/react-live/-/react-live-4.1.8.tgz#287fb6c5127c2d89a6fe39380278d95cc8e661b6"
+ integrity sha512-B2SgNqwPuS2ekqj4lcxi5TibEcjWkdVyYykBEUBshPAPDQ527x2zPEZg560n8egNtAjUpwXFQm7pcXV65aAYmg==
+ dependencies:
+ prism-react-renderer "^2.4.0"
+ sucrase "^3.35.0"
+ use-editable "^2.3.3"
+
react-loadable-ssr-addon-v5-slorber@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.3.tgz#bb3791bf481222c63a5bc6b96ee23f68cb5614b9"
@@ -8354,6 +9212,46 @@ react-loadable-ssr-addon-v5-slorber@^1.0.3:
dependencies:
"@types/react" "*"
+react-magic-dropzone@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/react-magic-dropzone/-/react-magic-dropzone-1.0.1.tgz#bfd25b77b57e7a04aaef0a28910563b707ee54df"
+ integrity sha512-0BIROPARmXHpk4AS3eWBOsewxoM5ndk2psYP/JmbCq8tz3uR2LIV1XiroZ9PKrmDRMctpW+TvsBCtWasuS8vFA==
+
+react-markdown@^10.1.0:
+ version "10.1.0"
+ resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-10.1.0.tgz#e22bc20faddbc07605c15284255653c0f3bad5ca"
+ integrity sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==
+ dependencies:
+ "@types/hast" "^3.0.0"
+ "@types/mdast" "^4.0.0"
+ devlop "^1.0.0"
+ hast-util-to-jsx-runtime "^2.0.0"
+ html-url-attributes "^3.0.0"
+ mdast-util-to-hast "^13.0.0"
+ remark-parse "^11.0.0"
+ remark-rehype "^11.0.0"
+ unified "^11.0.0"
+ unist-util-visit "^5.0.0"
+ vfile "^6.0.0"
+
+react-modal@^3.16.3:
+ version "3.16.3"
+ resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.16.3.tgz#c412d41915782e3c261253435d01468e2439b11b"
+ integrity sha512-yCYRJB5YkeQDQlTt17WGAgFJ7jr2QYcWa1SHqZ3PluDmnKJ/7+tVU+E6uKyZ0nODaeEj+xCpK4LcSnKXLMC0Nw==
+ dependencies:
+ exenv "^1.2.0"
+ prop-types "^15.7.2"
+ react-lifecycles-compat "^3.0.0"
+ warning "^4.0.3"
+
+react-redux@^9.2.0:
+ version "9.2.0"
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-9.2.0.tgz#96c3ab23fb9a3af2cb4654be4b51c989e32366f5"
+ integrity sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==
+ dependencies:
+ "@types/use-sync-external-store" "^0.0.6"
+ use-sync-external-store "^1.4.0"
+
react-router-config@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/react-router-config/-/react-router-config-5.1.1.tgz#0f4263d1a80c6b2dc7b9c1902c9526478194a988"
@@ -8418,6 +9316,11 @@ readable-stream@^3.0.6:
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
+readdirp@^4.0.1:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d"
+ integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==
+
readdirp@~3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
@@ -8425,6 +9328,13 @@ readdirp@~3.6.0:
dependencies:
picomatch "^2.2.1"
+rechoir@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+ integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==
+ dependencies:
+ resolve "^1.1.6"
+
recma-build-jsx@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz#c02f29e047e103d2fab2054954e1761b8ea253c4"
@@ -8465,6 +9375,16 @@ recma-stringify@^1.0.0:
unified "^11.0.0"
vfile "^6.0.0"
+redux-thunk@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-3.1.0.tgz#94aa6e04977c30e14e892eae84978c1af6058ff3"
+ integrity sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==
+
+redux@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/redux/-/redux-5.0.1.tgz#97fa26881ce5746500125585d5642c77b6e9447b"
+ integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==
+
reflect-metadata@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.2.2.tgz#400c845b6cba87a21f2c65c4aeb158f4fa4d9c5b"
@@ -8484,6 +9404,11 @@ reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9:
get-proto "^1.0.1"
which-builtin-type "^1.2.1"
+reftools@^1.1.9:
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/reftools/-/reftools-1.1.9.tgz#e16e19f662ccd4648605312c06d34e5da3a2b77e"
+ integrity sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==
+
regenerate-unicode-properties@^10.2.0:
version "10.2.0"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0"
@@ -8600,7 +9525,7 @@ remark-frontmatter@^5.0.0:
micromark-extension-frontmatter "^2.0.0"
unified "^11.0.0"
-remark-gfm@^4.0.0:
+remark-gfm@4.0.1, remark-gfm@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-4.0.1.tgz#33227b2a74397670d357bf05c098eaf8513f0d6b"
integrity sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==
@@ -8666,6 +9591,11 @@ repeat-string@^1.0.0:
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
+
require-from-string@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
@@ -8681,6 +9611,11 @@ requires-port@^1.0.0:
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
+reselect@^5.1.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/reselect/-/reselect-5.1.1.tgz#c766b1eb5d558291e5e550298adb0becc24bb72e"
+ integrity sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==
+
resolve-alpn@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
@@ -8696,6 +9631,16 @@ resolve-pathname@^3.0.0:
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd"
integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==
+resolve@^1.1.6:
+ version "1.22.12"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.12.tgz#f5b2a680897c69c238a13cd16b15671f8b73549f"
+ integrity sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==
+ dependencies:
+ es-errors "^1.3.0"
+ is-core-module "^2.16.1"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
resolve@^1.22.10:
version "1.22.10"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39"
@@ -8782,11 +9727,29 @@ safe-regex-test@^1.1.0:
es-errors "^1.3.0"
is-regex "^1.2.1"
-"safer-buffer@>= 2.1.2 < 3":
+"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+sass-loader@^16.0.2, sass-loader@^16.0.5:
+ version "16.0.7"
+ resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-16.0.7.tgz#d1f8723b795805831d41b5825e3d9cd72cb939e7"
+ integrity sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==
+ dependencies:
+ neo-async "^2.6.2"
+
+sass@^1.89.2, sass@^1.99.0:
+ version "1.99.0"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.99.0.tgz#ff9d1594da4886249dfaafabbeea2dea2dc74b26"
+ integrity sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==
+ dependencies:
+ chokidar "^4.0.0"
+ immutable "^5.1.5"
+ source-map-js ">=0.6.2 <2.0.0"
+ optionalDependencies:
+ "@parcel/watcher" "^2.4.1"
+
sax@^1.2.4:
version "1.4.1"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f"
@@ -8866,6 +9829,11 @@ semver-diff@^4.0.0:
dependencies:
semver "^7.3.5"
+semver@7.7.1:
+ version "7.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f"
+ integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==
+
semver@^6.3.1:
version "6.3.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
@@ -9008,6 +9976,59 @@ shell-quote@^1.8.3:
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.3.tgz#55e40ef33cf5c689902353a3d8cd1a6725f08b4b"
integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==
+shelljs@^0.8.5:
+ version "0.8.5"
+ resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c"
+ integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==
+ dependencies:
+ glob "^7.0.0"
+ interpret "^1.0.0"
+ rechoir "^0.6.2"
+
+should-equal@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3"
+ integrity sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==
+ dependencies:
+ should-type "^1.4.0"
+
+should-format@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/should-format/-/should-format-3.0.3.tgz#9bfc8f74fa39205c53d38c34d717303e277124f1"
+ integrity sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==
+ dependencies:
+ should-type "^1.3.0"
+ should-type-adaptors "^1.0.1"
+
+should-type-adaptors@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz#401e7f33b5533033944d5cd8bf2b65027792e27a"
+ integrity sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==
+ dependencies:
+ should-type "^1.3.0"
+ should-util "^1.0.0"
+
+should-type@^1.3.0, should-type@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/should-type/-/should-type-1.4.0.tgz#0756d8ce846dfd09843a6947719dfa0d4cff5cf3"
+ integrity sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==
+
+should-util@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/should-util/-/should-util-1.0.1.tgz#fb0d71338f532a3a149213639e2d32cbea8bcb28"
+ integrity sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==
+
+should@^13.2.1:
+ version "13.2.3"
+ resolved "https://registry.yarnpkg.com/should/-/should-13.2.3.tgz#96d8e5acf3e97b49d89b51feaa5ae8d07ef58f10"
+ integrity sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==
+ 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"
+
side-channel-list@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad"
@@ -9094,6 +10115,11 @@ slash@^4.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7"
integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==
+slugify@^1.6.6:
+ version "1.6.9"
+ resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.9.tgz#610957dea21e56b65e3a153215ef7b265715c8e8"
+ integrity sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg==
+
snake-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c"
@@ -9116,7 +10142,7 @@ sort-css-media-queries@2.2.0:
resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz#aa33cf4a08e0225059448b6c40eddbf9f1c8334c"
integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==
-source-map-js@^1.0.1, source-map-js@^1.2.1:
+"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
@@ -9205,7 +10231,7 @@ stop-iteration-iterator@^1.1.0:
es-errors "^1.3.0"
internal-slot "^1.1.0"
-string-width@^4.1.0, string-width@^4.2.0:
+string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -9342,6 +10368,19 @@ stylehacks@^6.1.1:
browserslist "^4.23.0"
postcss-selector-parser "^6.0.16"
+sucrase@^3.35.0:
+ version "3.35.1"
+ resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.1.tgz#4619ea50393fe8bd0ae5071c26abd9b2e346bfe1"
+ integrity sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.2"
+ commander "^4.0.0"
+ lines-and-columns "^1.1.6"
+ mz "^2.7.0"
+ pirates "^4.0.1"
+ tinyglobby "^0.2.11"
+ ts-interface-checker "^0.1.9"
+
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@@ -9405,6 +10444,23 @@ svgo@^3.0.2, svgo@^3.2.0:
csso "^5.0.5"
picocolors "^1.0.0"
+swagger2openapi@7.0.8, swagger2openapi@^7.0.8:
+ version "7.0.8"
+ resolved "https://registry.yarnpkg.com/swagger2openapi/-/swagger2openapi-7.0.8.tgz#12c88d5de776cb1cbba758994930f40ad0afac59"
+ integrity sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==
+ 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"
+
tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1:
version "2.2.2"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.2.tgz#ab4984340d30cb9989a490032f086dbb8b56d872"
@@ -9431,6 +10487,20 @@ terser@^5.10.0, terser@^5.15.1, terser@^5.31.1:
commander "^2.20.0"
source-map-support "~0.5.20"
+thenify-all@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
+ integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==
+ dependencies:
+ thenify ">= 3.1.0 < 4"
+
+"thenify@>= 3.1.0 < 4":
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f"
+ integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
+ dependencies:
+ any-promise "^1.0.0"
+
thingies@^2.5.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/thingies/-/thingies-2.6.0.tgz#e09b98b9e6f6caf8a759eca8481fea1de974d2b1"
@@ -9451,6 +10521,14 @@ tiny-warning@^1.0.0:
resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
+tinyglobby@^0.2.11:
+ version "0.2.16"
+ resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.16.tgz#1c3b7eb953fce42b226bc5a1ee06428281aff3d6"
+ integrity sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==
+ dependencies:
+ fdir "^6.5.0"
+ picomatch "^4.0.4"
+
tinypool@^1.0.2:
version "1.1.1"
resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.1.1.tgz#059f2d042bd37567fbc017d3d426bdd2a2612591"
@@ -9473,6 +10551,11 @@ totalist@^3.0.0:
resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8"
integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+ integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+
tree-dump@^1.0.3, tree-dump@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/tree-dump/-/tree-dump-1.1.0.tgz#ab29129169dc46004414f5a9d4a3c6e89f13e8a4"
@@ -9488,6 +10571,16 @@ trough@^2.0.0:
resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f"
integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==
+ts-algebra@^1.2.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/ts-algebra/-/ts-algebra-1.2.2.tgz#b75d301c28cd4126cd344760a47b43e48e2872e0"
+ integrity sha512-kloPhf1hq3JbCPOTYoOWDKxebWjNb2o/LKnNfkWhxVVisFFmMJPPdJeGoGmM+iRLyoXAR61e08Pb+vUXINg8aA==
+
+ts-interface-checker@^0.1.9:
+ version "0.1.13"
+ resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
+ integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
+
tslib@^1.9.3:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
@@ -9580,6 +10673,11 @@ typedarray-to-buffer@^3.1.5:
dependencies:
is-typedarray "^1.0.0"
+typescript@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-6.0.3.tgz#90251dc007916e972786cb94d74d15b185577d21"
+ integrity sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==
+
unbox-primitive@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2"
@@ -9590,6 +10688,11 @@ unbox-primitive@^1.1.0:
has-symbols "^1.1.0"
which-boxed-primitive "^1.1.1"
+undici-types@~7.19.0:
+ version "7.19.2"
+ resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.19.2.tgz#1b67fc26d0f157a0cba3a58a5b5c1e2276b8ba2a"
+ integrity sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==
+
undici-types@~7.8.0:
version "7.8.0"
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294"
@@ -9747,6 +10850,24 @@ url-loader@^4.1.1:
mime-types "^2.1.27"
schema-utils "^3.0.0"
+url@^0.11.4:
+ version "0.11.4"
+ resolved "https://registry.yarnpkg.com/url/-/url-0.11.4.tgz#adca77b3562d56b72746e76b330b7f27b6721f3c"
+ integrity sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==
+ dependencies:
+ punycode "^1.4.1"
+ qs "^6.12.3"
+
+use-editable@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/use-editable/-/use-editable-2.3.3.tgz#a292fe9ba4c291cd28d1cc2728c75a5fc8d9a33f"
+ integrity sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA==
+
+use-sync-external-store@^1.4.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz#b174bfa65cb2b526732d9f2ac0a408027876f32d"
+ integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==
+
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
@@ -9777,11 +10898,41 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
-uuid@^8.3.2:
+uuid@8.3.2, uuid@^8.3.2:
version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+validate.io-array@^1.0.3:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/validate.io-array/-/validate.io-array-1.0.6.tgz#5b5a2cafd8f8b85abb2f886ba153f2d93a27774d"
+ integrity sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==
+
+validate.io-function@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/validate.io-function/-/validate.io-function-1.0.2.tgz#343a19802ed3b1968269c780e558e93411c0bad7"
+ integrity sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==
+
+validate.io-integer-array@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz#2cabde033293a6bcbe063feafe91eaf46b13a089"
+ integrity sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==
+ dependencies:
+ validate.io-array "^1.0.3"
+ validate.io-integer "^1.0.4"
+
+validate.io-integer@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/validate.io-integer/-/validate.io-integer-1.0.5.tgz#168496480b95be2247ec443f2233de4f89878068"
+ integrity sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==
+ dependencies:
+ validate.io-number "^1.0.3"
+
+validate.io-number@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/validate.io-number/-/validate.io-number-1.0.3.tgz#f63ffeda248bf28a67a8d48e0e3b461a1665baf8"
+ integrity sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==
+
value-equal@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c"
@@ -9816,6 +10967,13 @@ vfile@^6.0.0, vfile@^6.0.1:
"@types/unist" "^3.0.0"
vfile-message "^4.0.0"
+warning@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
+ integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==
+ dependencies:
+ loose-envify "^1.0.0"
+
watchpack@^2.4.1:
version "2.4.4"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.4.tgz#473bda72f0850453da6425081ea46fc0d7602947"
@@ -9836,6 +10994,11 @@ web-namespaces@^2.0.0:
resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692"
integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+ integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+
webpack-bundle-analyzer@^4.10.2:
version "4.10.2"
resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz#633af2862c213730be3dbdf40456db171b60d5bd"
@@ -9981,6 +11144,14 @@ websocket-extensions@>=0.1.1:
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
+whatwg-url@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+ integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e"
@@ -10071,6 +11242,11 @@ wrap-ansi@^8.0.1, wrap-ansi@^8.1.0:
string-width "^5.0.1"
strip-ansi "^7.0.1"
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
write-file-atomic@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
@@ -10103,6 +11279,13 @@ xdg-basedir@^5.0.1, xdg-basedir@^5.1.0:
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9"
integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==
+xml-formatter@^3.6.6:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/xml-formatter/-/xml-formatter-3.7.0.tgz#ac6f8c02e2388759652e9d0c8a4b5b3dfc0694e5"
+ integrity sha512-+8qTc3zv2UcJ1v9IsSIce37Dl4MQG14Cp7tWrwmy202UaI1wqRukw5QMX1JHsV+DX64yw77EgGsj2s5wGvuMbQ==
+ dependencies:
+ xml-parser-xo "^4.1.5"
+
xml-js@^1.6.11:
version "1.6.11"
resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9"
@@ -10110,16 +11293,49 @@ xml-js@^1.6.11:
dependencies:
sax "^1.2.4"
+xml-parser-xo@^4.1.5:
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/xml-parser-xo/-/xml-parser-xo-4.1.5.tgz#c3326af56219a406f1e20741a2826655fcb3b607"
+ integrity sha512-TxyRxk9sTOUg3glxSIY6f0nfuqRll2OEF8TspLgh5mZkLuBgheCn3zClcDSGJ58TvNmiwyCCuat4UajPud/5Og==
+
+y18n@^5.0.5:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
+ integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
+
yallist@^3.0.2:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-yaml@^1.10.0:
+yaml-ast-parser@0.0.43:
+ version "0.0.43"
+ resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb"
+ integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==
+
+yaml@1.10.2, yaml@^1.10.0:
version "1.10.2"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+yargs-parser@^21.1.1:
+ version "21.1.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
+ integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
+
+yargs@^17.0.1:
+ version "17.7.2"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
+ integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
+ 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"
+
yocto-queue@^1.0.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.2.1.tgz#36d7c4739f775b3cbc28e6136e21aa057adec418"