context.dev 2.3.0 → 2.5.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 (133) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +9 -9
  4. data/lib/context_dev/models/ai_extract_product_params.rb +9 -1
  5. data/lib/context_dev/models/ai_extract_products_params.rb +18 -2
  6. data/lib/context_dev/models/brand_retrieve_params.rb +109 -22
  7. data/lib/context_dev/models/brand_retrieve_response.rb +4 -6
  8. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +32 -3
  9. data/lib/context_dev/models/industry_retrieve_naics_params.rb +11 -1
  10. data/lib/context_dev/models/industry_retrieve_sic_params.rb +11 -1
  11. data/lib/context_dev/models/monitor_create_params.rb +6 -5
  12. data/lib/context_dev/models/monitor_create_response.rb +6 -5
  13. data/lib/context_dev/models/monitor_get_credit_usage_params.rb +30 -0
  14. data/lib/context_dev/models/monitor_get_credit_usage_response.rb +59 -0
  15. data/lib/context_dev/models/monitor_get_limits_params.rb +14 -0
  16. data/lib/context_dev/models/monitor_get_limits_response.rb +52 -0
  17. data/lib/context_dev/models/monitor_list_account_changes_params.rb +16 -7
  18. data/lib/context_dev/models/monitor_list_account_changes_response.rb +2 -1
  19. data/lib/context_dev/models/monitor_list_account_runs_params.rb +7 -10
  20. data/lib/context_dev/models/monitor_list_changes_params.rb +8 -4
  21. data/lib/context_dev/models/monitor_list_changes_response.rb +2 -1
  22. data/lib/context_dev/models/monitor_list_params.rb +18 -19
  23. data/lib/context_dev/models/monitor_list_response.rb +6 -5
  24. data/lib/context_dev/models/monitor_list_runs_params.rb +7 -10
  25. data/lib/context_dev/models/monitor_retrieve_change_response.rb +2 -1
  26. data/lib/context_dev/models/monitor_retrieve_response.rb +6 -5
  27. data/lib/context_dev/models/monitor_update_params.rb +6 -5
  28. data/lib/context_dev/models/monitor_update_response.rb +6 -5
  29. data/lib/context_dev/models/parse_handle_params.rb +296 -46
  30. data/lib/context_dev/models/utility_prefetch_params.rb +9 -1
  31. data/lib/context_dev/models/web_extract_competitors_params.rb +11 -1
  32. data/lib/context_dev/models/web_extract_fonts_params.rb +14 -4
  33. data/lib/context_dev/models/web_extract_params.rb +19 -1
  34. data/lib/context_dev/models/web_extract_styleguide_params.rb +14 -4
  35. data/lib/context_dev/models/web_screenshot_params.rb +69 -18
  36. data/lib/context_dev/models/web_screenshot_response.rb +3 -2
  37. data/lib/context_dev/models/web_search_params.rb +9 -1
  38. data/lib/context_dev/models/web_web_crawl_md_params.rb +34 -1
  39. data/lib/context_dev/models/web_web_scrape_html_params.rb +268 -29
  40. data/lib/context_dev/models/web_web_scrape_images_params.rb +208 -19
  41. data/lib/context_dev/models/web_web_scrape_md_params.rb +352 -38
  42. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +45 -1
  43. data/lib/context_dev/models.rb +4 -0
  44. data/lib/context_dev/resources/ai.rb +3 -1
  45. data/lib/context_dev/resources/brand.rb +6 -2
  46. data/lib/context_dev/resources/industry.rb +6 -2
  47. data/lib/context_dev/resources/monitors.rb +70 -32
  48. data/lib/context_dev/resources/parse.rb +11 -11
  49. data/lib/context_dev/resources/utility.rb +3 -1
  50. data/lib/context_dev/resources/web.rb +104 -55
  51. data/lib/context_dev/version.rb +1 -1
  52. data/lib/context_dev.rb +4 -0
  53. data/rbi/context_dev/models/ai_extract_product_params.rbi +11 -0
  54. data/rbi/context_dev/models/ai_extract_products_params.rbi +22 -0
  55. data/rbi/context_dev/models/brand_retrieve_params.rbi +175 -64
  56. data/rbi/context_dev/models/brand_retrieve_response.rbi +8 -11
  57. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +68 -5
  58. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +15 -0
  59. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +15 -0
  60. data/rbi/context_dev/models/monitor_create_params.rbi +6 -4
  61. data/rbi/context_dev/models/monitor_create_response.rbi +6 -4
  62. data/rbi/context_dev/models/monitor_get_credit_usage_params.rbi +60 -0
  63. data/rbi/context_dev/models/monitor_get_credit_usage_response.rbi +111 -0
  64. data/rbi/context_dev/models/monitor_get_limits_params.rbi +30 -0
  65. data/rbi/context_dev/models/monitor_get_limits_response.rbi +105 -0
  66. data/rbi/context_dev/models/monitor_list_account_changes_params.rbi +16 -0
  67. data/rbi/context_dev/models/monitor_list_account_changes_response.rbi +2 -0
  68. data/rbi/context_dev/models/monitor_list_account_runs_params.rbi +7 -6
  69. data/rbi/context_dev/models/monitor_list_changes_params.rbi +8 -0
  70. data/rbi/context_dev/models/monitor_list_changes_response.rbi +2 -0
  71. data/rbi/context_dev/models/monitor_list_params.rbi +23 -31
  72. data/rbi/context_dev/models/monitor_list_response.rbi +6 -4
  73. data/rbi/context_dev/models/monitor_list_runs_params.rbi +7 -6
  74. data/rbi/context_dev/models/monitor_retrieve_change_response.rbi +2 -0
  75. data/rbi/context_dev/models/monitor_retrieve_response.rbi +6 -4
  76. data/rbi/context_dev/models/monitor_update_params.rbi +6 -4
  77. data/rbi/context_dev/models/monitor_update_response.rbi +6 -4
  78. data/rbi/context_dev/models/parse_handle_params.rbi +601 -71
  79. data/rbi/context_dev/models/utility_prefetch_params.rbi +11 -0
  80. data/rbi/context_dev/models/web_extract_competitors_params.rbi +15 -0
  81. data/rbi/context_dev/models/web_extract_fonts_params.rbi +19 -7
  82. data/rbi/context_dev/models/web_extract_params.rbi +26 -0
  83. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +19 -7
  84. data/rbi/context_dev/models/web_screenshot_params.rbi +108 -37
  85. data/rbi/context_dev/models/web_screenshot_response.rbi +4 -2
  86. data/rbi/context_dev/models/web_search_params.rbi +11 -0
  87. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +53 -0
  88. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +554 -49
  89. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +426 -30
  90. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +742 -61
  91. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +82 -0
  92. data/rbi/context_dev/models.rbi +4 -0
  93. data/rbi/context_dev/resources/ai.rbi +3 -0
  94. data/rbi/context_dev/resources/brand.rbi +9 -1
  95. data/rbi/context_dev/resources/industry.rbi +10 -0
  96. data/rbi/context_dev/resources/monitors.rbi +55 -11
  97. data/rbi/context_dev/resources/parse.rbi +44 -24
  98. data/rbi/context_dev/resources/utility.rbi +3 -0
  99. data/rbi/context_dev/resources/web.rbi +224 -48
  100. data/sig/context_dev/models/ai_extract_product_params.rbs +12 -1
  101. data/sig/context_dev/models/ai_extract_products_params.rbs +14 -0
  102. data/sig/context_dev/models/brand_retrieve_params.rbs +97 -51
  103. data/sig/context_dev/models/brand_retrieve_response.rbs +2 -2
  104. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +34 -5
  105. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +7 -0
  106. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +7 -0
  107. data/sig/context_dev/models/monitor_get_credit_usage_params.rbs +32 -0
  108. data/sig/context_dev/models/monitor_get_credit_usage_response.rbs +52 -0
  109. data/sig/context_dev/models/monitor_get_limits_params.rbs +15 -0
  110. data/sig/context_dev/models/monitor_get_limits_response.rbs +43 -0
  111. data/sig/context_dev/models/monitor_list_params.rbs +8 -14
  112. data/sig/context_dev/models/parse_handle_params.rbs +297 -50
  113. data/sig/context_dev/models/utility_prefetch_params.rbs +7 -0
  114. data/sig/context_dev/models/web_extract_competitors_params.rbs +12 -1
  115. data/sig/context_dev/models/web_extract_fonts_params.rbs +10 -5
  116. data/sig/context_dev/models/web_extract_params.rbs +14 -0
  117. data/sig/context_dev/models/web_extract_styleguide_params.rbs +10 -5
  118. data/sig/context_dev/models/web_screenshot_params.rbs +41 -20
  119. data/sig/context_dev/models/web_search_params.rbs +7 -0
  120. data/sig/context_dev/models/web_web_crawl_md_params.rbs +28 -1
  121. data/sig/context_dev/models/web_web_scrape_html_params.rbs +175 -47
  122. data/sig/context_dev/models/web_web_scrape_images_params.rbs +128 -38
  123. data/sig/context_dev/models/web_web_scrape_md_params.rbs +229 -62
  124. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +35 -1
  125. data/sig/context_dev/models.rbs +4 -0
  126. data/sig/context_dev/resources/ai.rbs +1 -0
  127. data/sig/context_dev/resources/brand.rbs +3 -1
  128. data/sig/context_dev/resources/industry.rbs +2 -0
  129. data/sig/context_dev/resources/monitors.rbs +12 -2
  130. data/sig/context_dev/resources/parse.rbs +10 -10
  131. data/sig/context_dev/resources/utility.rbs +1 -0
  132. data/sig/context_dev/resources/web.rbs +47 -26
  133. metadata +14 -2
@@ -14,126 +14,232 @@ module ContextDev
14
14
  sig { returns(ContextDev::Internal::FileInput) }
15
15
  attr_accessor :body
16
16
 
17
- # Optional HTTP(S) source document URL used to resolve relative links and image
18
- # references. Relative references remain relative when omitted.
17
+ # Optional client identifier used for usage attribution.
19
18
  sig { returns(T.nilable(String)) }
20
- attr_reader :base_url
19
+ attr_reader :client
21
20
 
22
- sig { params(base_url: String).void }
23
- attr_writer :base_url
21
+ sig { params(client: String).void }
22
+ attr_writer :client
24
23
 
25
24
  # Optional file extension hint, such as pdf, docx, xlsx, pptx, html, json, csv,
26
25
  # md, py, rtf, jpg, png, or txt.
27
- sig { returns(T.nilable(String)) }
26
+ sig do
27
+ returns(T.nilable(ContextDev::ParseHandleParams::Extension::OrSymbol))
28
+ end
28
29
  attr_reader :extension
29
30
 
30
- sig { params(extension: String).void }
31
+ sig do
32
+ params(
33
+ extension: ContextDev::ParseHandleParams::Extension::OrSymbol
34
+ ).void
35
+ end
31
36
  attr_writer :extension
32
37
 
33
- # Optional filename hint used to infer the extension when extension is omitted.
34
- sig { returns(T.nilable(String)) }
35
- attr_reader :filename
36
-
37
- sig { params(filename: String).void }
38
- attr_writer :filename
39
-
40
38
  # Include image references in Markdown output
41
- sig { returns(T.nilable(T::Boolean)) }
39
+ sig do
40
+ returns(
41
+ T.nilable(
42
+ T.any(
43
+ T::Boolean,
44
+ ContextDev::ParseHandleParams::IncludeImages::OrSymbol
45
+ )
46
+ )
47
+ )
48
+ end
42
49
  attr_reader :include_images
43
50
 
44
- sig { params(include_images: T::Boolean).void }
51
+ sig do
52
+ params(
53
+ include_images:
54
+ T.any(
55
+ T::Boolean,
56
+ ContextDev::ParseHandleParams::IncludeImages::OrSymbol
57
+ )
58
+ ).void
59
+ end
45
60
  attr_writer :include_images
46
61
 
47
62
  # Preserve hyperlinks in Markdown output
48
- sig { returns(T.nilable(T::Boolean)) }
63
+ sig do
64
+ returns(
65
+ T.nilable(
66
+ T.any(
67
+ T::Boolean,
68
+ ContextDev::ParseHandleParams::IncludeLinks::OrSymbol
69
+ )
70
+ )
71
+ )
72
+ end
49
73
  attr_reader :include_links
50
74
 
51
- sig { params(include_links: T::Boolean).void }
75
+ sig do
76
+ params(
77
+ include_links:
78
+ T.any(
79
+ T::Boolean,
80
+ ContextDev::ParseHandleParams::IncludeLinks::OrSymbol
81
+ )
82
+ ).void
83
+ end
52
84
  attr_writer :include_links
53
85
 
54
86
  # When true for PDF inputs, detect and OCR images embedded in the selected pages,
55
87
  # inserting recognized text at each image's position in page reading order while
56
- # preserving the PDF text layer. pdfStart/pdfEnd limit the inclusive page range.
57
- # This is separate from automatic scanned-PDF OCR fallback.
58
- sig { returns(T.nilable(T::Boolean)) }
88
+ # preserving the PDF text layer. pdf.start/pdf.end limit the inclusive page range.
89
+ # When false, all OCR is disabled, including the automatic scanned-PDF fallback.
90
+ sig do
91
+ returns(
92
+ T.nilable(
93
+ T.any(T::Boolean, ContextDev::ParseHandleParams::Ocr::OrSymbol)
94
+ )
95
+ )
96
+ end
59
97
  attr_reader :ocr
60
98
 
61
- sig { params(ocr: T::Boolean).void }
99
+ sig do
100
+ params(
101
+ ocr: T.any(T::Boolean, ContextDev::ParseHandleParams::Ocr::OrSymbol)
102
+ ).void
103
+ end
62
104
  attr_writer :ocr
63
105
 
64
- # Last 1-based PDF page to parse. When omitted, parsing ends at the last page.
65
- # Must be greater than or equal to pdfStart when both are provided.
66
- sig { returns(T.nilable(Integer)) }
67
- attr_reader :pdf_end
68
-
69
- sig { params(pdf_end: Integer).void }
70
- attr_writer :pdf_end
106
+ # PDF page-range options as a JSON object, e.g. {"start": 2, "end": 5}.
107
+ sig { returns(T.nilable(ContextDev::ParseHandleParams::Pdf)) }
108
+ attr_reader :pdf
71
109
 
72
- # First 1-based PDF page to parse. When omitted, parsing starts at the first page.
73
- sig { returns(T.nilable(Integer)) }
74
- attr_reader :pdf_start
75
-
76
- sig { params(pdf_start: Integer).void }
77
- attr_writer :pdf_start
110
+ sig { params(pdf: ContextDev::ParseHandleParams::Pdf::OrHash).void }
111
+ attr_writer :pdf
78
112
 
79
113
  # Shorten base64-encoded image data in the Markdown output
80
- sig { returns(T.nilable(T::Boolean)) }
114
+ sig do
115
+ returns(
116
+ T.nilable(
117
+ T.any(
118
+ T::Boolean,
119
+ ContextDev::ParseHandleParams::ShortenBase64Images::OrSymbol
120
+ )
121
+ )
122
+ )
123
+ end
81
124
  attr_reader :shorten_base64_images
82
125
 
83
- sig { params(shorten_base64_images: T::Boolean).void }
126
+ sig do
127
+ params(
128
+ shorten_base64_images:
129
+ T.any(
130
+ T::Boolean,
131
+ ContextDev::ParseHandleParams::ShortenBase64Images::OrSymbol
132
+ )
133
+ ).void
134
+ end
84
135
  attr_writer :shorten_base64_images
85
136
 
137
+ # Optional comma-separated caller-defined tags for tracking this request. Tags are
138
+ # recorded on the request's usage log and can be used to filter usage on the
139
+ # dashboard usage page. Up to 20 tags, each 1-50 characters.
140
+ sig { returns(T.nilable(T::Array[String])) }
141
+ attr_reader :tags
142
+
143
+ sig { params(tags: T::Array[String]).void }
144
+ attr_writer :tags
145
+
86
146
  # Extract only the main content from HTML-like inputs
87
- sig { returns(T.nilable(T::Boolean)) }
147
+ sig do
148
+ returns(
149
+ T.nilable(
150
+ T.any(
151
+ T::Boolean,
152
+ ContextDev::ParseHandleParams::UseMainContentOnly::OrSymbol
153
+ )
154
+ )
155
+ )
156
+ end
88
157
  attr_reader :use_main_content_only
89
158
 
90
- sig { params(use_main_content_only: T::Boolean).void }
159
+ sig do
160
+ params(
161
+ use_main_content_only:
162
+ T.any(
163
+ T::Boolean,
164
+ ContextDev::ParseHandleParams::UseMainContentOnly::OrSymbol
165
+ )
166
+ ).void
167
+ end
91
168
  attr_writer :use_main_content_only
92
169
 
170
+ # Set to enabled to bypass shared caches and omit request and response content
171
+ # from retained usage logs. Requires zero data retention to be enabled for your
172
+ # organization (contact support@context.dev), otherwise the request fails with
173
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
174
+ sig { returns(T.nilable(ContextDev::ParseHandleParams::Zdr::OrSymbol)) }
175
+ attr_reader :zdr
176
+
177
+ sig { params(zdr: ContextDev::ParseHandleParams::Zdr::OrSymbol).void }
178
+ attr_writer :zdr
179
+
93
180
  sig do
94
181
  params(
95
182
  body: ContextDev::Internal::FileInput,
96
- base_url: String,
97
- extension: String,
98
- filename: String,
99
- include_images: T::Boolean,
100
- include_links: T::Boolean,
101
- ocr: T::Boolean,
102
- pdf_end: Integer,
103
- pdf_start: Integer,
104
- shorten_base64_images: T::Boolean,
105
- use_main_content_only: T::Boolean,
183
+ client: String,
184
+ extension: ContextDev::ParseHandleParams::Extension::OrSymbol,
185
+ include_images:
186
+ T.any(
187
+ T::Boolean,
188
+ ContextDev::ParseHandleParams::IncludeImages::OrSymbol
189
+ ),
190
+ include_links:
191
+ T.any(
192
+ T::Boolean,
193
+ ContextDev::ParseHandleParams::IncludeLinks::OrSymbol
194
+ ),
195
+ ocr: T.any(T::Boolean, ContextDev::ParseHandleParams::Ocr::OrSymbol),
196
+ pdf: ContextDev::ParseHandleParams::Pdf::OrHash,
197
+ shorten_base64_images:
198
+ T.any(
199
+ T::Boolean,
200
+ ContextDev::ParseHandleParams::ShortenBase64Images::OrSymbol
201
+ ),
202
+ tags: T::Array[String],
203
+ use_main_content_only:
204
+ T.any(
205
+ T::Boolean,
206
+ ContextDev::ParseHandleParams::UseMainContentOnly::OrSymbol
207
+ ),
208
+ zdr: ContextDev::ParseHandleParams::Zdr::OrSymbol,
106
209
  request_options: ContextDev::RequestOptions::OrHash
107
210
  ).returns(T.attached_class)
108
211
  end
109
212
  def self.new(
110
213
  body:,
111
- # Optional HTTP(S) source document URL used to resolve relative links and image
112
- # references. Relative references remain relative when omitted.
113
- base_url: nil,
214
+ # Optional client identifier used for usage attribution.
215
+ client: nil,
114
216
  # Optional file extension hint, such as pdf, docx, xlsx, pptx, html, json, csv,
115
217
  # md, py, rtf, jpg, png, or txt.
116
218
  extension: nil,
117
- # Optional filename hint used to infer the extension when extension is omitted.
118
- filename: nil,
119
219
  # Include image references in Markdown output
120
220
  include_images: nil,
121
221
  # Preserve hyperlinks in Markdown output
122
222
  include_links: nil,
123
223
  # When true for PDF inputs, detect and OCR images embedded in the selected pages,
124
224
  # inserting recognized text at each image's position in page reading order while
125
- # preserving the PDF text layer. pdfStart/pdfEnd limit the inclusive page range.
126
- # This is separate from automatic scanned-PDF OCR fallback.
225
+ # preserving the PDF text layer. pdf.start/pdf.end limit the inclusive page range.
226
+ # When false, all OCR is disabled, including the automatic scanned-PDF fallback.
127
227
  ocr: nil,
128
- # Last 1-based PDF page to parse. When omitted, parsing ends at the last page.
129
- # Must be greater than or equal to pdfStart when both are provided.
130
- pdf_end: nil,
131
- # First 1-based PDF page to parse. When omitted, parsing starts at the first page.
132
- pdf_start: nil,
228
+ # PDF page-range options as a JSON object, e.g. {"start": 2, "end": 5}.
229
+ pdf: nil,
133
230
  # Shorten base64-encoded image data in the Markdown output
134
231
  shorten_base64_images: nil,
232
+ # Optional comma-separated caller-defined tags for tracking this request. Tags are
233
+ # recorded on the request's usage log and can be used to filter usage on the
234
+ # dashboard usage page. Up to 20 tags, each 1-50 characters.
235
+ tags: nil,
135
236
  # Extract only the main content from HTML-like inputs
136
237
  use_main_content_only: nil,
238
+ # Set to enabled to bypass shared caches and omit request and response content
239
+ # from retained usage logs. Requires zero data retention to be enabled for your
240
+ # organization (contact support@context.dev), otherwise the request fails with
241
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
242
+ zdr: nil,
137
243
  request_options: {}
138
244
  )
139
245
  end
@@ -142,22 +248,446 @@ module ContextDev
142
248
  override.returns(
143
249
  {
144
250
  body: ContextDev::Internal::FileInput,
145
- base_url: String,
146
- extension: String,
147
- filename: String,
148
- include_images: T::Boolean,
149
- include_links: T::Boolean,
150
- ocr: T::Boolean,
151
- pdf_end: Integer,
152
- pdf_start: Integer,
153
- shorten_base64_images: T::Boolean,
154
- use_main_content_only: T::Boolean,
251
+ client: String,
252
+ extension: ContextDev::ParseHandleParams::Extension::OrSymbol,
253
+ include_images:
254
+ T.any(
255
+ T::Boolean,
256
+ ContextDev::ParseHandleParams::IncludeImages::OrSymbol
257
+ ),
258
+ include_links:
259
+ T.any(
260
+ T::Boolean,
261
+ ContextDev::ParseHandleParams::IncludeLinks::OrSymbol
262
+ ),
263
+ ocr:
264
+ T.any(T::Boolean, ContextDev::ParseHandleParams::Ocr::OrSymbol),
265
+ pdf: ContextDev::ParseHandleParams::Pdf,
266
+ shorten_base64_images:
267
+ T.any(
268
+ T::Boolean,
269
+ ContextDev::ParseHandleParams::ShortenBase64Images::OrSymbol
270
+ ),
271
+ tags: T::Array[String],
272
+ use_main_content_only:
273
+ T.any(
274
+ T::Boolean,
275
+ ContextDev::ParseHandleParams::UseMainContentOnly::OrSymbol
276
+ ),
277
+ zdr: ContextDev::ParseHandleParams::Zdr::OrSymbol,
155
278
  request_options: ContextDev::RequestOptions
156
279
  }
157
280
  )
158
281
  end
159
282
  def to_hash
160
283
  end
284
+
285
+ # Optional file extension hint, such as pdf, docx, xlsx, pptx, html, json, csv,
286
+ # md, py, rtf, jpg, png, or txt.
287
+ module Extension
288
+ extend ContextDev::Internal::Type::Enum
289
+
290
+ TaggedSymbol =
291
+ T.type_alias do
292
+ T.all(Symbol, ContextDev::ParseHandleParams::Extension)
293
+ end
294
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
295
+
296
+ TXT =
297
+ T.let(:txt, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
298
+ TEXT =
299
+ T.let(:text, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
300
+ MD = T.let(:md, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
301
+ MARKDOWN =
302
+ T.let(
303
+ :markdown,
304
+ ContextDev::ParseHandleParams::Extension::TaggedSymbol
305
+ )
306
+ HTML =
307
+ T.let(:html, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
308
+ HTM =
309
+ T.let(:htm, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
310
+ XHTML =
311
+ T.let(:xhtml, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
312
+ XML =
313
+ T.let(:xml, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
314
+ RSS =
315
+ T.let(:rss, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
316
+ ATOM =
317
+ T.let(:atom, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
318
+ CSV =
319
+ T.let(:csv, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
320
+ TSV =
321
+ T.let(:tsv, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
322
+ YAML =
323
+ T.let(:yaml, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
324
+ YML =
325
+ T.let(:yml, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
326
+ PY = T.let(:py, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
327
+ JAVA =
328
+ T.let(:java, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
329
+ JS = T.let(:js, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
330
+ JSX =
331
+ T.let(:jsx, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
332
+ MJS =
333
+ T.let(:mjs, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
334
+ CJS =
335
+ T.let(:cjs, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
336
+ JSON =
337
+ T.let(:json, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
338
+ JSONL =
339
+ T.let(:jsonl, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
340
+ NDJSON =
341
+ T.let(:ndjson, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
342
+ PHP =
343
+ T.let(:php, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
344
+ SH = T.let(:sh, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
345
+ BASH =
346
+ T.let(:bash, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
347
+ ZSH =
348
+ T.let(:zsh, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
349
+ FISH =
350
+ T.let(:fish, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
351
+ RB = T.let(:rb, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
352
+ TS = T.let(:ts, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
353
+ TSX =
354
+ T.let(:tsx, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
355
+ RTF =
356
+ T.let(:rtf, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
357
+ SRT =
358
+ T.let(:srt, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
359
+ CSS =
360
+ T.let(:css, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
361
+ SCSS =
362
+ T.let(:scss, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
363
+ LESS =
364
+ T.let(:less, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
365
+ STYL =
366
+ T.let(:styl, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
367
+ SASS =
368
+ T.let(:sass, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
369
+ SVG =
370
+ T.let(:svg, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
371
+ PDF =
372
+ T.let(:pdf, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
373
+ DOCX =
374
+ T.let(:docx, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
375
+ DOC =
376
+ T.let(:doc, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
377
+ XLSX =
378
+ T.let(:xlsx, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
379
+ XLSM =
380
+ T.let(:xlsm, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
381
+ XLSB =
382
+ T.let(:xlsb, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
383
+ XLTX =
384
+ T.let(:xltx, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
385
+ XLTM =
386
+ T.let(:xltm, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
387
+ XLS =
388
+ T.let(:xls, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
389
+ PPTX =
390
+ T.let(:pptx, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
391
+ PPTM =
392
+ T.let(:pptm, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
393
+ PPSX =
394
+ T.let(:ppsx, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
395
+ PPSM =
396
+ T.let(:ppsm, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
397
+ POTX =
398
+ T.let(:potx, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
399
+ POTM =
400
+ T.let(:potm, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
401
+ PPT =
402
+ T.let(:ppt, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
403
+ PPS =
404
+ T.let(:pps, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
405
+ POT =
406
+ T.let(:pot, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
407
+ JPG =
408
+ T.let(:jpg, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
409
+ JPEG =
410
+ T.let(:jpeg, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
411
+ JPE =
412
+ T.let(:jpe, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
413
+ PNG =
414
+ T.let(:png, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
415
+ GIF =
416
+ T.let(:gif, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
417
+ BMP =
418
+ T.let(:bmp, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
419
+ TIFF =
420
+ T.let(:tiff, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
421
+ TIF =
422
+ T.let(:tif, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
423
+ WEBP =
424
+ T.let(:webp, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
425
+ PPM =
426
+ T.let(:ppm, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
427
+ PBM =
428
+ T.let(:pbm, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
429
+ PGM =
430
+ T.let(:pgm, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
431
+ PNM =
432
+ T.let(:pnm, ContextDev::ParseHandleParams::Extension::TaggedSymbol)
433
+
434
+ sig do
435
+ override.returns(
436
+ T::Array[ContextDev::ParseHandleParams::Extension::TaggedSymbol]
437
+ )
438
+ end
439
+ def self.values
440
+ end
441
+ end
442
+
443
+ # Include image references in Markdown output
444
+ module IncludeImages
445
+ extend ContextDev::Internal::Type::Union
446
+
447
+ Variants =
448
+ T.type_alias do
449
+ T.any(
450
+ T::Boolean,
451
+ ContextDev::ParseHandleParams::IncludeImages::TaggedSymbol
452
+ )
453
+ end
454
+
455
+ sig do
456
+ override.returns(
457
+ T::Array[ContextDev::ParseHandleParams::IncludeImages::Variants]
458
+ )
459
+ end
460
+ def self.variants
461
+ end
462
+
463
+ TaggedSymbol =
464
+ T.type_alias do
465
+ T.all(Symbol, ContextDev::ParseHandleParams::IncludeImages)
466
+ end
467
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
468
+
469
+ TRUE =
470
+ T.let(
471
+ :true,
472
+ ContextDev::ParseHandleParams::IncludeImages::TaggedSymbol
473
+ )
474
+ FALSE =
475
+ T.let(
476
+ :false,
477
+ ContextDev::ParseHandleParams::IncludeImages::TaggedSymbol
478
+ )
479
+ end
480
+
481
+ # Preserve hyperlinks in Markdown output
482
+ module IncludeLinks
483
+ extend ContextDev::Internal::Type::Union
484
+
485
+ Variants =
486
+ T.type_alias do
487
+ T.any(
488
+ T::Boolean,
489
+ ContextDev::ParseHandleParams::IncludeLinks::TaggedSymbol
490
+ )
491
+ end
492
+
493
+ sig do
494
+ override.returns(
495
+ T::Array[ContextDev::ParseHandleParams::IncludeLinks::Variants]
496
+ )
497
+ end
498
+ def self.variants
499
+ end
500
+
501
+ TaggedSymbol =
502
+ T.type_alias do
503
+ T.all(Symbol, ContextDev::ParseHandleParams::IncludeLinks)
504
+ end
505
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
506
+
507
+ TRUE =
508
+ T.let(
509
+ :true,
510
+ ContextDev::ParseHandleParams::IncludeLinks::TaggedSymbol
511
+ )
512
+ FALSE =
513
+ T.let(
514
+ :false,
515
+ ContextDev::ParseHandleParams::IncludeLinks::TaggedSymbol
516
+ )
517
+ end
518
+
519
+ # When true for PDF inputs, detect and OCR images embedded in the selected pages,
520
+ # inserting recognized text at each image's position in page reading order while
521
+ # preserving the PDF text layer. pdf.start/pdf.end limit the inclusive page range.
522
+ # When false, all OCR is disabled, including the automatic scanned-PDF fallback.
523
+ module Ocr
524
+ extend ContextDev::Internal::Type::Union
525
+
526
+ Variants =
527
+ T.type_alias do
528
+ T.any(T::Boolean, ContextDev::ParseHandleParams::Ocr::TaggedSymbol)
529
+ end
530
+
531
+ sig do
532
+ override.returns(
533
+ T::Array[ContextDev::ParseHandleParams::Ocr::Variants]
534
+ )
535
+ end
536
+ def self.variants
537
+ end
538
+
539
+ TaggedSymbol =
540
+ T.type_alias { T.all(Symbol, ContextDev::ParseHandleParams::Ocr) }
541
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
542
+
543
+ TRUE = T.let(:true, ContextDev::ParseHandleParams::Ocr::TaggedSymbol)
544
+ FALSE = T.let(:false, ContextDev::ParseHandleParams::Ocr::TaggedSymbol)
545
+ end
546
+
547
+ class Pdf < ContextDev::Internal::Type::BaseModel
548
+ OrHash =
549
+ T.type_alias do
550
+ T.any(
551
+ ContextDev::ParseHandleParams::Pdf,
552
+ ContextDev::Internal::AnyHash
553
+ )
554
+ end
555
+
556
+ # Last 1-based PDF page to parse. When omitted, parsing ends at the last page.
557
+ # Must be greater than or equal to start when both are provided.
558
+ sig { returns(T.nilable(Integer)) }
559
+ attr_reader :end_
560
+
561
+ sig { params(end_: Integer).void }
562
+ attr_writer :end_
563
+
564
+ # First 1-based PDF page to parse. When omitted, parsing starts at the first page.
565
+ sig { returns(T.nilable(Integer)) }
566
+ attr_reader :start
567
+
568
+ sig { params(start: Integer).void }
569
+ attr_writer :start
570
+
571
+ # PDF page-range options as a JSON object, e.g. {"start": 2, "end": 5}.
572
+ sig { params(end_: Integer, start: Integer).returns(T.attached_class) }
573
+ def self.new(
574
+ # Last 1-based PDF page to parse. When omitted, parsing ends at the last page.
575
+ # Must be greater than or equal to start when both are provided.
576
+ end_: nil,
577
+ # First 1-based PDF page to parse. When omitted, parsing starts at the first page.
578
+ start: nil
579
+ )
580
+ end
581
+
582
+ sig { override.returns({ end_: Integer, start: Integer }) }
583
+ def to_hash
584
+ end
585
+ end
586
+
587
+ # Shorten base64-encoded image data in the Markdown output
588
+ module ShortenBase64Images
589
+ extend ContextDev::Internal::Type::Union
590
+
591
+ Variants =
592
+ T.type_alias do
593
+ T.any(
594
+ T::Boolean,
595
+ ContextDev::ParseHandleParams::ShortenBase64Images::TaggedSymbol
596
+ )
597
+ end
598
+
599
+ sig do
600
+ override.returns(
601
+ T::Array[
602
+ ContextDev::ParseHandleParams::ShortenBase64Images::Variants
603
+ ]
604
+ )
605
+ end
606
+ def self.variants
607
+ end
608
+
609
+ TaggedSymbol =
610
+ T.type_alias do
611
+ T.all(Symbol, ContextDev::ParseHandleParams::ShortenBase64Images)
612
+ end
613
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
614
+
615
+ TRUE =
616
+ T.let(
617
+ :true,
618
+ ContextDev::ParseHandleParams::ShortenBase64Images::TaggedSymbol
619
+ )
620
+ FALSE =
621
+ T.let(
622
+ :false,
623
+ ContextDev::ParseHandleParams::ShortenBase64Images::TaggedSymbol
624
+ )
625
+ end
626
+
627
+ # Extract only the main content from HTML-like inputs
628
+ module UseMainContentOnly
629
+ extend ContextDev::Internal::Type::Union
630
+
631
+ Variants =
632
+ T.type_alias do
633
+ T.any(
634
+ T::Boolean,
635
+ ContextDev::ParseHandleParams::UseMainContentOnly::TaggedSymbol
636
+ )
637
+ end
638
+
639
+ sig do
640
+ override.returns(
641
+ T::Array[
642
+ ContextDev::ParseHandleParams::UseMainContentOnly::Variants
643
+ ]
644
+ )
645
+ end
646
+ def self.variants
647
+ end
648
+
649
+ TaggedSymbol =
650
+ T.type_alias do
651
+ T.all(Symbol, ContextDev::ParseHandleParams::UseMainContentOnly)
652
+ end
653
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
654
+
655
+ TRUE =
656
+ T.let(
657
+ :true,
658
+ ContextDev::ParseHandleParams::UseMainContentOnly::TaggedSymbol
659
+ )
660
+ FALSE =
661
+ T.let(
662
+ :false,
663
+ ContextDev::ParseHandleParams::UseMainContentOnly::TaggedSymbol
664
+ )
665
+ end
666
+
667
+ # Set to enabled to bypass shared caches and omit request and response content
668
+ # from retained usage logs. Requires zero data retention to be enabled for your
669
+ # organization (contact support@context.dev), otherwise the request fails with
670
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
671
+ module Zdr
672
+ extend ContextDev::Internal::Type::Enum
673
+
674
+ TaggedSymbol =
675
+ T.type_alias { T.all(Symbol, ContextDev::ParseHandleParams::Zdr) }
676
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
677
+
678
+ ENABLED =
679
+ T.let(:enabled, ContextDev::ParseHandleParams::Zdr::TaggedSymbol)
680
+ DISABLED =
681
+ T.let(:disabled, ContextDev::ParseHandleParams::Zdr::TaggedSymbol)
682
+
683
+ sig do
684
+ override.returns(
685
+ T::Array[ContextDev::ParseHandleParams::Zdr::TaggedSymbol]
686
+ )
687
+ end
688
+ def self.values
689
+ end
690
+ end
161
691
  end
162
692
  end
163
693
  end