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,55 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Stagehand
|
|
4
|
+
module Models
|
|
5
|
+
# @see Stagehand::Resources::Sessions#start
|
|
6
|
+
class SessionStartResponse < Stagehand::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute data
|
|
8
|
+
#
|
|
9
|
+
# @return [Stagehand::Models::SessionStartResponse::Data]
|
|
10
|
+
required :data, -> { Stagehand::Models::SessionStartResponse::Data }
|
|
11
|
+
|
|
12
|
+
# @!attribute success
|
|
13
|
+
# Indicates whether the request was successful
|
|
14
|
+
#
|
|
15
|
+
# @return [Boolean]
|
|
16
|
+
required :success, Stagehand::Internal::Type::Boolean
|
|
17
|
+
|
|
18
|
+
# @!method initialize(data:, success:)
|
|
19
|
+
# @param data [Stagehand::Models::SessionStartResponse::Data]
|
|
20
|
+
#
|
|
21
|
+
# @param success [Boolean] Indicates whether the request was successful
|
|
22
|
+
|
|
23
|
+
# @see Stagehand::Models::SessionStartResponse#data
|
|
24
|
+
class Data < Stagehand::Internal::Type::BaseModel
|
|
25
|
+
# @!attribute available
|
|
26
|
+
#
|
|
27
|
+
# @return [Boolean]
|
|
28
|
+
required :available, Stagehand::Internal::Type::Boolean
|
|
29
|
+
|
|
30
|
+
# @!attribute session_id
|
|
31
|
+
# Unique Browserbase session identifier
|
|
32
|
+
#
|
|
33
|
+
# @return [String]
|
|
34
|
+
required :session_id, String, api_name: :sessionId
|
|
35
|
+
|
|
36
|
+
# @!attribute cdp_url
|
|
37
|
+
# CDP WebSocket URL for connecting to the Browserbase cloud browser (present when
|
|
38
|
+
# available)
|
|
39
|
+
#
|
|
40
|
+
# @return [String, nil]
|
|
41
|
+
optional :cdp_url, String, api_name: :cdpUrl, nil?: true
|
|
42
|
+
|
|
43
|
+
# @!method initialize(available:, session_id:, cdp_url: nil)
|
|
44
|
+
# Some parameter documentations has been truncated, see
|
|
45
|
+
# {Stagehand::Models::SessionStartResponse::Data} for more details.
|
|
46
|
+
#
|
|
47
|
+
# @param available [Boolean]
|
|
48
|
+
#
|
|
49
|
+
# @param session_id [String] Unique Browserbase session identifier
|
|
50
|
+
#
|
|
51
|
+
# @param cdp_url [String, nil] CDP WebSocket URL for connecting to the Browserbase cloud browser (present when
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Stagehand
|
|
4
|
+
module Models
|
|
5
|
+
class StreamEvent < Stagehand::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute id
|
|
7
|
+
# Unique identifier for this event
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :id, String
|
|
11
|
+
|
|
12
|
+
# @!attribute data
|
|
13
|
+
#
|
|
14
|
+
# @return [Stagehand::Models::StreamEvent::Data::StreamEventSystemDataOutput, Stagehand::Models::StreamEvent::Data::StreamEventLogDataOutput]
|
|
15
|
+
required :data, union: -> { Stagehand::StreamEvent::Data }
|
|
16
|
+
|
|
17
|
+
# @!attribute type
|
|
18
|
+
# Type of stream event - system events or log messages
|
|
19
|
+
#
|
|
20
|
+
# @return [Symbol, Stagehand::Models::StreamEvent::Type]
|
|
21
|
+
required :type, enum: -> { Stagehand::StreamEvent::Type }
|
|
22
|
+
|
|
23
|
+
# @!method initialize(id:, data:, type:)
|
|
24
|
+
# Server-Sent Event emitted during streaming responses. Events are sent as
|
|
25
|
+
# `data: <JSON>\n\n`. Key order: data (with status first), type, id.
|
|
26
|
+
#
|
|
27
|
+
# @param id [String] Unique identifier for this event
|
|
28
|
+
#
|
|
29
|
+
# @param data [Stagehand::Models::StreamEvent::Data::StreamEventSystemDataOutput, Stagehand::Models::StreamEvent::Data::StreamEventLogDataOutput]
|
|
30
|
+
#
|
|
31
|
+
# @param type [Symbol, Stagehand::Models::StreamEvent::Type] Type of stream event - system events or log messages
|
|
32
|
+
|
|
33
|
+
# @see Stagehand::Models::StreamEvent#data
|
|
34
|
+
module Data
|
|
35
|
+
extend Stagehand::Internal::Type::Union
|
|
36
|
+
|
|
37
|
+
variant -> { Stagehand::StreamEvent::Data::StreamEventSystemDataOutput }
|
|
38
|
+
|
|
39
|
+
variant -> { Stagehand::StreamEvent::Data::StreamEventLogDataOutput }
|
|
40
|
+
|
|
41
|
+
class StreamEventSystemDataOutput < Stagehand::Internal::Type::BaseModel
|
|
42
|
+
# @!attribute status
|
|
43
|
+
# Current status of the streaming operation
|
|
44
|
+
#
|
|
45
|
+
# @return [Symbol, Stagehand::Models::StreamEvent::Data::StreamEventSystemDataOutput::Status]
|
|
46
|
+
required :status, enum: -> { Stagehand::StreamEvent::Data::StreamEventSystemDataOutput::Status }
|
|
47
|
+
|
|
48
|
+
# @!attribute error
|
|
49
|
+
# Error message (present when status is 'error')
|
|
50
|
+
#
|
|
51
|
+
# @return [String, nil]
|
|
52
|
+
optional :error, String
|
|
53
|
+
|
|
54
|
+
# @!attribute result
|
|
55
|
+
# Operation result (present when status is 'finished')
|
|
56
|
+
#
|
|
57
|
+
# @return [Object, nil]
|
|
58
|
+
optional :result, Stagehand::Internal::Type::Unknown
|
|
59
|
+
|
|
60
|
+
# @!method initialize(status:, error: nil, result: nil)
|
|
61
|
+
# @param status [Symbol, Stagehand::Models::StreamEvent::Data::StreamEventSystemDataOutput::Status] Current status of the streaming operation
|
|
62
|
+
#
|
|
63
|
+
# @param error [String] Error message (present when status is 'error')
|
|
64
|
+
#
|
|
65
|
+
# @param result [Object] Operation result (present when status is 'finished')
|
|
66
|
+
|
|
67
|
+
# Current status of the streaming operation
|
|
68
|
+
#
|
|
69
|
+
# @see Stagehand::Models::StreamEvent::Data::StreamEventSystemDataOutput#status
|
|
70
|
+
module Status
|
|
71
|
+
extend Stagehand::Internal::Type::Enum
|
|
72
|
+
|
|
73
|
+
STARTING = :starting
|
|
74
|
+
CONNECTED = :connected
|
|
75
|
+
RUNNING = :running
|
|
76
|
+
FINISHED = :finished
|
|
77
|
+
ERROR = :error
|
|
78
|
+
|
|
79
|
+
# @!method self.values
|
|
80
|
+
# @return [Array<Symbol>]
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
class StreamEventLogDataOutput < Stagehand::Internal::Type::BaseModel
|
|
85
|
+
# @!attribute message
|
|
86
|
+
# Log message from the operation
|
|
87
|
+
#
|
|
88
|
+
# @return [String]
|
|
89
|
+
required :message, String
|
|
90
|
+
|
|
91
|
+
# @!attribute status
|
|
92
|
+
#
|
|
93
|
+
# @return [Symbol, :running]
|
|
94
|
+
required :status, const: :running
|
|
95
|
+
|
|
96
|
+
# @!method initialize(message:, status: :running)
|
|
97
|
+
# @param message [String] Log message from the operation
|
|
98
|
+
#
|
|
99
|
+
# @param status [Symbol, :running]
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# @!method self.variants
|
|
103
|
+
# @return [Array(Stagehand::Models::StreamEvent::Data::StreamEventSystemDataOutput, Stagehand::Models::StreamEvent::Data::StreamEventLogDataOutput)]
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# Type of stream event - system events or log messages
|
|
107
|
+
#
|
|
108
|
+
# @see Stagehand::Models::StreamEvent#type
|
|
109
|
+
module Type
|
|
110
|
+
extend Stagehand::Internal::Type::Enum
|
|
111
|
+
|
|
112
|
+
SYSTEM = :system
|
|
113
|
+
LOG = :log
|
|
114
|
+
|
|
115
|
+
# @!method self.values
|
|
116
|
+
# @return [Array<Symbol>]
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Stagehand
|
|
4
|
+
[Stagehand::Internal::Type::BaseModel, *Stagehand::Internal::Type::BaseModel.subclasses].each do |cls|
|
|
5
|
+
cls.define_sorbet_constant!(:OrHash) { T.type_alias { T.any(cls, Stagehand::Internal::AnyHash) } }
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
Stagehand::Internal::Util.walk_namespaces(Stagehand::Models).each do |mod|
|
|
9
|
+
case mod
|
|
10
|
+
in Stagehand::Internal::Type::Enum | Stagehand::Internal::Type::Union
|
|
11
|
+
mod.constants.each do |name|
|
|
12
|
+
case mod.const_get(name)
|
|
13
|
+
in true | false
|
|
14
|
+
mod.define_sorbet_constant!(:TaggedBoolean) { T.type_alias { T::Boolean } }
|
|
15
|
+
mod.define_sorbet_constant!(:OrBoolean) { T.type_alias { T::Boolean } }
|
|
16
|
+
in Integer
|
|
17
|
+
mod.define_sorbet_constant!(:TaggedInteger) { T.type_alias { Integer } }
|
|
18
|
+
mod.define_sorbet_constant!(:OrInteger) { T.type_alias { Integer } }
|
|
19
|
+
in Float
|
|
20
|
+
mod.define_sorbet_constant!(:TaggedFloat) { T.type_alias { Float } }
|
|
21
|
+
mod.define_sorbet_constant!(:OrFloat) { T.type_alias { Float } }
|
|
22
|
+
in Symbol
|
|
23
|
+
mod.define_sorbet_constant!(:TaggedSymbol) { T.type_alias { Symbol } }
|
|
24
|
+
mod.define_sorbet_constant!(:OrSymbol) { T.type_alias { T.any(Symbol, String) } }
|
|
25
|
+
else
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
else
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
Stagehand::Internal::Util.walk_namespaces(Stagehand::Models)
|
|
33
|
+
.lazy
|
|
34
|
+
.grep(Stagehand::Internal::Type::Union)
|
|
35
|
+
.each do |mod|
|
|
36
|
+
const = :Variants
|
|
37
|
+
next if mod.sorbet_constant_defined?(const)
|
|
38
|
+
|
|
39
|
+
mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
Action = Stagehand::Models::Action
|
|
43
|
+
|
|
44
|
+
ModelConfig = Stagehand::Models::ModelConfig
|
|
45
|
+
|
|
46
|
+
SessionActParams = Stagehand::Models::SessionActParams
|
|
47
|
+
|
|
48
|
+
SessionEndParams = Stagehand::Models::SessionEndParams
|
|
49
|
+
|
|
50
|
+
SessionExecuteParams = Stagehand::Models::SessionExecuteParams
|
|
51
|
+
|
|
52
|
+
SessionExtractParams = Stagehand::Models::SessionExtractParams
|
|
53
|
+
|
|
54
|
+
SessionNavigateParams = Stagehand::Models::SessionNavigateParams
|
|
55
|
+
|
|
56
|
+
SessionObserveParams = Stagehand::Models::SessionObserveParams
|
|
57
|
+
|
|
58
|
+
SessionReplayParams = Stagehand::Models::SessionReplayParams
|
|
59
|
+
|
|
60
|
+
SessionStartParams = Stagehand::Models::SessionStartParams
|
|
61
|
+
|
|
62
|
+
StreamEvent = Stagehand::Models::StreamEvent
|
|
63
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Stagehand
|
|
4
|
+
# Specify HTTP behaviour to use for a specific request. These options supplement
|
|
5
|
+
# or override those provided at the client level.
|
|
6
|
+
#
|
|
7
|
+
# When making a request, you can pass an actual {RequestOptions} instance, or
|
|
8
|
+
# simply pass a Hash with symbol keys matching the attributes on this class.
|
|
9
|
+
class RequestOptions < Stagehand::Internal::Type::BaseModel
|
|
10
|
+
# @api private
|
|
11
|
+
#
|
|
12
|
+
# @param opts [Stagehand::RequestOptions, Hash{Symbol=>Object}]
|
|
13
|
+
#
|
|
14
|
+
# @raise [ArgumentError]
|
|
15
|
+
def self.validate!(opts)
|
|
16
|
+
case opts
|
|
17
|
+
in Stagehand::RequestOptions | Hash
|
|
18
|
+
opts.to_h.each_key do |k|
|
|
19
|
+
unless fields.include?(k)
|
|
20
|
+
raise ArgumentError.new("Request `opts` keys must be one of #{fields.keys}, got #{k.inspect}")
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
else
|
|
24
|
+
raise ArgumentError.new("Request `opts` must be a Hash or RequestOptions, got #{opts.inspect}")
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# @!attribute idempotency_key
|
|
29
|
+
# Idempotency key to send with request and all associated retries. Will only be
|
|
30
|
+
# sent for write requests.
|
|
31
|
+
#
|
|
32
|
+
# @return [String, nil]
|
|
33
|
+
optional :idempotency_key, String
|
|
34
|
+
|
|
35
|
+
# @!attribute extra_query
|
|
36
|
+
# Extra query params to send with the request. These are `.merge`’d into any
|
|
37
|
+
# `query` given at the client level.
|
|
38
|
+
#
|
|
39
|
+
# @return [Hash{String=>Array<String>, String, nil}, nil]
|
|
40
|
+
optional :extra_query, Stagehand::Internal::Type::HashOf[Stagehand::Internal::Type::ArrayOf[String]]
|
|
41
|
+
|
|
42
|
+
# @!attribute extra_headers
|
|
43
|
+
# Extra headers to send with the request. These are `.merged`’d into any
|
|
44
|
+
# `extra_headers` given at the client level.
|
|
45
|
+
#
|
|
46
|
+
# @return [Hash{String=>String, nil}, nil]
|
|
47
|
+
optional :extra_headers, Stagehand::Internal::Type::HashOf[String, nil?: true]
|
|
48
|
+
|
|
49
|
+
# @!attribute extra_body
|
|
50
|
+
# Extra data to send with the request. These are deep merged into any data
|
|
51
|
+
# generated as part of the normal request.
|
|
52
|
+
#
|
|
53
|
+
# @return [Object, nil]
|
|
54
|
+
optional :extra_body, Stagehand::Internal::Type::HashOf[Stagehand::Internal::Type::Unknown]
|
|
55
|
+
|
|
56
|
+
# @!attribute max_retries
|
|
57
|
+
# Maximum number of retries to attempt after a failed initial request.
|
|
58
|
+
#
|
|
59
|
+
# @return [Integer, nil]
|
|
60
|
+
optional :max_retries, Integer
|
|
61
|
+
|
|
62
|
+
# @!attribute timeout
|
|
63
|
+
# Request timeout in seconds.
|
|
64
|
+
#
|
|
65
|
+
# @return [Float, nil]
|
|
66
|
+
optional :timeout, Float
|
|
67
|
+
|
|
68
|
+
# @!method initialize(values = {})
|
|
69
|
+
# Returns a new instance of RequestOptions.
|
|
70
|
+
#
|
|
71
|
+
# @param values [Hash{Symbol=>Object}]
|
|
72
|
+
|
|
73
|
+
define_sorbet_constant!(:OrHash) do
|
|
74
|
+
T.type_alias { T.any(Stagehand::RequestOptions, Stagehand::Internal::AnyHash) }
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|