@onkernel/sdk 0.110.0 → 0.112.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 (153) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/client.d.mts +6 -0
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +6 -0
  5. package/client.d.ts.map +1 -1
  6. package/client.js +6 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +6 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/auth/connections.d.mts +26 -8
  12. package/resources/auth/connections.d.mts.map +1 -1
  13. package/resources/auth/connections.d.ts +26 -8
  14. package/resources/auth/connections.d.ts.map +1 -1
  15. package/resources/browser-pools.d.mts +8 -1
  16. package/resources/browser-pools.d.mts.map +1 -1
  17. package/resources/browser-pools.d.ts +8 -1
  18. package/resources/browser-pools.d.ts.map +1 -1
  19. package/resources/browsers/browsers.d.mts +44 -3
  20. package/resources/browsers/browsers.d.mts.map +1 -1
  21. package/resources/browsers/browsers.d.ts +44 -3
  22. package/resources/browsers/browsers.d.ts.map +1 -1
  23. package/resources/browsers/browsers.js +2 -2
  24. package/resources/browsers/browsers.js.map +1 -1
  25. package/resources/browsers/browsers.mjs +2 -2
  26. package/resources/browsers/browsers.mjs.map +1 -1
  27. package/resources/browsers/index.d.mts +1 -1
  28. package/resources/browsers/index.d.mts.map +1 -1
  29. package/resources/browsers/index.d.ts +1 -1
  30. package/resources/browsers/index.d.ts.map +1 -1
  31. package/resources/browsers/index.js +2 -2
  32. package/resources/browsers/index.js.map +1 -1
  33. package/resources/browsers/index.mjs +1 -1
  34. package/resources/browsers/index.mjs.map +1 -1
  35. package/resources/browsers/telemetry.d.mts +34 -16
  36. package/resources/browsers/telemetry.d.mts.map +1 -1
  37. package/resources/browsers/telemetry.d.ts +34 -16
  38. package/resources/browsers/telemetry.d.ts.map +1 -1
  39. package/resources/browsers/telemetry.js +3 -2
  40. package/resources/browsers/telemetry.js.map +1 -1
  41. package/resources/browsers/telemetry.mjs +3 -2
  42. package/resources/browsers/telemetry.mjs.map +1 -1
  43. package/resources/browsers/webmcp/custom-tools.d.mts +118 -0
  44. package/resources/browsers/webmcp/custom-tools.d.mts.map +1 -0
  45. package/resources/browsers/webmcp/custom-tools.d.ts +118 -0
  46. package/resources/browsers/webmcp/custom-tools.d.ts.map +1 -0
  47. package/resources/browsers/webmcp/custom-tools.js +75 -0
  48. package/resources/browsers/webmcp/custom-tools.js.map +1 -0
  49. package/resources/browsers/webmcp/custom-tools.mjs +71 -0
  50. package/resources/browsers/webmcp/custom-tools.mjs.map +1 -0
  51. package/resources/browsers/webmcp/index.d.mts +3 -0
  52. package/resources/browsers/webmcp/index.d.mts.map +1 -0
  53. package/resources/browsers/webmcp/index.d.ts +3 -0
  54. package/resources/browsers/webmcp/index.d.ts.map +1 -0
  55. package/resources/browsers/webmcp/index.js +9 -0
  56. package/resources/browsers/webmcp/index.js.map +1 -0
  57. package/resources/browsers/webmcp/index.mjs +4 -0
  58. package/resources/browsers/webmcp/index.mjs.map +1 -0
  59. package/resources/browsers/webmcp/webmcp.d.mts +211 -0
  60. package/resources/browsers/webmcp/webmcp.d.mts.map +1 -0
  61. package/resources/browsers/webmcp/webmcp.d.ts +211 -0
  62. package/resources/browsers/webmcp/webmcp.d.ts.map +1 -0
  63. package/resources/browsers/webmcp/webmcp.js +66 -0
  64. package/resources/browsers/webmcp/webmcp.js.map +1 -0
  65. package/resources/browsers/webmcp/webmcp.mjs +61 -0
  66. package/resources/browsers/webmcp/webmcp.mjs.map +1 -0
  67. package/resources/browsers/webmcp.d.mts +1 -157
  68. package/resources/browsers/webmcp.d.mts.map +1 -1
  69. package/resources/browsers/webmcp.d.ts +1 -157
  70. package/resources/browsers/webmcp.d.ts.map +1 -1
  71. package/resources/browsers/webmcp.js +2 -51
  72. package/resources/browsers/webmcp.js.map +1 -1
  73. package/resources/browsers/webmcp.mjs +1 -49
  74. package/resources/browsers/webmcp.mjs.map +1 -1
  75. package/resources/index.d.mts +1 -0
  76. package/resources/index.d.mts.map +1 -1
  77. package/resources/index.d.ts +1 -0
  78. package/resources/index.d.ts.map +1 -1
  79. package/resources/index.js +3 -1
  80. package/resources/index.js.map +1 -1
  81. package/resources/index.mjs +1 -0
  82. package/resources/index.mjs.map +1 -1
  83. package/resources/organization/entitlements.d.mts +15 -0
  84. package/resources/organization/entitlements.d.mts.map +1 -1
  85. package/resources/organization/entitlements.d.ts +15 -0
  86. package/resources/organization/entitlements.d.ts.map +1 -1
  87. package/resources/search/contents.d.mts +267 -0
  88. package/resources/search/contents.d.mts.map +1 -0
  89. package/resources/search/contents.d.ts +267 -0
  90. package/resources/search/contents.d.ts.map +1 -0
  91. package/resources/search/contents.js +31 -0
  92. package/resources/search/contents.js.map +1 -0
  93. package/resources/search/contents.mjs +27 -0
  94. package/resources/search/contents.mjs.map +1 -0
  95. package/resources/search/index.d.mts +4 -0
  96. package/resources/search/index.d.mts.map +1 -0
  97. package/resources/search/index.d.ts +4 -0
  98. package/resources/search/index.d.ts.map +1 -0
  99. package/resources/search/index.js +11 -0
  100. package/resources/search/index.js.map +1 -0
  101. package/resources/search/index.mjs +5 -0
  102. package/resources/search/index.mjs.map +1 -0
  103. package/resources/search/providers.d.mts +141 -0
  104. package/resources/search/providers.d.mts.map +1 -0
  105. package/resources/search/providers.d.ts +141 -0
  106. package/resources/search/providers.d.ts.map +1 -0
  107. package/resources/search/providers.js +25 -0
  108. package/resources/search/providers.js.map +1 -0
  109. package/resources/search/providers.mjs +21 -0
  110. package/resources/search/providers.mjs.map +1 -0
  111. package/resources/search/search.d.mts +1187 -0
  112. package/resources/search/search.d.mts.map +1 -0
  113. package/resources/search/search.d.ts +1187 -0
  114. package/resources/search/search.d.ts.map +1 -0
  115. package/resources/search/search.js +58 -0
  116. package/resources/search/search.js.map +1 -0
  117. package/resources/search/search.mjs +53 -0
  118. package/resources/search/search.mjs.map +1 -0
  119. package/resources/search.d.mts +2 -0
  120. package/resources/search.d.mts.map +1 -0
  121. package/resources/search.d.ts +2 -0
  122. package/resources/search.d.ts.map +1 -0
  123. package/resources/search.js +6 -0
  124. package/resources/search.js.map +1 -0
  125. package/resources/search.mjs +3 -0
  126. package/resources/search.mjs.map +1 -0
  127. package/resources/vaults/items.d.mts +21 -14
  128. package/resources/vaults/items.d.mts.map +1 -1
  129. package/resources/vaults/items.d.ts +21 -14
  130. package/resources/vaults/items.d.ts.map +1 -1
  131. package/src/client.ts +30 -0
  132. package/src/resources/auth/connections.ts +28 -7
  133. package/src/resources/browser-pools.ts +9 -1
  134. package/src/resources/browsers/browsers.ts +65 -13
  135. package/src/resources/browsers/index.ts +4 -1
  136. package/src/resources/browsers/telemetry.ts +68 -16
  137. package/src/resources/browsers/webmcp/custom-tools.ts +160 -0
  138. package/src/resources/browsers/webmcp/index.ts +26 -0
  139. package/src/resources/browsers/webmcp/webmcp.ts +295 -0
  140. package/src/resources/browsers/webmcp.ts +1 -204
  141. package/src/resources/index.ts +12 -0
  142. package/src/resources/organization/entitlements.ts +17 -0
  143. package/src/resources/search/contents.ts +327 -0
  144. package/src/resources/search/index.ts +16 -0
  145. package/src/resources/search/providers.ts +197 -0
  146. package/src/resources/search/search.ts +1496 -0
  147. package/src/resources/search.ts +3 -0
  148. package/src/resources/vaults/items.ts +27 -14
  149. package/src/version.ts +1 -1
  150. package/version.d.mts +1 -1
  151. package/version.d.ts +1 -1
  152. package/version.js +1 -1
  153. package/version.mjs +1 -1
@@ -0,0 +1,327 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as SearchAPI from './search';
5
+ import { APIPromise } from '../../core/api-promise';
6
+ import { buildHeaders } from '../../internal/headers';
7
+ import { RequestOptions } from '../../internal/request-options';
8
+ import { path } from '../../internal/utils/path';
9
+
10
+ /**
11
+ * Search the web and retrieve content for selected results.
12
+ */
13
+ export class Contents extends APIResource {
14
+ /**
15
+ * Deferred result-content retrieval is reserved but not available in this release.
16
+ * Requests return 404 until the retrieval implementation is shipped. X-Request-Id
17
+ * identifies this request separately from the search resource.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * await client.search.contents.fetch('srch_abc123');
22
+ * ```
23
+ */
24
+ fetch(id: string, body: ContentFetchParams, options?: RequestOptions): APIPromise<void> {
25
+ return this._client.post(path`/search/${id}/contents`, {
26
+ body,
27
+ ...options,
28
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
29
+ });
30
+ }
31
+ }
32
+
33
+ export interface FetchRequest {
34
+ /**
35
+ * Defaults to source:auto when omitted.
36
+ */
37
+ content?: FetchRequest.Content;
38
+
39
+ /**
40
+ * Maximum number of search results to fetch when result_ids is omitted, starting
41
+ * from rank 1. Mutually exclusive with result_ids.
42
+ */
43
+ limit?: number;
44
+
45
+ /**
46
+ * Kernel-generated IDs from the referenced retained search, in desired response
47
+ * order. They are not provider-standard IDs. Mutually exclusive with limit.
48
+ */
49
+ result_ids?: Array<string>;
50
+
51
+ /**
52
+ * Overall deadline across all selected results.
53
+ */
54
+ timeout_ms?: number;
55
+ }
56
+
57
+ export namespace FetchRequest {
58
+ /**
59
+ * Defaults to source:auto when omitted.
60
+ */
61
+ export interface Content {
62
+ /**
63
+ * Invalid with source=provider. Supplying browser_id requires source=browser so
64
+ * the chosen identity is not bypassed.
65
+ */
66
+ browser?: Content.Browser;
67
+
68
+ format?: 'markdown' | 'text';
69
+
70
+ /**
71
+ * Maximum acceptable age of cached page content, measured from origin retrieval. 0
72
+ * forces a live fetch. Governs the Kernel content cache, which is scoped to the
73
+ * caller organization and project and separated by retrieval context; fetches
74
+ * through a caller-supplied browser_id bypass that cache. Mapped to the provider
75
+ * freshness control when source is provider and the provider supports one;
76
+ * otherwise provider content age is reported as unknown via fetched_at.
77
+ */
78
+ max_age_hours?: number;
79
+
80
+ /**
81
+ * Per-result Unicode character limit after extraction.
82
+ */
83
+ max_chars?: number;
84
+
85
+ /**
86
+ * provider uses the search provider's native content retrieval; browser fetches
87
+ * each URL through a Kernel browser; auto prefers Kernel browser retrieval and
88
+ * falls back to provider-native content when browser retrieval is unavailable or
89
+ * unsuitable. Defaults to auto for both inline and deferred retrieval. Deferred
90
+ * provider retrieval requires post_hoc capability; an explicit provider source
91
+ * without it is a 400. Missing documents produce per-result unavailable outcomes,
92
+ * not request failures.
93
+ */
94
+ source?: 'auto' | 'provider' | 'browser';
95
+
96
+ /**
97
+ * Per-result deadline including capacity acquisition, retrieval, and extraction.
98
+ * Also bounded by the overall request deadline.
99
+ */
100
+ timeout_ms?: number;
101
+ }
102
+
103
+ export namespace Content {
104
+ /**
105
+ * Invalid with source=provider. Supplying browser_id requires source=browser so
106
+ * the chosen identity is not bypassed.
107
+ */
108
+ export interface Browser {
109
+ /**
110
+ * Existing browser session ID authorized for the caller and selected project.
111
+ * Reuses its cookies, proxy, and browser configuration. Kernel does not delete a
112
+ * caller-supplied browser. Render mode uses a temporary tab; website activity may
113
+ * still change shared cookies and storage. When omitted, Kernel obtains isolated
114
+ * browser capacity in the caller's account and releases it after retrieval. That
115
+ * capacity is not retained for later interaction. Existing browser quotas apply.
116
+ */
117
+ browser_id?: string;
118
+
119
+ /**
120
+ * Curl uses the browser HTTP stack without navigation or JavaScript execution.
121
+ * Render navigates a temporary page and extracts from its DOM. The selected mode
122
+ * is used for the retrieval.
123
+ */
124
+ mode?: 'curl' | 'render';
125
+ }
126
+ }
127
+ }
128
+
129
+ export interface Response {
130
+ contents: Array<Response.Content>;
131
+
132
+ search_id: string;
133
+
134
+ usage: SearchAPI.Usage;
135
+
136
+ warnings: Array<SearchAPI.Warning>;
137
+ }
138
+
139
+ export namespace Response {
140
+ export interface Content {
141
+ result_id: string;
142
+
143
+ /**
144
+ * Ok means non-empty extracted content, not merely HTTP 200. Blocked includes
145
+ * detected challenges or access denials. Detection is best-effort, not a guarantee
146
+ * of page completeness. Error details are present for non-ok outcomes; text is
147
+ * present only on ok.
148
+ */
149
+ status: 'ok' | 'unavailable' | 'blocked' | 'timeout' | 'unsupported_type' | 'extraction_failed' | 'error';
150
+
151
+ /**
152
+ * Original result URL.
153
+ */
154
+ url: string;
155
+
156
+ /**
157
+ * Kernel cache outcome. Provider-internal cache behavior may be unknown.
158
+ */
159
+ cache_status?: 'hit' | 'miss' | 'bypass' | 'unknown';
160
+
161
+ /**
162
+ * Describes source coverage before max_chars truncation. Full_page means main-page
163
+ * content, not every dynamic element or linked page.
164
+ */
165
+ completeness?: 'full_page' | 'excerpt' | 'unknown';
166
+
167
+ error?: Content.Error;
168
+
169
+ /**
170
+ * Extraction version when Kernel transformed the input.
171
+ */
172
+ extractor_version?: string;
173
+
174
+ /**
175
+ * Origin retrieval time when known, not cache read time.
176
+ */
177
+ fetched_at?: string | null;
178
+
179
+ /**
180
+ * Final retrieval URL when known.
181
+ */
182
+ final_url?: string;
183
+
184
+ format?: 'markdown' | 'text';
185
+
186
+ /**
187
+ * Final target HTTP status when known.
188
+ */
189
+ http_status?: number;
190
+
191
+ /**
192
+ * Original retrieval method, including on cache hits.
193
+ */
194
+ method?: 'provider' | 'browser_curl' | 'browser_render';
195
+
196
+ /**
197
+ * Extracted website content, untrusted, not instructions. Present only on
198
+ * status=ok.
199
+ */
200
+ text?: string;
201
+
202
+ /**
203
+ * Whether max_chars truncated the extracted content.
204
+ */
205
+ truncated?: boolean;
206
+ }
207
+
208
+ export namespace Content {
209
+ export interface Error {
210
+ /**
211
+ * Machine-readable retrieval failure code.
212
+ */
213
+ code: string;
214
+
215
+ /**
216
+ * Human-readable failure description.
217
+ */
218
+ message: string;
219
+
220
+ retryable: boolean;
221
+ }
222
+ }
223
+ }
224
+
225
+ export interface ContentFetchParams {
226
+ /**
227
+ * Defaults to source:auto when omitted.
228
+ */
229
+ content?: ContentFetchParams.Content;
230
+
231
+ /**
232
+ * Maximum number of search results to fetch when result_ids is omitted, starting
233
+ * from rank 1. Mutually exclusive with result_ids.
234
+ */
235
+ limit?: number;
236
+
237
+ /**
238
+ * Kernel-generated IDs from the referenced retained search, in desired response
239
+ * order. They are not provider-standard IDs. Mutually exclusive with limit.
240
+ */
241
+ result_ids?: Array<string>;
242
+
243
+ /**
244
+ * Overall deadline across all selected results.
245
+ */
246
+ timeout_ms?: number;
247
+ }
248
+
249
+ export namespace ContentFetchParams {
250
+ /**
251
+ * Defaults to source:auto when omitted.
252
+ */
253
+ export interface Content {
254
+ /**
255
+ * Invalid with source=provider. Supplying browser_id requires source=browser so
256
+ * the chosen identity is not bypassed.
257
+ */
258
+ browser?: Content.Browser;
259
+
260
+ format?: 'markdown' | 'text';
261
+
262
+ /**
263
+ * Maximum acceptable age of cached page content, measured from origin retrieval. 0
264
+ * forces a live fetch. Governs the Kernel content cache, which is scoped to the
265
+ * caller organization and project and separated by retrieval context; fetches
266
+ * through a caller-supplied browser_id bypass that cache. Mapped to the provider
267
+ * freshness control when source is provider and the provider supports one;
268
+ * otherwise provider content age is reported as unknown via fetched_at.
269
+ */
270
+ max_age_hours?: number;
271
+
272
+ /**
273
+ * Per-result Unicode character limit after extraction.
274
+ */
275
+ max_chars?: number;
276
+
277
+ /**
278
+ * provider uses the search provider's native content retrieval; browser fetches
279
+ * each URL through a Kernel browser; auto prefers Kernel browser retrieval and
280
+ * falls back to provider-native content when browser retrieval is unavailable or
281
+ * unsuitable. Defaults to auto for both inline and deferred retrieval. Deferred
282
+ * provider retrieval requires post_hoc capability; an explicit provider source
283
+ * without it is a 400. Missing documents produce per-result unavailable outcomes,
284
+ * not request failures.
285
+ */
286
+ source?: 'auto' | 'provider' | 'browser';
287
+
288
+ /**
289
+ * Per-result deadline including capacity acquisition, retrieval, and extraction.
290
+ * Also bounded by the overall request deadline.
291
+ */
292
+ timeout_ms?: number;
293
+ }
294
+
295
+ export namespace Content {
296
+ /**
297
+ * Invalid with source=provider. Supplying browser_id requires source=browser so
298
+ * the chosen identity is not bypassed.
299
+ */
300
+ export interface Browser {
301
+ /**
302
+ * Existing browser session ID authorized for the caller and selected project.
303
+ * Reuses its cookies, proxy, and browser configuration. Kernel does not delete a
304
+ * caller-supplied browser. Render mode uses a temporary tab; website activity may
305
+ * still change shared cookies and storage. When omitted, Kernel obtains isolated
306
+ * browser capacity in the caller's account and releases it after retrieval. That
307
+ * capacity is not retained for later interaction. Existing browser quotas apply.
308
+ */
309
+ browser_id?: string;
310
+
311
+ /**
312
+ * Curl uses the browser HTTP stack without navigation or JavaScript execution.
313
+ * Render navigates a temporary page and extracts from its DOM. The selected mode
314
+ * is used for the retrieval.
315
+ */
316
+ mode?: 'curl' | 'render';
317
+ }
318
+ }
319
+ }
320
+
321
+ export declare namespace Contents {
322
+ export {
323
+ type FetchRequest as FetchRequest,
324
+ type Response as Response,
325
+ type ContentFetchParams as ContentFetchParams,
326
+ };
327
+ }
@@ -0,0 +1,16 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export { Contents, type FetchRequest, type Response, type ContentFetchParams } from './contents';
4
+ export { Providers, type Provider, type ProviderListResponse, type ProviderListParams } from './providers';
5
+ export {
6
+ SearchResource,
7
+ type Attempt,
8
+ type ProviderTarget,
9
+ type Request,
10
+ type Result,
11
+ type Search,
12
+ type Strategy,
13
+ type Usage,
14
+ type Warning,
15
+ type SearchCreateParams,
16
+ } from './search';
@@ -0,0 +1,197 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import { APIPromise } from '../../core/api-promise';
5
+ import { RequestOptions } from '../../internal/request-options';
6
+
7
+ /**
8
+ * Search the web and retrieve content for selected results.
9
+ */
10
+ export class Providers extends APIResource {
11
+ /**
12
+ * Lists providers, capabilities, and machine-readable native-option schemas. Auto
13
+ * and fallback are strategies, not provider entries. The list is not paginated and
14
+ * contains no latency benchmarks. X-Request-Id identifies the request.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const providers = await client.search.providers.list();
19
+ * ```
20
+ */
21
+ list(
22
+ query: ProviderListParams | null | undefined = {},
23
+ options?: RequestOptions,
24
+ ): APIPromise<ProviderListResponse> {
25
+ return this._client.get('/search/providers', { query, ...options });
26
+ }
27
+ }
28
+
29
+ export interface Provider {
30
+ content: Provider.Content;
31
+
32
+ max_results_cap: number;
33
+
34
+ params: Provider.Params;
35
+
36
+ provider_options: Provider.ProviderOptions;
37
+
38
+ slug: string;
39
+
40
+ /**
41
+ * Provider-specific limitations, conditional filter support, and warnings about
42
+ * search modes.
43
+ */
44
+ notes?: Array<string>;
45
+ }
46
+
47
+ export namespace Provider {
48
+ export interface Content {
49
+ /**
50
+ * Can enforce the requested maximum content age.
51
+ */
52
+ freshness_control: boolean;
53
+
54
+ /**
55
+ * Supports content retrieval with the search request.
56
+ */
57
+ inline: boolean;
58
+
59
+ /**
60
+ * Supports content retrieval after the search completes.
61
+ */
62
+ post_hoc: boolean;
63
+ }
64
+
65
+ export interface Params {
66
+ country: Params.Country;
67
+
68
+ end_date: Params.EndDate;
69
+
70
+ exclude_domains: Params.ExcludeDomains;
71
+
72
+ include_domains: Params.IncludeDomains;
73
+
74
+ language: Params.Language;
75
+
76
+ recency: Params.Recency;
77
+
78
+ safe_search: Params.SafeSearch;
79
+
80
+ start_date: Params.StartDate;
81
+ }
82
+
83
+ export namespace Params {
84
+ export interface Country {
85
+ support: 'native' | 'emulated' | 'unsupported';
86
+
87
+ /**
88
+ * Translation behavior, limitations, and precision.
89
+ */
90
+ notes?: string;
91
+ }
92
+
93
+ export interface EndDate {
94
+ support: 'native' | 'emulated' | 'unsupported';
95
+
96
+ /**
97
+ * Translation behavior, limitations, and precision.
98
+ */
99
+ notes?: string;
100
+ }
101
+
102
+ export interface ExcludeDomains {
103
+ support: 'native' | 'emulated' | 'unsupported';
104
+
105
+ /**
106
+ * Translation behavior, limitations, and precision.
107
+ */
108
+ notes?: string;
109
+ }
110
+
111
+ export interface IncludeDomains {
112
+ support: 'native' | 'emulated' | 'unsupported';
113
+
114
+ /**
115
+ * Translation behavior, limitations, and precision.
116
+ */
117
+ notes?: string;
118
+ }
119
+
120
+ export interface Language {
121
+ support: 'native' | 'emulated' | 'unsupported';
122
+
123
+ /**
124
+ * Translation behavior, limitations, and precision.
125
+ */
126
+ notes?: string;
127
+ }
128
+
129
+ export interface Recency {
130
+ support: 'native' | 'emulated' | 'unsupported';
131
+
132
+ /**
133
+ * Translation behavior, limitations, and precision.
134
+ */
135
+ notes?: string;
136
+ }
137
+
138
+ export interface SafeSearch {
139
+ support: 'native' | 'emulated' | 'unsupported';
140
+
141
+ /**
142
+ * Translation behavior, limitations, and precision.
143
+ */
144
+ notes?: string;
145
+ }
146
+
147
+ export interface StartDate {
148
+ support: 'native' | 'emulated' | 'unsupported';
149
+
150
+ /**
151
+ * Translation behavior, limitations, and precision.
152
+ */
153
+ notes?: string;
154
+ }
155
+ }
156
+
157
+ export interface ProviderOptions {
158
+ /**
159
+ * JSON Schema for the provider-native options accepted by POST /search.
160
+ */
161
+ schema: { [key: string]: unknown };
162
+
163
+ /**
164
+ * OpenAPI component name for the matching typed provider-options schema.
165
+ */
166
+ schema_ref: string;
167
+
168
+ examples?: Array<{ [key: string]: unknown }>;
169
+ }
170
+ }
171
+
172
+ export type ProviderListResponse = Array<Provider>;
173
+
174
+ export interface ProviderListParams {
175
+ /**
176
+ * Optional concrete provider slug filter. Omit to list every provider.
177
+ */
178
+ slug?:
179
+ | 'brave'
180
+ | 'exa'
181
+ | 'perplexity'
182
+ | 'context'
183
+ | 'parallel'
184
+ | 'valyu'
185
+ | 'octen'
186
+ | 'you'
187
+ | 'tavily'
188
+ | 'serpapi';
189
+ }
190
+
191
+ export declare namespace Providers {
192
+ export {
193
+ type Provider as Provider,
194
+ type ProviderListResponse as ProviderListResponse,
195
+ type ProviderListParams as ProviderListParams,
196
+ };
197
+ }