Skip to content

Commit 0c83a09

Browse files
feat: Revert "[STG-1573] Add providerOptions for extensible model auth (#1822)"
1 parent 149b303 commit 0c83a09

15 files changed

Lines changed: 82 additions & 2528 deletions

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 8
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase%2Fstagehand-a8db51c6460b3daff67b35262517848a0d4e783c6805c2edd531b155a5db71dd.yml
3-
openapi_spec_hash: c6e7127f211f946673d6389e1d8db1ba
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase%2Fstagehand-1c6caa2891a7f3bdfc0caab143f285badc9145220c9b29cd5e4cf1a9b3ac11cf.yml
3+
openapi_spec_hash: 28c4b734a5309067c39bb4c4b709b9ab
44
config_hash: a962ae71493deb11a1c903256fb25386

lib/stagehand/models/model_config.rb

Lines changed: 3 additions & 215 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class ModelConfig < Stagehand::Internal::Type::BaseModel
2222
optional :base_url, String, api_name: :baseURL
2323

2424
# @!attribute headers
25-
# Custom headers for the model provider
25+
# Custom headers sent with every request to the model provider
2626
#
2727
# @return [Hash{Symbol=>String}, nil]
2828
optional :headers, Stagehand::Internal::Type::HashOf[String]
@@ -33,40 +33,16 @@ class ModelConfig < Stagehand::Internal::Type::BaseModel
3333
# @return [Symbol, Stagehand::Models::ModelConfig::Provider, nil]
3434
optional :provider, enum: -> { Stagehand::ModelConfig::Provider }
3535

36-
# @!attribute provider_options
37-
# Provider-specific options passed through to the AI SDK provider constructor. For
38-
# Bedrock: { region, accessKeyId, secretAccessKey, sessionToken }. For Vertex: {
39-
# project, location, googleAuthOptions }.
40-
#
41-
# @return [Stagehand::Models::ModelConfig::ProviderOptions::BedrockAPIKeyProviderOptions, Stagehand::Models::ModelConfig::ProviderOptions::BedrockAwsCredentialsProviderOptions, Stagehand::Models::ModelConfig::ProviderOptions::GoogleVertexProviderOptions, nil]
42-
optional :provider_options,
43-
union: -> { Stagehand::ModelConfig::ProviderOptions },
44-
api_name: :providerOptions
45-
46-
# @!attribute skip_api_key_fallback
47-
# When true, hosted sessions will not copy x-model-api-key into model.apiKey. Use
48-
# this when auth is carried through providerOptions instead of an API key.
49-
#
50-
# @return [Boolean, nil]
51-
optional :skip_api_key_fallback, Stagehand::Internal::Type::Boolean, api_name: :skipApiKeyFallback
52-
53-
# @!method initialize(model_name:, api_key: nil, base_url: nil, headers: nil, provider: nil, provider_options: nil, skip_api_key_fallback: nil)
54-
# Some parameter documentations has been truncated, see
55-
# {Stagehand::Models::ModelConfig} for more details.
56-
#
36+
# @!method initialize(model_name:, api_key: nil, base_url: nil, headers: nil, provider: nil)
5737
# @param model_name [String] Model name string with provider prefix (e.g., 'openai/gpt-5-nano')
5838
#
5939
# @param api_key [String] API key for the model provider
6040
#
6141
# @param base_url [String] Base URL for the model provider
6242
#
63-
# @param headers [Hash{Symbol=>String}] Custom headers for the model provider
43+
# @param headers [Hash{Symbol=>String}] Custom headers sent with every request to the model provider
6444
#
6545
# @param provider [Symbol, Stagehand::Models::ModelConfig::Provider] AI provider for the model (or provide a baseURL endpoint instead)
66-
#
67-
# @param provider_options [Stagehand::Models::ModelConfig::ProviderOptions::BedrockAPIKeyProviderOptions, Stagehand::Models::ModelConfig::ProviderOptions::BedrockAwsCredentialsProviderOptions, Stagehand::Models::ModelConfig::ProviderOptions::GoogleVertexProviderOptions] Provider-specific options passed through to the AI SDK provider constructor. For
68-
#
69-
# @param skip_api_key_fallback [Boolean] When true, hosted sessions will not copy x-model-api-key into model.apiKey. Use
7046

7147
# AI provider for the model (or provide a baseURL endpoint instead)
7248
#
@@ -83,194 +59,6 @@ module Provider
8359
# @!method self.values
8460
# @return [Array<Symbol>]
8561
end
86-
87-
# Provider-specific options passed through to the AI SDK provider constructor. For
88-
# Bedrock: { region, accessKeyId, secretAccessKey, sessionToken }. For Vertex: {
89-
# project, location, googleAuthOptions }.
90-
#
91-
# @see Stagehand::Models::ModelConfig#provider_options
92-
module ProviderOptions
93-
extend Stagehand::Internal::Type::Union
94-
95-
variant -> { Stagehand::ModelConfig::ProviderOptions::BedrockAPIKeyProviderOptions }
96-
97-
variant -> { Stagehand::ModelConfig::ProviderOptions::BedrockAwsCredentialsProviderOptions }
98-
99-
variant -> { Stagehand::ModelConfig::ProviderOptions::GoogleVertexProviderOptions }
100-
101-
class BedrockAPIKeyProviderOptions < Stagehand::Internal::Type::BaseModel
102-
# @!attribute region
103-
# AWS region for Amazon Bedrock
104-
#
105-
# @return [String]
106-
required :region, String
107-
108-
# @!method initialize(region:)
109-
# @param region [String] AWS region for Amazon Bedrock
110-
end
111-
112-
class BedrockAwsCredentialsProviderOptions < Stagehand::Internal::Type::BaseModel
113-
# @!attribute access_key_id
114-
# AWS access key ID for Bedrock
115-
#
116-
# @return [String]
117-
required :access_key_id, String, api_name: :accessKeyId
118-
119-
# @!attribute region
120-
# AWS region for Amazon Bedrock
121-
#
122-
# @return [String]
123-
required :region, String
124-
125-
# @!attribute secret_access_key
126-
# AWS secret access key for Bedrock
127-
#
128-
# @return [String]
129-
required :secret_access_key, String, api_name: :secretAccessKey
130-
131-
# @!attribute session_token
132-
# Optional AWS session token for temporary credentials
133-
#
134-
# @return [String, nil]
135-
optional :session_token, String, api_name: :sessionToken
136-
137-
# @!method initialize(access_key_id:, region:, secret_access_key:, session_token: nil)
138-
# @param access_key_id [String] AWS access key ID for Bedrock
139-
#
140-
# @param region [String] AWS region for Amazon Bedrock
141-
#
142-
# @param secret_access_key [String] AWS secret access key for Bedrock
143-
#
144-
# @param session_token [String] Optional AWS session token for temporary credentials
145-
end
146-
147-
class GoogleVertexProviderOptions < Stagehand::Internal::Type::BaseModel
148-
# @!attribute google_auth_options
149-
# Optional Google auth options for Vertex AI
150-
#
151-
# @return [Stagehand::Models::ModelConfig::ProviderOptions::GoogleVertexProviderOptions::GoogleAuthOptions, nil]
152-
optional :google_auth_options,
153-
-> {
154-
Stagehand::ModelConfig::ProviderOptions::GoogleVertexProviderOptions::GoogleAuthOptions
155-
},
156-
api_name: :googleAuthOptions
157-
158-
# @!attribute headers
159-
# Custom headers for Vertex AI requests
160-
#
161-
# @return [Hash{Symbol=>String}, nil]
162-
optional :headers, Stagehand::Internal::Type::HashOf[String]
163-
164-
# @!attribute location
165-
# Google Cloud location for Vertex AI
166-
#
167-
# @return [String, nil]
168-
optional :location, String
169-
170-
# @!attribute project
171-
# Google Cloud project ID for Vertex AI
172-
#
173-
# @return [String, nil]
174-
optional :project, String
175-
176-
# @!method initialize(google_auth_options: nil, headers: nil, location: nil, project: nil)
177-
# @param google_auth_options [Stagehand::Models::ModelConfig::ProviderOptions::GoogleVertexProviderOptions::GoogleAuthOptions] Optional Google auth options for Vertex AI
178-
#
179-
# @param headers [Hash{Symbol=>String}] Custom headers for Vertex AI requests
180-
#
181-
# @param location [String] Google Cloud location for Vertex AI
182-
#
183-
# @param project [String] Google Cloud project ID for Vertex AI
184-
185-
# @see Stagehand::Models::ModelConfig::ProviderOptions::GoogleVertexProviderOptions#google_auth_options
186-
class GoogleAuthOptions < Stagehand::Internal::Type::BaseModel
187-
# @!attribute credentials
188-
#
189-
# @return [Stagehand::Models::ModelConfig::ProviderOptions::GoogleVertexProviderOptions::GoogleAuthOptions::Credentials, nil]
190-
optional :credentials,
191-
-> { Stagehand::ModelConfig::ProviderOptions::GoogleVertexProviderOptions::GoogleAuthOptions::Credentials }
192-
193-
# @!method initialize(credentials: nil)
194-
# Optional Google auth options for Vertex AI
195-
#
196-
# @param credentials [Stagehand::Models::ModelConfig::ProviderOptions::GoogleVertexProviderOptions::GoogleAuthOptions::Credentials]
197-
198-
# @see Stagehand::Models::ModelConfig::ProviderOptions::GoogleVertexProviderOptions::GoogleAuthOptions#credentials
199-
class Credentials < Stagehand::Internal::Type::BaseModel
200-
# @!attribute auth_provider_x509_cert_url
201-
#
202-
# @return [String, nil]
203-
optional :auth_provider_x509_cert_url, String
204-
205-
# @!attribute auth_uri
206-
#
207-
# @return [String, nil]
208-
optional :auth_uri, String
209-
210-
# @!attribute client_email
211-
#
212-
# @return [String, nil]
213-
optional :client_email, String
214-
215-
# @!attribute client_id
216-
#
217-
# @return [String, nil]
218-
optional :client_id, String
219-
220-
# @!attribute client_x509_cert_url
221-
#
222-
# @return [String, nil]
223-
optional :client_x509_cert_url, String
224-
225-
# @!attribute private_key
226-
#
227-
# @return [String, nil]
228-
optional :private_key, String
229-
230-
# @!attribute private_key_id
231-
#
232-
# @return [String, nil]
233-
optional :private_key_id, String
234-
235-
# @!attribute project_id
236-
#
237-
# @return [String, nil]
238-
optional :project_id, String
239-
240-
# @!attribute token_uri
241-
#
242-
# @return [String, nil]
243-
optional :token_uri, String
244-
245-
# @!attribute type
246-
#
247-
# @return [String, nil]
248-
optional :type, String
249-
250-
# @!attribute universe_domain
251-
#
252-
# @return [String, nil]
253-
optional :universe_domain, String
254-
255-
# @!method initialize(auth_provider_x509_cert_url: nil, auth_uri: nil, client_email: nil, client_id: nil, client_x509_cert_url: nil, private_key: nil, private_key_id: nil, project_id: nil, token_uri: nil, type: nil, universe_domain: nil)
256-
# @param auth_provider_x509_cert_url [String]
257-
# @param auth_uri [String]
258-
# @param client_email [String]
259-
# @param client_id [String]
260-
# @param client_x509_cert_url [String]
261-
# @param private_key [String]
262-
# @param private_key_id [String]
263-
# @param project_id [String]
264-
# @param token_uri [String]
265-
# @param type [String]
266-
# @param universe_domain [String]
267-
end
268-
end
269-
end
270-
271-
# @!method self.variants
272-
# @return [Array(Stagehand::Models::ModelConfig::ProviderOptions::BedrockAPIKeyProviderOptions, Stagehand::Models::ModelConfig::ProviderOptions::BedrockAwsCredentialsProviderOptions, Stagehand::Models::ModelConfig::ProviderOptions::GoogleVertexProviderOptions)]
273-
end
27462
end
27563
end
27664
end

lib/stagehand/models/session_execute_params.rb

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,12 +198,28 @@ class ExecuteOptions < Stagehand::Internal::Type::BaseModel
198198
# @return [Float, nil]
199199
optional :max_steps, Float, api_name: :maxSteps
200200

201-
# @!method initialize(instruction:, highlight_cursor: nil, max_steps: nil)
201+
# @!attribute tool_timeout
202+
# Timeout in milliseconds for each agent tool call
203+
#
204+
# @return [Float, nil]
205+
optional :tool_timeout, Float, api_name: :toolTimeout
206+
207+
# @!attribute use_search
208+
# Whether to enable the web search tool powered by Browserbase Search API
209+
#
210+
# @return [Boolean, nil]
211+
optional :use_search, Stagehand::Internal::Type::Boolean, api_name: :useSearch
212+
213+
# @!method initialize(instruction:, highlight_cursor: nil, max_steps: nil, tool_timeout: nil, use_search: nil)
202214
# @param instruction [String] Natural language instruction for the agent
203215
#
204216
# @param highlight_cursor [Boolean] Whether to visually highlight the cursor during execution
205217
#
206218
# @param max_steps [Float] Maximum number of steps the agent can take
219+
#
220+
# @param tool_timeout [Float] Timeout in milliseconds for each agent tool call
221+
#
222+
# @param use_search [Boolean] Whether to enable the web search tool powered by Browserbase Search API
207223
end
208224

209225
# Whether to stream the response via SSE

0 commit comments

Comments
 (0)