stagehand 0.0.4 → 3.6.0

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.
Files changed (148) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +193 -0
  4. data/README.md +403 -31
  5. data/SECURITY.md +23 -0
  6. data/lib/stagehand/client.rb +123 -4
  7. data/lib/stagehand/errors.rb +228 -0
  8. data/lib/stagehand/file_part.rb +58 -0
  9. data/lib/stagehand/internal/stream.rb +56 -0
  10. data/lib/stagehand/internal/transport/base_client.rb +575 -0
  11. data/lib/stagehand/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/stagehand/internal/type/array_of.rb +168 -0
  13. data/lib/stagehand/internal/type/base_model.rb +531 -0
  14. data/lib/stagehand/internal/type/base_page.rb +55 -0
  15. data/lib/stagehand/internal/type/base_stream.rb +83 -0
  16. data/lib/stagehand/internal/type/boolean.rb +77 -0
  17. data/lib/stagehand/internal/type/converter.rb +327 -0
  18. data/lib/stagehand/internal/type/enum.rb +131 -0
  19. data/lib/stagehand/internal/type/file_input.rb +111 -0
  20. data/lib/stagehand/internal/type/hash_of.rb +188 -0
  21. data/lib/stagehand/internal/type/request_parameters.rb +42 -0
  22. data/lib/stagehand/internal/type/union.rb +237 -0
  23. data/lib/stagehand/internal/type/unknown.rb +81 -0
  24. data/lib/stagehand/internal/util.rb +920 -0
  25. data/lib/stagehand/internal.rb +20 -0
  26. data/lib/stagehand/local.rb +439 -0
  27. data/lib/stagehand/models/action.rb +50 -0
  28. data/lib/stagehand/models/model_config.rb +55 -0
  29. data/lib/stagehand/models/session_act_params.rb +112 -0
  30. data/lib/stagehand/models/session_act_response.rb +127 -0
  31. data/lib/stagehand/models/session_end_params.rb +33 -0
  32. data/lib/stagehand/models/session_end_response.rb +17 -0
  33. data/lib/stagehand/models/session_execute_params.rb +212 -0
  34. data/lib/stagehand/models/session_execute_response.rb +212 -0
  35. data/lib/stagehand/models/session_extract_params.rb +107 -0
  36. data/lib/stagehand/models/session_extract_response.rb +46 -0
  37. data/lib/stagehand/models/session_navigate_params.rb +107 -0
  38. data/lib/stagehand/models/session_navigate_response.rb +44 -0
  39. data/lib/stagehand/models/session_observe_params.rb +99 -0
  40. data/lib/stagehand/models/session_observe_response.rb +91 -0
  41. data/lib/stagehand/models/session_replay_params.rb +33 -0
  42. data/lib/stagehand/models/session_replay_response.rb +142 -0
  43. data/lib/stagehand/models/session_start_params.rb +762 -0
  44. data/lib/stagehand/models/session_start_response.rb +55 -0
  45. data/lib/stagehand/models/stream_event.rb +120 -0
  46. data/lib/stagehand/models.rb +63 -0
  47. data/lib/stagehand/request_options.rb +77 -0
  48. data/lib/stagehand/resources/sessions.rb +488 -0
  49. data/lib/stagehand/version.rb +3 -1
  50. data/lib/stagehand.rb +74 -29
  51. data/manifest.yaml +17 -0
  52. data/rbi/stagehand/client.rbi +89 -0
  53. data/rbi/stagehand/errors.rbi +205 -0
  54. data/rbi/stagehand/file_part.rbi +37 -0
  55. data/rbi/stagehand/internal/stream.rbi +20 -0
  56. data/rbi/stagehand/internal/transport/base_client.rbi +314 -0
  57. data/rbi/stagehand/internal/transport/pooled_net_requester.rbi +83 -0
  58. data/rbi/stagehand/internal/type/array_of.rbi +104 -0
  59. data/rbi/stagehand/internal/type/base_model.rbi +308 -0
  60. data/rbi/stagehand/internal/type/base_page.rbi +42 -0
  61. data/rbi/stagehand/internal/type/base_stream.rbi +75 -0
  62. data/rbi/stagehand/internal/type/boolean.rbi +58 -0
  63. data/rbi/stagehand/internal/type/converter.rbi +216 -0
  64. data/rbi/stagehand/internal/type/enum.rbi +82 -0
  65. data/rbi/stagehand/internal/type/file_input.rbi +59 -0
  66. data/rbi/stagehand/internal/type/hash_of.rbi +104 -0
  67. data/rbi/stagehand/internal/type/request_parameters.rbi +29 -0
  68. data/rbi/stagehand/internal/type/union.rbi +128 -0
  69. data/rbi/stagehand/internal/type/unknown.rbi +58 -0
  70. data/rbi/stagehand/internal/util.rbi +487 -0
  71. data/rbi/stagehand/internal.rbi +18 -0
  72. data/rbi/stagehand/models/action.rbi +77 -0
  73. data/rbi/stagehand/models/model_config.rbi +94 -0
  74. data/rbi/stagehand/models/session_act_params.rbi +204 -0
  75. data/rbi/stagehand/models/session_act_response.rbi +250 -0
  76. data/rbi/stagehand/models/session_end_params.rbi +87 -0
  77. data/rbi/stagehand/models/session_end_response.rbi +30 -0
  78. data/rbi/stagehand/models/session_execute_params.rbi +440 -0
  79. data/rbi/stagehand/models/session_execute_response.rbi +414 -0
  80. data/rbi/stagehand/models/session_extract_params.rbi +209 -0
  81. data/rbi/stagehand/models/session_extract_response.rbi +91 -0
  82. data/rbi/stagehand/models/session_navigate_params.rbi +240 -0
  83. data/rbi/stagehand/models/session_navigate_response.rbi +91 -0
  84. data/rbi/stagehand/models/session_observe_params.rbi +198 -0
  85. data/rbi/stagehand/models/session_observe_response.rbi +184 -0
  86. data/rbi/stagehand/models/session_replay_params.rbi +89 -0
  87. data/rbi/stagehand/models/session_replay_response.rbi +303 -0
  88. data/rbi/stagehand/models/session_start_params.rbi +1703 -0
  89. data/rbi/stagehand/models/session_start_response.rbi +102 -0
  90. data/rbi/stagehand/models/stream_event.rbi +237 -0
  91. data/rbi/stagehand/models.rbi +25 -0
  92. data/rbi/stagehand/request_options.rbi +59 -0
  93. data/rbi/stagehand/resources/sessions.rbi +421 -0
  94. data/rbi/stagehand/version.rbi +5 -0
  95. data/sig/stagehand/client.rbs +41 -0
  96. data/sig/stagehand/errors.rbs +117 -0
  97. data/sig/stagehand/file_part.rbs +21 -0
  98. data/sig/stagehand/internal/stream.rbs +9 -0
  99. data/sig/stagehand/internal/transport/base_client.rbs +133 -0
  100. data/sig/stagehand/internal/transport/pooled_net_requester.rbs +48 -0
  101. data/sig/stagehand/internal/type/array_of.rbs +48 -0
  102. data/sig/stagehand/internal/type/base_model.rbs +102 -0
  103. data/sig/stagehand/internal/type/base_page.rbs +24 -0
  104. data/sig/stagehand/internal/type/base_stream.rbs +38 -0
  105. data/sig/stagehand/internal/type/boolean.rbs +26 -0
  106. data/sig/stagehand/internal/type/converter.rbs +79 -0
  107. data/sig/stagehand/internal/type/enum.rbs +32 -0
  108. data/sig/stagehand/internal/type/file_input.rbs +25 -0
  109. data/sig/stagehand/internal/type/hash_of.rbs +48 -0
  110. data/sig/stagehand/internal/type/request_parameters.rbs +19 -0
  111. data/sig/stagehand/internal/type/union.rbs +52 -0
  112. data/sig/stagehand/internal/type/unknown.rbs +26 -0
  113. data/sig/stagehand/internal/util.rbs +185 -0
  114. data/sig/stagehand/internal.rbs +9 -0
  115. data/sig/stagehand/models/action.rbs +46 -0
  116. data/sig/stagehand/models/model_config.rbs +56 -0
  117. data/sig/stagehand/models/session_act_params.rbs +111 -0
  118. data/sig/stagehand/models/session_act_response.rbs +121 -0
  119. data/sig/stagehand/models/session_end_params.rbs +41 -0
  120. data/sig/stagehand/models/session_end_response.rbs +13 -0
  121. data/sig/stagehand/models/session_execute_params.rbs +193 -0
  122. data/sig/stagehand/models/session_execute_response.rbs +215 -0
  123. data/sig/stagehand/models/session_extract_params.rbs +112 -0
  124. data/sig/stagehand/models/session_extract_response.rbs +36 -0
  125. data/sig/stagehand/models/session_navigate_params.rbs +114 -0
  126. data/sig/stagehand/models/session_navigate_response.rbs +36 -0
  127. data/sig/stagehand/models/session_observe_params.rbs +105 -0
  128. data/sig/stagehand/models/session_observe_response.rbs +89 -0
  129. data/sig/stagehand/models/session_replay_params.rbs +41 -0
  130. data/sig/stagehand/models/session_replay_response.rbs +166 -0
  131. data/sig/stagehand/models/session_start_params.rbs +866 -0
  132. data/sig/stagehand/models/session_start_response.rbs +44 -0
  133. data/sig/stagehand/models/stream_event.rbs +109 -0
  134. data/sig/stagehand/models.rbs +23 -0
  135. data/sig/stagehand/request_options.rbs +34 -0
  136. data/sig/stagehand/resources/sessions.rbs +121 -0
  137. data/sig/stagehand/version.rbs +3 -0
  138. metadata +170 -54
  139. data/.gitignore +0 -16
  140. data/Gemfile +0 -4
  141. data/Rakefile +0 -10
  142. data/lib/stagehand/client/oauth.rb +0 -32
  143. data/lib/stagehand/client/user.rb +0 -10
  144. data/lib/stagehand/rack/middleware.rb +0 -33
  145. data/lib/stagehand/railtie.rb +0 -19
  146. data/spec/spec_helper.rb +0 -7
  147. data/spec/stagehand_spec.rb +0 -44
  148. data/stagehand.gemspec +0 -25
@@ -0,0 +1,26 @@
1
+ module Stagehand
2
+ module Internal
3
+ module Type
4
+ class Unknown
5
+ extend Stagehand::Internal::Type::Converter
6
+ extend Stagehand::Internal::Util::SorbetRuntimeSupport
7
+
8
+ def self.===: (top other) -> bool
9
+
10
+ def self.==: (top other) -> bool
11
+
12
+ def self.coerce: (
13
+ top value,
14
+ state: Stagehand::Internal::Type::Converter::coerce_state
15
+ ) -> top
16
+
17
+ def self.dump: (
18
+ top value,
19
+ state: Stagehand::Internal::Type::Converter::dump_state
20
+ ) -> top
21
+
22
+ def self.to_sorbet_type: -> top
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,185 @@
1
+ module Stagehand
2
+ module Internal
3
+ module Util
4
+ extend Stagehand::Internal::Util::SorbetRuntimeSupport
5
+
6
+ def self?.monotonic_secs: -> Float
7
+
8
+ def self?.walk_namespaces: (
9
+ Module | Class ns
10
+ ) -> Enumerable[(Module | Class)]
11
+
12
+ def self?.arch: -> String
13
+
14
+ def self?.os: -> String
15
+
16
+ def self?.primitive?: (top input) -> bool
17
+
18
+ def self?.coerce_boolean: (String | bool input) -> (bool | top)
19
+
20
+ def self?.coerce_boolean!: (String | bool input) -> bool?
21
+
22
+ def self?.coerce_integer: (String | Integer input) -> (Integer | top)
23
+
24
+ def self?.coerce_float: (String | Integer | Float input) -> (Float | top)
25
+
26
+ def self?.coerce_hash: (top input) -> (::Hash[top, top] | top)
27
+
28
+ def self?.coerce_hash!: (top input) -> ::Hash[top, top]?
29
+
30
+ def self?.deep_merge_lr: (top lhs, top rhs, ?concat: bool) -> top
31
+
32
+ def self?.deep_merge: (
33
+ *::Array[top] values,
34
+ ?sentinel: top?,
35
+ ?concat: bool
36
+ ) -> top
37
+
38
+ def self?.dig: (
39
+ ::Hash[Symbol, top] | ::Array[top] | top data,
40
+ (Symbol
41
+ | Integer
42
+ | ::Array[(Symbol | Integer)]
43
+ | (^(top arg0) -> top))? pick
44
+ ) {
45
+ -> top?
46
+ } -> top?
47
+
48
+ def self?.uri_origin: (URI::Generic uri) -> String
49
+
50
+ def self?.interpolate_path: (String | ::Array[String] path) -> String
51
+
52
+ def self?.decode_query: (String? query) -> ::Hash[String, ::Array[String]]
53
+
54
+ def self?.encode_query: (
55
+ ::Hash[String, (::Array[String] | String)?]? query
56
+ ) -> String?
57
+
58
+ type parsed_uri =
59
+ {
60
+ scheme: String?,
61
+ host: String?,
62
+ port: Integer?,
63
+ path: String?,
64
+ query: ::Hash[String, ::Array[String]]
65
+ }
66
+
67
+ def self?.parse_uri: (
68
+ URI::Generic | String url
69
+ ) -> Stagehand::Internal::Util::parsed_uri
70
+
71
+ def self?.unparse_uri: (
72
+ Stagehand::Internal::Util::parsed_uri parsed
73
+ ) -> URI::Generic
74
+
75
+ def self?.join_parsed_uri: (
76
+ Stagehand::Internal::Util::parsed_uri lhs,
77
+ Stagehand::Internal::Util::parsed_uri rhs
78
+ ) -> URI::Generic
79
+
80
+ def self?.normalized_headers: (
81
+ *::Hash[String, (String
82
+ | Integer
83
+ | ::Array[(String | Integer)?])?] headers
84
+ ) -> ::Hash[String, String]
85
+
86
+ class ReadIOAdapter
87
+ def close?: -> bool?
88
+
89
+ def close: -> void
90
+
91
+ private def read_enum: (Integer? max_len) -> String
92
+
93
+ def read: (?Integer? max_len, ?String? out_string) -> String?
94
+
95
+ def initialize: (
96
+ String | Pathname | StringIO | Enumerable[String] src
97
+ ) {
98
+ (String arg0) -> void
99
+ } -> void
100
+ end
101
+
102
+ def self?.writable_enum: {
103
+ (Enumerator::Yielder y) -> void
104
+ } -> Enumerable[String]
105
+
106
+ JSON_CONTENT: Regexp
107
+ JSONL_CONTENT: Regexp
108
+
109
+ def self?.write_multipart_content: (
110
+ Enumerator::Yielder y,
111
+ val: top,
112
+ closing: ::Array[^-> void],
113
+ ?content_type: String?
114
+ ) -> void
115
+
116
+ def self?.write_multipart_chunk: (
117
+ Enumerator::Yielder y,
118
+ boundary: String,
119
+ key: Symbol | String,
120
+ val: top,
121
+ closing: ::Array[^-> void]
122
+ ) -> void
123
+
124
+ def self?.encode_multipart_streaming: (
125
+ top body
126
+ ) -> [String, Enumerable[String]]
127
+
128
+ def self?.encode_content: (
129
+ ::Hash[String, String] headers,
130
+ top body
131
+ ) -> top
132
+
133
+ def self?.force_charset!: (String content_type, text: String) -> void
134
+
135
+ def self?.decode_content: (
136
+ ::Hash[String, String] headers,
137
+ stream: Enumerable[String],
138
+ ?suppress_error: bool
139
+ ) -> top
140
+
141
+ def self?.fused_enum: (
142
+ Enumerable[top] enum,
143
+ ?external: bool
144
+ ) {
145
+ -> void
146
+ } -> Enumerable[top]
147
+
148
+ def self?.close_fused!: (Enumerable[top]? enum) -> void
149
+
150
+ def self?.chain_fused: (
151
+ Enumerable[top]? enum
152
+ ) {
153
+ (Enumerator::Yielder arg0) -> void
154
+ } -> Enumerable[top]
155
+
156
+ type server_sent_event =
157
+ { event: String?, data: String?, id: String?, retry: Integer? }
158
+
159
+ def self?.decode_lines: (Enumerable[String] enum) -> Enumerable[String]
160
+
161
+ def self?.decode_sse: (
162
+ Enumerable[String] lines
163
+ ) -> Enumerable[Stagehand::Internal::Util::server_sent_event]
164
+
165
+ module SorbetRuntimeSupport
166
+ class MissingSorbetRuntimeError < ::RuntimeError
167
+ end
168
+
169
+ private def sorbet_runtime_constants: -> ::Hash[Symbol, top]
170
+
171
+ def const_missing: (Symbol name) -> void
172
+
173
+ def sorbet_constant_defined?: (Symbol name) -> bool
174
+
175
+ def define_sorbet_constant!: (Symbol name) { -> top } -> void
176
+
177
+ def to_sorbet_type: -> top
178
+
179
+ def self.to_sorbet_type: (
180
+ Stagehand::Internal::Util::SorbetRuntimeSupport | top `type`
181
+ ) -> top
182
+ end
183
+ end
184
+ end
185
+ end
@@ -0,0 +1,9 @@
1
+ module Stagehand
2
+ module Internal
3
+ extend Stagehand::Internal::Util::SorbetRuntimeSupport
4
+
5
+ type file_input = Pathname | StringIO | IO | String | Stagehand::FilePart
6
+
7
+ OMIT: Object
8
+ end
9
+ end
@@ -0,0 +1,46 @@
1
+ module Stagehand
2
+ module Models
3
+ type action =
4
+ {
5
+ description: String,
6
+ selector: String,
7
+ arguments: ::Array[String],
8
+ backend_node_id: Float,
9
+ method_: String
10
+ }
11
+
12
+ class Action < Stagehand::Internal::Type::BaseModel
13
+ attr_accessor description: String
14
+
15
+ attr_accessor selector: String
16
+
17
+ attr_reader arguments: ::Array[String]?
18
+
19
+ def arguments=: (::Array[String]) -> ::Array[String]
20
+
21
+ attr_reader backend_node_id: Float?
22
+
23
+ def backend_node_id=: (Float) -> Float
24
+
25
+ attr_reader method_: String?
26
+
27
+ def method_=: (String) -> String
28
+
29
+ def initialize: (
30
+ description: String,
31
+ selector: String,
32
+ ?arguments: ::Array[String],
33
+ ?backend_node_id: Float,
34
+ ?method_: String
35
+ ) -> void
36
+
37
+ def to_hash: -> {
38
+ description: String,
39
+ selector: String,
40
+ arguments: ::Array[String],
41
+ backend_node_id: Float,
42
+ method_: String
43
+ }
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,56 @@
1
+ module Stagehand
2
+ module Models
3
+ type model_config =
4
+ {
5
+ model_name: String,
6
+ api_key: String,
7
+ base_url: String,
8
+ provider: Stagehand::Models::ModelConfig::provider
9
+ }
10
+
11
+ class ModelConfig < Stagehand::Internal::Type::BaseModel
12
+ attr_accessor model_name: String
13
+
14
+ attr_reader api_key: String?
15
+
16
+ def api_key=: (String) -> String
17
+
18
+ attr_reader base_url: String?
19
+
20
+ def base_url=: (String) -> String
21
+
22
+ attr_reader provider: Stagehand::Models::ModelConfig::provider?
23
+
24
+ def provider=: (
25
+ Stagehand::Models::ModelConfig::provider
26
+ ) -> Stagehand::Models::ModelConfig::provider
27
+
28
+ def initialize: (
29
+ model_name: String,
30
+ ?api_key: String,
31
+ ?base_url: String,
32
+ ?provider: Stagehand::Models::ModelConfig::provider
33
+ ) -> void
34
+
35
+ def to_hash: -> {
36
+ model_name: String,
37
+ api_key: String,
38
+ base_url: String,
39
+ provider: Stagehand::Models::ModelConfig::provider
40
+ }
41
+
42
+ type provider = :openai | :anthropic | :google | :microsoft
43
+
44
+ module Provider
45
+ extend Stagehand::Internal::Type::Enum
46
+
47
+ OPENAI: :openai
48
+ ANTHROPIC: :anthropic
49
+ GOOGLE: :google
50
+ MICROSOFT: :microsoft
51
+
52
+ def self?.values: -> ::Array[Stagehand::Models::ModelConfig::provider]
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,111 @@
1
+ module Stagehand
2
+ module Models
3
+ type session_act_params =
4
+ {
5
+ input: Stagehand::Models::SessionActParams::input,
6
+ frame_id: String?,
7
+ options: Stagehand::SessionActParams::Options,
8
+ x_stream_response: Stagehand::Models::SessionActParams::x_stream_response
9
+ }
10
+ & Stagehand::Internal::Type::request_parameters
11
+
12
+ class SessionActParams < Stagehand::Internal::Type::BaseModel
13
+ extend Stagehand::Internal::Type::RequestParameters::Converter
14
+ include Stagehand::Internal::Type::RequestParameters
15
+
16
+ attr_accessor input: Stagehand::Models::SessionActParams::input
17
+
18
+ attr_accessor frame_id: String?
19
+
20
+ attr_reader options: Stagehand::SessionActParams::Options?
21
+
22
+ def options=: (
23
+ Stagehand::SessionActParams::Options
24
+ ) -> Stagehand::SessionActParams::Options
25
+
26
+ attr_reader x_stream_response: Stagehand::Models::SessionActParams::x_stream_response?
27
+
28
+ def x_stream_response=: (
29
+ Stagehand::Models::SessionActParams::x_stream_response
30
+ ) -> Stagehand::Models::SessionActParams::x_stream_response
31
+
32
+ def initialize: (
33
+ input: Stagehand::Models::SessionActParams::input,
34
+ ?frame_id: String?,
35
+ ?options: Stagehand::SessionActParams::Options,
36
+ ?x_stream_response: Stagehand::Models::SessionActParams::x_stream_response,
37
+ ?request_options: Stagehand::request_opts
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ input: Stagehand::Models::SessionActParams::input,
42
+ frame_id: String?,
43
+ options: Stagehand::SessionActParams::Options,
44
+ x_stream_response: Stagehand::Models::SessionActParams::x_stream_response,
45
+ request_options: Stagehand::RequestOptions
46
+ }
47
+
48
+ type input = String | Stagehand::Action
49
+
50
+ module Input
51
+ extend Stagehand::Internal::Type::Union
52
+
53
+ def self?.variants: -> ::Array[Stagehand::Models::SessionActParams::input]
54
+ end
55
+
56
+ type options =
57
+ {
58
+ model: Stagehand::Models::SessionActParams::Options::model,
59
+ timeout: Float,
60
+ variables: ::Hash[Symbol, String]
61
+ }
62
+
63
+ class Options < Stagehand::Internal::Type::BaseModel
64
+ attr_reader model: Stagehand::Models::SessionActParams::Options::model?
65
+
66
+ def model=: (
67
+ Stagehand::Models::SessionActParams::Options::model
68
+ ) -> Stagehand::Models::SessionActParams::Options::model
69
+
70
+ attr_reader timeout: Float?
71
+
72
+ def timeout=: (Float) -> Float
73
+
74
+ attr_reader variables: ::Hash[Symbol, String]?
75
+
76
+ def variables=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
77
+
78
+ def initialize: (
79
+ ?model: Stagehand::Models::SessionActParams::Options::model,
80
+ ?timeout: Float,
81
+ ?variables: ::Hash[Symbol, String]
82
+ ) -> void
83
+
84
+ def to_hash: -> {
85
+ model: Stagehand::Models::SessionActParams::Options::model,
86
+ timeout: Float,
87
+ variables: ::Hash[Symbol, String]
88
+ }
89
+
90
+ type model = Stagehand::ModelConfig | String
91
+
92
+ module Model
93
+ extend Stagehand::Internal::Type::Union
94
+
95
+ def self?.variants: -> ::Array[Stagehand::Models::SessionActParams::Options::model]
96
+ end
97
+ end
98
+
99
+ type x_stream_response = :true | :false
100
+
101
+ module XStreamResponse
102
+ extend Stagehand::Internal::Type::Enum
103
+
104
+ TRUE: :true
105
+ FALSE: :false
106
+
107
+ def self?.values: -> ::Array[Stagehand::Models::SessionActParams::x_stream_response]
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,121 @@
1
+ module Stagehand
2
+ module Models
3
+ type session_act_response =
4
+ { data: Stagehand::Models::SessionActResponse::Data, success: bool }
5
+
6
+ class SessionActResponse < Stagehand::Internal::Type::BaseModel
7
+ attr_accessor data: Stagehand::Models::SessionActResponse::Data
8
+
9
+ attr_accessor success: bool
10
+
11
+ def initialize: (
12
+ data: Stagehand::Models::SessionActResponse::Data,
13
+ success: bool
14
+ ) -> void
15
+
16
+ def to_hash: -> {
17
+ data: Stagehand::Models::SessionActResponse::Data,
18
+ success: bool
19
+ }
20
+
21
+ type data =
22
+ {
23
+ result: Stagehand::Models::SessionActResponse::Data::Result,
24
+ action_id: String
25
+ }
26
+
27
+ class Data < Stagehand::Internal::Type::BaseModel
28
+ attr_accessor result: Stagehand::Models::SessionActResponse::Data::Result
29
+
30
+ attr_reader action_id: String?
31
+
32
+ def action_id=: (String) -> String
33
+
34
+ def initialize: (
35
+ result: Stagehand::Models::SessionActResponse::Data::Result,
36
+ ?action_id: String
37
+ ) -> void
38
+
39
+ def to_hash: -> {
40
+ result: Stagehand::Models::SessionActResponse::Data::Result,
41
+ action_id: String
42
+ }
43
+
44
+ type result =
45
+ {
46
+ action_description: String,
47
+ actions: ::Array[Stagehand::Models::SessionActResponse::Data::Result::Action],
48
+ message: String,
49
+ success: bool
50
+ }
51
+
52
+ class Result < Stagehand::Internal::Type::BaseModel
53
+ attr_accessor action_description: String
54
+
55
+ attr_accessor actions: ::Array[Stagehand::Models::SessionActResponse::Data::Result::Action]
56
+
57
+ attr_accessor message: String
58
+
59
+ attr_accessor success: bool
60
+
61
+ def initialize: (
62
+ action_description: String,
63
+ actions: ::Array[Stagehand::Models::SessionActResponse::Data::Result::Action],
64
+ message: String,
65
+ success: bool
66
+ ) -> void
67
+
68
+ def to_hash: -> {
69
+ action_description: String,
70
+ actions: ::Array[Stagehand::Models::SessionActResponse::Data::Result::Action],
71
+ message: String,
72
+ success: bool
73
+ }
74
+
75
+ type action =
76
+ {
77
+ description: String,
78
+ selector: String,
79
+ arguments: ::Array[String],
80
+ backend_node_id: Float,
81
+ method_: String
82
+ }
83
+
84
+ class Action < Stagehand::Internal::Type::BaseModel
85
+ attr_accessor description: String
86
+
87
+ attr_accessor selector: String
88
+
89
+ attr_reader arguments: ::Array[String]?
90
+
91
+ def arguments=: (::Array[String]) -> ::Array[String]
92
+
93
+ attr_reader backend_node_id: Float?
94
+
95
+ def backend_node_id=: (Float) -> Float
96
+
97
+ attr_reader method_: String?
98
+
99
+ def method_=: (String) -> String
100
+
101
+ def initialize: (
102
+ description: String,
103
+ selector: String,
104
+ ?arguments: ::Array[String],
105
+ ?backend_node_id: Float,
106
+ ?method_: String
107
+ ) -> void
108
+
109
+ def to_hash: -> {
110
+ description: String,
111
+ selector: String,
112
+ arguments: ::Array[String],
113
+ backend_node_id: Float,
114
+ method_: String
115
+ }
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,41 @@
1
+ module Stagehand
2
+ module Models
3
+ type session_end_params =
4
+ {
5
+ x_stream_response: Stagehand::Models::SessionEndParams::x_stream_response
6
+ }
7
+ & Stagehand::Internal::Type::request_parameters
8
+
9
+ class SessionEndParams < Stagehand::Internal::Type::BaseModel
10
+ extend Stagehand::Internal::Type::RequestParameters::Converter
11
+ include Stagehand::Internal::Type::RequestParameters
12
+
13
+ attr_reader x_stream_response: Stagehand::Models::SessionEndParams::x_stream_response?
14
+
15
+ def x_stream_response=: (
16
+ Stagehand::Models::SessionEndParams::x_stream_response
17
+ ) -> Stagehand::Models::SessionEndParams::x_stream_response
18
+
19
+ def initialize: (
20
+ ?x_stream_response: Stagehand::Models::SessionEndParams::x_stream_response,
21
+ ?request_options: Stagehand::request_opts
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ x_stream_response: Stagehand::Models::SessionEndParams::x_stream_response,
26
+ request_options: Stagehand::RequestOptions
27
+ }
28
+
29
+ type x_stream_response = :true | :false
30
+
31
+ module XStreamResponse
32
+ extend Stagehand::Internal::Type::Enum
33
+
34
+ TRUE: :true
35
+ FALSE: :false
36
+
37
+ def self?.values: -> ::Array[Stagehand::Models::SessionEndParams::x_stream_response]
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,13 @@
1
+ module Stagehand
2
+ module Models
3
+ type session_end_response = { success: bool }
4
+
5
+ class SessionEndResponse < Stagehand::Internal::Type::BaseModel
6
+ attr_accessor success: bool
7
+
8
+ def initialize: (success: bool) -> void
9
+
10
+ def to_hash: -> { success: bool }
11
+ end
12
+ end
13
+ end