stagehand 0.0.3 → 3.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +185 -0
- data/README.md +394 -31
- data/SECURITY.md +23 -0
- data/lib/stagehand/client.rb +126 -0
- data/lib/stagehand/errors.rb +228 -0
- data/lib/stagehand/file_part.rb +58 -0
- data/lib/stagehand/internal/stream.rb +56 -0
- data/lib/stagehand/internal/transport/base_client.rb +575 -0
- data/lib/stagehand/internal/transport/pooled_net_requester.rb +210 -0
- data/lib/stagehand/internal/type/array_of.rb +168 -0
- data/lib/stagehand/internal/type/base_model.rb +531 -0
- data/lib/stagehand/internal/type/base_page.rb +55 -0
- data/lib/stagehand/internal/type/base_stream.rb +83 -0
- data/lib/stagehand/internal/type/boolean.rb +77 -0
- data/lib/stagehand/internal/type/converter.rb +327 -0
- data/lib/stagehand/internal/type/enum.rb +131 -0
- data/lib/stagehand/internal/type/file_input.rb +111 -0
- data/lib/stagehand/internal/type/hash_of.rb +188 -0
- data/lib/stagehand/internal/type/request_parameters.rb +42 -0
- data/lib/stagehand/internal/type/union.rb +237 -0
- data/lib/stagehand/internal/type/unknown.rb +81 -0
- data/lib/stagehand/internal/util.rb +920 -0
- data/lib/stagehand/internal.rb +20 -0
- data/lib/stagehand/local.rb +439 -0
- data/lib/stagehand/models/action.rb +50 -0
- data/lib/stagehand/models/model_config.rb +55 -0
- data/lib/stagehand/models/session_act_params.rb +112 -0
- data/lib/stagehand/models/session_act_response.rb +127 -0
- data/lib/stagehand/models/session_end_params.rb +33 -0
- data/lib/stagehand/models/session_end_response.rb +17 -0
- data/lib/stagehand/models/session_execute_params.rb +212 -0
- data/lib/stagehand/models/session_execute_response.rb +212 -0
- data/lib/stagehand/models/session_extract_params.rb +107 -0
- data/lib/stagehand/models/session_extract_response.rb +46 -0
- data/lib/stagehand/models/session_navigate_params.rb +107 -0
- data/lib/stagehand/models/session_navigate_response.rb +44 -0
- data/lib/stagehand/models/session_observe_params.rb +99 -0
- data/lib/stagehand/models/session_observe_response.rb +91 -0
- data/lib/stagehand/models/session_replay_params.rb +33 -0
- data/lib/stagehand/models/session_replay_response.rb +100 -0
- data/lib/stagehand/models/session_start_params.rb +762 -0
- data/lib/stagehand/models/session_start_response.rb +55 -0
- data/lib/stagehand/models/stream_event.rb +120 -0
- data/lib/stagehand/models.rb +63 -0
- data/lib/stagehand/request_options.rb +77 -0
- data/lib/stagehand/resources/sessions.rb +488 -0
- data/lib/stagehand/version.rb +3 -1
- data/lib/stagehand.rb +74 -21
- data/manifest.yaml +17 -0
- data/rbi/stagehand/client.rbi +89 -0
- data/rbi/stagehand/errors.rbi +205 -0
- data/rbi/stagehand/file_part.rbi +37 -0
- data/rbi/stagehand/internal/stream.rbi +20 -0
- data/rbi/stagehand/internal/transport/base_client.rbi +314 -0
- data/rbi/stagehand/internal/transport/pooled_net_requester.rbi +83 -0
- data/rbi/stagehand/internal/type/array_of.rbi +104 -0
- data/rbi/stagehand/internal/type/base_model.rbi +308 -0
- data/rbi/stagehand/internal/type/base_page.rbi +42 -0
- data/rbi/stagehand/internal/type/base_stream.rbi +75 -0
- data/rbi/stagehand/internal/type/boolean.rbi +58 -0
- data/rbi/stagehand/internal/type/converter.rbi +216 -0
- data/rbi/stagehand/internal/type/enum.rbi +82 -0
- data/rbi/stagehand/internal/type/file_input.rbi +59 -0
- data/rbi/stagehand/internal/type/hash_of.rbi +104 -0
- data/rbi/stagehand/internal/type/request_parameters.rbi +29 -0
- data/rbi/stagehand/internal/type/union.rbi +128 -0
- data/rbi/stagehand/internal/type/unknown.rbi +58 -0
- data/rbi/stagehand/internal/util.rbi +487 -0
- data/rbi/stagehand/internal.rbi +18 -0
- data/rbi/stagehand/models/action.rbi +77 -0
- data/rbi/stagehand/models/model_config.rbi +94 -0
- data/rbi/stagehand/models/session_act_params.rbi +204 -0
- data/rbi/stagehand/models/session_act_response.rbi +250 -0
- data/rbi/stagehand/models/session_end_params.rbi +87 -0
- data/rbi/stagehand/models/session_end_response.rbi +30 -0
- data/rbi/stagehand/models/session_execute_params.rbi +440 -0
- data/rbi/stagehand/models/session_execute_response.rbi +414 -0
- data/rbi/stagehand/models/session_extract_params.rbi +209 -0
- data/rbi/stagehand/models/session_extract_response.rbi +91 -0
- data/rbi/stagehand/models/session_navigate_params.rbi +240 -0
- data/rbi/stagehand/models/session_navigate_response.rbi +91 -0
- data/rbi/stagehand/models/session_observe_params.rbi +198 -0
- data/rbi/stagehand/models/session_observe_response.rbi +184 -0
- data/rbi/stagehand/models/session_replay_params.rbi +89 -0
- data/rbi/stagehand/models/session_replay_response.rbi +286 -0
- data/rbi/stagehand/models/session_start_params.rbi +1703 -0
- data/rbi/stagehand/models/session_start_response.rbi +102 -0
- data/rbi/stagehand/models/stream_event.rbi +237 -0
- data/rbi/stagehand/models.rbi +25 -0
- data/rbi/stagehand/request_options.rbi +59 -0
- data/rbi/stagehand/resources/sessions.rbi +421 -0
- data/rbi/stagehand/version.rbi +5 -0
- data/sig/stagehand/client.rbs +41 -0
- data/sig/stagehand/errors.rbs +117 -0
- data/sig/stagehand/file_part.rbs +21 -0
- data/sig/stagehand/internal/stream.rbs +9 -0
- data/sig/stagehand/internal/transport/base_client.rbs +133 -0
- data/sig/stagehand/internal/transport/pooled_net_requester.rbs +48 -0
- data/sig/stagehand/internal/type/array_of.rbs +48 -0
- data/sig/stagehand/internal/type/base_model.rbs +102 -0
- data/sig/stagehand/internal/type/base_page.rbs +24 -0
- data/sig/stagehand/internal/type/base_stream.rbs +38 -0
- data/sig/stagehand/internal/type/boolean.rbs +26 -0
- data/sig/stagehand/internal/type/converter.rbs +79 -0
- data/sig/stagehand/internal/type/enum.rbs +32 -0
- data/sig/stagehand/internal/type/file_input.rbs +25 -0
- data/sig/stagehand/internal/type/hash_of.rbs +48 -0
- data/sig/stagehand/internal/type/request_parameters.rbs +19 -0
- data/sig/stagehand/internal/type/union.rbs +52 -0
- data/sig/stagehand/internal/type/unknown.rbs +26 -0
- data/sig/stagehand/internal/util.rbs +185 -0
- data/sig/stagehand/internal.rbs +9 -0
- data/sig/stagehand/models/action.rbs +46 -0
- data/sig/stagehand/models/model_config.rbs +56 -0
- data/sig/stagehand/models/session_act_params.rbs +111 -0
- data/sig/stagehand/models/session_act_response.rbs +121 -0
- data/sig/stagehand/models/session_end_params.rbs +41 -0
- data/sig/stagehand/models/session_end_response.rbs +13 -0
- data/sig/stagehand/models/session_execute_params.rbs +193 -0
- data/sig/stagehand/models/session_execute_response.rbs +215 -0
- data/sig/stagehand/models/session_extract_params.rbs +112 -0
- data/sig/stagehand/models/session_extract_response.rbs +36 -0
- data/sig/stagehand/models/session_navigate_params.rbs +114 -0
- data/sig/stagehand/models/session_navigate_response.rbs +36 -0
- data/sig/stagehand/models/session_observe_params.rbs +105 -0
- data/sig/stagehand/models/session_observe_response.rbs +89 -0
- data/sig/stagehand/models/session_replay_params.rbs +41 -0
- data/sig/stagehand/models/session_replay_response.rbs +137 -0
- data/sig/stagehand/models/session_start_params.rbs +866 -0
- data/sig/stagehand/models/session_start_response.rbs +44 -0
- data/sig/stagehand/models/stream_event.rbs +109 -0
- data/sig/stagehand/models.rbs +23 -0
- data/sig/stagehand/request_options.rbs +34 -0
- data/sig/stagehand/resources/sessions.rbs +121 -0
- data/sig/stagehand/version.rbs +3 -0
- metadata +173 -42
- data/.gitignore +0 -16
- data/Gemfile +0 -4
- data/Rakefile +0 -10
- data/lib/stagehand/railtie.rb +0 -14
- data/spec/spec_helper.rb +0 -7
- data/spec/stagehand_spec.rb +0 -15
- data/stagehand.gemspec +0 -24
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Stagehand
|
|
4
|
+
module Models
|
|
5
|
+
class SessionExecuteParams < Stagehand::Internal::Type::BaseModel
|
|
6
|
+
extend Stagehand::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Stagehand::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Stagehand::SessionExecuteParams, Stagehand::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(Stagehand::SessionExecuteParams::AgentConfig) }
|
|
15
|
+
attr_reader :agent_config
|
|
16
|
+
|
|
17
|
+
sig do
|
|
18
|
+
params(
|
|
19
|
+
agent_config: Stagehand::SessionExecuteParams::AgentConfig::OrHash
|
|
20
|
+
).void
|
|
21
|
+
end
|
|
22
|
+
attr_writer :agent_config
|
|
23
|
+
|
|
24
|
+
sig { returns(Stagehand::SessionExecuteParams::ExecuteOptions) }
|
|
25
|
+
attr_reader :execute_options
|
|
26
|
+
|
|
27
|
+
sig do
|
|
28
|
+
params(
|
|
29
|
+
execute_options:
|
|
30
|
+
Stagehand::SessionExecuteParams::ExecuteOptions::OrHash
|
|
31
|
+
).void
|
|
32
|
+
end
|
|
33
|
+
attr_writer :execute_options
|
|
34
|
+
|
|
35
|
+
# Target frame ID for the agent
|
|
36
|
+
sig { returns(T.nilable(String)) }
|
|
37
|
+
attr_accessor :frame_id
|
|
38
|
+
|
|
39
|
+
# If true, the server captures a cache entry and returns it to the client
|
|
40
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
41
|
+
attr_reader :should_cache
|
|
42
|
+
|
|
43
|
+
sig { params(should_cache: T::Boolean).void }
|
|
44
|
+
attr_writer :should_cache
|
|
45
|
+
|
|
46
|
+
# Whether to stream the response via SSE
|
|
47
|
+
sig do
|
|
48
|
+
returns(
|
|
49
|
+
T.nilable(Stagehand::SessionExecuteParams::XStreamResponse::OrSymbol)
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
attr_reader :x_stream_response
|
|
53
|
+
|
|
54
|
+
sig do
|
|
55
|
+
params(
|
|
56
|
+
x_stream_response:
|
|
57
|
+
Stagehand::SessionExecuteParams::XStreamResponse::OrSymbol
|
|
58
|
+
).void
|
|
59
|
+
end
|
|
60
|
+
attr_writer :x_stream_response
|
|
61
|
+
|
|
62
|
+
sig do
|
|
63
|
+
params(
|
|
64
|
+
agent_config: Stagehand::SessionExecuteParams::AgentConfig::OrHash,
|
|
65
|
+
execute_options:
|
|
66
|
+
Stagehand::SessionExecuteParams::ExecuteOptions::OrHash,
|
|
67
|
+
frame_id: T.nilable(String),
|
|
68
|
+
should_cache: T::Boolean,
|
|
69
|
+
x_stream_response:
|
|
70
|
+
Stagehand::SessionExecuteParams::XStreamResponse::OrSymbol,
|
|
71
|
+
request_options: Stagehand::RequestOptions::OrHash
|
|
72
|
+
).returns(T.attached_class)
|
|
73
|
+
end
|
|
74
|
+
def self.new(
|
|
75
|
+
agent_config:,
|
|
76
|
+
execute_options:,
|
|
77
|
+
# Target frame ID for the agent
|
|
78
|
+
frame_id: nil,
|
|
79
|
+
# If true, the server captures a cache entry and returns it to the client
|
|
80
|
+
should_cache: nil,
|
|
81
|
+
# Whether to stream the response via SSE
|
|
82
|
+
x_stream_response: nil,
|
|
83
|
+
request_options: {}
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
sig do
|
|
88
|
+
override.returns(
|
|
89
|
+
{
|
|
90
|
+
agent_config: Stagehand::SessionExecuteParams::AgentConfig,
|
|
91
|
+
execute_options: Stagehand::SessionExecuteParams::ExecuteOptions,
|
|
92
|
+
frame_id: T.nilable(String),
|
|
93
|
+
should_cache: T::Boolean,
|
|
94
|
+
x_stream_response:
|
|
95
|
+
Stagehand::SessionExecuteParams::XStreamResponse::OrSymbol,
|
|
96
|
+
request_options: Stagehand::RequestOptions
|
|
97
|
+
}
|
|
98
|
+
)
|
|
99
|
+
end
|
|
100
|
+
def to_hash
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
class AgentConfig < Stagehand::Internal::Type::BaseModel
|
|
104
|
+
OrHash =
|
|
105
|
+
T.type_alias do
|
|
106
|
+
T.any(
|
|
107
|
+
Stagehand::SessionExecuteParams::AgentConfig,
|
|
108
|
+
Stagehand::Internal::AnyHash
|
|
109
|
+
)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# Deprecated. Use mode: 'cua' instead. If both are provided, mode takes
|
|
113
|
+
# precedence.
|
|
114
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
115
|
+
attr_reader :cua
|
|
116
|
+
|
|
117
|
+
sig { params(cua: T::Boolean).void }
|
|
118
|
+
attr_writer :cua
|
|
119
|
+
|
|
120
|
+
# Model configuration object or model name string (e.g., 'openai/gpt-5-nano') for
|
|
121
|
+
# tool execution (observe/act calls within agent tools). If not specified,
|
|
122
|
+
# inherits from the main model configuration.
|
|
123
|
+
sig { returns(T.nilable(T.any(Stagehand::ModelConfig, String))) }
|
|
124
|
+
attr_reader :execution_model
|
|
125
|
+
|
|
126
|
+
sig do
|
|
127
|
+
params(
|
|
128
|
+
execution_model: T.any(Stagehand::ModelConfig::OrHash, String)
|
|
129
|
+
).void
|
|
130
|
+
end
|
|
131
|
+
attr_writer :execution_model
|
|
132
|
+
|
|
133
|
+
# Tool mode for the agent (dom, hybrid, cua). If set, overrides cua.
|
|
134
|
+
sig do
|
|
135
|
+
returns(
|
|
136
|
+
T.nilable(
|
|
137
|
+
Stagehand::SessionExecuteParams::AgentConfig::Mode::OrSymbol
|
|
138
|
+
)
|
|
139
|
+
)
|
|
140
|
+
end
|
|
141
|
+
attr_reader :mode
|
|
142
|
+
|
|
143
|
+
sig do
|
|
144
|
+
params(
|
|
145
|
+
mode: Stagehand::SessionExecuteParams::AgentConfig::Mode::OrSymbol
|
|
146
|
+
).void
|
|
147
|
+
end
|
|
148
|
+
attr_writer :mode
|
|
149
|
+
|
|
150
|
+
# Model configuration object or model name string (e.g., 'openai/gpt-5-nano')
|
|
151
|
+
sig { returns(T.nilable(T.any(Stagehand::ModelConfig, String))) }
|
|
152
|
+
attr_reader :model
|
|
153
|
+
|
|
154
|
+
sig do
|
|
155
|
+
params(model: T.any(Stagehand::ModelConfig::OrHash, String)).void
|
|
156
|
+
end
|
|
157
|
+
attr_writer :model
|
|
158
|
+
|
|
159
|
+
# AI provider for the agent (legacy, use model: openai/gpt-5-nano instead)
|
|
160
|
+
sig do
|
|
161
|
+
returns(
|
|
162
|
+
T.nilable(
|
|
163
|
+
Stagehand::SessionExecuteParams::AgentConfig::Provider::OrSymbol
|
|
164
|
+
)
|
|
165
|
+
)
|
|
166
|
+
end
|
|
167
|
+
attr_reader :provider
|
|
168
|
+
|
|
169
|
+
sig do
|
|
170
|
+
params(
|
|
171
|
+
provider:
|
|
172
|
+
Stagehand::SessionExecuteParams::AgentConfig::Provider::OrSymbol
|
|
173
|
+
).void
|
|
174
|
+
end
|
|
175
|
+
attr_writer :provider
|
|
176
|
+
|
|
177
|
+
# Custom system prompt for the agent
|
|
178
|
+
sig { returns(T.nilable(String)) }
|
|
179
|
+
attr_reader :system_prompt
|
|
180
|
+
|
|
181
|
+
sig { params(system_prompt: String).void }
|
|
182
|
+
attr_writer :system_prompt
|
|
183
|
+
|
|
184
|
+
sig do
|
|
185
|
+
params(
|
|
186
|
+
cua: T::Boolean,
|
|
187
|
+
execution_model: T.any(Stagehand::ModelConfig::OrHash, String),
|
|
188
|
+
mode: Stagehand::SessionExecuteParams::AgentConfig::Mode::OrSymbol,
|
|
189
|
+
model: T.any(Stagehand::ModelConfig::OrHash, String),
|
|
190
|
+
provider:
|
|
191
|
+
Stagehand::SessionExecuteParams::AgentConfig::Provider::OrSymbol,
|
|
192
|
+
system_prompt: String
|
|
193
|
+
).returns(T.attached_class)
|
|
194
|
+
end
|
|
195
|
+
def self.new(
|
|
196
|
+
# Deprecated. Use mode: 'cua' instead. If both are provided, mode takes
|
|
197
|
+
# precedence.
|
|
198
|
+
cua: nil,
|
|
199
|
+
# Model configuration object or model name string (e.g., 'openai/gpt-5-nano') for
|
|
200
|
+
# tool execution (observe/act calls within agent tools). If not specified,
|
|
201
|
+
# inherits from the main model configuration.
|
|
202
|
+
execution_model: nil,
|
|
203
|
+
# Tool mode for the agent (dom, hybrid, cua). If set, overrides cua.
|
|
204
|
+
mode: nil,
|
|
205
|
+
# Model configuration object or model name string (e.g., 'openai/gpt-5-nano')
|
|
206
|
+
model: nil,
|
|
207
|
+
# AI provider for the agent (legacy, use model: openai/gpt-5-nano instead)
|
|
208
|
+
provider: nil,
|
|
209
|
+
# Custom system prompt for the agent
|
|
210
|
+
system_prompt: nil
|
|
211
|
+
)
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
sig do
|
|
215
|
+
override.returns(
|
|
216
|
+
{
|
|
217
|
+
cua: T::Boolean,
|
|
218
|
+
execution_model: T.any(Stagehand::ModelConfig, String),
|
|
219
|
+
mode:
|
|
220
|
+
Stagehand::SessionExecuteParams::AgentConfig::Mode::OrSymbol,
|
|
221
|
+
model: T.any(Stagehand::ModelConfig, String),
|
|
222
|
+
provider:
|
|
223
|
+
Stagehand::SessionExecuteParams::AgentConfig::Provider::OrSymbol,
|
|
224
|
+
system_prompt: String
|
|
225
|
+
}
|
|
226
|
+
)
|
|
227
|
+
end
|
|
228
|
+
def to_hash
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# Model configuration object or model name string (e.g., 'openai/gpt-5-nano') for
|
|
232
|
+
# tool execution (observe/act calls within agent tools). If not specified,
|
|
233
|
+
# inherits from the main model configuration.
|
|
234
|
+
module ExecutionModel
|
|
235
|
+
extend Stagehand::Internal::Type::Union
|
|
236
|
+
|
|
237
|
+
Variants = T.type_alias { T.any(Stagehand::ModelConfig, String) }
|
|
238
|
+
|
|
239
|
+
sig do
|
|
240
|
+
override.returns(
|
|
241
|
+
T::Array[
|
|
242
|
+
Stagehand::SessionExecuteParams::AgentConfig::ExecutionModel::Variants
|
|
243
|
+
]
|
|
244
|
+
)
|
|
245
|
+
end
|
|
246
|
+
def self.variants
|
|
247
|
+
end
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
# Tool mode for the agent (dom, hybrid, cua). If set, overrides cua.
|
|
251
|
+
module Mode
|
|
252
|
+
extend Stagehand::Internal::Type::Enum
|
|
253
|
+
|
|
254
|
+
TaggedSymbol =
|
|
255
|
+
T.type_alias do
|
|
256
|
+
T.all(Symbol, Stagehand::SessionExecuteParams::AgentConfig::Mode)
|
|
257
|
+
end
|
|
258
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
259
|
+
|
|
260
|
+
DOM =
|
|
261
|
+
T.let(
|
|
262
|
+
:dom,
|
|
263
|
+
Stagehand::SessionExecuteParams::AgentConfig::Mode::TaggedSymbol
|
|
264
|
+
)
|
|
265
|
+
HYBRID =
|
|
266
|
+
T.let(
|
|
267
|
+
:hybrid,
|
|
268
|
+
Stagehand::SessionExecuteParams::AgentConfig::Mode::TaggedSymbol
|
|
269
|
+
)
|
|
270
|
+
CUA =
|
|
271
|
+
T.let(
|
|
272
|
+
:cua,
|
|
273
|
+
Stagehand::SessionExecuteParams::AgentConfig::Mode::TaggedSymbol
|
|
274
|
+
)
|
|
275
|
+
|
|
276
|
+
sig do
|
|
277
|
+
override.returns(
|
|
278
|
+
T::Array[
|
|
279
|
+
Stagehand::SessionExecuteParams::AgentConfig::Mode::TaggedSymbol
|
|
280
|
+
]
|
|
281
|
+
)
|
|
282
|
+
end
|
|
283
|
+
def self.values
|
|
284
|
+
end
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
# Model configuration object or model name string (e.g., 'openai/gpt-5-nano')
|
|
288
|
+
module Model
|
|
289
|
+
extend Stagehand::Internal::Type::Union
|
|
290
|
+
|
|
291
|
+
Variants = T.type_alias { T.any(Stagehand::ModelConfig, String) }
|
|
292
|
+
|
|
293
|
+
sig do
|
|
294
|
+
override.returns(
|
|
295
|
+
T::Array[
|
|
296
|
+
Stagehand::SessionExecuteParams::AgentConfig::Model::Variants
|
|
297
|
+
]
|
|
298
|
+
)
|
|
299
|
+
end
|
|
300
|
+
def self.variants
|
|
301
|
+
end
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
# AI provider for the agent (legacy, use model: openai/gpt-5-nano instead)
|
|
305
|
+
module Provider
|
|
306
|
+
extend Stagehand::Internal::Type::Enum
|
|
307
|
+
|
|
308
|
+
TaggedSymbol =
|
|
309
|
+
T.type_alias do
|
|
310
|
+
T.all(
|
|
311
|
+
Symbol,
|
|
312
|
+
Stagehand::SessionExecuteParams::AgentConfig::Provider
|
|
313
|
+
)
|
|
314
|
+
end
|
|
315
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
316
|
+
|
|
317
|
+
OPENAI =
|
|
318
|
+
T.let(
|
|
319
|
+
:openai,
|
|
320
|
+
Stagehand::SessionExecuteParams::AgentConfig::Provider::TaggedSymbol
|
|
321
|
+
)
|
|
322
|
+
ANTHROPIC =
|
|
323
|
+
T.let(
|
|
324
|
+
:anthropic,
|
|
325
|
+
Stagehand::SessionExecuteParams::AgentConfig::Provider::TaggedSymbol
|
|
326
|
+
)
|
|
327
|
+
GOOGLE =
|
|
328
|
+
T.let(
|
|
329
|
+
:google,
|
|
330
|
+
Stagehand::SessionExecuteParams::AgentConfig::Provider::TaggedSymbol
|
|
331
|
+
)
|
|
332
|
+
MICROSOFT =
|
|
333
|
+
T.let(
|
|
334
|
+
:microsoft,
|
|
335
|
+
Stagehand::SessionExecuteParams::AgentConfig::Provider::TaggedSymbol
|
|
336
|
+
)
|
|
337
|
+
|
|
338
|
+
sig do
|
|
339
|
+
override.returns(
|
|
340
|
+
T::Array[
|
|
341
|
+
Stagehand::SessionExecuteParams::AgentConfig::Provider::TaggedSymbol
|
|
342
|
+
]
|
|
343
|
+
)
|
|
344
|
+
end
|
|
345
|
+
def self.values
|
|
346
|
+
end
|
|
347
|
+
end
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
class ExecuteOptions < Stagehand::Internal::Type::BaseModel
|
|
351
|
+
OrHash =
|
|
352
|
+
T.type_alias do
|
|
353
|
+
T.any(
|
|
354
|
+
Stagehand::SessionExecuteParams::ExecuteOptions,
|
|
355
|
+
Stagehand::Internal::AnyHash
|
|
356
|
+
)
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
# Natural language instruction for the agent
|
|
360
|
+
sig { returns(String) }
|
|
361
|
+
attr_accessor :instruction
|
|
362
|
+
|
|
363
|
+
# Whether to visually highlight the cursor during execution
|
|
364
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
365
|
+
attr_reader :highlight_cursor
|
|
366
|
+
|
|
367
|
+
sig { params(highlight_cursor: T::Boolean).void }
|
|
368
|
+
attr_writer :highlight_cursor
|
|
369
|
+
|
|
370
|
+
# Maximum number of steps the agent can take
|
|
371
|
+
sig { returns(T.nilable(Float)) }
|
|
372
|
+
attr_reader :max_steps
|
|
373
|
+
|
|
374
|
+
sig { params(max_steps: Float).void }
|
|
375
|
+
attr_writer :max_steps
|
|
376
|
+
|
|
377
|
+
sig do
|
|
378
|
+
params(
|
|
379
|
+
instruction: String,
|
|
380
|
+
highlight_cursor: T::Boolean,
|
|
381
|
+
max_steps: Float
|
|
382
|
+
).returns(T.attached_class)
|
|
383
|
+
end
|
|
384
|
+
def self.new(
|
|
385
|
+
# Natural language instruction for the agent
|
|
386
|
+
instruction:,
|
|
387
|
+
# Whether to visually highlight the cursor during execution
|
|
388
|
+
highlight_cursor: nil,
|
|
389
|
+
# Maximum number of steps the agent can take
|
|
390
|
+
max_steps: nil
|
|
391
|
+
)
|
|
392
|
+
end
|
|
393
|
+
|
|
394
|
+
sig do
|
|
395
|
+
override.returns(
|
|
396
|
+
{
|
|
397
|
+
instruction: String,
|
|
398
|
+
highlight_cursor: T::Boolean,
|
|
399
|
+
max_steps: Float
|
|
400
|
+
}
|
|
401
|
+
)
|
|
402
|
+
end
|
|
403
|
+
def to_hash
|
|
404
|
+
end
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
# Whether to stream the response via SSE
|
|
408
|
+
module XStreamResponse
|
|
409
|
+
extend Stagehand::Internal::Type::Enum
|
|
410
|
+
|
|
411
|
+
TaggedSymbol =
|
|
412
|
+
T.type_alias do
|
|
413
|
+
T.all(Symbol, Stagehand::SessionExecuteParams::XStreamResponse)
|
|
414
|
+
end
|
|
415
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
416
|
+
|
|
417
|
+
TRUE =
|
|
418
|
+
T.let(
|
|
419
|
+
:true,
|
|
420
|
+
Stagehand::SessionExecuteParams::XStreamResponse::TaggedSymbol
|
|
421
|
+
)
|
|
422
|
+
FALSE =
|
|
423
|
+
T.let(
|
|
424
|
+
:false,
|
|
425
|
+
Stagehand::SessionExecuteParams::XStreamResponse::TaggedSymbol
|
|
426
|
+
)
|
|
427
|
+
|
|
428
|
+
sig do
|
|
429
|
+
override.returns(
|
|
430
|
+
T::Array[
|
|
431
|
+
Stagehand::SessionExecuteParams::XStreamResponse::TaggedSymbol
|
|
432
|
+
]
|
|
433
|
+
)
|
|
434
|
+
end
|
|
435
|
+
def self.values
|
|
436
|
+
end
|
|
437
|
+
end
|
|
438
|
+
end
|
|
439
|
+
end
|
|
440
|
+
end
|