diff --git a/apps/docs/package.json b/apps/docs/package.json index 243d7c53f..32685ef99 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -13,7 +13,7 @@ "browserslist": "defaults, not ie <= 11", "dependencies": { "@algolia/autocomplete-core": "^1.7.3", - "@e2b/sdk": "^0.8.1", + "@e2b/sdk": "^0.8.2", "@headlessui/react": "^1.7.15", "@headlessui/tailwindcss": "^0.2.0", "@mdx-js/loader": "^2.1.5", diff --git a/packages/js-sdk/package.json b/packages/js-sdk/package.json index 1f9808b63..81b488835 100644 --- a/packages/js-sdk/package.json +++ b/packages/js-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@e2b/sdk", - "version": "0.8.1", + "version": "0.8.2", "description": "E2B SDK that give agents cloud environments", "homepage": "https://e2b.dev", "license": "MIT", diff --git a/packages/js-sdk/src/api/schema.gen.ts b/packages/js-sdk/src/api/schema.gen.ts index 73fc6176b..053fa67cd 100644 --- a/packages/js-sdk/src/api/schema.gen.ts +++ b/packages/js-sdk/src/api/schema.gen.ts @@ -4,65 +4,65 @@ */ export interface paths { - '/health': { + "/health": { /** Health check */ get: { responses: { /** Request was successful */ 200: unknown; - 401: components['responses']['401']; + 401: components["responses"]["401"]; }; }; }; - '/instances': { + "/instances": { /** Create an instance from the environment */ post: { responses: { /** The instance was created successfully */ 201: { content: { - 'application/json': components['schemas']['Instance']; + "application/json": components["schemas"]["Instance"]; }; }; - 400: components['responses']['400']; - 401: components['responses']['401']; - 500: components['responses']['500']; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 500: components["responses"]["500"]; }; requestBody: { content: { - 'application/json': components['schemas']['NewInstance']; + "application/json": components["schemas"]["NewInstance"]; }; }; }; }; - '/instances/{instanceID}/refreshes': { + "/instances/{instanceID}/refreshes": { /** Refresh the instance extending its time to live */ post: { parameters: { path: { - instanceID: components['parameters']['instanceID']; + instanceID: components["parameters"]["instanceID"]; }; }; responses: { /** Successfully refreshed the instance */ 204: never; - 401: components['responses']['401']; - 404: components['responses']['404']; + 401: components["responses"]["401"]; + 404: components["responses"]["404"]; }; }; }; - '/envs': { + "/envs": { /** List all environments */ get: { responses: { /** Successfully returned all environments */ 200: { content: { - 'application/json': components['schemas']['Environment'][]; + "application/json": components["schemas"]["Environment"][]; }; }; - 401: components['responses']['401']; - 500: components['responses']['500']; + 401: components["responses"]["401"]; + 500: components["responses"]["500"]; }; }; /** Create a new environment */ @@ -71,15 +71,17 @@ export interface paths { /** The build has started */ 202: { content: { - 'application/json': components['schemas']['Environment']; + "application/json": components["schemas"]["Environment"]; }; }; - 401: components['responses']['401']; - 500: components['responses']['500']; + 401: components["responses"]["401"]; + 500: components["responses"]["500"]; }; requestBody: { content: { - 'multipart/form-data': { + "multipart/form-data": { + /** @description Alias of the environment */ + alias?: string; /** * Format: binary * @description Docker build context @@ -92,27 +94,27 @@ export interface paths { }; }; }; - '/envs/{envID}': { + "/envs/{envID}": { /** Rebuild an environment */ post: { parameters: { path: { - envID: components['parameters']['envID']; + envID: components["parameters"]["envID"]; }; }; responses: { /** The build has started */ 202: { content: { - 'application/json': components['schemas']['Environment']; + "application/json": components["schemas"]["Environment"]; }; }; - 401: components['responses']['401']; - 500: components['responses']['500']; + 401: components["responses"]["401"]; + 500: components["responses"]["500"]; }; requestBody: { content: { - 'multipart/form-data': { + "multipart/form-data": { /** * Format: binary * @description Docker build context @@ -120,20 +122,18 @@ export interface paths { buildContext: string; /** @description Dockerfile content */ dockerfile: string; - /** @description ID of the environment */ - envID: string; }; }; }; }; }; - '/envs/{envID}/builds/{buildID}': { + "/envs/{envID}/builds/{buildID}": { /** Get environment build info */ get: { parameters: { path: { - envID: components['parameters']['envID']; - buildID: components['parameters']['buildID']; + envID: components["parameters"]["envID"]; + buildID: components["parameters"]["buildID"]; }; query: { /** Index of the starting build log that should be returned with the environment */ @@ -144,33 +144,33 @@ export interface paths { /** Successfully returned the environment */ 200: { content: { - 'application/json': components['schemas']['EnvironmentBuild']; + "application/json": components["schemas"]["EnvironmentBuild"]; }; }; - 401: components['responses']['401']; - 404: components['responses']['404']; - 500: components['responses']['500']; + 401: components["responses"]["401"]; + 404: components["responses"]["404"]; + 500: components["responses"]["500"]; }; }; }; - '/envs/{envID}/builds/{buildID}/logs': { + "/envs/{envID}/builds/{buildID}/logs": { /** Add a build log */ post: { parameters: { path: { - envID: components['parameters']['envID']; - buildID: components['parameters']['buildID']; + envID: components["parameters"]["envID"]; + buildID: components["parameters"]["buildID"]; }; }; responses: { /** Successfully added log */ 201: unknown; - 401: components['responses']['401']; - 404: components['responses']['404']; + 401: components["responses"]["401"]; + 404: components["responses"]["404"]; }; requestBody: { content: { - 'application/json': { + "application/json": { /** @description API secret */ apiSecret: string; logs: string[]; @@ -194,6 +194,8 @@ export interface components { buildID: string; /** @description Whether the environment is public or only accessible by the team */ public: boolean; + /** @description Aliases of the environment */ + aliases?: string[]; }; EnvironmentBuild: { /** @@ -209,7 +211,7 @@ export interface components { * @description Status of the environment * @enum {string} */ - status?: 'building' | 'ready' | 'error'; + status?: "building" | "ready" | "error"; } & { finished: unknown; }; @@ -235,25 +237,25 @@ export interface components { /** Bad request */ 400: { content: { - 'application/json': components['schemas']['Error']; + "application/json": components["schemas"]["Error"]; }; }; /** Authentication error */ 401: { content: { - 'application/json': components['schemas']['Error']; + "application/json": components["schemas"]["Error"]; }; }; /** Not found */ 404: { content: { - 'application/json': components['schemas']['Error']; + "application/json": components["schemas"]["Error"]; }; }; /** Server error */ 500: { content: { - 'application/json': components['schemas']['Error']; + "application/json": components["schemas"]["Error"]; }; }; }; @@ -264,8 +266,6 @@ export interface components { }; } -export interface operations { -} +export interface operations {} -export interface external { -} +export interface external {} diff --git a/packages/js-sdk/src/constants.ts b/packages/js-sdk/src/constants.ts index d6b2a0b0d..b411b30bf 100644 --- a/packages/js-sdk/src/constants.ts +++ b/packages/js-sdk/src/constants.ts @@ -4,7 +4,7 @@ export const WS_RECONNECT_INTERVAL = 600 // 600ms export const TIMEOUT = 60_000 // 60s export const API_DOMAIN = 'api.e2b.dev' -export const API_HOST = process?.env?.DEBUG +export const API_HOST = process?.env?.E2B_DEBUG ? 'http://localhost:3000' : `https://${API_DOMAIN}` export const SANDBOX_DOMAIN = 'e2b.dev' diff --git a/packages/python-sdk/e2b/api/v1/client/models/environment.py b/packages/python-sdk/e2b/api/v1/client/models/environment.py index c165bf4cd..1de9a86c7 100644 --- a/packages/python-sdk/e2b/api/v1/client/models/environment.py +++ b/packages/python-sdk/e2b/api/v1/client/models/environment.py @@ -18,7 +18,8 @@ import json -from pydantic import BaseModel, Field, StrictBool, StrictStr +from typing import List, Optional +from pydantic import BaseModel, Field, StrictBool, StrictStr, conlist class Environment(BaseModel): @@ -38,7 +39,10 @@ class Environment(BaseModel): ..., description="Whether the environment is public or only accessible by the team", ) - __properties = ["envID", "buildID", "public"] + aliases: Optional[conlist(StrictStr)] = Field( + None, description="Aliases of the environment" + ) + __properties = ["envID", "buildID", "public", "aliases"] class Config: """Pydantic configuration""" @@ -86,6 +90,7 @@ def from_dict(cls, obj: dict) -> Environment: "env_id": obj.get("envID"), "build_id": obj.get("buildID"), "public": obj.get("public"), + "aliases": obj.get("aliases"), } ) return _obj diff --git a/packages/python-sdk/e2b/api/v1/client/models/envs_get200_response_inner.py b/packages/python-sdk/e2b/api/v1/client/models/envs_get200_response_inner.py index 867274bba..6d802ccbf 100644 --- a/packages/python-sdk/e2b/api/v1/client/models/envs_get200_response_inner.py +++ b/packages/python-sdk/e2b/api/v1/client/models/envs_get200_response_inner.py @@ -18,7 +18,8 @@ import json -from pydantic import BaseModel, Field, StrictBool, StrictStr +from typing import List, Optional +from pydantic import BaseModel, Field, StrictBool, StrictStr, conlist class EnvsGet200ResponseInner(BaseModel): @@ -38,7 +39,10 @@ class EnvsGet200ResponseInner(BaseModel): ..., description="Whether the environment is public or only accessible by the team", ) - __properties = ["envID", "buildID", "public"] + aliases: Optional[conlist(StrictStr)] = Field( + None, description="Aliases of the environment" + ) + __properties = ["envID", "buildID", "public", "aliases"] class Config: """Pydantic configuration""" @@ -86,6 +90,7 @@ def from_dict(cls, obj: dict) -> EnvsGet200ResponseInner: "env_id": obj.get("envID"), "build_id": obj.get("buildID"), "public": obj.get("public"), + "aliases": obj.get("aliases"), } ) return _obj diff --git a/packages/python-sdk/e2b/api/v2/client/models/environment.py b/packages/python-sdk/e2b/api/v2/client/models/environment.py index a450a7dd2..a2f871846 100644 --- a/packages/python-sdk/e2b/api/v2/client/models/environment.py +++ b/packages/python-sdk/e2b/api/v2/client/models/environment.py @@ -18,7 +18,8 @@ import json -from pydantic import BaseModel, Field, StrictBool, StrictStr +from typing import List, Optional +from pydantic import BaseModel, Field, StrictBool, StrictStr, conlist class Environment(BaseModel): @@ -38,6 +39,9 @@ class Environment(BaseModel): ..., description="Whether the environment is public or only accessible by the team", ) + aliases: Optional[conlist(StrictStr)] = Field( + None, description="Aliases of the environment" + ) """Pydantic configuration""" model_config = { @@ -74,7 +78,7 @@ def from_dict(cls, obj: dict) -> Environment: # raise errors for additional fields in the input for _key in obj.keys(): - if _key not in ["envID", "buildID", "public"]: + if _key not in ["envID", "buildID", "public", "aliases"]: raise ValueError( "Error due to additional fields (not defined in Environment) in the input: " + obj @@ -85,6 +89,7 @@ def from_dict(cls, obj: dict) -> Environment: "env_id": obj.get("envID"), "build_id": obj.get("buildID"), "public": obj.get("public"), + "aliases": obj.get("aliases"), } ) return _obj diff --git a/packages/python-sdk/e2b/constants.py b/packages/python-sdk/e2b/constants.py index 9fece2dac..16c55dee2 100644 --- a/packages/python-sdk/e2b/constants.py +++ b/packages/python-sdk/e2b/constants.py @@ -5,7 +5,9 @@ TIMEOUT = 60 API_DOMAIN = "api.e2b.dev" -API_HOST = "http://localhost:3000" if os.getenv("DEBUG") else f"https://{API_DOMAIN}" +API_HOST = ( + "http://localhost:3000" if os.getenv("E2B_DEBUG") else f"https://{API_DOMAIN}" +) SANDBOX_DOMAIN = "e2b.dev" diff --git a/packages/python-sdk/e2b/templates/data_analysis.py b/packages/python-sdk/e2b/templates/data_analysis.py index 778b35c01..f82854174 100644 --- a/packages/python-sdk/e2b/templates/data_analysis.py +++ b/packages/python-sdk/e2b/templates/data_analysis.py @@ -101,7 +101,12 @@ def register_artifacts(event: Any) -> None: return process.output.stdout, process.output.stderr, list(artifacts) - def _install_packages(self, command: str, package_names: Union[str, List[str]], timeout: Optional[float] = TIMEOUT) -> None: + def _install_packages( + self, + command: str, + package_names: Union[str, List[str]], + timeout: Optional[float] = TIMEOUT, + ) -> None: if isinstance(package_names, list): package_names = " ".join(package_names) @@ -116,6 +121,7 @@ def _install_packages(self, command: str, package_names: Union[str, List[str]], raise Exception( f"Failed to install package {package_names}: {process.output.stderr}" ) + def install_python_packages( self, package_names: Union[str, List[str]], timeout: Optional[float] = TIMEOUT ) -> None: @@ -124,4 +130,6 @@ def install_python_packages( def install_system_packages( self, package_names: Union[str, List[str]], timeout: Optional[float] = TIMEOUT ) -> None: - self._install_packages("sudo apt-get install -y", package_names, timeout=timeout) \ No newline at end of file + self._install_packages( + "sudo apt-get install -y", package_names, timeout=timeout + ) diff --git a/packages/python-sdk/package.json b/packages/python-sdk/package.json index a81c506d1..0ba4bb90e 100644 --- a/packages/python-sdk/package.json +++ b/packages/python-sdk/package.json @@ -1,7 +1,7 @@ { "name": "@e2b/python-sdk", "private": true, - "version": "0.10.2", + "version": "0.10.3", "scripts": { "test": "poetry run pytest -n 1 --verbose", "postVersion": "poetry version $(pnpm pkg get version --workspaces=false | tr -d \\\")", diff --git a/packages/python-sdk/pyproject.toml b/packages/python-sdk/pyproject.toml index 6c52c2ed8..d4ad79dce 100644 --- a/packages/python-sdk/pyproject.toml +++ b/packages/python-sdk/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "e2b" -version = "0.10.2" +version = "0.10.3" description = "E2B SDK that give agents cloud environments" authors = ["e2b "] license = "MIT" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7dfa346c2..d76682335 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,8 +37,8 @@ importers: specifier: ^1.7.3 version: 1.11.0(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.3) '@e2b/sdk': - specifier: ^0.8.1 - version: 0.8.1 + specifier: ^0.8.2 + version: 0.8.2 '@headlessui/react': specifier: ^1.7.15 version: 1.7.17(react-dom@18.2.0)(react@18.2.0) @@ -207,7 +207,7 @@ importers: dependencies: next: specifier: latest - version: 13.5.3(react-dom@18.2.0)(react@18.2.0) + version: 14.0.1(react-dom@18.2.0)(react@18.2.0) react: specifier: latest version: 18.2.0 @@ -217,13 +217,13 @@ importers: devDependencies: '@types/node': specifier: latest - version: 20.8.10 + version: 20.9.0 '@types/react': specifier: latest - version: 18.2.36 + version: 18.2.37 '@types/react-dom': specifier: latest - version: 18.2.8 + version: 18.2.15 typescript: specifier: latest version: 5.2.2 @@ -735,6 +735,20 @@ packages: - utf-8-validate dev: false + /@e2b/sdk@0.8.2: + resolution: {integrity: sha512-vSS3d1s1fxBTkdDb8G9ZBFLjt8YXoyoBPCgIkgY1JxpLNR39Opod3QX3mB4gYuOvt+4tXlxQ67sn2DDkKDIdrw==} + engines: {node: '>=18'} + dependencies: + normalize-path: 3.0.0 + openapi-typescript-fetch: 1.1.3 + path-browserify: 1.0.1 + platform: 1.3.6 + rpc-websocket-client: 1.1.4 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + /@emotion/is-prop-valid@0.8.8: resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} requiresBuild: true @@ -1453,8 +1467,8 @@ packages: resolution: {integrity: sha512-RmHanbV21saP/6OEPBJ7yJMuys68cIf8OBBWd7+uj40LdpmswVAwe1uzeuFyUsd6SfeITWT3XnQfn6wULeKwDQ==} dev: false - /@next/env@13.5.3: - resolution: {integrity: sha512-X4te86vsbjsB7iO4usY9jLPtZ827Mbx+WcwNBGUOIuswuTAKQtzsuoxc/6KLxCMvogKG795MhrR1LDhYgDvasg==} + /@next/env@14.0.1: + resolution: {integrity: sha512-Ms8ZswqY65/YfcjrlcIwMPD7Rg/dVjdLapMcSHG26W6O67EJDF435ShW4H4LXi1xKO1oRc97tLXUpx8jpLe86A==} dev: false /@next/eslint-plugin-next@13.4.19: @@ -1488,8 +1502,8 @@ packages: dev: false optional: true - /@next/swc-darwin-arm64@13.5.3: - resolution: {integrity: sha512-6hiYNJxJmyYvvKGrVThzo4nTcqvqUTA/JvKim7Auaj33NexDqSNwN5YrrQu+QhZJCIpv2tULSHt+lf+rUflLSw==} + /@next/swc-darwin-arm64@14.0.1: + resolution: {integrity: sha512-JyxnGCS4qT67hdOKQ0CkgFTp+PXub5W1wsGvIq98TNbF3YEIN7iDekYhYsZzc8Ov0pWEsghQt+tANdidITCLaw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -1506,8 +1520,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.5.3: - resolution: {integrity: sha512-UpBKxu2ob9scbpJyEq/xPgpdrgBgN3aLYlxyGqlYX5/KnwpJpFuIHU2lx8upQQ7L+MEmz+fA1XSgesoK92ppwQ==} + /@next/swc-darwin-x64@14.0.1: + resolution: {integrity: sha512-625Z7bb5AyIzswF9hvfZWa+HTwFZw+Jn3lOBNZB87lUS0iuCYDHqk3ujuHCkiyPtSC0xFBtYDLcrZ11mF/ap3w==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -1524,8 +1538,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu@13.5.3: - resolution: {integrity: sha512-5AzM7Yx1Ky+oLY6pHs7tjONTF22JirDPd5Jw/3/NazJ73uGB05NqhGhB4SbeCchg7SlVYVBeRMrMSZwJwq/xoA==} + /@next/swc-linux-arm64-gnu@14.0.1: + resolution: {integrity: sha512-iVpn3KG3DprFXzVHM09kvb//4CNNXBQ9NB/pTm8LO+vnnnaObnzFdS5KM+w1okwa32xH0g8EvZIhoB3fI3mS1g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -1542,8 +1556,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.5.3: - resolution: {integrity: sha512-A/C1shbyUhj7wRtokmn73eBksjTM7fFQoY2v/0rTM5wehpkjQRLOXI8WJsag2uLhnZ4ii5OzR1rFPwoD9cvOgA==} + /@next/swc-linux-arm64-musl@14.0.1: + resolution: {integrity: sha512-mVsGyMxTLWZXyD5sen6kGOTYVOO67lZjLApIj/JsTEEohDDt1im2nkspzfV5MvhfS7diDw6Rp/xvAQaWZTv1Ww==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -1560,8 +1574,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.5.3: - resolution: {integrity: sha512-FubPuw/Boz8tKkk+5eOuDHOpk36F80rbgxlx4+xty/U71e3wZZxVYHfZXmf0IRToBn1Crb8WvLM9OYj/Ur815g==} + /@next/swc-linux-x64-gnu@14.0.1: + resolution: {integrity: sha512-wMqf90uDWN001NqCM/auRl3+qVVeKfjJdT9XW+RMIOf+rhUzadmYJu++tp2y+hUbb6GTRhT+VjQzcgg/QTD9NQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -1578,8 +1592,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.5.3: - resolution: {integrity: sha512-DPw8nFuM1uEpbX47tM3wiXIR0Qa+atSzs9Q3peY1urkhofx44o7E1svnq+a5Q0r8lAcssLrwiM+OyJJgV/oj7g==} + /@next/swc-linux-x64-musl@14.0.1: + resolution: {integrity: sha512-ol1X1e24w4j4QwdeNjfX0f+Nza25n+ymY0T2frTyalVczUmzkVD7QGgPTZMHfR1aLrO69hBs0G3QBYaj22J5GQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -1596,8 +1610,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.5.3: - resolution: {integrity: sha512-zBPSP8cHL51Gub/YV8UUePW7AVGukp2D8JU93IHbVDu2qmhFAn9LWXiOOLKplZQKxnIPUkJTQAJDCWBWU4UWUA==} + /@next/swc-win32-arm64-msvc@14.0.1: + resolution: {integrity: sha512-WEmTEeWs6yRUEnUlahTgvZteh5RJc4sEjCQIodJlZZ5/VJwVP8p2L7l6VhzQhT4h7KvLx/Ed4UViBdne6zpIsw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -1614,8 +1628,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.5.3: - resolution: {integrity: sha512-ONcL/lYyGUj4W37D4I2I450SZtSenmFAvapkJQNIJhrPMhzDU/AdfLkW98NvH1D2+7FXwe7yclf3+B7v28uzBQ==} + /@next/swc-win32-ia32-msvc@14.0.1: + resolution: {integrity: sha512-oFpHphN4ygAgZUKjzga7SoH2VGbEJXZa/KL8bHCAwCjDWle6R1SpiGOdUdA8EJ9YsG1TYWpzY6FTbUA+iAJeww==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -1632,8 +1646,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.5.3: - resolution: {integrity: sha512-2Vz2tYWaLqJvLcWbbTlJ5k9AN6JD7a5CN2pAeIzpbecK8ZF/yobA39cXtv6e+Z8c5UJuVOmaTldEAIxvsIux/Q==} + /@next/swc-win32-x64-msvc@14.0.1: + resolution: {integrity: sha512-FFp3nOJ/5qSpeWT0BZQ+YE1pSMk4IMpkME/1DwKBwhg4mJLB9L+6EXuJi4JEwaJdl5iN+UUlmUD3IsR1kx5fAg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2816,7 +2830,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.8.10 + '@types/node': 18.18.6 dev: false /@types/mdast@3.0.12: @@ -2839,7 +2853,7 @@ packages: /@types/node-fetch@2.6.7: resolution: {integrity: sha512-lX17GZVpJ/fuCjguZ5b3TjEbSENxmEk1B2z02yoXSK9WMEWRivhdSY73wWMn6bpcCDAOh6qAdktpKHIlkDk2lg==} dependencies: - '@types/node': 20.8.10 + '@types/node': 18.18.6 form-data: 4.0.0 dev: true @@ -2849,16 +2863,16 @@ packages: /@types/node@18.18.6: resolution: {integrity: sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==} - dev: true /@types/node@20.6.3: resolution: {integrity: sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==} dev: false - /@types/node@20.8.10: - resolution: {integrity: sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==} + /@types/node@20.9.0: + resolution: {integrity: sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==} dependencies: undici-types: 5.26.5 + dev: true /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -2883,18 +2897,18 @@ packages: /@types/prop-types@15.7.6: resolution: {integrity: sha512-RK/kBbYOQQHLYj9Z95eh7S6t7gq4Ojt/NT8HTk8bWVhA5DaF+5SMnxHKkP4gPNN3wAZkKP+VjAf0ebtYzf+fxg==} + /@types/react-dom@18.2.15: + resolution: {integrity: sha512-HWMdW+7r7MR5+PZqJF6YFNSCtjz1T0dsvo/f1BV6HkV+6erD/nA7wd9NM00KVG83zf2nJ7uATPO9ttdIPvi3gg==} + dependencies: + '@types/react': 18.2.37 + dev: true + /@types/react-dom@18.2.7: resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} dependencies: '@types/react': 18.2.28 dev: false - /@types/react-dom@18.2.8: - resolution: {integrity: sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw==} - dependencies: - '@types/react': 18.2.36 - dev: true - /@types/react-highlight-words@0.16.4: resolution: {integrity: sha512-KITBX3xzheQLu2s3bUgLmRE7ekmhc52zRjRTwkKayQARh30L4fjEGzGm7ULK9TuX2LgxWWavZqyQGDGjAHbL3w==} dependencies: @@ -2925,8 +2939,8 @@ packages: csstype: 3.1.2 dev: false - /@types/react@18.2.36: - resolution: {integrity: sha512-o9XFsHYLLZ4+sb9CWUYwHqFVoG61SesydF353vFMMsQziiyRu8np4n2OYMUSDZ8XuImxDr9c5tR7gidlH29Vnw==} + /@types/react@18.2.37: + resolution: {integrity: sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==} dependencies: '@types/prop-types': 15.7.6 '@types/scheduler': 0.16.3 @@ -2936,7 +2950,7 @@ packages: /@types/responselike@1.0.2: resolution: {integrity: sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA==} dependencies: - '@types/node': 20.8.10 + '@types/node': 18.18.6 dev: false /@types/scheduler@0.16.3: @@ -2948,14 +2962,14 @@ packages: /@types/tar-fs@2.0.3: resolution: {integrity: sha512-ADS99HAnztB8MD+LSOdzDrDLcSe5oBIg+SUQwwsgnsOgZobWoSqYmg9ZJWdvLppoKV8R8kZinX6Om+LlsNuIlQ==} dependencies: - '@types/node': 20.8.10 + '@types/node': 18.18.6 '@types/tar-stream': 3.1.2 dev: true /@types/tar-stream@3.1.2: resolution: {integrity: sha512-qnIpUItVb5u8jl3kbrHofkM40ggO3YKSzc7TWqLYjDdwlrL7CiEAkDySaGfeUBLtC50RTfh2acdz51ItUbV7pQ==} dependencies: - '@types/node': 20.8.10 + '@types/node': 18.18.6 dev: true /@types/unist@2.0.8: @@ -2972,7 +2986,7 @@ packages: /@types/websocket@1.0.6: resolution: {integrity: sha512-JXkliwz93B2cMWOI1ukElQBPN88vMg3CruvW4KVSKpflt3NyNCJImnhIuB/f97rG7kakqRJGFiwkA895Kn02Dg==} dependencies: - '@types/node': 20.8.10 + '@types/node': 18.18.6 dev: false /@typescript-eslint/eslint-plugin@6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2): @@ -6571,7 +6585,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.8.10 + '@types/node': 18.18.6 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -7963,9 +7977,9 @@ packages: - babel-plugin-macros dev: false - /next@13.5.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-4Nt4HRLYDW/yRpJ/QR2t1v63UOMS55A38dnWv3UDOWGezuY0ZyFO1ABNbD7mulVzs9qVhgy2+ppjdsANpKP1mg==} - engines: {node: '>=16.14.0'} + /next@14.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-s4YaLpE4b0gmb3ggtmpmV+wt+lPRuGtANzojMQ2+gmBpgX9w5fTbjsy6dXByBuENsdCX5pukZH/GxdFgO62+pA==} + engines: {node: '>=18.17.0'} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 @@ -7978,26 +7992,25 @@ packages: sass: optional: true dependencies: - '@next/env': 13.5.3 + '@next/env': 14.0.1 '@swc/helpers': 0.5.2 busboy: 1.6.0 caniuse-lite: 1.0.30001538 - postcss: 8.4.14 + postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) styled-jsx: 5.1.1(react@18.2.0) watchpack: 2.4.0 - zod: 3.21.4 optionalDependencies: - '@next/swc-darwin-arm64': 13.5.3 - '@next/swc-darwin-x64': 13.5.3 - '@next/swc-linux-arm64-gnu': 13.5.3 - '@next/swc-linux-arm64-musl': 13.5.3 - '@next/swc-linux-x64-gnu': 13.5.3 - '@next/swc-linux-x64-musl': 13.5.3 - '@next/swc-win32-arm64-msvc': 13.5.3 - '@next/swc-win32-ia32-msvc': 13.5.3 - '@next/swc-win32-x64-msvc': 13.5.3 + '@next/swc-darwin-arm64': 14.0.1 + '@next/swc-darwin-x64': 14.0.1 + '@next/swc-linux-arm64-gnu': 14.0.1 + '@next/swc-linux-arm64-musl': 14.0.1 + '@next/swc-linux-x64-gnu': 14.0.1 + '@next/swc-linux-x64-musl': 14.0.1 + '@next/swc-win32-arm64-msvc': 14.0.1 + '@next/swc-win32-ia32-msvc': 14.0.1 + '@next/swc-win32-x64-msvc': 14.0.1 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -10478,6 +10491,7 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true /undici@5.26.4: resolution: {integrity: sha512-OG+QOf0fTLtazL9P9X7yqWxQ+Z0395Wk6DSkyTxtaq3wQEjIroVe7Y4asCX/vcCxYpNGMnwz8F0qbRYUoaQVMw==} @@ -10787,7 +10801,7 @@ packages: vfile-message: 3.1.4 dev: false - /vite-node@0.34.6(@types/node@20.8.10): + /vite-node@0.34.6(@types/node@18.18.6): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -10797,7 +10811,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@20.8.10) + vite: 4.5.0(@types/node@18.18.6) transitivePeerDependencies: - '@types/node' - less @@ -10809,7 +10823,7 @@ packages: - terser dev: true - /vite@4.5.0(@types/node@20.8.10): + /vite@4.5.0(@types/node@18.18.6): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -10837,7 +10851,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.8.10 + '@types/node': 18.18.6 esbuild: 0.18.20 postcss: 8.4.31 rollup: 3.29.4 @@ -10878,7 +10892,7 @@ packages: dependencies: '@types/chai': 4.3.9 '@types/chai-subset': 1.3.4 - '@types/node': 20.8.10 + '@types/node': 18.18.6 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -10897,8 +10911,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 4.5.0(@types/node@20.8.10) - vite-node: 0.34.6(@types/node@20.8.10) + vite: 4.5.0(@types/node@18.18.6) + vite-node: 0.34.6(@types/node@18.18.6) why-is-node-running: 2.2.2 transitivePeerDependencies: - less diff --git a/spec/openapi.yml b/spec/openapi.yml index c64498409..9b80f7751 100644 --- a/spec/openapi.yml +++ b/spec/openapi.yml @@ -88,6 +88,11 @@ components: public: type: boolean description: Whether the environment is public or only accessible by the team + aliases: + type: array + description: Aliases of the environment + items: + type: string EnvironmentBuild: required: - envID @@ -234,6 +239,9 @@ paths: - buildContext - dockerfile properties: + alias: + description: Alias of the environment + type: string buildContext: description: Docker build context type: string @@ -274,7 +282,6 @@ paths: required: - buildContext - dockerfile - - envID properties: buildContext: description: Docker build context @@ -283,9 +290,6 @@ paths: dockerfile: type: string description: Dockerfile content - envID: - type: string - description: ID of the environment encoding: buildContext: contentType: application/octet-stream @@ -361,4 +365,4 @@ paths: 401: $ref: "#/components/responses/401" 404: - $ref: "#/components/responses/404" \ No newline at end of file + $ref: "#/components/responses/404"