diff --git a/agents-api/agents_api/autogen/Tools.py b/agents-api/agents_api/autogen/Tools.py index 71623a28e..dffe08e88 100644 --- a/agents-api/agents_api/autogen/Tools.py +++ b/agents-api/agents_api/autogen/Tools.py @@ -344,6 +344,148 @@ class BraveSearchSetupUpdate(BaseModel): """ +class BrowserbaseCreateSessionArguments(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + project_id: Annotated[str, Field(alias="projectId")] + """ + The Project ID. Can be found in Settings. + """ + extension_id: Annotated[str | None, Field(alias="extensionId")] = None + """ + The uploaded Extension ID. See Upload Extension. + """ + browser_settings: Annotated[ + dict[str, Any] | None, Field(alias="browserSettings") + ] = None + """ + Browser settings + """ + timeout: int | None = None + """ + Duration in seconds after which the session will automatically end. Defaults to the Project's defaultTimeout. + """ + keep_alive: Annotated[StrictBool | None, Field(alias="keepAlive")] = None + """ + Set to true to keep the session alive even after disconnections. This is available on the Startup plan only. + """ + proxies: StrictBool | list[dict[str, Any]] | None = None + """ + Proxy configuration. Can be true for default proxy, or an array of proxy configurations. + """ + + +class BrowserbaseCreateSessionArgumentsUpdate(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + project_id: Annotated[str | None, Field(alias="projectId")] = None + """ + The Project ID. Can be found in Settings. + """ + extension_id: Annotated[str | None, Field(alias="extensionId")] = None + """ + The uploaded Extension ID. See Upload Extension. + """ + browser_settings: Annotated[ + dict[str, Any] | None, Field(alias="browserSettings") + ] = None + """ + Browser settings + """ + timeout: int | None = None + """ + Duration in seconds after which the session will automatically end. Defaults to the Project's defaultTimeout. + """ + keep_alive: Annotated[StrictBool | None, Field(alias="keepAlive")] = None + """ + Set to true to keep the session alive even after disconnections. This is available on the Startup plan only. + """ + proxies: StrictBool | list[dict[str, Any]] | None = None + """ + Proxy configuration. Can be true for default proxy, or an array of proxy configurations. + """ + + +class BrowserbaseGetSessionArguments(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + id: str + + +class BrowserbaseGetSessionArgumentsUpdate(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + id: str | None = None + + +class BrowserbaseGetSessionLiveUrlsArguments(BrowserbaseGetSessionArguments): + pass + + +class BrowserbaseGetSessionLiveUrlsArgumentsUpdate( + BrowserbaseGetSessionArgumentsUpdate +): + pass + + +class BrowserbaseListSessionsArguments(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + status: Literal["RUNNING", "ERROR", "TIMED_OUT", "COMPLETED"] | None = None + """ + The status of the sessions to list (Available options: RUNNING, ERROR, TIMED_OUT, COMPLETED) + """ + + +class BrowserbaseSetup(BaseModel): + """ + The setup parameters for the browserbase integration + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + api_key: str + """ + API key for the browserbase integration + """ + + +class BrowserbaseSetupUpdate(BaseModel): + """ + The setup parameters for the browserbase integration + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + api_key: str | None = None + """ + API key for the browserbase integration + """ + + +class BrowserbaseUpdateSessionArguments(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + id: str + status: Literal["REQUEST_RELEASE"] = "REQUEST_RELEASE" + + +class BrowserbaseUpdateSessionArgumentsUpdate(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + id: str | None = None + status: Literal["REQUEST_RELEASE"] | None = None + + class ChosenBash20241022(BaseModel): model_config = ConfigDict( populate_by_name=True, @@ -488,6 +630,12 @@ class CreateToolRequest(BaseModel): | SpiderIntegrationDef | WikipediaIntegrationDef | WeatherIntegrationDef + | BrowserbaseContextIntegrationDef + | BrowserbaseListSessionsIntegrationDef + | BrowserbaseCreateSessionIntegrationDef + | BrowserbaseGetSessionIntegrationDef + | BrowserbaseUpdateSessionIntegrationDef + | BrowserbaseGetSessionLiveUrlsIntegrationDef | None ) = None """ @@ -745,6 +893,12 @@ class PatchToolRequest(BaseModel): | SpiderIntegrationDefUpdate | WikipediaIntegrationDefUpdate | WeatherIntegrationDefUpdate + | BrowserbaseContextIntegrationDefUpdate + | BrowserbaseListSessionsIntegrationDefUpdate + | BrowserbaseCreateSessionIntegrationDefUpdate + | BrowserbaseGetSessionIntegrationDefUpdate + | BrowserbaseUpdateSessionIntegrationDefUpdate + | BrowserbaseGetSessionLiveUrlsIntegrationDefUpdate | None ) = None """ @@ -1016,6 +1170,12 @@ class Tool(BaseModel): | SpiderIntegrationDef | WikipediaIntegrationDef | WeatherIntegrationDef + | BrowserbaseContextIntegrationDef + | BrowserbaseListSessionsIntegrationDef + | BrowserbaseCreateSessionIntegrationDef + | BrowserbaseGetSessionIntegrationDef + | BrowserbaseUpdateSessionIntegrationDef + | BrowserbaseGetSessionLiveUrlsIntegrationDef | None ) = None """ @@ -1084,6 +1244,12 @@ class UpdateToolRequest(BaseModel): | SpiderIntegrationDef | WikipediaIntegrationDef | WeatherIntegrationDef + | BrowserbaseContextIntegrationDef + | BrowserbaseListSessionsIntegrationDef + | BrowserbaseCreateSessionIntegrationDef + | BrowserbaseGetSessionIntegrationDef + | BrowserbaseUpdateSessionIntegrationDef + | BrowserbaseGetSessionLiveUrlsIntegrationDef | None ) = None """ @@ -1299,3 +1465,241 @@ class WikipediaSearchArgumentsUpdate(BaseModel): """ Maximum number of documents to load """ + + +class BaseBrowserbaseIntegrationDef(BaseIntegrationDef): + """ + The base definition for a browserbase integration + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + provider: Literal["browserbase"] = "browserbase" + setup: BrowserbaseSetup | None = None + method: ( + Literal[ + "get_live_urls", + "list_sessions", + "create_session", + "get_session", + "update_session", + "create_context", + "upload_extension", + "get_extension", + "delete_extension", + "create_session_uploads", + "get_session_downloads", + "get_logs", + "get_recordings", + ] + | None + ) = None + arguments: Any | None = None + + +class BaseBrowserbaseIntegrationDefUpdate(BaseIntegrationDefUpdate): + """ + The base definition for a browserbase integration + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + provider: Literal["browserbase"] = "browserbase" + setup: BrowserbaseSetupUpdate | None = None + method: ( + Literal[ + "get_live_urls", + "list_sessions", + "create_session", + "get_session", + "update_session", + "create_context", + "upload_extension", + "get_extension", + "delete_extension", + "create_session_uploads", + "get_session_downloads", + "get_logs", + "get_recordings", + ] + | None + ) = None + arguments: Any | None = None + + +class BrowserbaseContextIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase context provider + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["create_context"] = "create_context" + """ + The specific method of the integration to call + """ + arguments: Any | None = None + """ + The arguments for the method + """ + + +class BrowserbaseContextIntegrationDefUpdate(BaseBrowserbaseIntegrationDefUpdate): + """ + browserbase context provider + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["create_context"] = "create_context" + """ + The specific method of the integration to call + """ + arguments: Any | None = None + """ + The arguments for the method + """ + + +class BrowserbaseCreateSessionIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase create session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["create_session"] = "create_session" + arguments: BrowserbaseCreateSessionArguments + """ + The arguments for the method + """ + + +class BrowserbaseCreateSessionIntegrationDefUpdate(BaseBrowserbaseIntegrationDefUpdate): + """ + browserbase create session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["create_session"] = "create_session" + arguments: BrowserbaseCreateSessionArgumentsUpdate | None = None + """ + The arguments for the method + """ + + +class BrowserbaseGetSessionIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase get session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["get_session"] = "get_session" + arguments: BrowserbaseGetSessionArguments + + +class BrowserbaseGetSessionIntegrationDefUpdate(BaseBrowserbaseIntegrationDefUpdate): + """ + browserbase get session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["get_session"] = "get_session" + arguments: BrowserbaseGetSessionArgumentsUpdate | None = None + + +class BrowserbaseGetSessionLiveUrlsIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase get session live urls integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["get_live_urls"] = "get_live_urls" + arguments: BrowserbaseGetSessionLiveUrlsArguments + + +class BrowserbaseGetSessionLiveUrlsIntegrationDefUpdate( + BaseBrowserbaseIntegrationDefUpdate +): + """ + browserbase get session live urls integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["get_live_urls"] = "get_live_urls" + arguments: BrowserbaseGetSessionLiveUrlsArgumentsUpdate | None = None + + +class BrowserbaseListSessionsIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase list sessions integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["list_sessions"] = "list_sessions" + """ + The specific method of the integration to call + """ + arguments: BrowserbaseListSessionsArguments | None = None + """ + The arguments for the method + """ + + +class BrowserbaseListSessionsIntegrationDefUpdate(BaseBrowserbaseIntegrationDefUpdate): + """ + browserbase list sessions integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["list_sessions"] = "list_sessions" + """ + The specific method of the integration to call + """ + arguments: BrowserbaseListSessionsArguments | None = None + """ + The arguments for the method + """ + + +class BrowserbaseUpdateSessionIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase update session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["update_session"] = "update_session" + arguments: BrowserbaseUpdateSessionArguments + + +class BrowserbaseUpdateSessionIntegrationDefUpdate(BaseBrowserbaseIntegrationDefUpdate): + """ + browserbase update session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["update_session"] = "update_session" + arguments: BrowserbaseUpdateSessionArgumentsUpdate | None = None diff --git a/integrations-service/integrations/autogen/Tools.py b/integrations-service/integrations/autogen/Tools.py index 71623a28e..dffe08e88 100644 --- a/integrations-service/integrations/autogen/Tools.py +++ b/integrations-service/integrations/autogen/Tools.py @@ -344,6 +344,148 @@ class BraveSearchSetupUpdate(BaseModel): """ +class BrowserbaseCreateSessionArguments(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + project_id: Annotated[str, Field(alias="projectId")] + """ + The Project ID. Can be found in Settings. + """ + extension_id: Annotated[str | None, Field(alias="extensionId")] = None + """ + The uploaded Extension ID. See Upload Extension. + """ + browser_settings: Annotated[ + dict[str, Any] | None, Field(alias="browserSettings") + ] = None + """ + Browser settings + """ + timeout: int | None = None + """ + Duration in seconds after which the session will automatically end. Defaults to the Project's defaultTimeout. + """ + keep_alive: Annotated[StrictBool | None, Field(alias="keepAlive")] = None + """ + Set to true to keep the session alive even after disconnections. This is available on the Startup plan only. + """ + proxies: StrictBool | list[dict[str, Any]] | None = None + """ + Proxy configuration. Can be true for default proxy, or an array of proxy configurations. + """ + + +class BrowserbaseCreateSessionArgumentsUpdate(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + project_id: Annotated[str | None, Field(alias="projectId")] = None + """ + The Project ID. Can be found in Settings. + """ + extension_id: Annotated[str | None, Field(alias="extensionId")] = None + """ + The uploaded Extension ID. See Upload Extension. + """ + browser_settings: Annotated[ + dict[str, Any] | None, Field(alias="browserSettings") + ] = None + """ + Browser settings + """ + timeout: int | None = None + """ + Duration in seconds after which the session will automatically end. Defaults to the Project's defaultTimeout. + """ + keep_alive: Annotated[StrictBool | None, Field(alias="keepAlive")] = None + """ + Set to true to keep the session alive even after disconnections. This is available on the Startup plan only. + """ + proxies: StrictBool | list[dict[str, Any]] | None = None + """ + Proxy configuration. Can be true for default proxy, or an array of proxy configurations. + """ + + +class BrowserbaseGetSessionArguments(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + id: str + + +class BrowserbaseGetSessionArgumentsUpdate(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + id: str | None = None + + +class BrowserbaseGetSessionLiveUrlsArguments(BrowserbaseGetSessionArguments): + pass + + +class BrowserbaseGetSessionLiveUrlsArgumentsUpdate( + BrowserbaseGetSessionArgumentsUpdate +): + pass + + +class BrowserbaseListSessionsArguments(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + status: Literal["RUNNING", "ERROR", "TIMED_OUT", "COMPLETED"] | None = None + """ + The status of the sessions to list (Available options: RUNNING, ERROR, TIMED_OUT, COMPLETED) + """ + + +class BrowserbaseSetup(BaseModel): + """ + The setup parameters for the browserbase integration + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + api_key: str + """ + API key for the browserbase integration + """ + + +class BrowserbaseSetupUpdate(BaseModel): + """ + The setup parameters for the browserbase integration + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + api_key: str | None = None + """ + API key for the browserbase integration + """ + + +class BrowserbaseUpdateSessionArguments(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + id: str + status: Literal["REQUEST_RELEASE"] = "REQUEST_RELEASE" + + +class BrowserbaseUpdateSessionArgumentsUpdate(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + id: str | None = None + status: Literal["REQUEST_RELEASE"] | None = None + + class ChosenBash20241022(BaseModel): model_config = ConfigDict( populate_by_name=True, @@ -488,6 +630,12 @@ class CreateToolRequest(BaseModel): | SpiderIntegrationDef | WikipediaIntegrationDef | WeatherIntegrationDef + | BrowserbaseContextIntegrationDef + | BrowserbaseListSessionsIntegrationDef + | BrowserbaseCreateSessionIntegrationDef + | BrowserbaseGetSessionIntegrationDef + | BrowserbaseUpdateSessionIntegrationDef + | BrowserbaseGetSessionLiveUrlsIntegrationDef | None ) = None """ @@ -745,6 +893,12 @@ class PatchToolRequest(BaseModel): | SpiderIntegrationDefUpdate | WikipediaIntegrationDefUpdate | WeatherIntegrationDefUpdate + | BrowserbaseContextIntegrationDefUpdate + | BrowserbaseListSessionsIntegrationDefUpdate + | BrowserbaseCreateSessionIntegrationDefUpdate + | BrowserbaseGetSessionIntegrationDefUpdate + | BrowserbaseUpdateSessionIntegrationDefUpdate + | BrowserbaseGetSessionLiveUrlsIntegrationDefUpdate | None ) = None """ @@ -1016,6 +1170,12 @@ class Tool(BaseModel): | SpiderIntegrationDef | WikipediaIntegrationDef | WeatherIntegrationDef + | BrowserbaseContextIntegrationDef + | BrowserbaseListSessionsIntegrationDef + | BrowserbaseCreateSessionIntegrationDef + | BrowserbaseGetSessionIntegrationDef + | BrowserbaseUpdateSessionIntegrationDef + | BrowserbaseGetSessionLiveUrlsIntegrationDef | None ) = None """ @@ -1084,6 +1244,12 @@ class UpdateToolRequest(BaseModel): | SpiderIntegrationDef | WikipediaIntegrationDef | WeatherIntegrationDef + | BrowserbaseContextIntegrationDef + | BrowserbaseListSessionsIntegrationDef + | BrowserbaseCreateSessionIntegrationDef + | BrowserbaseGetSessionIntegrationDef + | BrowserbaseUpdateSessionIntegrationDef + | BrowserbaseGetSessionLiveUrlsIntegrationDef | None ) = None """ @@ -1299,3 +1465,241 @@ class WikipediaSearchArgumentsUpdate(BaseModel): """ Maximum number of documents to load """ + + +class BaseBrowserbaseIntegrationDef(BaseIntegrationDef): + """ + The base definition for a browserbase integration + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + provider: Literal["browserbase"] = "browserbase" + setup: BrowserbaseSetup | None = None + method: ( + Literal[ + "get_live_urls", + "list_sessions", + "create_session", + "get_session", + "update_session", + "create_context", + "upload_extension", + "get_extension", + "delete_extension", + "create_session_uploads", + "get_session_downloads", + "get_logs", + "get_recordings", + ] + | None + ) = None + arguments: Any | None = None + + +class BaseBrowserbaseIntegrationDefUpdate(BaseIntegrationDefUpdate): + """ + The base definition for a browserbase integration + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + provider: Literal["browserbase"] = "browserbase" + setup: BrowserbaseSetupUpdate | None = None + method: ( + Literal[ + "get_live_urls", + "list_sessions", + "create_session", + "get_session", + "update_session", + "create_context", + "upload_extension", + "get_extension", + "delete_extension", + "create_session_uploads", + "get_session_downloads", + "get_logs", + "get_recordings", + ] + | None + ) = None + arguments: Any | None = None + + +class BrowserbaseContextIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase context provider + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["create_context"] = "create_context" + """ + The specific method of the integration to call + """ + arguments: Any | None = None + """ + The arguments for the method + """ + + +class BrowserbaseContextIntegrationDefUpdate(BaseBrowserbaseIntegrationDefUpdate): + """ + browserbase context provider + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["create_context"] = "create_context" + """ + The specific method of the integration to call + """ + arguments: Any | None = None + """ + The arguments for the method + """ + + +class BrowserbaseCreateSessionIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase create session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["create_session"] = "create_session" + arguments: BrowserbaseCreateSessionArguments + """ + The arguments for the method + """ + + +class BrowserbaseCreateSessionIntegrationDefUpdate(BaseBrowserbaseIntegrationDefUpdate): + """ + browserbase create session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["create_session"] = "create_session" + arguments: BrowserbaseCreateSessionArgumentsUpdate | None = None + """ + The arguments for the method + """ + + +class BrowserbaseGetSessionIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase get session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["get_session"] = "get_session" + arguments: BrowserbaseGetSessionArguments + + +class BrowserbaseGetSessionIntegrationDefUpdate(BaseBrowserbaseIntegrationDefUpdate): + """ + browserbase get session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["get_session"] = "get_session" + arguments: BrowserbaseGetSessionArgumentsUpdate | None = None + + +class BrowserbaseGetSessionLiveUrlsIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase get session live urls integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["get_live_urls"] = "get_live_urls" + arguments: BrowserbaseGetSessionLiveUrlsArguments + + +class BrowserbaseGetSessionLiveUrlsIntegrationDefUpdate( + BaseBrowserbaseIntegrationDefUpdate +): + """ + browserbase get session live urls integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["get_live_urls"] = "get_live_urls" + arguments: BrowserbaseGetSessionLiveUrlsArgumentsUpdate | None = None + + +class BrowserbaseListSessionsIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase list sessions integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["list_sessions"] = "list_sessions" + """ + The specific method of the integration to call + """ + arguments: BrowserbaseListSessionsArguments | None = None + """ + The arguments for the method + """ + + +class BrowserbaseListSessionsIntegrationDefUpdate(BaseBrowserbaseIntegrationDefUpdate): + """ + browserbase list sessions integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["list_sessions"] = "list_sessions" + """ + The specific method of the integration to call + """ + arguments: BrowserbaseListSessionsArguments | None = None + """ + The arguments for the method + """ + + +class BrowserbaseUpdateSessionIntegrationDef(BaseBrowserbaseIntegrationDef): + """ + browserbase update session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["update_session"] = "update_session" + arguments: BrowserbaseUpdateSessionArguments + + +class BrowserbaseUpdateSessionIntegrationDefUpdate(BaseBrowserbaseIntegrationDefUpdate): + """ + browserbase update session integration definition + """ + + model_config = ConfigDict( + populate_by_name=True, + ) + method: Literal["update_session"] = "update_session" + arguments: BrowserbaseUpdateSessionArgumentsUpdate | None = None diff --git a/typespec/tools/browserbase/contexts.tsp b/typespec/tools/browserbase/contexts.tsp new file mode 100644 index 000000000..a87eb55b7 --- /dev/null +++ b/typespec/tools/browserbase/contexts.tsp @@ -0,0 +1,15 @@ +import "../../common"; + +using Common; + +namespace Tools; + +// TODO: Implement these +/** browserbase context provider */ +model BrowserbaseContextIntegrationDef extends BaseBrowserbaseIntegrationDef { + /** The specific method of the integration to call */ + method?: "create_context" = "create_context"; + + /** The arguments for the method */ + arguments?: unknown; +} diff --git a/typespec/tools/browserbase/extensions.tsp b/typespec/tools/browserbase/extensions.tsp new file mode 100644 index 000000000..3f825ea6f --- /dev/null +++ b/typespec/tools/browserbase/extensions.tsp @@ -0,0 +1,16 @@ +import "../../common"; + +using Common; + +namespace Tools; + + +// // TODO: Implement these +// /** browserbase extension provider */ +// model BrowserbaseExtensionIntegrationDef extends BaseBrowserbaseIntegrationDef { +// /** The specific method of the integration to call */ +// method?: "create_extension" | "get_extension" | "delete_extension"; + +// /** The arguments for the method */ +// arguments?: unknown; +// } diff --git a/typespec/tools/browserbase/main.tsp b/typespec/tools/browserbase/main.tsp new file mode 100644 index 000000000..5beb53301 --- /dev/null +++ b/typespec/tools/browserbase/main.tsp @@ -0,0 +1,111 @@ +import "../../common"; +import "./contexts.tsp"; +import "./extensions.tsp"; +import "./sessions.tsp"; + +namespace Tools; + +using Common; + +alias BrowserbaseMethod = ( + /** Get live URLs from the browserbase context */ + | "get_live_urls" + + /** List the sessions in the browserbase context */ + | "list_sessions" + + /** Create a new session in the browserbase context */ + | "create_session" + + /** Get a session from the browserbase context */ + | "get_session" + + /** Update a session in the browserbase context */ + | "update_session" + + // TODO: Implement these + /** Create a new browserbase context */ + | "create_context" + + /** Upload an extension to the browserbase context */ + | "upload_extension" + + /** Get an extension from the browserbase context */ + | "get_extension" + + /** Delete an extension from the browserbase context */ + | "delete_extension" + + /** Create session uploads in the browserbase context */ + | "create_session_uploads" + + /** Get session downloads from the browserbase context */ + | "get_session_downloads" + + /** Get logs from the browserbase context */ + | "get_logs" + + /** Get recordings from the browserbase context */ + | "get_recordings" +); + +/** The setup parameters for the browserbase integration */ +model BrowserbaseSetup { + /** API key for the browserbase integration */ + api_key: string; +} + +/** The base definition for a browserbase integration */ +model BaseBrowserbaseIntegrationDef extends BaseIntegrationDef { + provider: "browserbase" = "browserbase"; + setup?: BrowserbaseSetup; + method?: BrowserbaseMethod; + arguments?: unknown; +} + +alias BrowserbaseIntegrationDef = ( + | BrowserbaseContextIntegrationDef + // | BrowserbaseExtensionIntegrationDef + | BrowserbaseSessionIntegrationDef +); + +alias BrowserbaseArguments = ( + | BrowserbaseSessionArguments + // TODO: Implement these + // | BrowserbaseContextArguments + // | BrowserbaseExtensionArguments +); + +alias BrowserbaseOutput = ( + | BrowserbaseSessionOutput + // TODO: Implement these + // | BrowserbaseContextOutput + // | BrowserbaseExtensionOutput +); + +model BrowserbaseProviderCard extends BaseProviderCard { + provider: "browserbase" = "browserbase"; + setup: BrowserbaseSetup; + methods: ProviderMethod[] = #[ + #{ + method: "list_sessions", + description: "List the sessions in the browserbase context", + }, + #{ + method: "create_session", + description: "Create a new session in the browserbase context", + }, + #{ + method: "get_session", + description: "Get a session from the browserbase context", + }, + #{ + method: "update_session", + description: "Update a session in the browserbase context", + }, + #{ + method: "get_session_live_urls", + description: "Get live URLs from the browserbase context", + } + ]; +} \ No newline at end of file diff --git a/typespec/tools/browserbase/sessions.tsp b/typespec/tools/browserbase/sessions.tsp new file mode 100644 index 000000000..4008064aa --- /dev/null +++ b/typespec/tools/browserbase/sessions.tsp @@ -0,0 +1,239 @@ +import "../../common"; + +using Common; + +namespace Tools; + +alias BrowserbaseSessionMethod = ( + /** Get live URLs from the browserbase context */ + | "get_live_urls" + + /** List the sessions in the browserbase context */ + | "list_sessions" + + /** Create a new session in the browserbase context */ + | "create_session" + + /** Get a session from the browserbase context */ + | "get_session" + + /** Update a session in the browserbase context */ + | "update_session" + + // TODO: Implement these + | "create_context" + | "upload_extension" + | "get_extension" + | "delete_extension" + | "create_session_uploads" + | "get_session_downloads" + | "get_logs" + | "get_recordings" +); + +alias BrowserbaseSessionIntegrationDef = + | BrowserbaseListSessionsIntegrationDef + | BrowserbaseCreateSessionIntegrationDef + | BrowserbaseGetSessionIntegrationDef + | BrowserbaseUpdateSessionIntegrationDef + | BrowserbaseGetSessionLiveUrlsIntegrationDef; +// +// TODO: Implement these +// | BrowserbaseCreateContextIntegrationDef +// | BrowserbaseUploadExtensionIntegrationDef +// | BrowserbaseGetExtensionIntegrationDef +// | BrowserbaseDeleteExtensionIntegrationDef +// | BrowserbaseCreateSessionUploadsIntegrationDef +// | BrowserbaseGetSessionDownloadsIntegrationDef +// | BrowserbaseGetLogsIntegrationDef +// | BrowserbaseGetRecordingsIntegrationDef + +alias BrowserbaseSessionArguments = + | BrowserbaseListSessionsArguments + | BrowserbaseCreateSessionArguments + | BrowserbaseGetSessionArguments + | BrowserbaseUpdateSessionArguments + | BrowserbaseGetSessionLiveUrlsArguments; +// +// TODO: Implement these +// | BrowserbaseCreateContextArguments +// | BrowserbaseUploadExtensionArguments +// | BrowserbaseGetExtensionArguments +// | BrowserbaseDeleteExtensionArguments +// | BrowserbaseCreateSessionUploadsArguments +// | BrowserbaseGetSessionDownloadsArguments +// | BrowserbaseGetLogsArguments +// | BrowserbaseGetRecordingsArguments + +alias BrowserbaseSessionOutput = + | BrowserbaseListSessionsOutput + | BrowserbaseCreateSessionOutput + | BrowserbaseGetSessionOutput + | BrowserbaseUpdateSessionOutput + | BrowserbaseGetSessionLiveUrlsOutput; +// +// TODO: Implement these +// | BrowserbaseCreateContextOutput +// | BrowserbaseUploadExtensionOutput +// | BrowserbaseGetExtensionOutput +// | BrowserbaseDeleteExtensionOutput +// | BrowserbaseCreateSessionUploadsOutput +// | BrowserbaseGetSessionDownloadsOutput +// | BrowserbaseGetLogsOutput +// | BrowserbaseGetRecordingsOutput + +/** browserbase list sessions integration definition */ +model BrowserbaseListSessionsIntegrationDef + extends BaseBrowserbaseIntegrationDef { + /** The specific method of the integration to call */ + method: "list_sessions" = "list_sessions"; + + /** The arguments for the method */ + arguments?: BrowserbaseListSessionsArguments; +} + +model BrowserbaseListSessionsArguments { + /** The status of the sessions to list (Available options: RUNNING, ERROR, TIMED_OUT, COMPLETED) */ + status?: "RUNNING" | "ERROR" | "TIMED_OUT" | "COMPLETED"; +} + +alias BrowserbaseListSessionsOutput = { + id: string; + createdAt: string; + updatedAt: string; + projectId: string; + startedAt: string; + endedAt: string; + expiresAt: string; + status: "RUNNING" | "ERROR" | "TIMED_OUT" | "COMPLETED"; + proxyBytes: uint64; + avgCpuUsage: uint64; + memoryUsage: uint64; + keepAlive: boolean; + contextId?: string; +}[]; + +/** browserbase create session integration definition */ +model BrowserbaseCreateSessionIntegrationDef + extends BaseBrowserbaseIntegrationDef { + method: "create_session" = "create_session"; + + /** The arguments for the method */ + arguments: BrowserbaseCreateSessionArguments; +} + +model BrowserbaseCreateSessionArguments { + /** The Project ID. Can be found in Settings. */ + projectId: string; + + /** The uploaded Extension ID. See Upload Extension. */ + extensionId?: string; + + /** Browser settings */ + browserSettings?: Record; + + /** Duration in seconds after which the session will automatically end. Defaults to the Project's defaultTimeout. */ + timeout?: uint16; + + /** Set to true to keep the session alive even after disconnections. This is available on the Startup plan only. */ + keepAlive?: boolean; + + /** Proxy configuration. Can be true for default proxy, or an array of proxy configurations. */ + proxies?: boolean | Record[]; +} + +model BrowserbaseCreateSessionOutput { + id: string; + createdAt: string; + updatedAt: string; + projectId: string; + startedAt: string; + endedAt: string; + expiresAt: string; + status: "RUNNING" | "ERROR" | "TIMED_OUT" | "COMPLETED"; + proxyBytes: uint64; + avgCpuUsage: uint64; + memoryUsage: uint64; + keepAlive: boolean; + contextId?: string; +} + +/** browserbase get session integration definition */ +model BrowserbaseGetSessionIntegrationDef + extends BaseBrowserbaseIntegrationDef { + method: "get_session" = "get_session"; + arguments: BrowserbaseGetSessionArguments; +} + +model BrowserbaseGetSessionArguments { + id: string; +} + +model BrowserbaseGetSessionOutput { + id: string; + createdAt: string; + updatedAt: string; + projectId: string; + startedAt: string; + endedAt: string; + expiresAt: string; + status: "RUNNING" | "ERROR" | "TIMED_OUT" | "COMPLETED"; + proxyBytes: uint64; + avgCpuUsage: uint64; + memoryUsage: uint64; + keepAlive: boolean; + contextId?: string; +} + +/** browserbase update session integration definition */ +model BrowserbaseUpdateSessionIntegrationDef + extends BaseBrowserbaseIntegrationDef { + method: "update_session" = "update_session"; + arguments: BrowserbaseUpdateSessionArguments; +} + +model BrowserbaseUpdateSessionArguments { + id: string; + status: "REQUEST_RELEASE"; +} + +model BrowserbaseUpdateSessionOutput { + id: string; + createdAt: string; + updatedAt: string; + projectId: string; + startedAt: string; + endedAt: string; + expiresAt: string; + status: "RUNNING" | "ERROR" | "TIMED_OUT" | "COMPLETED"; + proxyBytes: uint64; + avgCpuUsage: uint64; + memoryUsage: uint64; + keepAlive: boolean; + contextId?: string; +} + +/** browserbase get session live urls integration definition */ +model BrowserbaseGetSessionLiveUrlsIntegrationDef + extends BaseBrowserbaseIntegrationDef { + method: "get_live_urls" = "get_live_urls"; + arguments: BrowserbaseGetSessionLiveUrlsArguments; +} + +model BrowserbaseGetSessionLiveUrlsArguments { + id: string; +} + +model BrowserbaseGetSessionLiveUrlsOutput { + debuggerFullscreenUrl?: url; + debuggerUrl?: url; + wsUrl?: url; + pages: { + id?: string; + url?: url; + faviconUrl?: url; + title?: string; + debuggerUrl?: url; + debuggerFullscreenUrl?: url; + }[] = #[]; +} diff --git a/typespec/tools/main.tsp b/typespec/tools/main.tsp index d80641354..38d4d7d57 100644 --- a/typespec/tools/main.tsp +++ b/typespec/tools/main.tsp @@ -6,6 +6,7 @@ import "./email.tsp"; import "./spider.tsp"; import "./weather.tsp"; import "./wikipedia.tsp"; +import "./browserbase"; namespace Tools; diff --git a/typespec/tools/models.tsp b/typespec/tools/models.tsp index f641d473a..dd41038b1 100644 --- a/typespec/tools/models.tsp +++ b/typespec/tools/models.tsp @@ -90,8 +90,8 @@ model BaseProviderCard { info: ProviderInfo; } -model ProviderMethod { - method: string ; // (typeof MethodName) = MethodName; +model ProviderMethod { + method: string; description?: string; arguments?: Arguments; output?: Output; @@ -111,6 +111,7 @@ alias IntegrationDef = ( | SpiderIntegrationDef | WikipediaIntegrationDef | WeatherIntegrationDef + | BrowserbaseIntegrationDef ); // diff --git a/typespec/tsp-output/@typespec/openapi3/openapi-1.0.0.yaml b/typespec/tsp-output/@typespec/openapi3/openapi-1.0.0.yaml index 1be957f04..803996838 100644 --- a/typespec/tsp-output/@typespec/openapi3/openapi-1.0.0.yaml +++ b/typespec/tsp-output/@typespec/openapi3/openapi-1.0.0.yaml @@ -5803,6 +5803,68 @@ components: format: uint8 description: The timeout for the request description: API call definition + Tools.BaseBrowserbaseIntegrationDef: + type: object + required: + - provider + properties: + provider: + type: string + enum: + - browserbase + default: browserbase + setup: + $ref: '#/components/schemas/Tools.BrowserbaseSetup' + method: + type: string + enum: + - get_live_urls + - list_sessions + - create_session + - get_session + - update_session + - create_context + - upload_extension + - get_extension + - delete_extension + - create_session_uploads + - get_session_downloads + - get_logs + - get_recordings + arguments: {} + allOf: + - $ref: '#/components/schemas/Tools.BaseIntegrationDef' + description: The base definition for a browserbase integration + Tools.BaseBrowserbaseIntegrationDefUpdate: + type: object + properties: + provider: + type: string + enum: + - browserbase + default: browserbase + setup: + $ref: '#/components/schemas/Tools.BrowserbaseSetupUpdate' + method: + type: string + enum: + - get_live_urls + - list_sessions + - create_session + - get_session + - update_session + - create_context + - upload_extension + - get_extension + - delete_extension + - create_session_uploads + - get_session_downloads + - get_logs + - get_recordings + arguments: {} + allOf: + - $ref: '#/components/schemas/Tools.BaseIntegrationDefUpdate' + description: The base definition for a browserbase integration Tools.BaseChosenToolCall: type: object required: @@ -5861,6 +5923,7 @@ components: spider: '#/components/schemas/Tools.SpiderIntegrationDef' wikipedia: '#/components/schemas/Tools.WikipediaIntegrationDef' weather: '#/components/schemas/Tools.WeatherIntegrationDef' + browserbase: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDef' description: Integration definition Tools.BaseIntegrationDefUpdate: type: object @@ -5891,6 +5954,7 @@ components: spider: '#/components/schemas/Tools.SpiderIntegrationDefUpdate' wikipedia: '#/components/schemas/Tools.WikipediaIntegrationDefUpdate' weather: '#/components/schemas/Tools.WeatherIntegrationDefUpdate' + browserbase: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDefUpdate' description: Integration definition Tools.Bash20241022Def: type: object @@ -5996,6 +6060,318 @@ components: type: string description: The api key for Brave Search description: Integration definition for Brave Search + Tools.BrowserbaseContextIntegrationDef: + type: object + properties: + method: + type: string + enum: + - create_context + description: The specific method of the integration to call + default: create_context + arguments: + description: The arguments for the method + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDef' + description: browserbase context provider + Tools.BrowserbaseContextIntegrationDefUpdate: + type: object + properties: + method: + type: string + enum: + - create_context + description: The specific method of the integration to call + default: create_context + arguments: + description: The arguments for the method + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDefUpdate' + description: browserbase context provider + Tools.BrowserbaseCreateSessionArguments: + type: object + required: + - projectId + properties: + projectId: + type: string + description: The Project ID. Can be found in Settings. + extensionId: + type: string + description: The uploaded Extension ID. See Upload Extension. + browserSettings: + type: object + additionalProperties: {} + description: Browser settings + timeout: + type: integer + format: uint16 + description: Duration in seconds after which the session will automatically end. Defaults to the Project's defaultTimeout. + keepAlive: + type: boolean + description: Set to true to keep the session alive even after disconnections. This is available on the Startup plan only. + proxies: + anyOf: + - type: boolean + - type: array + items: + type: object + additionalProperties: {} + description: Proxy configuration. Can be true for default proxy, or an array of proxy configurations. + Tools.BrowserbaseCreateSessionArgumentsUpdate: + type: object + properties: + projectId: + type: string + description: The Project ID. Can be found in Settings. + extensionId: + type: string + description: The uploaded Extension ID. See Upload Extension. + browserSettings: + type: object + additionalProperties: {} + description: Browser settings + timeout: + type: integer + format: uint16 + description: Duration in seconds after which the session will automatically end. Defaults to the Project's defaultTimeout. + keepAlive: + type: boolean + description: Set to true to keep the session alive even after disconnections. This is available on the Startup plan only. + proxies: + anyOf: + - type: boolean + - type: array + items: + type: object + additionalProperties: {} + description: Proxy configuration. Can be true for default proxy, or an array of proxy configurations. + Tools.BrowserbaseCreateSessionIntegrationDef: + type: object + required: + - method + - arguments + properties: + method: + type: string + enum: + - create_session + default: create_session + arguments: + allOf: + - $ref: '#/components/schemas/Tools.BrowserbaseCreateSessionArguments' + description: The arguments for the method + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDef' + description: browserbase create session integration definition + Tools.BrowserbaseCreateSessionIntegrationDefUpdate: + type: object + properties: + method: + type: string + enum: + - create_session + default: create_session + arguments: + allOf: + - $ref: '#/components/schemas/Tools.BrowserbaseCreateSessionArgumentsUpdate' + description: The arguments for the method + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDefUpdate' + description: browserbase create session integration definition + Tools.BrowserbaseGetSessionArguments: + type: object + required: + - id + properties: + id: + type: string + Tools.BrowserbaseGetSessionArgumentsUpdate: + type: object + properties: + id: + type: string + Tools.BrowserbaseGetSessionIntegrationDef: + type: object + required: + - method + - arguments + properties: + method: + type: string + enum: + - get_session + default: get_session + arguments: + $ref: '#/components/schemas/Tools.BrowserbaseGetSessionArguments' + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDef' + description: browserbase get session integration definition + Tools.BrowserbaseGetSessionIntegrationDefUpdate: + type: object + properties: + method: + type: string + enum: + - get_session + default: get_session + arguments: + $ref: '#/components/schemas/Tools.BrowserbaseGetSessionArgumentsUpdate' + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDefUpdate' + description: browserbase get session integration definition + Tools.BrowserbaseGetSessionLiveUrlsArguments: + type: object + required: + - id + properties: + id: + type: string + Tools.BrowserbaseGetSessionLiveUrlsArgumentsUpdate: + type: object + properties: + id: + type: string + Tools.BrowserbaseGetSessionLiveUrlsIntegrationDef: + type: object + required: + - method + - arguments + properties: + method: + type: string + enum: + - get_live_urls + default: get_live_urls + arguments: + $ref: '#/components/schemas/Tools.BrowserbaseGetSessionLiveUrlsArguments' + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDef' + description: browserbase get session live urls integration definition + Tools.BrowserbaseGetSessionLiveUrlsIntegrationDefUpdate: + type: object + properties: + method: + type: string + enum: + - get_live_urls + default: get_live_urls + arguments: + $ref: '#/components/schemas/Tools.BrowserbaseGetSessionLiveUrlsArgumentsUpdate' + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDefUpdate' + description: browserbase get session live urls integration definition + Tools.BrowserbaseListSessionsArguments: + type: object + properties: + status: + type: string + enum: + - RUNNING + - ERROR + - TIMED_OUT + - COMPLETED + description: 'The status of the sessions to list (Available options: RUNNING, ERROR, TIMED_OUT, COMPLETED)' + Tools.BrowserbaseListSessionsIntegrationDef: + type: object + required: + - method + properties: + method: + type: string + enum: + - list_sessions + description: The specific method of the integration to call + default: list_sessions + arguments: + allOf: + - $ref: '#/components/schemas/Tools.BrowserbaseListSessionsArguments' + description: The arguments for the method + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDef' + description: browserbase list sessions integration definition + Tools.BrowserbaseListSessionsIntegrationDefUpdate: + type: object + properties: + method: + type: string + enum: + - list_sessions + description: The specific method of the integration to call + default: list_sessions + arguments: + allOf: + - $ref: '#/components/schemas/Tools.BrowserbaseListSessionsArguments' + description: The arguments for the method + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDefUpdate' + description: browserbase list sessions integration definition + Tools.BrowserbaseSetup: + type: object + required: + - api_key + properties: + api_key: + type: string + description: API key for the browserbase integration + description: The setup parameters for the browserbase integration + Tools.BrowserbaseSetupUpdate: + type: object + properties: + api_key: + type: string + description: API key for the browserbase integration + description: The setup parameters for the browserbase integration + Tools.BrowserbaseUpdateSessionArguments: + type: object + required: + - id + - status + properties: + id: + type: string + status: + type: string + enum: + - REQUEST_RELEASE + Tools.BrowserbaseUpdateSessionArgumentsUpdate: + type: object + properties: + id: + type: string + status: + type: string + enum: + - REQUEST_RELEASE + Tools.BrowserbaseUpdateSessionIntegrationDef: + type: object + required: + - method + - arguments + properties: + method: + type: string + enum: + - update_session + default: update_session + arguments: + $ref: '#/components/schemas/Tools.BrowserbaseUpdateSessionArguments' + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDef' + description: browserbase update session integration definition + Tools.BrowserbaseUpdateSessionIntegrationDefUpdate: + type: object + properties: + method: + type: string + enum: + - update_session + default: update_session + arguments: + $ref: '#/components/schemas/Tools.BrowserbaseUpdateSessionArgumentsUpdate' + allOf: + - $ref: '#/components/schemas/Tools.BaseBrowserbaseIntegrationDefUpdate' + description: browserbase update session integration definition Tools.ChosenBash20241022: type: object properties: @@ -6178,6 +6554,12 @@ components: - $ref: '#/components/schemas/Tools.SpiderIntegrationDef' - $ref: '#/components/schemas/Tools.WikipediaIntegrationDef' - $ref: '#/components/schemas/Tools.WeatherIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseContextIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseListSessionsIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseCreateSessionIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseGetSessionIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseUpdateSessionIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseGetSessionLiveUrlsIntegrationDef' description: The integration to call system: allOf: @@ -6393,6 +6775,12 @@ components: - $ref: '#/components/schemas/Tools.SpiderIntegrationDefUpdate' - $ref: '#/components/schemas/Tools.WikipediaIntegrationDefUpdate' - $ref: '#/components/schemas/Tools.WeatherIntegrationDefUpdate' + - $ref: '#/components/schemas/Tools.BrowserbaseContextIntegrationDefUpdate' + - $ref: '#/components/schemas/Tools.BrowserbaseListSessionsIntegrationDefUpdate' + - $ref: '#/components/schemas/Tools.BrowserbaseCreateSessionIntegrationDefUpdate' + - $ref: '#/components/schemas/Tools.BrowserbaseGetSessionIntegrationDefUpdate' + - $ref: '#/components/schemas/Tools.BrowserbaseUpdateSessionIntegrationDefUpdate' + - $ref: '#/components/schemas/Tools.BrowserbaseGetSessionLiveUrlsIntegrationDefUpdate' description: The integration to call system: allOf: @@ -6661,6 +7049,12 @@ components: - $ref: '#/components/schemas/Tools.SpiderIntegrationDef' - $ref: '#/components/schemas/Tools.WikipediaIntegrationDef' - $ref: '#/components/schemas/Tools.WeatherIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseContextIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseListSessionsIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseCreateSessionIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseGetSessionIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseUpdateSessionIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseGetSessionLiveUrlsIntegrationDef' description: The integration to call system: allOf: @@ -6738,6 +7132,12 @@ components: - $ref: '#/components/schemas/Tools.SpiderIntegrationDef' - $ref: '#/components/schemas/Tools.WikipediaIntegrationDef' - $ref: '#/components/schemas/Tools.WeatherIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseContextIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseListSessionsIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseCreateSessionIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseGetSessionIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseUpdateSessionIntegrationDef' + - $ref: '#/components/schemas/Tools.BrowserbaseGetSessionLiveUrlsIntegrationDef' description: The integration to call system: allOf: