Skip to content

Commit f072067

Browse files
feat: STG-1756 add Vertex auth params to Stagehand spec
1 parent 0a43c2c commit f072067

10 files changed

Lines changed: 2573 additions & 5 deletions

File tree

.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/stagehand-eae8400fade7b2c8329c4148f56de92e147c34c0feecb420c015aab6544a9acc.yml
3-
openapi_spec_hash: 0a9eff1ac1d464e89cbd9db64709b08a
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/stagehand-e77d6b15f0a94b16a54ef87a84d2cabe49eb11cff5ceba76f00dd788ff483eab.yml
3+
openapi_spec_hash: a1dab7fe72a772d188a15305124ebd73
44
config_hash: 1fb12ae9b478488bc1e56bfbdc210b01

stagehand-java-core/src/main/kotlin/com/browserbase/api/models/sessions/ModelConfig.kt

Lines changed: 1367 additions & 3 deletions
Large diffs are not rendered by default.

stagehand-java-core/src/test/kotlin/com/browserbase/api/models/sessions/ModelConfigTest.kt

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,74 @@ internal class ModelConfigTest {
1717
.modelName("openai/gpt-5.4-mini")
1818
.apiKey("sk-some-openai-api-key")
1919
.baseUrl("https://api.openai.com/v1")
20+
.googleAuthOptions(
21+
ModelConfig.GoogleAuthOptions.builder()
22+
.credentials(
23+
ModelConfig.GoogleAuthOptions.Credentials.builder()
24+
.clientEmail("client_email")
25+
.privateKey("private_key")
26+
.authProviderX509CertUrl("https://example.com")
27+
.authUri("https://example.com")
28+
.clientId("client_id")
29+
.clientX509CertUrl("https://example.com")
30+
.privateKeyId("private_key_id")
31+
.projectId("project_id")
32+
.tokenUri("https://example.com")
33+
.type(
34+
ModelConfig.GoogleAuthOptions.Credentials.Type.SERVICE_ACCOUNT
35+
)
36+
.universeDomain("universe_domain")
37+
.build()
38+
)
39+
.projectId("projectId")
40+
.scopes("string")
41+
.universeDomain("universeDomain")
42+
.build()
43+
)
2044
.headers(
2145
ModelConfig.Headers.builder()
2246
.putAdditionalProperty("foo", JsonValue.from("string"))
2347
.build()
2448
)
49+
.location("us-central1")
50+
.project("my-gcp-project")
2551
.provider(ModelConfig.Provider.OPENAI)
2652
.build()
2753

2854
assertThat(modelConfig.modelName()).isEqualTo("openai/gpt-5.4-mini")
2955
assertThat(modelConfig.apiKey()).contains("sk-some-openai-api-key")
3056
assertThat(modelConfig.baseUrl()).contains("https://api.openai.com/v1")
57+
assertThat(modelConfig.googleAuthOptions())
58+
.contains(
59+
ModelConfig.GoogleAuthOptions.builder()
60+
.credentials(
61+
ModelConfig.GoogleAuthOptions.Credentials.builder()
62+
.clientEmail("client_email")
63+
.privateKey("private_key")
64+
.authProviderX509CertUrl("https://example.com")
65+
.authUri("https://example.com")
66+
.clientId("client_id")
67+
.clientX509CertUrl("https://example.com")
68+
.privateKeyId("private_key_id")
69+
.projectId("project_id")
70+
.tokenUri("https://example.com")
71+
.type(ModelConfig.GoogleAuthOptions.Credentials.Type.SERVICE_ACCOUNT)
72+
.universeDomain("universe_domain")
73+
.build()
74+
)
75+
.projectId("projectId")
76+
.scopes("string")
77+
.universeDomain("universeDomain")
78+
.build()
79+
)
3180
assertThat(modelConfig.headers())
3281
.contains(
3382
ModelConfig.Headers.builder()
3483
.putAdditionalProperty("foo", JsonValue.from("string"))
3584
.build()
3685
)
86+
assertThat(modelConfig.location()).contains("us-central1")
87+
assertThat(modelConfig.project()).contains("my-gcp-project")
3788
assertThat(modelConfig.provider()).contains(ModelConfig.Provider.OPENAI)
3889
}
3990

@@ -45,11 +96,37 @@ internal class ModelConfigTest {
4596
.modelName("openai/gpt-5.4-mini")
4697
.apiKey("sk-some-openai-api-key")
4798
.baseUrl("https://api.openai.com/v1")
99+
.googleAuthOptions(
100+
ModelConfig.GoogleAuthOptions.builder()
101+
.credentials(
102+
ModelConfig.GoogleAuthOptions.Credentials.builder()
103+
.clientEmail("client_email")
104+
.privateKey("private_key")
105+
.authProviderX509CertUrl("https://example.com")
106+
.authUri("https://example.com")
107+
.clientId("client_id")
108+
.clientX509CertUrl("https://example.com")
109+
.privateKeyId("private_key_id")
110+
.projectId("project_id")
111+
.tokenUri("https://example.com")
112+
.type(
113+
ModelConfig.GoogleAuthOptions.Credentials.Type.SERVICE_ACCOUNT
114+
)
115+
.universeDomain("universe_domain")
116+
.build()
117+
)
118+
.projectId("projectId")
119+
.scopes("string")
120+
.universeDomain("universeDomain")
121+
.build()
122+
)
48123
.headers(
49124
ModelConfig.Headers.builder()
50125
.putAdditionalProperty("foo", JsonValue.from("string"))
51126
.build()
52127
)
128+
.location("us-central1")
129+
.project("my-gcp-project")
53130
.provider(ModelConfig.Provider.OPENAI)
54131
.build()
55132

stagehand-java-core/src/test/kotlin/com/browserbase/api/models/sessions/SessionActParamsTest.kt

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,38 @@ internal class SessionActParamsTest {
2323
.modelName("openai/gpt-5.4-mini")
2424
.apiKey("sk-some-openai-api-key")
2525
.baseUrl("https://api.openai.com/v1")
26+
.googleAuthOptions(
27+
ModelConfig.GoogleAuthOptions.builder()
28+
.credentials(
29+
ModelConfig.GoogleAuthOptions.Credentials.builder()
30+
.clientEmail("client_email")
31+
.privateKey("private_key")
32+
.authProviderX509CertUrl("https://example.com")
33+
.authUri("https://example.com")
34+
.clientId("client_id")
35+
.clientX509CertUrl("https://example.com")
36+
.privateKeyId("private_key_id")
37+
.projectId("project_id")
38+
.tokenUri("https://example.com")
39+
.type(
40+
ModelConfig.GoogleAuthOptions.Credentials.Type
41+
.SERVICE_ACCOUNT
42+
)
43+
.universeDomain("universe_domain")
44+
.build()
45+
)
46+
.projectId("projectId")
47+
.scopes("string")
48+
.universeDomain("universeDomain")
49+
.build()
50+
)
2651
.headers(
2752
ModelConfig.Headers.builder()
2853
.putAdditionalProperty("foo", JsonValue.from("string"))
2954
.build()
3055
)
56+
.location("us-central1")
57+
.project("my-gcp-project")
3158
.provider(ModelConfig.Provider.OPENAI)
3259
.build()
3360
)
@@ -79,11 +106,38 @@ internal class SessionActParamsTest {
79106
.modelName("openai/gpt-5.4-mini")
80107
.apiKey("sk-some-openai-api-key")
81108
.baseUrl("https://api.openai.com/v1")
109+
.googleAuthOptions(
110+
ModelConfig.GoogleAuthOptions.builder()
111+
.credentials(
112+
ModelConfig.GoogleAuthOptions.Credentials.builder()
113+
.clientEmail("client_email")
114+
.privateKey("private_key")
115+
.authProviderX509CertUrl("https://example.com")
116+
.authUri("https://example.com")
117+
.clientId("client_id")
118+
.clientX509CertUrl("https://example.com")
119+
.privateKeyId("private_key_id")
120+
.projectId("project_id")
121+
.tokenUri("https://example.com")
122+
.type(
123+
ModelConfig.GoogleAuthOptions.Credentials.Type
124+
.SERVICE_ACCOUNT
125+
)
126+
.universeDomain("universe_domain")
127+
.build()
128+
)
129+
.projectId("projectId")
130+
.scopes("string")
131+
.universeDomain("universeDomain")
132+
.build()
133+
)
82134
.headers(
83135
ModelConfig.Headers.builder()
84136
.putAdditionalProperty("foo", JsonValue.from("string"))
85137
.build()
86138
)
139+
.location("us-central1")
140+
.project("my-gcp-project")
87141
.provider(ModelConfig.Provider.OPENAI)
88142
.build()
89143
)
@@ -139,11 +193,38 @@ internal class SessionActParamsTest {
139193
.modelName("openai/gpt-5.4-mini")
140194
.apiKey("sk-some-openai-api-key")
141195
.baseUrl("https://api.openai.com/v1")
196+
.googleAuthOptions(
197+
ModelConfig.GoogleAuthOptions.builder()
198+
.credentials(
199+
ModelConfig.GoogleAuthOptions.Credentials.builder()
200+
.clientEmail("client_email")
201+
.privateKey("private_key")
202+
.authProviderX509CertUrl("https://example.com")
203+
.authUri("https://example.com")
204+
.clientId("client_id")
205+
.clientX509CertUrl("https://example.com")
206+
.privateKeyId("private_key_id")
207+
.projectId("project_id")
208+
.tokenUri("https://example.com")
209+
.type(
210+
ModelConfig.GoogleAuthOptions.Credentials.Type
211+
.SERVICE_ACCOUNT
212+
)
213+
.universeDomain("universe_domain")
214+
.build()
215+
)
216+
.projectId("projectId")
217+
.scopes("string")
218+
.universeDomain("universeDomain")
219+
.build()
220+
)
142221
.headers(
143222
ModelConfig.Headers.builder()
144223
.putAdditionalProperty("foo", JsonValue.from("string"))
145224
.build()
146225
)
226+
.location("us-central1")
227+
.project("my-gcp-project")
147228
.provider(ModelConfig.Provider.OPENAI)
148229
.build()
149230
)
@@ -179,11 +260,38 @@ internal class SessionActParamsTest {
179260
.modelName("openai/gpt-5.4-mini")
180261
.apiKey("sk-some-openai-api-key")
181262
.baseUrl("https://api.openai.com/v1")
263+
.googleAuthOptions(
264+
ModelConfig.GoogleAuthOptions.builder()
265+
.credentials(
266+
ModelConfig.GoogleAuthOptions.Credentials.builder()
267+
.clientEmail("client_email")
268+
.privateKey("private_key")
269+
.authProviderX509CertUrl("https://example.com")
270+
.authUri("https://example.com")
271+
.clientId("client_id")
272+
.clientX509CertUrl("https://example.com")
273+
.privateKeyId("private_key_id")
274+
.projectId("project_id")
275+
.tokenUri("https://example.com")
276+
.type(
277+
ModelConfig.GoogleAuthOptions.Credentials.Type
278+
.SERVICE_ACCOUNT
279+
)
280+
.universeDomain("universe_domain")
281+
.build()
282+
)
283+
.projectId("projectId")
284+
.scopes("string")
285+
.universeDomain("universeDomain")
286+
.build()
287+
)
182288
.headers(
183289
ModelConfig.Headers.builder()
184290
.putAdditionalProperty("foo", JsonValue.from("string"))
185291
.build()
186292
)
293+
.location("us-central1")
294+
.project("my-gcp-project")
187295
.provider(ModelConfig.Provider.OPENAI)
188296
.build()
189297
)

0 commit comments

Comments
 (0)