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,193 @@
|
|
|
1
|
+
module Stagehand
|
|
2
|
+
module Models
|
|
3
|
+
type session_execute_params =
|
|
4
|
+
{
|
|
5
|
+
agent_config: Stagehand::SessionExecuteParams::AgentConfig,
|
|
6
|
+
execute_options: Stagehand::SessionExecuteParams::ExecuteOptions,
|
|
7
|
+
frame_id: String?,
|
|
8
|
+
should_cache: bool,
|
|
9
|
+
x_stream_response: Stagehand::Models::SessionExecuteParams::x_stream_response
|
|
10
|
+
}
|
|
11
|
+
& Stagehand::Internal::Type::request_parameters
|
|
12
|
+
|
|
13
|
+
class SessionExecuteParams < Stagehand::Internal::Type::BaseModel
|
|
14
|
+
extend Stagehand::Internal::Type::RequestParameters::Converter
|
|
15
|
+
include Stagehand::Internal::Type::RequestParameters
|
|
16
|
+
|
|
17
|
+
attr_accessor agent_config: Stagehand::SessionExecuteParams::AgentConfig
|
|
18
|
+
|
|
19
|
+
attr_accessor execute_options: Stagehand::SessionExecuteParams::ExecuteOptions
|
|
20
|
+
|
|
21
|
+
attr_accessor frame_id: String?
|
|
22
|
+
|
|
23
|
+
attr_reader should_cache: bool?
|
|
24
|
+
|
|
25
|
+
def should_cache=: (bool) -> bool
|
|
26
|
+
|
|
27
|
+
attr_reader x_stream_response: Stagehand::Models::SessionExecuteParams::x_stream_response?
|
|
28
|
+
|
|
29
|
+
def x_stream_response=: (
|
|
30
|
+
Stagehand::Models::SessionExecuteParams::x_stream_response
|
|
31
|
+
) -> Stagehand::Models::SessionExecuteParams::x_stream_response
|
|
32
|
+
|
|
33
|
+
def initialize: (
|
|
34
|
+
agent_config: Stagehand::SessionExecuteParams::AgentConfig,
|
|
35
|
+
execute_options: Stagehand::SessionExecuteParams::ExecuteOptions,
|
|
36
|
+
?frame_id: String?,
|
|
37
|
+
?should_cache: bool,
|
|
38
|
+
?x_stream_response: Stagehand::Models::SessionExecuteParams::x_stream_response,
|
|
39
|
+
?request_options: Stagehand::request_opts
|
|
40
|
+
) -> void
|
|
41
|
+
|
|
42
|
+
def to_hash: -> {
|
|
43
|
+
agent_config: Stagehand::SessionExecuteParams::AgentConfig,
|
|
44
|
+
execute_options: Stagehand::SessionExecuteParams::ExecuteOptions,
|
|
45
|
+
frame_id: String?,
|
|
46
|
+
should_cache: bool,
|
|
47
|
+
x_stream_response: Stagehand::Models::SessionExecuteParams::x_stream_response,
|
|
48
|
+
request_options: Stagehand::RequestOptions
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
type agent_config =
|
|
52
|
+
{
|
|
53
|
+
cua: bool,
|
|
54
|
+
execution_model: Stagehand::Models::SessionExecuteParams::AgentConfig::execution_model,
|
|
55
|
+
mode: Stagehand::Models::SessionExecuteParams::AgentConfig::mode,
|
|
56
|
+
model: Stagehand::Models::SessionExecuteParams::AgentConfig::model,
|
|
57
|
+
provider: Stagehand::Models::SessionExecuteParams::AgentConfig::provider,
|
|
58
|
+
system_prompt: String
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
class AgentConfig < Stagehand::Internal::Type::BaseModel
|
|
62
|
+
attr_reader cua: bool?
|
|
63
|
+
|
|
64
|
+
def cua=: (bool) -> bool
|
|
65
|
+
|
|
66
|
+
attr_reader execution_model: Stagehand::Models::SessionExecuteParams::AgentConfig::execution_model?
|
|
67
|
+
|
|
68
|
+
def execution_model=: (
|
|
69
|
+
Stagehand::Models::SessionExecuteParams::AgentConfig::execution_model
|
|
70
|
+
) -> Stagehand::Models::SessionExecuteParams::AgentConfig::execution_model
|
|
71
|
+
|
|
72
|
+
attr_reader mode: Stagehand::Models::SessionExecuteParams::AgentConfig::mode?
|
|
73
|
+
|
|
74
|
+
def mode=: (
|
|
75
|
+
Stagehand::Models::SessionExecuteParams::AgentConfig::mode
|
|
76
|
+
) -> Stagehand::Models::SessionExecuteParams::AgentConfig::mode
|
|
77
|
+
|
|
78
|
+
attr_reader model: Stagehand::Models::SessionExecuteParams::AgentConfig::model?
|
|
79
|
+
|
|
80
|
+
def model=: (
|
|
81
|
+
Stagehand::Models::SessionExecuteParams::AgentConfig::model
|
|
82
|
+
) -> Stagehand::Models::SessionExecuteParams::AgentConfig::model
|
|
83
|
+
|
|
84
|
+
attr_reader provider: Stagehand::Models::SessionExecuteParams::AgentConfig::provider?
|
|
85
|
+
|
|
86
|
+
def provider=: (
|
|
87
|
+
Stagehand::Models::SessionExecuteParams::AgentConfig::provider
|
|
88
|
+
) -> Stagehand::Models::SessionExecuteParams::AgentConfig::provider
|
|
89
|
+
|
|
90
|
+
attr_reader system_prompt: String?
|
|
91
|
+
|
|
92
|
+
def system_prompt=: (String) -> String
|
|
93
|
+
|
|
94
|
+
def initialize: (
|
|
95
|
+
?cua: bool,
|
|
96
|
+
?execution_model: Stagehand::Models::SessionExecuteParams::AgentConfig::execution_model,
|
|
97
|
+
?mode: Stagehand::Models::SessionExecuteParams::AgentConfig::mode,
|
|
98
|
+
?model: Stagehand::Models::SessionExecuteParams::AgentConfig::model,
|
|
99
|
+
?provider: Stagehand::Models::SessionExecuteParams::AgentConfig::provider,
|
|
100
|
+
?system_prompt: String
|
|
101
|
+
) -> void
|
|
102
|
+
|
|
103
|
+
def to_hash: -> {
|
|
104
|
+
cua: bool,
|
|
105
|
+
execution_model: Stagehand::Models::SessionExecuteParams::AgentConfig::execution_model,
|
|
106
|
+
mode: Stagehand::Models::SessionExecuteParams::AgentConfig::mode,
|
|
107
|
+
model: Stagehand::Models::SessionExecuteParams::AgentConfig::model,
|
|
108
|
+
provider: Stagehand::Models::SessionExecuteParams::AgentConfig::provider,
|
|
109
|
+
system_prompt: String
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
type execution_model = Stagehand::ModelConfig | String
|
|
113
|
+
|
|
114
|
+
module ExecutionModel
|
|
115
|
+
extend Stagehand::Internal::Type::Union
|
|
116
|
+
|
|
117
|
+
def self?.variants: -> ::Array[Stagehand::Models::SessionExecuteParams::AgentConfig::execution_model]
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
type mode = :dom | :hybrid | :cua
|
|
121
|
+
|
|
122
|
+
module Mode
|
|
123
|
+
extend Stagehand::Internal::Type::Enum
|
|
124
|
+
|
|
125
|
+
DOM: :dom
|
|
126
|
+
HYBRID: :hybrid
|
|
127
|
+
CUA: :cua
|
|
128
|
+
|
|
129
|
+
def self?.values: -> ::Array[Stagehand::Models::SessionExecuteParams::AgentConfig::mode]
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
type model = Stagehand::ModelConfig | String
|
|
133
|
+
|
|
134
|
+
module Model
|
|
135
|
+
extend Stagehand::Internal::Type::Union
|
|
136
|
+
|
|
137
|
+
def self?.variants: -> ::Array[Stagehand::Models::SessionExecuteParams::AgentConfig::model]
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
type provider = :openai | :anthropic | :google | :microsoft
|
|
141
|
+
|
|
142
|
+
module Provider
|
|
143
|
+
extend Stagehand::Internal::Type::Enum
|
|
144
|
+
|
|
145
|
+
OPENAI: :openai
|
|
146
|
+
ANTHROPIC: :anthropic
|
|
147
|
+
GOOGLE: :google
|
|
148
|
+
MICROSOFT: :microsoft
|
|
149
|
+
|
|
150
|
+
def self?.values: -> ::Array[Stagehand::Models::SessionExecuteParams::AgentConfig::provider]
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
type execute_options =
|
|
155
|
+
{ instruction: String, highlight_cursor: bool, max_steps: Float }
|
|
156
|
+
|
|
157
|
+
class ExecuteOptions < Stagehand::Internal::Type::BaseModel
|
|
158
|
+
attr_accessor instruction: String
|
|
159
|
+
|
|
160
|
+
attr_reader highlight_cursor: bool?
|
|
161
|
+
|
|
162
|
+
def highlight_cursor=: (bool) -> bool
|
|
163
|
+
|
|
164
|
+
attr_reader max_steps: Float?
|
|
165
|
+
|
|
166
|
+
def max_steps=: (Float) -> Float
|
|
167
|
+
|
|
168
|
+
def initialize: (
|
|
169
|
+
instruction: String,
|
|
170
|
+
?highlight_cursor: bool,
|
|
171
|
+
?max_steps: Float
|
|
172
|
+
) -> void
|
|
173
|
+
|
|
174
|
+
def to_hash: -> {
|
|
175
|
+
instruction: String,
|
|
176
|
+
highlight_cursor: bool,
|
|
177
|
+
max_steps: Float
|
|
178
|
+
}
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
type x_stream_response = :true | :false
|
|
182
|
+
|
|
183
|
+
module XStreamResponse
|
|
184
|
+
extend Stagehand::Internal::Type::Enum
|
|
185
|
+
|
|
186
|
+
TRUE: :true
|
|
187
|
+
FALSE: :false
|
|
188
|
+
|
|
189
|
+
def self?.values: -> ::Array[Stagehand::Models::SessionExecuteParams::x_stream_response]
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
end
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
module Stagehand
|
|
2
|
+
module Models
|
|
3
|
+
type session_execute_response =
|
|
4
|
+
{ data: Stagehand::Models::SessionExecuteResponse::Data, success: bool }
|
|
5
|
+
|
|
6
|
+
class SessionExecuteResponse < Stagehand::Internal::Type::BaseModel
|
|
7
|
+
attr_accessor data: Stagehand::Models::SessionExecuteResponse::Data
|
|
8
|
+
|
|
9
|
+
attr_accessor success: bool
|
|
10
|
+
|
|
11
|
+
def initialize: (
|
|
12
|
+
data: Stagehand::Models::SessionExecuteResponse::Data,
|
|
13
|
+
success: bool
|
|
14
|
+
) -> void
|
|
15
|
+
|
|
16
|
+
def to_hash: -> {
|
|
17
|
+
data: Stagehand::Models::SessionExecuteResponse::Data,
|
|
18
|
+
success: bool
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
type data =
|
|
22
|
+
{
|
|
23
|
+
result: Stagehand::Models::SessionExecuteResponse::Data::Result,
|
|
24
|
+
cache_entry: Stagehand::Models::SessionExecuteResponse::Data::CacheEntry
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
class Data < Stagehand::Internal::Type::BaseModel
|
|
28
|
+
attr_accessor result: Stagehand::Models::SessionExecuteResponse::Data::Result
|
|
29
|
+
|
|
30
|
+
attr_reader cache_entry: Stagehand::Models::SessionExecuteResponse::Data::CacheEntry?
|
|
31
|
+
|
|
32
|
+
def cache_entry=: (
|
|
33
|
+
Stagehand::Models::SessionExecuteResponse::Data::CacheEntry
|
|
34
|
+
) -> Stagehand::Models::SessionExecuteResponse::Data::CacheEntry
|
|
35
|
+
|
|
36
|
+
def initialize: (
|
|
37
|
+
result: Stagehand::Models::SessionExecuteResponse::Data::Result,
|
|
38
|
+
?cache_entry: Stagehand::Models::SessionExecuteResponse::Data::CacheEntry
|
|
39
|
+
) -> void
|
|
40
|
+
|
|
41
|
+
def to_hash: -> {
|
|
42
|
+
result: Stagehand::Models::SessionExecuteResponse::Data::Result,
|
|
43
|
+
cache_entry: Stagehand::Models::SessionExecuteResponse::Data::CacheEntry
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
type result =
|
|
47
|
+
{
|
|
48
|
+
actions: ::Array[Stagehand::Models::SessionExecuteResponse::Data::Result::Action],
|
|
49
|
+
completed: bool,
|
|
50
|
+
message: String,
|
|
51
|
+
success: bool,
|
|
52
|
+
metadata: ::Hash[Symbol, top],
|
|
53
|
+
usage: Stagehand::Models::SessionExecuteResponse::Data::Result::Usage
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
class Result < Stagehand::Internal::Type::BaseModel
|
|
57
|
+
attr_accessor actions: ::Array[Stagehand::Models::SessionExecuteResponse::Data::Result::Action]
|
|
58
|
+
|
|
59
|
+
attr_accessor completed: bool
|
|
60
|
+
|
|
61
|
+
attr_accessor message: String
|
|
62
|
+
|
|
63
|
+
attr_accessor success: bool
|
|
64
|
+
|
|
65
|
+
attr_reader metadata: ::Hash[Symbol, top]?
|
|
66
|
+
|
|
67
|
+
def metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
|
|
68
|
+
|
|
69
|
+
attr_reader usage: Stagehand::Models::SessionExecuteResponse::Data::Result::Usage?
|
|
70
|
+
|
|
71
|
+
def usage=: (
|
|
72
|
+
Stagehand::Models::SessionExecuteResponse::Data::Result::Usage
|
|
73
|
+
) -> Stagehand::Models::SessionExecuteResponse::Data::Result::Usage
|
|
74
|
+
|
|
75
|
+
def initialize: (
|
|
76
|
+
actions: ::Array[Stagehand::Models::SessionExecuteResponse::Data::Result::Action],
|
|
77
|
+
completed: bool,
|
|
78
|
+
message: String,
|
|
79
|
+
success: bool,
|
|
80
|
+
?metadata: ::Hash[Symbol, top],
|
|
81
|
+
?usage: Stagehand::Models::SessionExecuteResponse::Data::Result::Usage
|
|
82
|
+
) -> void
|
|
83
|
+
|
|
84
|
+
def to_hash: -> {
|
|
85
|
+
actions: ::Array[Stagehand::Models::SessionExecuteResponse::Data::Result::Action],
|
|
86
|
+
completed: bool,
|
|
87
|
+
message: String,
|
|
88
|
+
success: bool,
|
|
89
|
+
metadata: ::Hash[Symbol, top],
|
|
90
|
+
usage: Stagehand::Models::SessionExecuteResponse::Data::Result::Usage
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
type action =
|
|
94
|
+
{
|
|
95
|
+
type: String,
|
|
96
|
+
action: String,
|
|
97
|
+
instruction: String,
|
|
98
|
+
page_text: String,
|
|
99
|
+
page_url: String,
|
|
100
|
+
reasoning: String,
|
|
101
|
+
task_completed: bool,
|
|
102
|
+
time_ms: Float
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
class Action < Stagehand::Internal::Type::BaseModel
|
|
106
|
+
attr_accessor type: String
|
|
107
|
+
|
|
108
|
+
attr_reader action: String?
|
|
109
|
+
|
|
110
|
+
def action=: (String) -> String
|
|
111
|
+
|
|
112
|
+
attr_reader instruction: String?
|
|
113
|
+
|
|
114
|
+
def instruction=: (String) -> String
|
|
115
|
+
|
|
116
|
+
attr_reader page_text: String?
|
|
117
|
+
|
|
118
|
+
def page_text=: (String) -> String
|
|
119
|
+
|
|
120
|
+
attr_reader page_url: String?
|
|
121
|
+
|
|
122
|
+
def page_url=: (String) -> String
|
|
123
|
+
|
|
124
|
+
attr_reader reasoning: String?
|
|
125
|
+
|
|
126
|
+
def reasoning=: (String) -> String
|
|
127
|
+
|
|
128
|
+
attr_reader task_completed: bool?
|
|
129
|
+
|
|
130
|
+
def task_completed=: (bool) -> bool
|
|
131
|
+
|
|
132
|
+
attr_reader time_ms: Float?
|
|
133
|
+
|
|
134
|
+
def time_ms=: (Float) -> Float
|
|
135
|
+
|
|
136
|
+
def initialize: (
|
|
137
|
+
type: String,
|
|
138
|
+
?action: String,
|
|
139
|
+
?instruction: String,
|
|
140
|
+
?page_text: String,
|
|
141
|
+
?page_url: String,
|
|
142
|
+
?reasoning: String,
|
|
143
|
+
?task_completed: bool,
|
|
144
|
+
?time_ms: Float
|
|
145
|
+
) -> void
|
|
146
|
+
|
|
147
|
+
def to_hash: -> {
|
|
148
|
+
type: String,
|
|
149
|
+
action: String,
|
|
150
|
+
instruction: String,
|
|
151
|
+
page_text: String,
|
|
152
|
+
page_url: String,
|
|
153
|
+
reasoning: String,
|
|
154
|
+
task_completed: bool,
|
|
155
|
+
time_ms: Float
|
|
156
|
+
}
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
type usage =
|
|
160
|
+
{
|
|
161
|
+
inference_time_ms: Float,
|
|
162
|
+
input_tokens: Float,
|
|
163
|
+
output_tokens: Float,
|
|
164
|
+
cached_input_tokens: Float,
|
|
165
|
+
reasoning_tokens: Float
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
class Usage < Stagehand::Internal::Type::BaseModel
|
|
169
|
+
attr_accessor inference_time_ms: Float
|
|
170
|
+
|
|
171
|
+
attr_accessor input_tokens: Float
|
|
172
|
+
|
|
173
|
+
attr_accessor output_tokens: Float
|
|
174
|
+
|
|
175
|
+
attr_reader cached_input_tokens: Float?
|
|
176
|
+
|
|
177
|
+
def cached_input_tokens=: (Float) -> Float
|
|
178
|
+
|
|
179
|
+
attr_reader reasoning_tokens: Float?
|
|
180
|
+
|
|
181
|
+
def reasoning_tokens=: (Float) -> Float
|
|
182
|
+
|
|
183
|
+
def initialize: (
|
|
184
|
+
inference_time_ms: Float,
|
|
185
|
+
input_tokens: Float,
|
|
186
|
+
output_tokens: Float,
|
|
187
|
+
?cached_input_tokens: Float,
|
|
188
|
+
?reasoning_tokens: Float
|
|
189
|
+
) -> void
|
|
190
|
+
|
|
191
|
+
def to_hash: -> {
|
|
192
|
+
inference_time_ms: Float,
|
|
193
|
+
input_tokens: Float,
|
|
194
|
+
output_tokens: Float,
|
|
195
|
+
cached_input_tokens: Float,
|
|
196
|
+
reasoning_tokens: Float
|
|
197
|
+
}
|
|
198
|
+
end
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
type cache_entry = { cache_key: String, entry: top }
|
|
202
|
+
|
|
203
|
+
class CacheEntry < Stagehand::Internal::Type::BaseModel
|
|
204
|
+
attr_accessor cache_key: String
|
|
205
|
+
|
|
206
|
+
attr_accessor entry: top
|
|
207
|
+
|
|
208
|
+
def initialize: (cache_key: String, entry: top) -> void
|
|
209
|
+
|
|
210
|
+
def to_hash: -> { cache_key: String, entry: top }
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
end
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
module Stagehand
|
|
2
|
+
module Models
|
|
3
|
+
type session_extract_params =
|
|
4
|
+
{
|
|
5
|
+
frame_id: String?,
|
|
6
|
+
instruction: String,
|
|
7
|
+
options: Stagehand::SessionExtractParams::Options,
|
|
8
|
+
schema: ::Hash[Symbol, top],
|
|
9
|
+
x_stream_response: Stagehand::Models::SessionExtractParams::x_stream_response
|
|
10
|
+
}
|
|
11
|
+
& Stagehand::Internal::Type::request_parameters
|
|
12
|
+
|
|
13
|
+
class SessionExtractParams < Stagehand::Internal::Type::BaseModel
|
|
14
|
+
extend Stagehand::Internal::Type::RequestParameters::Converter
|
|
15
|
+
include Stagehand::Internal::Type::RequestParameters
|
|
16
|
+
|
|
17
|
+
attr_accessor frame_id: String?
|
|
18
|
+
|
|
19
|
+
attr_reader instruction: String?
|
|
20
|
+
|
|
21
|
+
def instruction=: (String) -> String
|
|
22
|
+
|
|
23
|
+
attr_reader options: Stagehand::SessionExtractParams::Options?
|
|
24
|
+
|
|
25
|
+
def options=: (
|
|
26
|
+
Stagehand::SessionExtractParams::Options
|
|
27
|
+
) -> Stagehand::SessionExtractParams::Options
|
|
28
|
+
|
|
29
|
+
attr_reader schema: ::Hash[Symbol, top]?
|
|
30
|
+
|
|
31
|
+
def schema=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
|
|
32
|
+
|
|
33
|
+
attr_reader x_stream_response: Stagehand::Models::SessionExtractParams::x_stream_response?
|
|
34
|
+
|
|
35
|
+
def x_stream_response=: (
|
|
36
|
+
Stagehand::Models::SessionExtractParams::x_stream_response
|
|
37
|
+
) -> Stagehand::Models::SessionExtractParams::x_stream_response
|
|
38
|
+
|
|
39
|
+
def initialize: (
|
|
40
|
+
?frame_id: String?,
|
|
41
|
+
?instruction: String,
|
|
42
|
+
?options: Stagehand::SessionExtractParams::Options,
|
|
43
|
+
?schema: ::Hash[Symbol, top],
|
|
44
|
+
?x_stream_response: Stagehand::Models::SessionExtractParams::x_stream_response,
|
|
45
|
+
?request_options: Stagehand::request_opts
|
|
46
|
+
) -> void
|
|
47
|
+
|
|
48
|
+
def to_hash: -> {
|
|
49
|
+
frame_id: String?,
|
|
50
|
+
instruction: String,
|
|
51
|
+
options: Stagehand::SessionExtractParams::Options,
|
|
52
|
+
schema: ::Hash[Symbol, top],
|
|
53
|
+
x_stream_response: Stagehand::Models::SessionExtractParams::x_stream_response,
|
|
54
|
+
request_options: Stagehand::RequestOptions
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
type options =
|
|
58
|
+
{
|
|
59
|
+
model: Stagehand::Models::SessionExtractParams::Options::model,
|
|
60
|
+
selector: String,
|
|
61
|
+
timeout: Float
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
class Options < Stagehand::Internal::Type::BaseModel
|
|
65
|
+
attr_reader model: Stagehand::Models::SessionExtractParams::Options::model?
|
|
66
|
+
|
|
67
|
+
def model=: (
|
|
68
|
+
Stagehand::Models::SessionExtractParams::Options::model
|
|
69
|
+
) -> Stagehand::Models::SessionExtractParams::Options::model
|
|
70
|
+
|
|
71
|
+
attr_reader selector: String?
|
|
72
|
+
|
|
73
|
+
def selector=: (String) -> String
|
|
74
|
+
|
|
75
|
+
attr_reader timeout: Float?
|
|
76
|
+
|
|
77
|
+
def timeout=: (Float) -> Float
|
|
78
|
+
|
|
79
|
+
def initialize: (
|
|
80
|
+
?model: Stagehand::Models::SessionExtractParams::Options::model,
|
|
81
|
+
?selector: String,
|
|
82
|
+
?timeout: Float
|
|
83
|
+
) -> void
|
|
84
|
+
|
|
85
|
+
def to_hash: -> {
|
|
86
|
+
model: Stagehand::Models::SessionExtractParams::Options::model,
|
|
87
|
+
selector: String,
|
|
88
|
+
timeout: Float
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
type model = Stagehand::ModelConfig | String
|
|
92
|
+
|
|
93
|
+
module Model
|
|
94
|
+
extend Stagehand::Internal::Type::Union
|
|
95
|
+
|
|
96
|
+
def self?.variants: -> ::Array[Stagehand::Models::SessionExtractParams::Options::model]
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
type x_stream_response = :true | :false
|
|
101
|
+
|
|
102
|
+
module XStreamResponse
|
|
103
|
+
extend Stagehand::Internal::Type::Enum
|
|
104
|
+
|
|
105
|
+
TRUE: :true
|
|
106
|
+
FALSE: :false
|
|
107
|
+
|
|
108
|
+
def self?.values: -> ::Array[Stagehand::Models::SessionExtractParams::x_stream_response]
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Stagehand
|
|
2
|
+
module Models
|
|
3
|
+
type session_extract_response =
|
|
4
|
+
{ data: Stagehand::Models::SessionExtractResponse::Data, success: bool }
|
|
5
|
+
|
|
6
|
+
class SessionExtractResponse < Stagehand::Internal::Type::BaseModel
|
|
7
|
+
attr_accessor data: Stagehand::Models::SessionExtractResponse::Data
|
|
8
|
+
|
|
9
|
+
attr_accessor success: bool
|
|
10
|
+
|
|
11
|
+
def initialize: (
|
|
12
|
+
data: Stagehand::Models::SessionExtractResponse::Data,
|
|
13
|
+
success: bool
|
|
14
|
+
) -> void
|
|
15
|
+
|
|
16
|
+
def to_hash: -> {
|
|
17
|
+
data: Stagehand::Models::SessionExtractResponse::Data,
|
|
18
|
+
success: bool
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
type data = { result: top, action_id: String }
|
|
22
|
+
|
|
23
|
+
class Data < Stagehand::Internal::Type::BaseModel
|
|
24
|
+
attr_accessor result: top
|
|
25
|
+
|
|
26
|
+
attr_reader action_id: String?
|
|
27
|
+
|
|
28
|
+
def action_id=: (String) -> String
|
|
29
|
+
|
|
30
|
+
def initialize: (result: top, ?action_id: String) -> void
|
|
31
|
+
|
|
32
|
+
def to_hash: -> { result: top, action_id: String }
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
module Stagehand
|
|
2
|
+
module Models
|
|
3
|
+
type session_navigate_params =
|
|
4
|
+
{
|
|
5
|
+
url: String,
|
|
6
|
+
frame_id: String?,
|
|
7
|
+
options: Stagehand::SessionNavigateParams::Options,
|
|
8
|
+
stream_response: bool,
|
|
9
|
+
x_stream_response: Stagehand::Models::SessionNavigateParams::x_stream_response
|
|
10
|
+
}
|
|
11
|
+
& Stagehand::Internal::Type::request_parameters
|
|
12
|
+
|
|
13
|
+
class SessionNavigateParams < Stagehand::Internal::Type::BaseModel
|
|
14
|
+
extend Stagehand::Internal::Type::RequestParameters::Converter
|
|
15
|
+
include Stagehand::Internal::Type::RequestParameters
|
|
16
|
+
|
|
17
|
+
attr_accessor url: String
|
|
18
|
+
|
|
19
|
+
attr_accessor frame_id: String?
|
|
20
|
+
|
|
21
|
+
attr_reader options: Stagehand::SessionNavigateParams::Options?
|
|
22
|
+
|
|
23
|
+
def options=: (
|
|
24
|
+
Stagehand::SessionNavigateParams::Options
|
|
25
|
+
) -> Stagehand::SessionNavigateParams::Options
|
|
26
|
+
|
|
27
|
+
attr_reader stream_response: bool?
|
|
28
|
+
|
|
29
|
+
def stream_response=: (bool) -> bool
|
|
30
|
+
|
|
31
|
+
attr_reader x_stream_response: Stagehand::Models::SessionNavigateParams::x_stream_response?
|
|
32
|
+
|
|
33
|
+
def x_stream_response=: (
|
|
34
|
+
Stagehand::Models::SessionNavigateParams::x_stream_response
|
|
35
|
+
) -> Stagehand::Models::SessionNavigateParams::x_stream_response
|
|
36
|
+
|
|
37
|
+
def initialize: (
|
|
38
|
+
url: String,
|
|
39
|
+
?frame_id: String?,
|
|
40
|
+
?options: Stagehand::SessionNavigateParams::Options,
|
|
41
|
+
?stream_response: bool,
|
|
42
|
+
?x_stream_response: Stagehand::Models::SessionNavigateParams::x_stream_response,
|
|
43
|
+
?request_options: Stagehand::request_opts
|
|
44
|
+
) -> void
|
|
45
|
+
|
|
46
|
+
def to_hash: -> {
|
|
47
|
+
url: String,
|
|
48
|
+
frame_id: String?,
|
|
49
|
+
options: Stagehand::SessionNavigateParams::Options,
|
|
50
|
+
stream_response: bool,
|
|
51
|
+
x_stream_response: Stagehand::Models::SessionNavigateParams::x_stream_response,
|
|
52
|
+
request_options: Stagehand::RequestOptions
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
type options =
|
|
56
|
+
{
|
|
57
|
+
referer: String,
|
|
58
|
+
timeout: Float,
|
|
59
|
+
wait_until: Stagehand::Models::SessionNavigateParams::Options::wait_until
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
class Options < Stagehand::Internal::Type::BaseModel
|
|
63
|
+
attr_reader referer: String?
|
|
64
|
+
|
|
65
|
+
def referer=: (String) -> String
|
|
66
|
+
|
|
67
|
+
attr_reader timeout: Float?
|
|
68
|
+
|
|
69
|
+
def timeout=: (Float) -> Float
|
|
70
|
+
|
|
71
|
+
attr_reader wait_until: Stagehand::Models::SessionNavigateParams::Options::wait_until?
|
|
72
|
+
|
|
73
|
+
def wait_until=: (
|
|
74
|
+
Stagehand::Models::SessionNavigateParams::Options::wait_until
|
|
75
|
+
) -> Stagehand::Models::SessionNavigateParams::Options::wait_until
|
|
76
|
+
|
|
77
|
+
def initialize: (
|
|
78
|
+
?referer: String,
|
|
79
|
+
?timeout: Float,
|
|
80
|
+
?wait_until: Stagehand::Models::SessionNavigateParams::Options::wait_until
|
|
81
|
+
) -> void
|
|
82
|
+
|
|
83
|
+
def to_hash: -> {
|
|
84
|
+
referer: String,
|
|
85
|
+
timeout: Float,
|
|
86
|
+
wait_until: Stagehand::Models::SessionNavigateParams::Options::wait_until
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
type wait_until = :load | :domcontentloaded | :networkidle
|
|
90
|
+
|
|
91
|
+
module WaitUntil
|
|
92
|
+
extend Stagehand::Internal::Type::Enum
|
|
93
|
+
|
|
94
|
+
LOAD: :load
|
|
95
|
+
DOMCONTENTLOADED: :domcontentloaded
|
|
96
|
+
NETWORKIDLE: :networkidle
|
|
97
|
+
|
|
98
|
+
def self?.values: -> ::Array[Stagehand::Models::SessionNavigateParams::Options::wait_until]
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
type x_stream_response = :true | :false
|
|
103
|
+
|
|
104
|
+
module XStreamResponse
|
|
105
|
+
extend Stagehand::Internal::Type::Enum
|
|
106
|
+
|
|
107
|
+
TRUE: :true
|
|
108
|
+
FALSE: :false
|
|
109
|
+
|
|
110
|
+
def self?.values: -> ::Array[Stagehand::Models::SessionNavigateParams::x_stream_response]
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Stagehand
|
|
2
|
+
module Models
|
|
3
|
+
type session_navigate_response =
|
|
4
|
+
{ data: Stagehand::Models::SessionNavigateResponse::Data, success: bool }
|
|
5
|
+
|
|
6
|
+
class SessionNavigateResponse < Stagehand::Internal::Type::BaseModel
|
|
7
|
+
attr_accessor data: Stagehand::Models::SessionNavigateResponse::Data
|
|
8
|
+
|
|
9
|
+
attr_accessor success: bool
|
|
10
|
+
|
|
11
|
+
def initialize: (
|
|
12
|
+
data: Stagehand::Models::SessionNavigateResponse::Data,
|
|
13
|
+
success: bool
|
|
14
|
+
) -> void
|
|
15
|
+
|
|
16
|
+
def to_hash: -> {
|
|
17
|
+
data: Stagehand::Models::SessionNavigateResponse::Data,
|
|
18
|
+
success: bool
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
type data = { result: top, action_id: String }
|
|
22
|
+
|
|
23
|
+
class Data < Stagehand::Internal::Type::BaseModel
|
|
24
|
+
attr_accessor result: top
|
|
25
|
+
|
|
26
|
+
attr_reader action_id: String?
|
|
27
|
+
|
|
28
|
+
def action_id=: (String) -> String
|
|
29
|
+
|
|
30
|
+
def initialize: (result: top, ?action_id: String) -> void
|
|
31
|
+
|
|
32
|
+
def to_hash: -> { result: top, action_id: String }
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|