exa-js 1.9.1 → 1.9.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.
package/dist/index.d.mts CHANGED
@@ -1,585 +1,808 @@
1
1
  import { ZodSchema } from 'zod';
2
2
 
3
- /**
4
- * Base client for Websets API
5
- */
6
-
7
- /**
8
- * Type for API query parameters
9
- */
10
- type QueryParams$1 = Record<string, string | number | boolean | string[] | undefined>;
11
- /**
12
- * Type for API request body
13
- */
14
- interface RequestBody$1 {
15
- [key: string]: unknown;
16
- }
17
- /**
18
- * Common pagination parameters
19
- */
20
- interface PaginationParams {
21
- /**
22
- * Cursor for pagination
23
- */
24
- cursor?: string;
25
- /**
26
- * Maximum number of items per page
27
- */
28
- limit?: number;
29
- }
30
- /**
31
- * Base client class for all Websets-related API clients
32
- */
33
- declare class WebsetsBaseClient {
34
- protected client: Exa;
35
- /**
36
- * Initialize a new Websets base client
37
- * @param client The Exa client instance
38
- */
39
- constructor(client: Exa);
40
- /**
41
- * Make a request to the Websets API
42
- * @param endpoint The endpoint path
43
- * @param method The HTTP method
44
- * @param data Optional request body data
45
- * @param params Optional query parameters
46
- * @returns The response JSON
47
- * @throws ExaError with API error details if the request fails
48
- */
49
- protected request<T = unknown>(endpoint: string, method?: string, data?: RequestBody$1, params?: QueryParams$1, headers?: Record<string, string>): Promise<T>;
50
- /**
51
- * Helper to build pagination parameters
52
- * @param pagination The pagination parameters
53
- * @returns QueryParams object with pagination parameters
54
- */
55
- protected buildPaginationParams(pagination?: PaginationParams): QueryParams$1;
56
- }
57
-
58
3
  interface components$1 {
59
4
  schemas: {
60
- /** Article */
61
- ArticleEntity: {
62
- /**
63
- * @default article
64
- * @constant
65
- */
66
- type: "article";
67
- };
68
- /** Company */
69
- CompanyEntity: {
70
- /**
71
- * @default company
72
- * @constant
73
- */
74
- type: "company";
75
- };
76
- CreateCriterionParameters: {
77
- /** @description The description of the criterion */
78
- description: string;
5
+ ListResearchResponseDto: {
6
+ /** @description The list of research requests */
7
+ data: components$1["schemas"]["ResearchDtoClass"][];
8
+ /** @description Whether there are more results to paginate through */
9
+ hasMore: boolean;
10
+ /** @description The cursor to paginate through the next set of results */
11
+ nextCursor: string | null;
79
12
  };
80
- CreateEnrichmentParameters: {
81
- /** @description Provide a description of the enrichment task you want to perform to each Webset Item. */
82
- description: string;
13
+ ResearchCreateRequestDtoClass: {
14
+ /** @description Instructions for what research should be conducted */
15
+ instructions: string;
83
16
  /**
84
- * @description Format of the enrichment response.
85
- *
86
- * We automatically select the best format based on the description. If you want to explicitly specify the format, you can do so here.
17
+ * @default exa-research
87
18
  * @enum {string}
88
19
  */
89
- format?: CreateEnrichmentParametersFormat;
90
- /** @description Set of key-value pairs you want to associate with this object. */
91
- metadata?: {
92
- [key: string]: string;
20
+ model: "exa-research" | "exa-research-pro";
21
+ outputSchema?: {
22
+ [key: string]: unknown;
93
23
  };
94
- /** @description When the format is options, the different options for the enrichment agent to choose from. */
95
- options?: {
96
- /** @description The label of the option */
97
- label: string;
98
- }[];
99
24
  };
100
- CreateImportParameters: {
101
- /** @description The number of records to import */
102
- count: number;
103
- /** @description When format is `csv`, these are the specific import parameters. */
104
- csv?: {
105
- /** @description Column containing the key identifier for the entity (e.g. URL, Name, etc.). If not provided, we will try to infer it from the file. */
106
- identifier?: number;
107
- };
108
- /** @description What type of entity the import contains (e.g. People, Companies, etc.), and thus should be attempted to be resolved as. */
109
- entity: components$1["schemas"]["CompanyEntity"] | components$1["schemas"]["PersonEntity"] | components$1["schemas"]["ArticleEntity"] | components$1["schemas"]["ResearchPaperEntity"] | components$1["schemas"]["CustomEntity"];
25
+ ResearchDtoClass: {
26
+ /** @description Milliseconds since epoch time */
27
+ createdAt: number;
28
+ /** @description The instructions given to this research request */
29
+ instructions: string;
110
30
  /**
111
- * @description When the import is in CSV format, we expect a column containing the key identifier for the entity - for now URL. If not provided, import will fail to be processed.
31
+ * @description The model used for the research request
32
+ * @default exa-research
112
33
  * @enum {string}
113
34
  */
114
- format: CreateImportParametersFormat;
115
- /** @description Set of key-value pairs you want to associate with this object. */
116
- metadata?: {
117
- [key: string]: string;
35
+ model: "exa-research" | "exa-research-pro";
36
+ outputSchema?: {
37
+ [key: string]: unknown;
118
38
  };
119
- /** @description The size of the file in megabytes. Maximum size is 50 MB. */
120
- size: number;
121
- /** @description The title of the import */
122
- title?: string;
123
- };
124
- /** @description The response to a successful import. Includes the upload URL and the upload valid until date. */
125
- CreateImportResponse: {
126
- /** @description The number of entities in the import */
127
- count: number;
128
- /**
129
- * Format: date-time
130
- * @description When the import was created
131
- */
132
- createdAt: string;
133
- /** @description The type of entity the import contains. */
134
- entity: components$1["schemas"]["Entity"];
135
- /**
136
- * Format: date-time
137
- * @description When the import failed
138
- */
139
- failedAt: string | null;
140
- /** @description A human readable message of the import failure */
141
- failedMessage: string | null;
142
- /**
143
- * @description The reason the import failed
144
- * @enum {string|null}
145
- */
146
- failedReason: CreateImportResponseFailedReason;
39
+ /** @description The unique identifier for the research request */
40
+ researchId: string;
41
+ /** @enum {string} */
42
+ status: "pending";
43
+ } | {
44
+ /** @description Milliseconds since epoch time */
45
+ createdAt: number;
46
+ events?: components$1["schemas"]["ResearchEventDtoClass"][];
47
+ /** @description The instructions given to this research request */
48
+ instructions: string;
147
49
  /**
148
- * @description The format of the import.
50
+ * @description The model used for the research request
51
+ * @default exa-research
149
52
  * @enum {string}
150
53
  */
151
- format: CreateImportResponseFormat;
152
- /** @description The unique identifier for the Import */
153
- id: string;
154
- /** @description Set of key-value pairs you want to associate with this object. */
155
- metadata: {
156
- [key: string]: string;
54
+ model: "exa-research" | "exa-research-pro";
55
+ outputSchema?: {
56
+ [key: string]: unknown;
57
+ };
58
+ /** @description The unique identifier for the research request */
59
+ researchId: string;
60
+ /** @enum {string} */
61
+ status: "running";
62
+ } | {
63
+ costDollars: {
64
+ numPages: number;
65
+ numSearches: number;
66
+ reasoningTokens: number;
67
+ total: number;
157
68
  };
69
+ /** @description Milliseconds since epoch time */
70
+ createdAt: number;
71
+ events?: components$1["schemas"]["ResearchEventDtoClass"][];
72
+ /** @description Milliseconds since epoch time */
73
+ finishedAt: number;
74
+ /** @description The instructions given to this research request */
75
+ instructions: string;
158
76
  /**
159
- * @description The type of object
77
+ * @description The model used for the research request
78
+ * @default exa-research
160
79
  * @enum {string}
161
80
  */
162
- object: CreateImportResponseObject;
81
+ model: "exa-research" | "exa-research-pro";
82
+ output: {
83
+ content: string;
84
+ parsed?: {
85
+ [key: string]: unknown;
86
+ };
87
+ };
88
+ outputSchema?: {
89
+ [key: string]: unknown;
90
+ };
91
+ /** @description The unique identifier for the research request */
92
+ researchId: string;
93
+ /** @enum {string} */
94
+ status: "completed";
95
+ } | {
96
+ /** @description Milliseconds since epoch time */
97
+ createdAt: number;
98
+ events?: components$1["schemas"]["ResearchEventDtoClass"][];
99
+ /** @description Milliseconds since epoch time */
100
+ finishedAt: number;
101
+ /** @description The instructions given to this research request */
102
+ instructions: string;
163
103
  /**
164
- * @description The status of the Import
104
+ * @description The model used for the research request
105
+ * @default exa-research
165
106
  * @enum {string}
166
107
  */
167
- status: CreateImportResponseStatus;
168
- /** @description The title of the import */
169
- title: string;
108
+ model: "exa-research" | "exa-research-pro";
109
+ outputSchema?: {
110
+ [key: string]: unknown;
111
+ };
112
+ /** @description The unique identifier for the research request */
113
+ researchId: string;
114
+ /** @enum {string} */
115
+ status: "canceled";
116
+ } | {
117
+ /** @description Milliseconds since epoch time */
118
+ createdAt: number;
119
+ /** @description A message indicating why the request failed */
120
+ error: string;
121
+ events?: components$1["schemas"]["ResearchEventDtoClass"][];
122
+ /** @description Milliseconds since epoch time */
123
+ finishedAt: number;
124
+ /** @description The instructions given to this research request */
125
+ instructions: string;
170
126
  /**
171
- * Format: date-time
172
- * @description When the import was last updated
127
+ * @description The model used for the research request
128
+ * @default exa-research
129
+ * @enum {string}
173
130
  */
174
- updatedAt: string;
175
- /** @description The URL to upload the file to */
176
- uploadUrl: string;
177
- /** @description The date and time until the upload URL is valid. The upload URL will be valid for 1 hour. */
178
- uploadValidUntil: string;
131
+ model: "exa-research" | "exa-research-pro";
132
+ outputSchema?: {
133
+ [key: string]: unknown;
134
+ };
135
+ /** @description The unique identifier for the research request */
136
+ researchId: string;
137
+ /** @enum {string} */
138
+ status: "failed";
179
139
  };
180
- CreateMonitorParameters: {
181
- /** @description Behavior to perform when monitor runs */
182
- behavior: {
183
- /** @description Specify the search parameters for the Monitor.
184
- *
185
- * By default, the search parameters (query, entity and criteria) from the last search are used when no parameters are provided. */
186
- config: {
187
- /**
188
- * @description The behaviour of the Search when it is added to a Webset.
189
- * @default append
190
- * @enum {string}
191
- */
192
- behavior: WebsetSearchBehavior;
193
- /** @description The maximum number of results to find */
194
- count: number;
195
- /** @description The criteria to search for. By default, the criteria from the last search is used. */
196
- criteria?: {
197
- description: string;
198
- }[];
199
- /**
200
- * Entity
201
- * @description The entity to search for. By default, the entity from the last search/import is used.
202
- */
203
- entity?: components$1["schemas"]["Entity"];
204
- /** @description The query to search for. By default, the query from the last search is used. */
205
- query?: string;
206
- };
207
- /**
208
- * @default search
209
- * @constant
210
- */
211
- type: "search";
212
- };
213
- /** @description How often the monitor will run */
214
- cadence: {
215
- /** @description Cron expression for monitor cadence (must be a valid Unix cron with 5 fields). The schedule must trigger at most once per day. */
216
- cron: string;
217
- /**
218
- * @description IANA timezone (e.g., "America/New_York")
219
- * @default Etc/UTC
220
- */
221
- timezone: string;
222
- };
223
- metadata?: {
224
- [key: string]: string;
225
- };
226
- /** @description The id of the Webset */
227
- websetId: string;
228
- };
229
- CreateWebhookParameters: {
230
- /** @description The events to trigger the webhook */
231
- events: EventType[];
232
- /** @description Set of key-value pairs you want to associate with this object. */
233
- metadata?: {
234
- [key: string]: string;
140
+ ResearchEventDtoClass: ({
141
+ /** @description Milliseconds since epoch time */
142
+ createdAt: number;
143
+ /** @enum {string} */
144
+ eventType: "research-definition";
145
+ instructions: string;
146
+ outputSchema?: {
147
+ [key: string]: unknown;
235
148
  };
236
- /**
237
- * Format: uri
238
- * @description The URL to send the webhook to
239
- */
240
- url: string;
241
- };
242
- CreateWebsetParameters: {
243
- /** @description Add enrichments to extract additional data from found items.
244
- *
245
- * Enrichments automatically search for and extract specific information (like contact details, funding data, employee counts, etc.) from each item added to your Webset. */
246
- enrichments?: components$1["schemas"]["CreateEnrichmentParameters"][];
247
- /** @description The external identifier for the webset.
248
- *
249
- * You can use this to reference the Webset by your own internal identifiers. */
250
- externalId?: string;
251
- /** @description Import data from existing Websets and Imports into this Webset. */
252
- import?: {
253
- /** @description The ID of the source to search. */
254
- id: string;
149
+ researchId: string;
150
+ } | {
151
+ /** @description Milliseconds since epoch time */
152
+ createdAt: number;
153
+ /** @enum {string} */
154
+ eventType: "research-output";
155
+ output: {
156
+ content: string;
157
+ costDollars: {
158
+ numPages: number;
159
+ numSearches: number;
160
+ reasoningTokens: number;
161
+ total: number;
162
+ };
255
163
  /** @enum {string} */
256
- source: WebsetImportSource;
257
- }[];
258
- /** @description Set of key-value pairs you want to associate with this object. */
259
- metadata?: {
260
- [key: string]: string;
164
+ outputType: "completed";
165
+ parsed?: {
166
+ [key: string]: unknown;
167
+ };
168
+ } | {
169
+ error: string;
170
+ /** @enum {string} */
171
+ outputType: "failed";
261
172
  };
262
- /** @description Create initial search for the Webset. */
263
- search?: {
264
- /**
265
- * @description Number of Items the Webset will attempt to find.
266
- *
267
- * The actual number of Items found may be less than this number depending on the search complexity.
268
- * @default 10
269
- */
270
- count: number;
271
- /** @description Criteria every item is evaluated against.
272
- *
273
- * It's not required to provide your own criteria, we automatically detect the criteria from all the information provided in the query. Only use this when you need more fine control. */
274
- criteria?: components$1["schemas"]["CreateCriterionParameters"][];
275
- /** @description Entity the Webset will return results for.
276
- *
277
- * It is not required to provide it, we automatically detect the entity from all the information provided in the query. Only use this when you need more fine control. */
278
- entity?: components$1["schemas"]["Entity"];
279
- /** @description Sources (existing imports or websets) to exclude from search results. Any results found within these sources will be omitted to prevent finding them during search. */
280
- exclude?: {
281
- /** @description The ID of the source to exclude. */
282
- id: string;
283
- /** @enum {string} */
284
- source: WebsetSearchExcludeSource;
285
- }[];
286
- /** @description Natural language search query describing what you are looking for.
287
- *
288
- * Be specific and descriptive about your requirements, characteristics, and any constraints that help narrow down the results.
289
- *
290
- * Any URLs provided will be crawled and used as additional context for the search. */
173
+ researchId: string;
174
+ }) | ({
175
+ /** @description Milliseconds since epoch time */
176
+ createdAt: number;
177
+ /** @enum {string} */
178
+ eventType: "plan-definition";
179
+ planId: string;
180
+ researchId: string;
181
+ } | {
182
+ /** @description Milliseconds since epoch time */
183
+ createdAt: number;
184
+ data: components$1["schemas"]["ResearchOperationDtoClass"];
185
+ /** @enum {string} */
186
+ eventType: "plan-operation";
187
+ operationId: string;
188
+ planId: string;
189
+ researchId: string;
190
+ } | {
191
+ /** @description Milliseconds since epoch time */
192
+ createdAt: number;
193
+ /** @enum {string} */
194
+ eventType: "plan-output";
195
+ output: components$1["schemas"]["ResearchOperationDtoClass"];
196
+ planId: string;
197
+ researchId: string;
198
+ }) | ({
199
+ /** @description Milliseconds since epoch time */
200
+ createdAt: number;
201
+ /** @enum {string} */
202
+ eventType: "task-definition";
203
+ instructions: string;
204
+ planId: string;
205
+ researchId: string;
206
+ taskId: string;
207
+ } | {
208
+ /** @description Milliseconds since epoch time */
209
+ createdAt: number;
210
+ data: {
211
+ content: string;
212
+ /** @enum {string} */
213
+ type: "think";
214
+ } | {
215
+ goal?: string;
216
+ pageTokens: number;
291
217
  query: string;
292
- /** @description Whether to provide an estimate of how many total relevant results could exist for this search.
293
- * Result of the analysis will be available in the `recall` field within the search request. */
294
- recall?: boolean;
295
- /** @description Limit the search to specific sources (existing imports or websets). Any results found within these sources matching the search criteria will be included in the Webset. */
296
- scope?: {
297
- /** @description The ID of the source to search. */
298
- id: string;
299
- relationship?: {
300
- /** @description What the relationship of the entities you hope to find is relative to the entities contained in the provided source. */
301
- definition: string;
302
- limit: number;
303
- };
304
- /** @enum {string} */
305
- source: WebsetSearchScopeSource;
218
+ results: {
219
+ url: string;
306
220
  }[];
307
- };
308
- };
309
- CreateWebsetSearchParameters: {
310
- /**
311
- * @description How this search interacts with existing items in the Webset:
312
- *
313
- * - **override**: Replace existing items and evaluate all items against new criteria
314
- * - **append**: Add new items to existing ones, keeping items that match the new criteria
315
- * @default override
316
- */
317
- behavior: WebsetSearchBehavior;
318
- /** @description Number of Items the Search will attempt to find.
319
- *
320
- * The actual number of Items found may be less than this number depending on the query complexity. */
321
- count: number;
322
- /** @description Criteria every item is evaluated against.
323
- *
324
- * It's not required to provide your own criteria, we automatically detect the criteria from all the information provided in the query. Only use this when you need more fine control. */
325
- criteria?: components$1["schemas"]["CreateCriterionParameters"][];
326
- /** @description Entity the search will return results for.
327
- *
328
- * It is not required to provide it, we automatically detect the entity from all the information provided in the query. Only use this when you need more fine control. */
329
- entity?: components$1["schemas"]["Entity"];
330
- /** @description Sources (existing imports or websets) to exclude from search results. Any results found within these sources will be omitted to prevent finding them during search. */
331
- exclude?: {
332
- /** @description The ID of the source to exclude. */
333
- id: string;
334
221
  /** @enum {string} */
335
- source: WebsetSearchExcludeSource;
336
- }[];
337
- /** @description Set of key-value pairs you want to associate with this object. */
338
- metadata?: {
339
- [key: string]: string;
340
- };
341
- /** @description Natural language search query describing what you are looking for.
342
- *
343
- * Be specific and descriptive about your requirements, characteristics, and any constraints that help narrow down the results.
344
- *
345
- * Any URLs provided will be crawled and used as additional context for the search. */
346
- query: string;
347
- /** @description Whether to provide an estimate of how many total relevant results could exist for this search.
348
- * Result of the analysis will be available in the `recall` field within the search request. */
349
- recall?: boolean;
350
- /** @description Limit the search to specific sources (existing imports). Any results found within these sources matching the search criteria will be included in the Webset. */
351
- scope?: {
352
- /** @description The ID of the source to search. */
353
- id: string;
354
- relationship?: {
355
- /** @description What the relationship of the entities you hope to find is relative to the entities contained in the provided source. */
356
- definition: string;
357
- limit: number;
222
+ searchType: "neural" | "keyword" | "auto" | "fast";
223
+ /** @enum {string} */
224
+ type: "search";
225
+ } | {
226
+ goal?: string;
227
+ pageTokens: number;
228
+ result: {
229
+ url: string;
358
230
  };
359
231
  /** @enum {string} */
360
- source: WebsetSearchScopeSource;
361
- }[];
362
- };
363
- /** Custom */
364
- CustomEntity: {
365
- description: string;
366
- /**
367
- * @default custom
368
- * @constant
369
- */
370
- type: "custom";
371
- };
372
- EnrichmentResult: {
373
- /** @description The id of the Enrichment that generated the result */
374
- enrichmentId: string;
375
- format: components$1["schemas"]["WebsetEnrichmentFormat"];
376
- /**
377
- * @default enrichment_result
378
- * @constant
379
- */
380
- object: "enrichment_result";
381
- /** @description The reasoning for the result when an Agent is used. */
382
- reasoning: string | null;
383
- /** @description The references used to generate the result. */
384
- references: {
385
- /** @description The relevant snippet of the reference content */
386
- snippet: string | null;
387
- /** @description The title of the reference */
388
- title: string | null;
389
- /**
390
- * Format: uri
391
- * @description The URL of the reference
392
- */
232
+ type: "crawl";
233
+ };
234
+ /** @enum {string} */
235
+ eventType: "task-operation";
236
+ operationId: string;
237
+ planId: string;
238
+ researchId: string;
239
+ taskId: string;
240
+ } | {
241
+ /** @description Milliseconds since epoch time */
242
+ createdAt: number;
243
+ /** @enum {string} */
244
+ eventType: "task-output";
245
+ output: {
246
+ content: string;
247
+ /** @enum {string} */
248
+ outputType: "completed";
249
+ };
250
+ planId: string;
251
+ researchId: string;
252
+ taskId: string;
253
+ });
254
+ ResearchOperationDtoClass: {
255
+ content: string;
256
+ /** @enum {string} */
257
+ type: "think";
258
+ } | {
259
+ goal?: string;
260
+ pageTokens: number;
261
+ query: string;
262
+ results: {
393
263
  url: string;
394
264
  }[];
395
- /** @description The result of the enrichment. */
396
- result: string[] | null;
397
- /**
398
- * @description The status of the enrichment result.
399
- * @enum {string}
400
- */
401
- status: EnrichmentResultStatus;
265
+ /** @enum {string} */
266
+ searchType: "neural" | "keyword" | "auto" | "fast";
267
+ /** @enum {string} */
268
+ type: "search";
269
+ } | {
270
+ goal?: string;
271
+ pageTokens: number;
272
+ result: {
273
+ url: string;
274
+ };
275
+ /** @enum {string} */
276
+ type: "crawl";
402
277
  };
403
- Entity: components$1["schemas"]["CompanyEntity"] | components$1["schemas"]["PersonEntity"] | components$1["schemas"]["ArticleEntity"] | components$1["schemas"]["ResearchPaperEntity"] | components$1["schemas"]["CustomEntity"];
404
- /** Event */
405
- Event: {
406
- /**
407
- * Format: date-time
408
- * @description The date and time the event was created
409
- */
410
- createdAt: string;
411
- data: components$1["schemas"]["Webset"];
412
- /** @description The unique identifier for the event */
413
- id: string;
278
+ };
279
+ responses: never;
280
+ parameters: never;
281
+ requestBodies: never;
282
+ headers: never;
283
+ pathItems: never;
284
+ }
285
+
286
+ type Research = components$1["schemas"]["ResearchDtoClass"];
287
+ type ResearchStatus = Research["status"];
288
+ type ResearchEvent = components$1["schemas"]["ResearchEventDtoClass"];
289
+ type ResearchOperation = components$1["schemas"]["ResearchOperationDtoClass"];
290
+ type DeepReplaceParsed<T, TData> = T extends {
291
+ parsed?: Record<string, unknown>;
292
+ } ? Omit<T, "parsed"> & {
293
+ parsed: TData;
294
+ } : T extends object ? {
295
+ [K in keyof T]: DeepReplaceParsed<T[K], TData>;
296
+ } : T;
297
+ type ResearchTyped<T> = DeepReplaceParsed<Research, T>;
298
+ type ResearchStreamEventTyped<T> = DeepReplaceParsed<ResearchStreamEvent, T>;
299
+ type ListResearchRequest = {
300
+ cursor?: string;
301
+ limit?: number;
302
+ };
303
+ type ListResearchResponse = components$1["schemas"]["ListResearchResponseDto"];
304
+ type ResearchCreateRequest = components$1["schemas"]["ResearchCreateRequestDtoClass"];
305
+ type ResearchCreateResponse = Research;
306
+ type ResearchStreamEvent = ResearchEvent;
307
+ /**
308
+ * Enhanced research creation params with zod schema support
309
+ */
310
+ type ResearchCreateParamsTyped<T> = {
311
+ instructions: string;
312
+ model?: "exa-research" | "exa-research-pro";
313
+ outputSchema?: T;
314
+ };
315
+ type ResearchDefinitionEvent = Extract<ResearchEvent, {
316
+ eventType: "research-definition";
317
+ }>;
318
+ type ResearchOutputEvent = Extract<ResearchEvent, {
319
+ eventType: "research-output";
320
+ }>;
321
+ type ResearchPlanDefinitionEvent = Extract<ResearchEvent, {
322
+ eventType: "plan-definition";
323
+ }>;
324
+ type ResearchPlanOperationEvent = Extract<ResearchEvent, {
325
+ eventType: "plan-operation";
326
+ }>;
327
+ type ResearchPlanOutputEvent = Extract<ResearchEvent, {
328
+ eventType: "plan-output";
329
+ }>;
330
+ type ResearchTaskDefinitionEvent = Extract<ResearchEvent, {
331
+ eventType: "task-definition";
332
+ }>;
333
+ type ResearchTaskOperationEvent = Extract<ResearchEvent, {
334
+ eventType: "task-operation";
335
+ }>;
336
+ type ResearchTaskOutputEvent = Extract<ResearchEvent, {
337
+ eventType: "task-output";
338
+ }>;
339
+
340
+ type QueryParams$1 = Record<string, string | number | boolean | string[] | undefined>;
341
+ interface RequestBody$1 {
342
+ [key: string]: unknown;
343
+ }
344
+ declare class ResearchBaseClient {
345
+ protected client: Exa;
346
+ constructor(client: Exa);
347
+ protected request<T = unknown>(endpoint: string, method?: string, data?: RequestBody$1, params?: QueryParams$1): Promise<T>;
348
+ protected rawRequest(endpoint: string, method?: string, data?: RequestBody$1, params?: QueryParams$1): Promise<Response>;
349
+ protected buildPaginationParams(pagination?: ListResearchRequest): QueryParams$1;
350
+ }
351
+
352
+ declare class ResearchClient extends ResearchBaseClient {
353
+ constructor(client: Exa);
354
+ create<T>(params: ResearchCreateParamsTyped<ZodSchema<T>>): Promise<ResearchCreateResponse>;
355
+ create(params: {
356
+ instructions: string;
357
+ model?: "exa-research" | "exa-research-pro";
358
+ outputSchema?: Record<string, unknown>;
359
+ }): Promise<ResearchCreateResponse>;
360
+ get(researchId: string): Promise<Research>;
361
+ get(researchId: string, options: {
362
+ stream?: false;
363
+ events?: boolean;
364
+ }): Promise<Research>;
365
+ get<T>(researchId: string, options: {
366
+ stream?: false;
367
+ events?: boolean;
368
+ outputSchema: ZodSchema<T>;
369
+ }): Promise<ResearchTyped<T>>;
370
+ get(researchId: string, options: {
371
+ stream: true;
372
+ events?: boolean;
373
+ }): Promise<AsyncGenerator<ResearchStreamEvent, any, any>>;
374
+ get<T>(researchId: string, options: {
375
+ stream: true;
376
+ events?: boolean;
377
+ outputSchema?: ZodSchema<T>;
378
+ }): Promise<AsyncGenerator<ResearchStreamEvent, any, any>>;
379
+ list(options?: ListResearchRequest): Promise<ListResearchResponse>;
380
+ pollUntilFinished(researchId: string, options?: {
381
+ pollInterval?: number;
382
+ timeoutMs?: number;
383
+ events?: boolean;
384
+ }): Promise<Research & {
385
+ status: "completed" | "failed" | "canceled";
386
+ }>;
387
+ pollUntilFinished<T>(researchId: string, options?: {
388
+ pollInterval?: number;
389
+ timeoutMs?: number;
390
+ events?: boolean;
391
+ outputSchema: ZodSchema<T>;
392
+ }): Promise<ResearchTyped<T> & {
393
+ status: "completed" | "failed" | "canceled";
394
+ }>;
395
+ }
396
+
397
+ /**
398
+ * Base client for Websets API
399
+ */
400
+
401
+ /**
402
+ * Type for API query parameters
403
+ */
404
+ type QueryParams = Record<string, string | number | boolean | string[] | undefined>;
405
+ /**
406
+ * Type for API request body
407
+ */
408
+ interface RequestBody {
409
+ [key: string]: unknown;
410
+ }
411
+ /**
412
+ * Common pagination parameters
413
+ */
414
+ interface PaginationParams {
415
+ /**
416
+ * Cursor for pagination
417
+ */
418
+ cursor?: string;
419
+ /**
420
+ * Maximum number of items per page
421
+ */
422
+ limit?: number;
423
+ }
424
+ /**
425
+ * Base client class for all Websets-related API clients
426
+ */
427
+ declare class WebsetsBaseClient {
428
+ protected client: Exa;
429
+ /**
430
+ * Initialize a new Websets base client
431
+ * @param client The Exa client instance
432
+ */
433
+ constructor(client: Exa);
434
+ /**
435
+ * Make a request to the Websets API
436
+ * @param endpoint The endpoint path
437
+ * @param method The HTTP method
438
+ * @param data Optional request body data
439
+ * @param params Optional query parameters
440
+ * @returns The response JSON
441
+ * @throws ExaError with API error details if the request fails
442
+ */
443
+ protected request<T = unknown>(endpoint: string, method?: string, data?: RequestBody, params?: QueryParams, headers?: Record<string, string>): Promise<T>;
444
+ /**
445
+ * Helper to build pagination parameters
446
+ * @param pagination The pagination parameters
447
+ * @returns QueryParams object with pagination parameters
448
+ */
449
+ protected buildPaginationParams(pagination?: PaginationParams): QueryParams;
450
+ }
451
+
452
+ interface components {
453
+ schemas: {
454
+ /** Article */
455
+ ArticleEntity: {
414
456
  /**
415
- * @default event
457
+ * @default article
416
458
  * @constant
417
459
  */
418
- object: "event";
460
+ type: "article";
461
+ };
462
+ /** Company */
463
+ CompanyEntity: {
419
464
  /**
420
- * @default webset.created
465
+ * @default company
421
466
  * @constant
422
467
  */
423
- type: "webset.created";
424
- } | {
425
- /**
426
- * Format: date-time
427
- * @description The date and time the event was created
428
- */
429
- createdAt: string;
430
- data: components$1["schemas"]["Webset"];
431
- /** @description The unique identifier for the event */
432
- id: string;
433
- /**
434
- * @default event
435
- * @constant
436
- */
437
- object: "event";
438
- /**
439
- * @default webset.deleted
440
- * @constant
441
- */
442
- type: "webset.deleted";
443
- } | {
444
- /**
445
- * Format: date-time
446
- * @description The date and time the event was created
447
- */
448
- createdAt: string;
449
- data: components$1["schemas"]["Webset"];
450
- /** @description The unique identifier for the event */
451
- id: string;
452
- /**
453
- * @default event
454
- * @constant
455
- */
456
- object: "event";
457
- /**
458
- * @default webset.idle
459
- * @constant
460
- */
461
- type: "webset.idle";
462
- } | {
463
- /**
464
- * Format: date-time
465
- * @description The date and time the event was created
466
- */
467
- createdAt: string;
468
- data: components$1["schemas"]["Webset"];
469
- /** @description The unique identifier for the event */
470
- id: string;
471
- /**
472
- * @default event
473
- * @constant
474
- */
475
- object: "event";
476
- /**
477
- * @default webset.paused
478
- * @constant
479
- */
480
- type: "webset.paused";
481
- } | {
482
- /**
483
- * Format: date-time
484
- * @description The date and time the event was created
485
- */
486
- createdAt: string;
487
- data: components$1["schemas"]["WebsetItem"];
488
- /** @description The unique identifier for the event */
489
- id: string;
468
+ type: "company";
469
+ };
470
+ CreateCriterionParameters: {
471
+ /** @description The description of the criterion */
472
+ description: string;
473
+ };
474
+ CreateEnrichmentParameters: {
475
+ /** @description Provide a description of the enrichment task you want to perform to each Webset Item. */
476
+ description: string;
490
477
  /**
491
- * @default event
492
- * @constant
478
+ * @description Format of the enrichment response.
479
+ *
480
+ * We automatically select the best format based on the description. If you want to explicitly specify the format, you can do so here.
481
+ * @enum {string}
493
482
  */
494
- object: "event";
483
+ format?: CreateEnrichmentParametersFormat;
484
+ /** @description Set of key-value pairs you want to associate with this object. */
485
+ metadata?: {
486
+ [key: string]: string;
487
+ };
488
+ /** @description When the format is options, the different options for the enrichment agent to choose from. */
489
+ options?: {
490
+ /** @description The label of the option */
491
+ label: string;
492
+ }[];
493
+ };
494
+ CreateImportParameters: {
495
+ /** @description The number of records to import */
496
+ count: number;
497
+ /** @description When format is `csv`, these are the specific import parameters. */
498
+ csv?: {
499
+ /** @description Column containing the key identifier for the entity (e.g. URL, Name, etc.). If not provided, we will try to infer it from the file. */
500
+ identifier?: number;
501
+ };
502
+ /** @description What type of entity the import contains (e.g. People, Companies, etc.), and thus should be attempted to be resolved as. */
503
+ entity: components["schemas"]["CompanyEntity"] | components["schemas"]["PersonEntity"] | components["schemas"]["ArticleEntity"] | components["schemas"]["ResearchPaperEntity"] | components["schemas"]["CustomEntity"];
495
504
  /**
496
- * @default webset.item.created
497
- * @constant
505
+ * @description When the import is in CSV format, we expect a column containing the key identifier for the entity - for now URL. If not provided, import will fail to be processed.
506
+ * @enum {string}
498
507
  */
499
- type: "webset.item.created";
500
- } | {
508
+ format: CreateImportParametersFormat;
509
+ /** @description Set of key-value pairs you want to associate with this object. */
510
+ metadata?: {
511
+ [key: string]: string;
512
+ };
513
+ /** @description The size of the file in megabytes. Maximum size is 50 MB. */
514
+ size: number;
515
+ /** @description The title of the import */
516
+ title?: string;
517
+ };
518
+ /** @description The response to a successful import. Includes the upload URL and the upload valid until date. */
519
+ CreateImportResponse: {
520
+ /** @description The number of entities in the import */
521
+ count: number;
501
522
  /**
502
523
  * Format: date-time
503
- * @description The date and time the event was created
524
+ * @description When the import was created
504
525
  */
505
526
  createdAt: string;
506
- data: components$1["schemas"]["WebsetItem"];
507
- /** @description The unique identifier for the event */
508
- id: string;
509
- /**
510
- * @default event
511
- * @constant
512
- */
513
- object: "event";
514
- /**
515
- * @default webset.item.enriched
516
- * @constant
517
- */
518
- type: "webset.item.enriched";
519
- } | {
527
+ /** @description The type of entity the import contains. */
528
+ entity: components["schemas"]["Entity"];
520
529
  /**
521
530
  * Format: date-time
522
- * @description The date and time the event was created
523
- */
524
- createdAt: string;
525
- data: components$1["schemas"]["WebsetSearch"];
526
- /** @description The unique identifier for the event */
527
- id: string;
528
- /**
529
- * @default event
530
- * @constant
531
+ * @description When the import failed
531
532
  */
532
- object: "event";
533
+ failedAt: string | null;
534
+ /** @description A human readable message of the import failure */
535
+ failedMessage: string | null;
533
536
  /**
534
- * @default webset.search.created
535
- * @constant
537
+ * @description The reason the import failed
538
+ * @enum {string|null}
536
539
  */
537
- type: "webset.search.created";
538
- } | {
540
+ failedReason: CreateImportResponseFailedReason;
539
541
  /**
540
- * Format: date-time
541
- * @description The date and time the event was created
542
+ * @description The format of the import.
543
+ * @enum {string}
542
544
  */
543
- createdAt: string;
544
- data: components$1["schemas"]["WebsetSearch"];
545
- /** @description The unique identifier for the event */
545
+ format: CreateImportResponseFormat;
546
+ /** @description The unique identifier for the Import */
546
547
  id: string;
548
+ /** @description Set of key-value pairs you want to associate with this object. */
549
+ metadata: {
550
+ [key: string]: string;
551
+ };
547
552
  /**
548
- * @default event
549
- * @constant
553
+ * @description The type of object
554
+ * @enum {string}
550
555
  */
551
- object: "event";
556
+ object: CreateImportResponseObject;
552
557
  /**
553
- * @default webset.search.updated
554
- * @constant
558
+ * @description The status of the Import
559
+ * @enum {string}
555
560
  */
556
- type: "webset.search.updated";
557
- } | {
561
+ status: CreateImportResponseStatus;
562
+ /** @description The title of the import */
563
+ title: string;
558
564
  /**
559
565
  * Format: date-time
560
- * @description The date and time the event was created
566
+ * @description When the import was last updated
561
567
  */
562
- createdAt: string;
563
- data: components$1["schemas"]["WebsetSearch"];
564
- /** @description The unique identifier for the event */
565
- id: string;
568
+ updatedAt: string;
569
+ /** @description The URL to upload the file to */
570
+ uploadUrl: string;
571
+ /** @description The date and time until the upload URL is valid. The upload URL will be valid for 1 hour. */
572
+ uploadValidUntil: string;
573
+ };
574
+ CreateMonitorParameters: {
575
+ /** @description Behavior to perform when monitor runs */
576
+ behavior: {
577
+ /** @description Specify the search parameters for the Monitor.
578
+ *
579
+ * By default, the search parameters (query, entity and criteria) from the last search are used when no parameters are provided. */
580
+ config: {
581
+ /**
582
+ * @description The behaviour of the Search when it is added to a Webset.
583
+ * @default append
584
+ * @enum {string}
585
+ */
586
+ behavior: WebsetSearchBehavior;
587
+ /** @description The maximum number of results to find */
588
+ count: number;
589
+ /** @description The criteria to search for. By default, the criteria from the last search is used. */
590
+ criteria?: {
591
+ description: string;
592
+ }[];
593
+ /**
594
+ * Entity
595
+ * @description The entity to search for. By default, the entity from the last search/import is used.
596
+ */
597
+ entity?: components["schemas"]["Entity"];
598
+ /** @description The query to search for. By default, the query from the last search is used. */
599
+ query?: string;
600
+ };
601
+ /**
602
+ * @default search
603
+ * @constant
604
+ */
605
+ type: "search";
606
+ };
607
+ /** @description How often the monitor will run */
608
+ cadence: {
609
+ /** @description Cron expression for monitor cadence (must be a valid Unix cron with 5 fields). The schedule must trigger at most once per day. */
610
+ cron: string;
611
+ /**
612
+ * @description IANA timezone (e.g., "America/New_York")
613
+ * @default Etc/UTC
614
+ */
615
+ timezone: string;
616
+ };
617
+ metadata?: {
618
+ [key: string]: string;
619
+ };
620
+ /** @description The id of the Webset */
621
+ websetId: string;
622
+ };
623
+ CreateWebhookParameters: {
624
+ /** @description The events to trigger the webhook */
625
+ events: EventType[];
626
+ /** @description Set of key-value pairs you want to associate with this object. */
627
+ metadata?: {
628
+ [key: string]: string;
629
+ };
566
630
  /**
567
- * @default event
568
- * @constant
631
+ * Format: uri
632
+ * @description The URL to send the webhook to
569
633
  */
570
- object: "event";
571
- /**
572
- * @default webset.search.canceled
573
- * @constant
634
+ url: string;
635
+ };
636
+ CreateWebsetParameters: {
637
+ /** @description Add enrichments to extract additional data from found items.
638
+ *
639
+ * Enrichments automatically search for and extract specific information (like contact details, funding data, employee counts, etc.) from each item added to your Webset. */
640
+ enrichments?: components["schemas"]["CreateEnrichmentParameters"][];
641
+ /** @description The external identifier for the webset.
642
+ *
643
+ * You can use this to reference the Webset by your own internal identifiers. */
644
+ externalId?: string;
645
+ /** @description Import data from existing Websets and Imports into this Webset. */
646
+ import?: {
647
+ /** @description The ID of the source to search. */
648
+ id: string;
649
+ /** @enum {string} */
650
+ source: WebsetImportSource;
651
+ }[];
652
+ /** @description Set of key-value pairs you want to associate with this object. */
653
+ metadata?: {
654
+ [key: string]: string;
655
+ };
656
+ /** @description Create initial search for the Webset. */
657
+ search?: {
658
+ /**
659
+ * @description Number of Items the Webset will attempt to find.
660
+ *
661
+ * The actual number of Items found may be less than this number depending on the search complexity.
662
+ * @default 10
663
+ */
664
+ count: number;
665
+ /** @description Criteria every item is evaluated against.
666
+ *
667
+ * It's not required to provide your own criteria, we automatically detect the criteria from all the information provided in the query. Only use this when you need more fine control. */
668
+ criteria?: components["schemas"]["CreateCriterionParameters"][];
669
+ /** @description Entity the Webset will return results for.
670
+ *
671
+ * It is not required to provide it, we automatically detect the entity from all the information provided in the query. Only use this when you need more fine control. */
672
+ entity?: components["schemas"]["Entity"];
673
+ /** @description Sources (existing imports or websets) to exclude from search results. Any results found within these sources will be omitted to prevent finding them during search. */
674
+ exclude?: {
675
+ /** @description The ID of the source to exclude. */
676
+ id: string;
677
+ /** @enum {string} */
678
+ source: WebsetSearchExcludeSource;
679
+ }[];
680
+ /** @description Natural language search query describing what you are looking for.
681
+ *
682
+ * Be specific and descriptive about your requirements, characteristics, and any constraints that help narrow down the results.
683
+ *
684
+ * Any URLs provided will be crawled and used as additional context for the search. */
685
+ query: string;
686
+ /** @description Whether to provide an estimate of how many total relevant results could exist for this search.
687
+ * Result of the analysis will be available in the `recall` field within the search request. */
688
+ recall?: boolean;
689
+ /** @description Limit the search to specific sources (existing imports or websets). Any results found within these sources matching the search criteria will be included in the Webset. */
690
+ scope?: {
691
+ /** @description The ID of the source to search. */
692
+ id: string;
693
+ relationship?: {
694
+ /** @description What the relationship of the entities you hope to find is relative to the entities contained in the provided source. */
695
+ definition: string;
696
+ limit: number;
697
+ };
698
+ /** @enum {string} */
699
+ source: WebsetSearchScopeSource;
700
+ }[];
701
+ };
702
+ };
703
+ CreateWebsetSearchParameters: {
704
+ /**
705
+ * @description How this search interacts with existing items in the Webset:
706
+ *
707
+ * - **override**: Replace existing items and evaluate all items against new criteria
708
+ * - **append**: Add new items to existing ones, keeping items that match the new criteria
709
+ * @default override
574
710
  */
575
- type: "webset.search.canceled";
576
- } | {
711
+ behavior: WebsetSearchBehavior;
712
+ /** @description Number of Items the Search will attempt to find.
713
+ *
714
+ * The actual number of Items found may be less than this number depending on the query complexity. */
715
+ count: number;
716
+ /** @description Criteria every item is evaluated against.
717
+ *
718
+ * It's not required to provide your own criteria, we automatically detect the criteria from all the information provided in the query. Only use this when you need more fine control. */
719
+ criteria?: components["schemas"]["CreateCriterionParameters"][];
720
+ /** @description Entity the search will return results for.
721
+ *
722
+ * It is not required to provide it, we automatically detect the entity from all the information provided in the query. Only use this when you need more fine control. */
723
+ entity?: components["schemas"]["Entity"];
724
+ /** @description Sources (existing imports or websets) to exclude from search results. Any results found within these sources will be omitted to prevent finding them during search. */
725
+ exclude?: {
726
+ /** @description The ID of the source to exclude. */
727
+ id: string;
728
+ /** @enum {string} */
729
+ source: WebsetSearchExcludeSource;
730
+ }[];
731
+ /** @description Set of key-value pairs you want to associate with this object. */
732
+ metadata?: {
733
+ [key: string]: string;
734
+ };
735
+ /** @description Natural language search query describing what you are looking for.
736
+ *
737
+ * Be specific and descriptive about your requirements, characteristics, and any constraints that help narrow down the results.
738
+ *
739
+ * Any URLs provided will be crawled and used as additional context for the search. */
740
+ query: string;
741
+ /** @description Whether to provide an estimate of how many total relevant results could exist for this search.
742
+ * Result of the analysis will be available in the `recall` field within the search request. */
743
+ recall?: boolean;
744
+ /** @description Limit the search to specific sources (existing imports). Any results found within these sources matching the search criteria will be included in the Webset. */
745
+ scope?: {
746
+ /** @description The ID of the source to search. */
747
+ id: string;
748
+ relationship?: {
749
+ /** @description What the relationship of the entities you hope to find is relative to the entities contained in the provided source. */
750
+ definition: string;
751
+ limit: number;
752
+ };
753
+ /** @enum {string} */
754
+ source: WebsetSearchScopeSource;
755
+ }[];
756
+ };
757
+ /** Custom */
758
+ CustomEntity: {
759
+ description: string;
760
+ /**
761
+ * @default custom
762
+ * @constant
763
+ */
764
+ type: "custom";
765
+ };
766
+ EnrichmentResult: {
767
+ /** @description The id of the Enrichment that generated the result */
768
+ enrichmentId: string;
769
+ format: components["schemas"]["WebsetEnrichmentFormat"];
770
+ /**
771
+ * @default enrichment_result
772
+ * @constant
773
+ */
774
+ object: "enrichment_result";
775
+ /** @description The reasoning for the result when an Agent is used. */
776
+ reasoning: string | null;
777
+ /** @description The references used to generate the result. */
778
+ references: {
779
+ /** @description The relevant snippet of the reference content */
780
+ snippet: string | null;
781
+ /** @description The title of the reference */
782
+ title: string | null;
783
+ /**
784
+ * Format: uri
785
+ * @description The URL of the reference
786
+ */
787
+ url: string;
788
+ }[];
789
+ /** @description The result of the enrichment. */
790
+ result: string[] | null;
791
+ /**
792
+ * @description The status of the enrichment result.
793
+ * @enum {string}
794
+ */
795
+ status: EnrichmentResultStatus;
796
+ };
797
+ Entity: components["schemas"]["CompanyEntity"] | components["schemas"]["PersonEntity"] | components["schemas"]["ArticleEntity"] | components["schemas"]["ResearchPaperEntity"] | components["schemas"]["CustomEntity"];
798
+ /** Event */
799
+ Event: {
577
800
  /**
578
801
  * Format: date-time
579
802
  * @description The date and time the event was created
580
803
  */
581
804
  createdAt: string;
582
- data: components$1["schemas"]["WebsetSearch"];
805
+ data: components["schemas"]["Webset"];
583
806
  /** @description The unique identifier for the event */
584
807
  id: string;
585
808
  /**
@@ -588,17 +811,17 @@ interface components$1 {
588
811
  */
589
812
  object: "event";
590
813
  /**
591
- * @default webset.search.completed
814
+ * @default webset.created
592
815
  * @constant
593
816
  */
594
- type: "webset.search.completed";
817
+ type: "webset.created";
595
818
  } | {
596
819
  /**
597
820
  * Format: date-time
598
821
  * @description The date and time the event was created
599
822
  */
600
823
  createdAt: string;
601
- data: components$1["schemas"]["Import"];
824
+ data: components["schemas"]["Webset"];
602
825
  /** @description The unique identifier for the event */
603
826
  id: string;
604
827
  /**
@@ -607,17 +830,17 @@ interface components$1 {
607
830
  */
608
831
  object: "event";
609
832
  /**
610
- * @default import.created
833
+ * @default webset.deleted
611
834
  * @constant
612
835
  */
613
- type: "import.created";
836
+ type: "webset.deleted";
614
837
  } | {
615
838
  /**
616
839
  * Format: date-time
617
840
  * @description The date and time the event was created
618
841
  */
619
842
  createdAt: string;
620
- data: components$1["schemas"]["Import"];
843
+ data: components["schemas"]["Webset"];
621
844
  /** @description The unique identifier for the event */
622
845
  id: string;
623
846
  /**
@@ -626,17 +849,17 @@ interface components$1 {
626
849
  */
627
850
  object: "event";
628
851
  /**
629
- * @default import.completed
852
+ * @default webset.idle
630
853
  * @constant
631
854
  */
632
- type: "import.completed";
855
+ type: "webset.idle";
633
856
  } | {
634
857
  /**
635
858
  * Format: date-time
636
859
  * @description The date and time the event was created
637
860
  */
638
861
  createdAt: string;
639
- data: components$1["schemas"]["Monitor"];
862
+ data: components["schemas"]["Webset"];
640
863
  /** @description The unique identifier for the event */
641
864
  id: string;
642
865
  /**
@@ -645,17 +868,17 @@ interface components$1 {
645
868
  */
646
869
  object: "event";
647
870
  /**
648
- * @default monitor.created
871
+ * @default webset.paused
649
872
  * @constant
650
873
  */
651
- type: "monitor.created";
874
+ type: "webset.paused";
652
875
  } | {
653
876
  /**
654
877
  * Format: date-time
655
878
  * @description The date and time the event was created
656
879
  */
657
880
  createdAt: string;
658
- data: components$1["schemas"]["Monitor"];
881
+ data: components["schemas"]["WebsetItem"];
659
882
  /** @description The unique identifier for the event */
660
883
  id: string;
661
884
  /**
@@ -664,17 +887,17 @@ interface components$1 {
664
887
  */
665
888
  object: "event";
666
889
  /**
667
- * @default monitor.updated
890
+ * @default webset.item.created
668
891
  * @constant
669
892
  */
670
- type: "monitor.updated";
893
+ type: "webset.item.created";
671
894
  } | {
672
895
  /**
673
896
  * Format: date-time
674
897
  * @description The date and time the event was created
675
898
  */
676
899
  createdAt: string;
677
- data: components$1["schemas"]["Monitor"];
900
+ data: components["schemas"]["WebsetItem"];
678
901
  /** @description The unique identifier for the event */
679
902
  id: string;
680
903
  /**
@@ -683,17 +906,17 @@ interface components$1 {
683
906
  */
684
907
  object: "event";
685
908
  /**
686
- * @default monitor.deleted
909
+ * @default webset.item.enriched
687
910
  * @constant
688
911
  */
689
- type: "monitor.deleted";
912
+ type: "webset.item.enriched";
690
913
  } | {
691
914
  /**
692
915
  * Format: date-time
693
916
  * @description The date and time the event was created
694
917
  */
695
918
  createdAt: string;
696
- data: components$1["schemas"]["MonitorRun"];
919
+ data: components["schemas"]["WebsetSearch"];
697
920
  /** @description The unique identifier for the event */
698
921
  id: string;
699
922
  /**
@@ -702,17 +925,17 @@ interface components$1 {
702
925
  */
703
926
  object: "event";
704
927
  /**
705
- * @default monitor.run.created
928
+ * @default webset.search.created
706
929
  * @constant
707
930
  */
708
- type: "monitor.run.created";
931
+ type: "webset.search.created";
709
932
  } | {
710
933
  /**
711
934
  * Format: date-time
712
935
  * @description The date and time the event was created
713
936
  */
714
937
  createdAt: string;
715
- data: components$1["schemas"]["MonitorRun"];
938
+ data: components["schemas"]["WebsetSearch"];
716
939
  /** @description The unique identifier for the event */
717
940
  id: string;
718
941
  /**
@@ -721,79 +944,250 @@ interface components$1 {
721
944
  */
722
945
  object: "event";
723
946
  /**
724
- * @default monitor.run.completed
947
+ * @default webset.search.updated
725
948
  * @constant
726
949
  */
727
- type: "monitor.run.completed";
728
- };
729
- /** @enum {string} */
730
- EventType: EventType;
731
- GetWebsetResponse: components$1["schemas"]["Webset"] & {
732
- /** @description When expand query parameter contains `items`, this will contain the items in the webset */
733
- items?: components$1["schemas"]["WebsetItem"][];
734
- };
735
- Import: {
736
- /** @description The number of entities in the import */
737
- count: number;
950
+ type: "webset.search.updated";
951
+ } | {
738
952
  /**
739
953
  * Format: date-time
740
- * @description When the import was created
954
+ * @description The date and time the event was created
741
955
  */
742
956
  createdAt: string;
743
- /** @description The type of entity the import contains. */
744
- entity: components$1["schemas"]["Entity"];
957
+ data: components["schemas"]["WebsetSearch"];
958
+ /** @description The unique identifier for the event */
959
+ id: string;
745
960
  /**
746
- * Format: date-time
747
- * @description When the import failed
961
+ * @default event
962
+ * @constant
748
963
  */
749
- failedAt: string | null;
750
- /** @description A human readable message of the import failure */
751
- failedMessage: string | null;
964
+ object: "event";
752
965
  /**
753
- * @description The reason the import failed
754
- * @enum {string|null}
966
+ * @default webset.search.canceled
967
+ * @constant
755
968
  */
756
- failedReason: ImportFailedReason;
969
+ type: "webset.search.canceled";
970
+ } | {
757
971
  /**
758
- * @description The format of the import.
759
- * @enum {string}
972
+ * Format: date-time
973
+ * @description The date and time the event was created
760
974
  */
761
- format: ImportFormat;
762
- /** @description The unique identifier for the Import */
975
+ createdAt: string;
976
+ data: components["schemas"]["WebsetSearch"];
977
+ /** @description The unique identifier for the event */
763
978
  id: string;
764
- /** @description Set of key-value pairs you want to associate with this object. */
765
- metadata: {
766
- [key: string]: string;
767
- };
768
979
  /**
769
- * @description The type of object
770
- * @enum {string}
980
+ * @default event
981
+ * @constant
771
982
  */
772
- object: ImportObject;
983
+ object: "event";
773
984
  /**
774
- * @description The status of the Import
775
- * @enum {string}
985
+ * @default webset.search.completed
986
+ * @constant
776
987
  */
777
- status: ImportStatus;
778
- /** @description The title of the import */
779
- title: string;
988
+ type: "webset.search.completed";
989
+ } | {
780
990
  /**
781
991
  * Format: date-time
782
- * @description When the import was last updated
992
+ * @description The date and time the event was created
783
993
  */
784
- updatedAt: string;
785
- };
786
- ListEventsResponse: {
787
- /** @description The list of events */
788
- data: components$1["schemas"]["Event"][];
789
- /** @description Whether there are more results to paginate through */
790
- hasMore: boolean;
994
+ createdAt: string;
995
+ data: components["schemas"]["Import"];
996
+ /** @description The unique identifier for the event */
997
+ id: string;
998
+ /**
999
+ * @default event
1000
+ * @constant
1001
+ */
1002
+ object: "event";
1003
+ /**
1004
+ * @default import.created
1005
+ * @constant
1006
+ */
1007
+ type: "import.created";
1008
+ } | {
1009
+ /**
1010
+ * Format: date-time
1011
+ * @description The date and time the event was created
1012
+ */
1013
+ createdAt: string;
1014
+ data: components["schemas"]["Import"];
1015
+ /** @description The unique identifier for the event */
1016
+ id: string;
1017
+ /**
1018
+ * @default event
1019
+ * @constant
1020
+ */
1021
+ object: "event";
1022
+ /**
1023
+ * @default import.completed
1024
+ * @constant
1025
+ */
1026
+ type: "import.completed";
1027
+ } | {
1028
+ /**
1029
+ * Format: date-time
1030
+ * @description The date and time the event was created
1031
+ */
1032
+ createdAt: string;
1033
+ data: components["schemas"]["Monitor"];
1034
+ /** @description The unique identifier for the event */
1035
+ id: string;
1036
+ /**
1037
+ * @default event
1038
+ * @constant
1039
+ */
1040
+ object: "event";
1041
+ /**
1042
+ * @default monitor.created
1043
+ * @constant
1044
+ */
1045
+ type: "monitor.created";
1046
+ } | {
1047
+ /**
1048
+ * Format: date-time
1049
+ * @description The date and time the event was created
1050
+ */
1051
+ createdAt: string;
1052
+ data: components["schemas"]["Monitor"];
1053
+ /** @description The unique identifier for the event */
1054
+ id: string;
1055
+ /**
1056
+ * @default event
1057
+ * @constant
1058
+ */
1059
+ object: "event";
1060
+ /**
1061
+ * @default monitor.updated
1062
+ * @constant
1063
+ */
1064
+ type: "monitor.updated";
1065
+ } | {
1066
+ /**
1067
+ * Format: date-time
1068
+ * @description The date and time the event was created
1069
+ */
1070
+ createdAt: string;
1071
+ data: components["schemas"]["Monitor"];
1072
+ /** @description The unique identifier for the event */
1073
+ id: string;
1074
+ /**
1075
+ * @default event
1076
+ * @constant
1077
+ */
1078
+ object: "event";
1079
+ /**
1080
+ * @default monitor.deleted
1081
+ * @constant
1082
+ */
1083
+ type: "monitor.deleted";
1084
+ } | {
1085
+ /**
1086
+ * Format: date-time
1087
+ * @description The date and time the event was created
1088
+ */
1089
+ createdAt: string;
1090
+ data: components["schemas"]["MonitorRun"];
1091
+ /** @description The unique identifier for the event */
1092
+ id: string;
1093
+ /**
1094
+ * @default event
1095
+ * @constant
1096
+ */
1097
+ object: "event";
1098
+ /**
1099
+ * @default monitor.run.created
1100
+ * @constant
1101
+ */
1102
+ type: "monitor.run.created";
1103
+ } | {
1104
+ /**
1105
+ * Format: date-time
1106
+ * @description The date and time the event was created
1107
+ */
1108
+ createdAt: string;
1109
+ data: components["schemas"]["MonitorRun"];
1110
+ /** @description The unique identifier for the event */
1111
+ id: string;
1112
+ /**
1113
+ * @default event
1114
+ * @constant
1115
+ */
1116
+ object: "event";
1117
+ /**
1118
+ * @default monitor.run.completed
1119
+ * @constant
1120
+ */
1121
+ type: "monitor.run.completed";
1122
+ };
1123
+ /** @enum {string} */
1124
+ EventType: EventType;
1125
+ GetWebsetResponse: components["schemas"]["Webset"] & {
1126
+ /** @description When expand query parameter contains `items`, this will contain the items in the webset */
1127
+ items?: components["schemas"]["WebsetItem"][];
1128
+ };
1129
+ Import: {
1130
+ /** @description The number of entities in the import */
1131
+ count: number;
1132
+ /**
1133
+ * Format: date-time
1134
+ * @description When the import was created
1135
+ */
1136
+ createdAt: string;
1137
+ /** @description The type of entity the import contains. */
1138
+ entity: components["schemas"]["Entity"];
1139
+ /**
1140
+ * Format: date-time
1141
+ * @description When the import failed
1142
+ */
1143
+ failedAt: string | null;
1144
+ /** @description A human readable message of the import failure */
1145
+ failedMessage: string | null;
1146
+ /**
1147
+ * @description The reason the import failed
1148
+ * @enum {string|null}
1149
+ */
1150
+ failedReason: ImportFailedReason;
1151
+ /**
1152
+ * @description The format of the import.
1153
+ * @enum {string}
1154
+ */
1155
+ format: ImportFormat;
1156
+ /** @description The unique identifier for the Import */
1157
+ id: string;
1158
+ /** @description Set of key-value pairs you want to associate with this object. */
1159
+ metadata: {
1160
+ [key: string]: string;
1161
+ };
1162
+ /**
1163
+ * @description The type of object
1164
+ * @enum {string}
1165
+ */
1166
+ object: ImportObject;
1167
+ /**
1168
+ * @description The status of the Import
1169
+ * @enum {string}
1170
+ */
1171
+ status: ImportStatus;
1172
+ /** @description The title of the import */
1173
+ title: string;
1174
+ /**
1175
+ * Format: date-time
1176
+ * @description When the import was last updated
1177
+ */
1178
+ updatedAt: string;
1179
+ };
1180
+ ListEventsResponse: {
1181
+ /** @description The list of events */
1182
+ data: components["schemas"]["Event"][];
1183
+ /** @description Whether there are more results to paginate through */
1184
+ hasMore: boolean;
791
1185
  /** @description The cursor to paginate through the next set of results */
792
1186
  nextCursor: string | null;
793
1187
  };
794
1188
  ListImportsResponse: {
795
1189
  /** @description The list of imports */
796
- data: components$1["schemas"]["Import"][];
1190
+ data: components["schemas"]["Import"][];
797
1191
  /** @description Whether there are more results to paginate through */
798
1192
  hasMore: boolean;
799
1193
  /** @description The cursor to paginate through the next set of results */
@@ -801,7 +1195,7 @@ interface components$1 {
801
1195
  };
802
1196
  ListMonitorRunsResponse: {
803
1197
  /** @description The list of monitor runs */
804
- data: components$1["schemas"]["MonitorRun"][];
1198
+ data: components["schemas"]["MonitorRun"][];
805
1199
  /** @description Whether there are more results to paginate through */
806
1200
  hasMore: boolean;
807
1201
  /** @description The cursor to paginate through the next set of results */
@@ -809,7 +1203,7 @@ interface components$1 {
809
1203
  };
810
1204
  ListMonitorsResponse: {
811
1205
  /** @description The list of monitors */
812
- data: components$1["schemas"]["Monitor"][];
1206
+ data: components["schemas"]["Monitor"][];
813
1207
  /** @description Whether there are more results to paginate through */
814
1208
  hasMore: boolean;
815
1209
  /** @description The cursor to paginate through the next set of results */
@@ -817,7 +1211,7 @@ interface components$1 {
817
1211
  };
818
1212
  ListWebhookAttemptsResponse: {
819
1213
  /** @description The list of webhook attempts */
820
- data: components$1["schemas"]["WebhookAttempt"][];
1214
+ data: components["schemas"]["WebhookAttempt"][];
821
1215
  /** @description Whether there are more results to paginate through */
822
1216
  hasMore: boolean;
823
1217
  /** @description The cursor to paginate through the next set of results */
@@ -825,7 +1219,7 @@ interface components$1 {
825
1219
  };
826
1220
  ListWebhooksResponse: {
827
1221
  /** @description The list of webhooks */
828
- data: components$1["schemas"]["Webhook"][];
1222
+ data: components["schemas"]["Webhook"][];
829
1223
  /** @description Whether there are more results to paginate through */
830
1224
  hasMore: boolean;
831
1225
  /** @description The cursor to paginate through the next set of results */
@@ -833,7 +1227,7 @@ interface components$1 {
833
1227
  };
834
1228
  ListWebsetItemResponse: {
835
1229
  /** @description The list of webset items */
836
- data: components$1["schemas"]["WebsetItem"][];
1230
+ data: components["schemas"]["WebsetItem"][];
837
1231
  /** @description Whether there are more Items to paginate through */
838
1232
  hasMore: boolean;
839
1233
  /** @description The cursor to paginate through the next set of Items */
@@ -841,7 +1235,7 @@ interface components$1 {
841
1235
  };
842
1236
  ListWebsetsResponse: {
843
1237
  /** @description The list of websets */
844
- data: components$1["schemas"]["Webset"][];
1238
+ data: components["schemas"]["Webset"][];
845
1239
  /** @description Whether there are more results to paginate through */
846
1240
  hasMore: boolean;
847
1241
  /** @description The cursor to paginate through the next set of results */
@@ -870,7 +1264,7 @@ interface components$1 {
870
1264
  * Entity
871
1265
  * @description The entity to search for. By default, the entity from the last search/import is used.
872
1266
  */
873
- entity?: components$1["schemas"]["Entity"];
1267
+ entity?: components["schemas"]["Entity"];
874
1268
  /** @description The query to search for. By default, the query from the last search is used. */
875
1269
  query?: string;
876
1270
  };
@@ -901,7 +1295,7 @@ interface components$1 {
901
1295
  * MonitorRun
902
1296
  * @description The last run of the monitor
903
1297
  */
904
- lastRun: components$1["schemas"]["MonitorRun"];
1298
+ lastRun: components["schemas"]["MonitorRun"];
905
1299
  /** @description Set of key-value pairs you want to associate with this object. */
906
1300
  metadata: {
907
1301
  [key: string]: string;
@@ -950,7 +1344,7 @@ interface components$1 {
950
1344
  * Entity
951
1345
  * @description The entity to search for. By default, the entity from the last search/import is used.
952
1346
  */
953
- entity?: components$1["schemas"]["Entity"];
1347
+ entity?: components["schemas"]["Entity"];
954
1348
  /** @description The query to search for. By default, the query from the last search is used. */
955
1349
  query?: string;
956
1350
  };
@@ -1029,7 +1423,7 @@ interface components$1 {
1029
1423
  /** @description Entity used to inform the decomposition.
1030
1424
  *
1031
1425
  * It is not required to provide it, we automatically detect the entity from all the information provided in the query. Only use this when you need more fine control. */
1032
- entity?: components$1["schemas"]["Entity"];
1426
+ entity?: components["schemas"]["Entity"];
1033
1427
  /** @description Natural language search query describing what you are looking for.
1034
1428
  *
1035
1429
  * Be specific and descriptive about your requirements, characteristics, and any constraints that help narrow down the results. */
@@ -1057,7 +1451,7 @@ interface components$1 {
1057
1451
  description: string;
1058
1452
  }[];
1059
1453
  /** @description Detected entity from the query. */
1060
- entity: components$1["schemas"]["CompanyEntity"] | components$1["schemas"]["PersonEntity"] | components$1["schemas"]["ArticleEntity"] | components$1["schemas"]["ResearchPaperEntity"] | components$1["schemas"]["CustomEntity"];
1454
+ entity: components["schemas"]["CompanyEntity"] | components["schemas"]["PersonEntity"] | components["schemas"]["ArticleEntity"] | components["schemas"]["ResearchPaperEntity"] | components["schemas"]["CustomEntity"];
1061
1455
  };
1062
1456
  };
1063
1457
  /** Research Paper */
@@ -1095,8 +1489,8 @@ interface components$1 {
1095
1489
  title?: string;
1096
1490
  };
1097
1491
  UpdateMonitor: {
1098
- behavior?: components$1["schemas"]["MonitorBehavior"];
1099
- cadence?: components$1["schemas"]["MonitorCadence"];
1492
+ behavior?: components["schemas"]["MonitorBehavior"];
1493
+ cadence?: components["schemas"]["MonitorCadence"];
1100
1494
  metadata?: {
1101
1495
  [key: string]: string;
1102
1496
  };
@@ -1210,13 +1604,13 @@ interface components$1 {
1210
1604
  */
1211
1605
  createdAt: string;
1212
1606
  /** @description The Enrichments to apply to the Webset Items. */
1213
- enrichments: components$1["schemas"]["WebsetEnrichment"][];
1607
+ enrichments: components["schemas"]["WebsetEnrichment"][];
1214
1608
  /** @description The external identifier for the webset */
1215
1609
  externalId: string | null;
1216
1610
  /** @description The unique identifier for the webset */
1217
1611
  id: string;
1218
1612
  /** @description Imports that have been performed on the webset. */
1219
- imports: components$1["schemas"]["Import"][];
1613
+ imports: components["schemas"]["Import"][];
1220
1614
  /**
1221
1615
  * @description Set of key-value pairs you want to associate with this object.
1222
1616
  * @default {}
@@ -1225,14 +1619,14 @@ interface components$1 {
1225
1619
  [key: string]: string;
1226
1620
  };
1227
1621
  /** @description The Monitors for the Webset. */
1228
- monitors: components$1["schemas"]["Monitor"][];
1622
+ monitors: components["schemas"]["Monitor"][];
1229
1623
  /**
1230
1624
  * @default webset
1231
1625
  * @constant
1232
1626
  */
1233
1627
  object: "webset";
1234
1628
  /** @description The searches that have been performed on the webset. */
1235
- searches: components$1["schemas"]["WebsetSearch"][];
1629
+ searches: components["schemas"]["WebsetSearch"][];
1236
1630
  /**
1237
1631
  * WebsetStatus
1238
1632
  * @description The status of the webset
@@ -1258,7 +1652,7 @@ interface components$1 {
1258
1652
  /** @description The description of the enrichment task provided during the creation of the enrichment. */
1259
1653
  description: string;
1260
1654
  /** @description The format of the enrichment response. */
1261
- format: components$1["schemas"]["WebsetEnrichmentFormat"];
1655
+ format: components["schemas"]["WebsetEnrichmentFormat"];
1262
1656
  /** @description The unique identifier for the enrichment */
1263
1657
  id: string;
1264
1658
  /** @description The instructions for the enrichment Agent.
@@ -1312,9 +1706,9 @@ interface components$1 {
1312
1706
  */
1313
1707
  createdAt: string;
1314
1708
  /** @description The enrichments results of the Webset item */
1315
- enrichments: components$1["schemas"]["EnrichmentResult"][] | null;
1709
+ enrichments: components["schemas"]["EnrichmentResult"][] | null;
1316
1710
  /** @description The criteria evaluations of the item */
1317
- evaluations: components$1["schemas"]["WebsetItemEvaluation"][];
1711
+ evaluations: components["schemas"]["WebsetItemEvaluation"][];
1318
1712
  /** @description The unique identifier for the Webset Item */
1319
1713
  id: string;
1320
1714
  /**
@@ -1323,7 +1717,7 @@ interface components$1 {
1323
1717
  */
1324
1718
  object: "webset_item";
1325
1719
  /** @description The properties of the Item */
1326
- properties: components$1["schemas"]["WebsetItemPersonProperties"] | components$1["schemas"]["WebsetItemCompanyProperties"] | components$1["schemas"]["WebsetItemArticleProperties"] | components$1["schemas"]["WebsetItemResearchPaperProperties"] | components$1["schemas"]["WebsetItemCustomProperties"];
1720
+ properties: components["schemas"]["WebsetItemPersonProperties"] | components["schemas"]["WebsetItemCompanyProperties"] | components["schemas"]["WebsetItemArticleProperties"] | components["schemas"]["WebsetItemResearchPaperProperties"] | components["schemas"]["WebsetItemCustomProperties"];
1327
1721
  /**
1328
1722
  * @description The source of the Item
1329
1723
  * @enum {string}
@@ -1542,7 +1936,7 @@ interface components$1 {
1542
1936
  /** @description The entity the search will return results for.
1543
1937
  *
1544
1938
  * When no entity is provided during creation, we will automatically select the best entity based on the query. */
1545
- entity: components$1["schemas"]["Entity"];
1939
+ entity: components["schemas"]["Entity"];
1546
1940
  /** @description Sources (existing imports or websets) used to omit certain results to be found during the search. */
1547
1941
  exclude: {
1548
1942
  id: string;
@@ -1630,55 +2024,55 @@ interface components$1 {
1630
2024
  headers: never;
1631
2025
  pathItems: never;
1632
2026
  }
1633
- type ArticleEntity = components$1["schemas"]["ArticleEntity"];
1634
- type CompanyEntity = components$1["schemas"]["CompanyEntity"];
1635
- type CreateCriterionParameters = components$1["schemas"]["CreateCriterionParameters"];
1636
- type CreateEnrichmentParameters = components$1["schemas"]["CreateEnrichmentParameters"];
1637
- type CreateImportParameters = components$1["schemas"]["CreateImportParameters"];
1638
- type CreateImportResponse = components$1["schemas"]["CreateImportResponse"];
1639
- type CreateMonitorParameters = components$1["schemas"]["CreateMonitorParameters"];
1640
- type CreateWebhookParameters = components$1["schemas"]["CreateWebhookParameters"];
1641
- type CreateWebsetParameters = components$1["schemas"]["CreateWebsetParameters"];
1642
- type CreateWebsetSearchParameters = components$1["schemas"]["CreateWebsetSearchParameters"];
1643
- type CustomEntity = components$1["schemas"]["CustomEntity"];
1644
- type EnrichmentResult = components$1["schemas"]["EnrichmentResult"];
1645
- type Entity = components$1["schemas"]["Entity"];
1646
- type Event = components$1["schemas"]["Event"];
1647
- type GetWebsetResponse = components$1["schemas"]["GetWebsetResponse"];
1648
- type Import = components$1["schemas"]["Import"];
1649
- type ListEventsResponse = components$1["schemas"]["ListEventsResponse"];
1650
- type ListImportsResponse = components$1["schemas"]["ListImportsResponse"];
1651
- type ListMonitorRunsResponse = components$1["schemas"]["ListMonitorRunsResponse"];
1652
- type ListMonitorsResponse = components$1["schemas"]["ListMonitorsResponse"];
1653
- type ListWebhookAttemptsResponse = components$1["schemas"]["ListWebhookAttemptsResponse"];
1654
- type ListWebhooksResponse = components$1["schemas"]["ListWebhooksResponse"];
1655
- type ListWebsetItemResponse = components$1["schemas"]["ListWebsetItemResponse"];
1656
- type ListWebsetsResponse = components$1["schemas"]["ListWebsetsResponse"];
1657
- type Monitor = components$1["schemas"]["Monitor"];
1658
- type MonitorBehavior = components$1["schemas"]["MonitorBehavior"];
1659
- type MonitorCadence = components$1["schemas"]["MonitorCadence"];
1660
- type MonitorRun = components$1["schemas"]["MonitorRun"];
1661
- type PersonEntity = components$1["schemas"]["PersonEntity"];
1662
- type PreviewWebsetParameters = components$1["schemas"]["PreviewWebsetParameters"];
1663
- type PreviewWebsetResponse = components$1["schemas"]["PreviewWebsetResponse"];
1664
- type ResearchPaperEntity = components$1["schemas"]["ResearchPaperEntity"];
1665
- type UpdateEnrichmentParameters = components$1["schemas"]["UpdateEnrichmentParameters"];
1666
- type UpdateImport = components$1["schemas"]["UpdateImport"];
1667
- type UpdateMonitor = components$1["schemas"]["UpdateMonitor"];
1668
- type UpdateWebhookParameters = components$1["schemas"]["UpdateWebhookParameters"];
1669
- type UpdateWebsetRequest = components$1["schemas"]["UpdateWebsetRequest"];
1670
- type Webhook = components$1["schemas"]["Webhook"];
1671
- type WebhookAttempt = components$1["schemas"]["WebhookAttempt"];
1672
- type Webset = components$1["schemas"]["Webset"];
1673
- type WebsetEnrichment = components$1["schemas"]["WebsetEnrichment"];
1674
- type WebsetItem = components$1["schemas"]["WebsetItem"];
1675
- type WebsetItemArticleProperties = components$1["schemas"]["WebsetItemArticleProperties"];
1676
- type WebsetItemCompanyProperties = components$1["schemas"]["WebsetItemCompanyProperties"];
1677
- type WebsetItemCustomProperties = components$1["schemas"]["WebsetItemCustomProperties"];
1678
- type WebsetItemEvaluation = components$1["schemas"]["WebsetItemEvaluation"];
1679
- type WebsetItemPersonProperties = components$1["schemas"]["WebsetItemPersonProperties"];
1680
- type WebsetItemResearchPaperProperties = components$1["schemas"]["WebsetItemResearchPaperProperties"];
1681
- type WebsetSearch = components$1["schemas"]["WebsetSearch"];
2027
+ type ArticleEntity = components["schemas"]["ArticleEntity"];
2028
+ type CompanyEntity = components["schemas"]["CompanyEntity"];
2029
+ type CreateCriterionParameters = components["schemas"]["CreateCriterionParameters"];
2030
+ type CreateEnrichmentParameters = components["schemas"]["CreateEnrichmentParameters"];
2031
+ type CreateImportParameters = components["schemas"]["CreateImportParameters"];
2032
+ type CreateImportResponse = components["schemas"]["CreateImportResponse"];
2033
+ type CreateMonitorParameters = components["schemas"]["CreateMonitorParameters"];
2034
+ type CreateWebhookParameters = components["schemas"]["CreateWebhookParameters"];
2035
+ type CreateWebsetParameters = components["schemas"]["CreateWebsetParameters"];
2036
+ type CreateWebsetSearchParameters = components["schemas"]["CreateWebsetSearchParameters"];
2037
+ type CustomEntity = components["schemas"]["CustomEntity"];
2038
+ type EnrichmentResult = components["schemas"]["EnrichmentResult"];
2039
+ type Entity = components["schemas"]["Entity"];
2040
+ type Event = components["schemas"]["Event"];
2041
+ type GetWebsetResponse = components["schemas"]["GetWebsetResponse"];
2042
+ type Import = components["schemas"]["Import"];
2043
+ type ListEventsResponse = components["schemas"]["ListEventsResponse"];
2044
+ type ListImportsResponse = components["schemas"]["ListImportsResponse"];
2045
+ type ListMonitorRunsResponse = components["schemas"]["ListMonitorRunsResponse"];
2046
+ type ListMonitorsResponse = components["schemas"]["ListMonitorsResponse"];
2047
+ type ListWebhookAttemptsResponse = components["schemas"]["ListWebhookAttemptsResponse"];
2048
+ type ListWebhooksResponse = components["schemas"]["ListWebhooksResponse"];
2049
+ type ListWebsetItemResponse = components["schemas"]["ListWebsetItemResponse"];
2050
+ type ListWebsetsResponse = components["schemas"]["ListWebsetsResponse"];
2051
+ type Monitor = components["schemas"]["Monitor"];
2052
+ type MonitorBehavior = components["schemas"]["MonitorBehavior"];
2053
+ type MonitorCadence = components["schemas"]["MonitorCadence"];
2054
+ type MonitorRun = components["schemas"]["MonitorRun"];
2055
+ type PersonEntity = components["schemas"]["PersonEntity"];
2056
+ type PreviewWebsetParameters = components["schemas"]["PreviewWebsetParameters"];
2057
+ type PreviewWebsetResponse = components["schemas"]["PreviewWebsetResponse"];
2058
+ type ResearchPaperEntity = components["schemas"]["ResearchPaperEntity"];
2059
+ type UpdateEnrichmentParameters = components["schemas"]["UpdateEnrichmentParameters"];
2060
+ type UpdateImport = components["schemas"]["UpdateImport"];
2061
+ type UpdateMonitor = components["schemas"]["UpdateMonitor"];
2062
+ type UpdateWebhookParameters = components["schemas"]["UpdateWebhookParameters"];
2063
+ type UpdateWebsetRequest = components["schemas"]["UpdateWebsetRequest"];
2064
+ type Webhook = components["schemas"]["Webhook"];
2065
+ type WebhookAttempt = components["schemas"]["WebhookAttempt"];
2066
+ type Webset = components["schemas"]["Webset"];
2067
+ type WebsetEnrichment = components["schemas"]["WebsetEnrichment"];
2068
+ type WebsetItem = components["schemas"]["WebsetItem"];
2069
+ type WebsetItemArticleProperties = components["schemas"]["WebsetItemArticleProperties"];
2070
+ type WebsetItemCompanyProperties = components["schemas"]["WebsetItemCompanyProperties"];
2071
+ type WebsetItemCustomProperties = components["schemas"]["WebsetItemCustomProperties"];
2072
+ type WebsetItemEvaluation = components["schemas"]["WebsetItemEvaluation"];
2073
+ type WebsetItemPersonProperties = components["schemas"]["WebsetItemPersonProperties"];
2074
+ type WebsetItemResearchPaperProperties = components["schemas"]["WebsetItemResearchPaperProperties"];
2075
+ type WebsetSearch = components["schemas"]["WebsetSearch"];
1682
2076
  declare enum CreateEnrichmentParametersFormat {
1683
2077
  text = "text",
1684
2078
  date = "date",
@@ -2230,1835 +2624,177 @@ declare class WebsetWebhooksClient extends WebsetsBaseClient {
2230
2624
  listAttempts(id: string, options?: ListWebhookAttemptsOptions): Promise<ListWebhookAttemptsResponse>;
2231
2625
  /**
2232
2626
  * Iterate through all attempts for a Webhook, handling pagination automatically
2233
- * @param id The ID of the Webhook
2234
- * @param options Pagination and filtering options
2235
- * @returns Async generator of Webhook attempts
2236
- */
2237
- listAllAttempts(id: string, options?: ListWebhookAttemptsOptions): AsyncGenerator<WebhookAttempt>;
2238
- /**
2239
- * Collect all attempts for a Webhook into an array
2240
- * @param id The ID of the Webhook
2241
- * @param options Pagination and filtering options
2242
- * @returns Promise resolving to an array of all Webhook attempts
2243
- */
2244
- getAllAttempts(id: string, options?: ListWebhookAttemptsOptions): Promise<WebhookAttempt[]>;
2245
- }
2246
-
2247
- /**
2248
- * Websets API client
2249
- */
2250
-
2251
- type WebsetHeadersLike = {
2252
- "x-exa-websets-priority"?: "low" | "medium" | "high";
2253
- } & Record<string, string>;
2254
-
2255
- /**
2256
- * Client for managing Webset Searches
2257
- */
2258
-
2259
- /**
2260
- * Client for managing Webset Searches
2261
- */
2262
- declare class WebsetSearchesClient extends WebsetsBaseClient {
2263
- /**
2264
- * Create a new Search for the Webset
2265
- * @param websetId The ID of the Webset
2266
- * @param params The search parameters
2267
- * @returns The created Webset Search
2268
- */
2269
- create(websetId: string, params: CreateWebsetSearchParameters, options?: {
2270
- headers?: WebsetHeadersLike;
2271
- }): Promise<WebsetSearch>;
2272
- /**
2273
- * Get a Search by ID
2274
- * @param websetId The ID of the Webset
2275
- * @param id The ID of the Search
2276
- * @returns The Webset Search
2277
- */
2278
- get(websetId: string, id: string): Promise<WebsetSearch>;
2279
- /**
2280
- * Cancel a running Search
2281
- * @param websetId The ID of the Webset
2282
- * @param id The ID of the Search
2283
- * @returns The canceled Webset Search
2284
- */
2285
- cancel(websetId: string, id: string): Promise<WebsetSearch>;
2286
- }
2287
-
2288
- /**
2289
- * Main client for Websets API
2290
- */
2291
-
2292
- /**
2293
- * Options for listing Websets (API only supports pagination)
2294
- */
2295
- interface ListWebsetsOptions extends PaginationParams {
2296
- }
2297
- /**
2298
- * Client for managing Websets
2299
- */
2300
- declare class WebsetsClient extends WebsetsBaseClient {
2301
- /**
2302
- * Client for managing Events
2303
- */
2304
- events: EventsClient;
2305
- /**
2306
- * Client for managing Imports
2307
- */
2308
- imports: ImportsClient;
2309
- /**
2310
- * Client for managing Webset Items
2311
- */
2312
- items: WebsetItemsClient;
2313
- /**
2314
- * Client for managing Webset Searches
2315
- */
2316
- searches: WebsetSearchesClient;
2317
- /**
2318
- * Client for managing Webset Enrichments
2319
- */
2320
- enrichments: WebsetEnrichmentsClient;
2321
- /**
2322
- * Client for managing Webset Monitors
2323
- */
2324
- monitors: WebsetMonitorsClient;
2325
- /**
2326
- * Client for managing Webset Webhooks
2327
- */
2328
- webhooks: WebsetWebhooksClient;
2329
- /**
2330
- * Initialize a new Websets client
2331
- * @param client The Exa client instance
2332
- */
2333
- constructor(client: Exa);
2334
- /**
2335
- * Create a new Webset
2336
- * @param params The Webset creation parameters
2337
- * @returns The created Webset
2338
- */
2339
- create(params: CreateWebsetParameters, options?: {
2340
- headers?: WebsetHeadersLike;
2341
- }): Promise<Webset>;
2342
- /**
2343
- * Preview a webset
2344
- * @param params The preview parameters
2345
- * @returns The preview response showing how the query will be decomposed
2346
- */
2347
- preview(params: PreviewWebsetParameters): Promise<PreviewWebsetResponse>;
2348
- /**
2349
- * Get a Webset by ID
2350
- * @param id The ID of the Webset
2351
- * @param expand Optional array of relations to expand
2352
- * @returns The Webset
2353
- */
2354
- get(id: string, expand?: Array<"items">): Promise<GetWebsetResponse>;
2355
- /**
2356
- * List all Websets
2357
- * @param options Pagination options (filtering by status is not supported by API)
2358
- * @returns The list of Websets
2359
- */
2360
- list(options?: ListWebsetsOptions): Promise<ListWebsetsResponse>;
2361
- /**
2362
- * Iterate through all Websets, handling pagination automatically
2363
- * @param options Pagination options
2364
- * @returns Async generator of Websets
2365
- */
2366
- listAll(options?: ListWebsetsOptions): AsyncGenerator<Webset>;
2367
- /**
2368
- * Collect all Websets into an array
2369
- * @param options Pagination options
2370
- * @returns Promise resolving to an array of all Websets
2371
- */
2372
- getAll(options?: ListWebsetsOptions): Promise<Webset[]>;
2373
- /**
2374
- * Update a Webset
2375
- * @param id The ID of the Webset
2376
- * @param params The Webset update parameters
2377
- * @returns The updated Webset
2378
- */
2379
- update(id: string, params: UpdateWebsetRequest): Promise<Webset>;
2380
- /**
2381
- * Delete a Webset
2382
- * @param id The ID of the Webset
2383
- * @returns The deleted Webset
2384
- */
2385
- delete(id: string): Promise<Webset>;
2386
- /**
2387
- * Cancel a running Webset
2388
- * @param id The ID or external ID of the Webset
2389
- * @returns The canceled Webset (as returned by the API)
2390
- */
2391
- cancel(id: string): Promise<Webset>;
2392
- /**
2393
- * Wait until a Webset is idle
2394
- * @param id The ID of the Webset
2395
- * @param options Configuration options for timeout and polling
2396
- * @returns The Webset once it becomes idle
2397
- * @throws Error if the Webset does not become idle within the timeout
2398
- */
2399
- waitUntilIdle(id: string, options?: {
2400
- timeout?: number;
2401
- pollInterval?: number;
2402
- onPoll?: (status: WebsetStatus) => void;
2403
- } | number): Promise<Webset>;
2404
- }
2405
-
2406
- interface components {
2407
- schemas: {
2408
- ListResearchResponseDto: {
2409
- /** @description The list of research requests */
2410
- data: ({
2411
- /** @description Milliseconds since epoch time */
2412
- createdAt: number;
2413
- /** @description The instructions given to this research request */
2414
- instructions: string;
2415
- /**
2416
- * @description The model used for the research request
2417
- * @default exa-research
2418
- * @enum {string}
2419
- */
2420
- model: "exa-research" | "exa-research-pro";
2421
- /** @description The unique identifier for the research request */
2422
- researchId: string;
2423
- /** @enum {string} */
2424
- status: "pending";
2425
- } | {
2426
- /** @description Milliseconds since epoch time */
2427
- createdAt: number;
2428
- events?: (({
2429
- /** @description Milliseconds since epoch time */
2430
- createdAt: number;
2431
- /** @enum {string} */
2432
- eventType: "research-definition";
2433
- instructions: string;
2434
- outputSchema?: {
2435
- [key: string]: unknown;
2436
- };
2437
- researchId: string;
2438
- } | {
2439
- /** @description Milliseconds since epoch time */
2440
- createdAt: number;
2441
- /** @enum {string} */
2442
- eventType: "research-output";
2443
- output: {
2444
- content: string;
2445
- costDollars: {
2446
- numPages: number;
2447
- numSearches: number;
2448
- reasoningTokens: number;
2449
- total: number;
2450
- };
2451
- /** @enum {string} */
2452
- outputType: "completed";
2453
- parsed?: {
2454
- [key: string]: unknown;
2455
- };
2456
- } | {
2457
- error: string;
2458
- /** @enum {string} */
2459
- outputType: "failed";
2460
- };
2461
- researchId: string;
2462
- }) | ({
2463
- /** @description Milliseconds since epoch time */
2464
- createdAt: number;
2465
- /** @enum {string} */
2466
- eventType: "plan-definition";
2467
- planId: string;
2468
- researchId: string;
2469
- } | {
2470
- /** @description Milliseconds since epoch time */
2471
- createdAt: number;
2472
- data: {
2473
- content: string;
2474
- /** @enum {string} */
2475
- type: "think";
2476
- } | {
2477
- goal?: string;
2478
- pageTokens: number;
2479
- query: string;
2480
- results: {
2481
- url: string;
2482
- }[];
2483
- /** @enum {string} */
2484
- searchType: "neural" | "keyword" | "auto" | "fast";
2485
- /** @enum {string} */
2486
- type: "search";
2487
- } | {
2488
- goal?: string;
2489
- pageTokens: number;
2490
- result: {
2491
- url: string;
2492
- };
2493
- /** @enum {string} */
2494
- type: "crawl";
2495
- };
2496
- /** @enum {string} */
2497
- eventType: "plan-operation";
2498
- operationId: string;
2499
- planId: string;
2500
- researchId: string;
2501
- } | {
2502
- /** @description Milliseconds since epoch time */
2503
- createdAt: number;
2504
- /** @enum {string} */
2505
- eventType: "plan-output";
2506
- output: {
2507
- /** @enum {string} */
2508
- outputType: "tasks";
2509
- reasoning: string;
2510
- tasksInstructions: string[];
2511
- } | {
2512
- /** @enum {string} */
2513
- outputType: "stop";
2514
- reasoning: string;
2515
- };
2516
- planId: string;
2517
- researchId: string;
2518
- }) | ({
2519
- /** @description Milliseconds since epoch time */
2520
- createdAt: number;
2521
- /** @enum {string} */
2522
- eventType: "task-definition";
2523
- instructions: string;
2524
- planId: string;
2525
- researchId: string;
2526
- taskId: string;
2527
- } | {
2528
- /** @description Milliseconds since epoch time */
2529
- createdAt: number;
2530
- data: {
2531
- content: string;
2532
- /** @enum {string} */
2533
- type: "think";
2534
- } | {
2535
- goal?: string;
2536
- pageTokens: number;
2537
- query: string;
2538
- results: {
2539
- url: string;
2540
- }[];
2541
- /** @enum {string} */
2542
- searchType: "neural" | "keyword" | "auto" | "fast";
2543
- /** @enum {string} */
2544
- type: "search";
2545
- } | {
2546
- goal?: string;
2547
- pageTokens: number;
2548
- result: {
2549
- url: string;
2550
- };
2551
- /** @enum {string} */
2552
- type: "crawl";
2553
- };
2554
- /** @enum {string} */
2555
- eventType: "task-operation";
2556
- operationId: string;
2557
- planId: string;
2558
- researchId: string;
2559
- taskId: string;
2560
- } | {
2561
- /** @description Milliseconds since epoch time */
2562
- createdAt: number;
2563
- /** @enum {string} */
2564
- eventType: "task-output";
2565
- output: {
2566
- content: string;
2567
- /** @enum {string} */
2568
- outputType: "completed";
2569
- };
2570
- planId: string;
2571
- researchId: string;
2572
- taskId: string;
2573
- }))[];
2574
- /** @description The instructions given to this research request */
2575
- instructions: string;
2576
- /**
2577
- * @description The model used for the research request
2578
- * @default exa-research
2579
- * @enum {string}
2580
- */
2581
- model: "exa-research" | "exa-research-pro";
2582
- /** @description The unique identifier for the research request */
2583
- researchId: string;
2584
- /** @enum {string} */
2585
- status: "running";
2586
- } | {
2587
- costDollars: {
2588
- numPages: number;
2589
- numSearches: number;
2590
- reasoningTokens: number;
2591
- total: number;
2592
- };
2593
- /** @description Milliseconds since epoch time */
2594
- createdAt: number;
2595
- events?: (({
2596
- /** @description Milliseconds since epoch time */
2597
- createdAt: number;
2598
- /** @enum {string} */
2599
- eventType: "research-definition";
2600
- instructions: string;
2601
- outputSchema?: {
2602
- [key: string]: unknown;
2603
- };
2604
- researchId: string;
2605
- } | {
2606
- /** @description Milliseconds since epoch time */
2607
- createdAt: number;
2608
- /** @enum {string} */
2609
- eventType: "research-output";
2610
- output: {
2611
- content: string;
2612
- costDollars: {
2613
- numPages: number;
2614
- numSearches: number;
2615
- reasoningTokens: number;
2616
- total: number;
2617
- };
2618
- /** @enum {string} */
2619
- outputType: "completed";
2620
- parsed?: {
2621
- [key: string]: unknown;
2622
- };
2623
- } | {
2624
- error: string;
2625
- /** @enum {string} */
2626
- outputType: "failed";
2627
- };
2628
- researchId: string;
2629
- }) | ({
2630
- /** @description Milliseconds since epoch time */
2631
- createdAt: number;
2632
- /** @enum {string} */
2633
- eventType: "plan-definition";
2634
- planId: string;
2635
- researchId: string;
2636
- } | {
2637
- /** @description Milliseconds since epoch time */
2638
- createdAt: number;
2639
- data: {
2640
- content: string;
2641
- /** @enum {string} */
2642
- type: "think";
2643
- } | {
2644
- goal?: string;
2645
- pageTokens: number;
2646
- query: string;
2647
- results: {
2648
- url: string;
2649
- }[];
2650
- /** @enum {string} */
2651
- searchType: "neural" | "keyword" | "auto" | "fast";
2652
- /** @enum {string} */
2653
- type: "search";
2654
- } | {
2655
- goal?: string;
2656
- pageTokens: number;
2657
- result: {
2658
- url: string;
2659
- };
2660
- /** @enum {string} */
2661
- type: "crawl";
2662
- };
2663
- /** @enum {string} */
2664
- eventType: "plan-operation";
2665
- operationId: string;
2666
- planId: string;
2667
- researchId: string;
2668
- } | {
2669
- /** @description Milliseconds since epoch time */
2670
- createdAt: number;
2671
- /** @enum {string} */
2672
- eventType: "plan-output";
2673
- output: {
2674
- /** @enum {string} */
2675
- outputType: "tasks";
2676
- reasoning: string;
2677
- tasksInstructions: string[];
2678
- } | {
2679
- /** @enum {string} */
2680
- outputType: "stop";
2681
- reasoning: string;
2682
- };
2683
- planId: string;
2684
- researchId: string;
2685
- }) | ({
2686
- /** @description Milliseconds since epoch time */
2687
- createdAt: number;
2688
- /** @enum {string} */
2689
- eventType: "task-definition";
2690
- instructions: string;
2691
- planId: string;
2692
- researchId: string;
2693
- taskId: string;
2694
- } | {
2695
- /** @description Milliseconds since epoch time */
2696
- createdAt: number;
2697
- data: {
2698
- content: string;
2699
- /** @enum {string} */
2700
- type: "think";
2701
- } | {
2702
- goal?: string;
2703
- pageTokens: number;
2704
- query: string;
2705
- results: {
2706
- url: string;
2707
- }[];
2708
- /** @enum {string} */
2709
- searchType: "neural" | "keyword" | "auto" | "fast";
2710
- /** @enum {string} */
2711
- type: "search";
2712
- } | {
2713
- goal?: string;
2714
- pageTokens: number;
2715
- result: {
2716
- url: string;
2717
- };
2718
- /** @enum {string} */
2719
- type: "crawl";
2720
- };
2721
- /** @enum {string} */
2722
- eventType: "task-operation";
2723
- operationId: string;
2724
- planId: string;
2725
- researchId: string;
2726
- taskId: string;
2727
- } | {
2728
- /** @description Milliseconds since epoch time */
2729
- createdAt: number;
2730
- /** @enum {string} */
2731
- eventType: "task-output";
2732
- output: {
2733
- content: string;
2734
- /** @enum {string} */
2735
- outputType: "completed";
2736
- };
2737
- planId: string;
2738
- researchId: string;
2739
- taskId: string;
2740
- }))[];
2741
- /** @description The instructions given to this research request */
2742
- instructions: string;
2743
- /**
2744
- * @description The model used for the research request
2745
- * @default exa-research
2746
- * @enum {string}
2747
- */
2748
- model: "exa-research" | "exa-research-pro";
2749
- output: {
2750
- content: string;
2751
- parsed?: {
2752
- [key: string]: unknown;
2753
- };
2754
- };
2755
- /** @description The unique identifier for the research request */
2756
- researchId: string;
2757
- /** @enum {string} */
2758
- status: "completed";
2759
- } | {
2760
- /** @description Milliseconds since epoch time */
2761
- createdAt: number;
2762
- events?: (({
2763
- /** @description Milliseconds since epoch time */
2764
- createdAt: number;
2765
- /** @enum {string} */
2766
- eventType: "research-definition";
2767
- instructions: string;
2768
- outputSchema?: {
2769
- [key: string]: unknown;
2770
- };
2771
- researchId: string;
2772
- } | {
2773
- /** @description Milliseconds since epoch time */
2774
- createdAt: number;
2775
- /** @enum {string} */
2776
- eventType: "research-output";
2777
- output: {
2778
- content: string;
2779
- costDollars: {
2780
- numPages: number;
2781
- numSearches: number;
2782
- reasoningTokens: number;
2783
- total: number;
2784
- };
2785
- /** @enum {string} */
2786
- outputType: "completed";
2787
- parsed?: {
2788
- [key: string]: unknown;
2789
- };
2790
- } | {
2791
- error: string;
2792
- /** @enum {string} */
2793
- outputType: "failed";
2794
- };
2795
- researchId: string;
2796
- }) | ({
2797
- /** @description Milliseconds since epoch time */
2798
- createdAt: number;
2799
- /** @enum {string} */
2800
- eventType: "plan-definition";
2801
- planId: string;
2802
- researchId: string;
2803
- } | {
2804
- /** @description Milliseconds since epoch time */
2805
- createdAt: number;
2806
- data: {
2807
- content: string;
2808
- /** @enum {string} */
2809
- type: "think";
2810
- } | {
2811
- goal?: string;
2812
- pageTokens: number;
2813
- query: string;
2814
- results: {
2815
- url: string;
2816
- }[];
2817
- /** @enum {string} */
2818
- searchType: "neural" | "keyword" | "auto" | "fast";
2819
- /** @enum {string} */
2820
- type: "search";
2821
- } | {
2822
- goal?: string;
2823
- pageTokens: number;
2824
- result: {
2825
- url: string;
2826
- };
2827
- /** @enum {string} */
2828
- type: "crawl";
2829
- };
2830
- /** @enum {string} */
2831
- eventType: "plan-operation";
2832
- operationId: string;
2833
- planId: string;
2834
- researchId: string;
2835
- } | {
2836
- /** @description Milliseconds since epoch time */
2837
- createdAt: number;
2838
- /** @enum {string} */
2839
- eventType: "plan-output";
2840
- output: {
2841
- /** @enum {string} */
2842
- outputType: "tasks";
2843
- reasoning: string;
2844
- tasksInstructions: string[];
2845
- } | {
2846
- /** @enum {string} */
2847
- outputType: "stop";
2848
- reasoning: string;
2849
- };
2850
- planId: string;
2851
- researchId: string;
2852
- }) | ({
2853
- /** @description Milliseconds since epoch time */
2854
- createdAt: number;
2855
- /** @enum {string} */
2856
- eventType: "task-definition";
2857
- instructions: string;
2858
- planId: string;
2859
- researchId: string;
2860
- taskId: string;
2861
- } | {
2862
- /** @description Milliseconds since epoch time */
2863
- createdAt: number;
2864
- data: {
2865
- content: string;
2866
- /** @enum {string} */
2867
- type: "think";
2868
- } | {
2869
- goal?: string;
2870
- pageTokens: number;
2871
- query: string;
2872
- results: {
2873
- url: string;
2874
- }[];
2875
- /** @enum {string} */
2876
- searchType: "neural" | "keyword" | "auto" | "fast";
2877
- /** @enum {string} */
2878
- type: "search";
2879
- } | {
2880
- goal?: string;
2881
- pageTokens: number;
2882
- result: {
2883
- url: string;
2884
- };
2885
- /** @enum {string} */
2886
- type: "crawl";
2887
- };
2888
- /** @enum {string} */
2889
- eventType: "task-operation";
2890
- operationId: string;
2891
- planId: string;
2892
- researchId: string;
2893
- taskId: string;
2894
- } | {
2895
- /** @description Milliseconds since epoch time */
2896
- createdAt: number;
2897
- /** @enum {string} */
2898
- eventType: "task-output";
2899
- output: {
2900
- content: string;
2901
- /** @enum {string} */
2902
- outputType: "completed";
2903
- };
2904
- planId: string;
2905
- researchId: string;
2906
- taskId: string;
2907
- }))[];
2908
- /** @description The instructions given to this research request */
2909
- instructions: string;
2910
- /**
2911
- * @description The model used for the research request
2912
- * @default exa-research
2913
- * @enum {string}
2914
- */
2915
- model: "exa-research" | "exa-research-pro";
2916
- /** @description The unique identifier for the research request */
2917
- researchId: string;
2918
- /** @enum {string} */
2919
- status: "canceled";
2920
- } | {
2921
- /** @description Milliseconds since epoch time */
2922
- createdAt: number;
2923
- /** @description A message indicating why the request failed */
2924
- error: string;
2925
- events?: (({
2926
- /** @description Milliseconds since epoch time */
2927
- createdAt: number;
2928
- /** @enum {string} */
2929
- eventType: "research-definition";
2930
- instructions: string;
2931
- outputSchema?: {
2932
- [key: string]: unknown;
2933
- };
2934
- researchId: string;
2935
- } | {
2936
- /** @description Milliseconds since epoch time */
2937
- createdAt: number;
2938
- /** @enum {string} */
2939
- eventType: "research-output";
2940
- output: {
2941
- content: string;
2942
- costDollars: {
2943
- numPages: number;
2944
- numSearches: number;
2945
- reasoningTokens: number;
2946
- total: number;
2947
- };
2948
- /** @enum {string} */
2949
- outputType: "completed";
2950
- parsed?: {
2951
- [key: string]: unknown;
2952
- };
2953
- } | {
2954
- error: string;
2955
- /** @enum {string} */
2956
- outputType: "failed";
2957
- };
2958
- researchId: string;
2959
- }) | ({
2960
- /** @description Milliseconds since epoch time */
2961
- createdAt: number;
2962
- /** @enum {string} */
2963
- eventType: "plan-definition";
2964
- planId: string;
2965
- researchId: string;
2966
- } | {
2967
- /** @description Milliseconds since epoch time */
2968
- createdAt: number;
2969
- data: {
2970
- content: string;
2971
- /** @enum {string} */
2972
- type: "think";
2973
- } | {
2974
- goal?: string;
2975
- pageTokens: number;
2976
- query: string;
2977
- results: {
2978
- url: string;
2979
- }[];
2980
- /** @enum {string} */
2981
- searchType: "neural" | "keyword" | "auto" | "fast";
2982
- /** @enum {string} */
2983
- type: "search";
2984
- } | {
2985
- goal?: string;
2986
- pageTokens: number;
2987
- result: {
2988
- url: string;
2989
- };
2990
- /** @enum {string} */
2991
- type: "crawl";
2992
- };
2993
- /** @enum {string} */
2994
- eventType: "plan-operation";
2995
- operationId: string;
2996
- planId: string;
2997
- researchId: string;
2998
- } | {
2999
- /** @description Milliseconds since epoch time */
3000
- createdAt: number;
3001
- /** @enum {string} */
3002
- eventType: "plan-output";
3003
- output: {
3004
- /** @enum {string} */
3005
- outputType: "tasks";
3006
- reasoning: string;
3007
- tasksInstructions: string[];
3008
- } | {
3009
- /** @enum {string} */
3010
- outputType: "stop";
3011
- reasoning: string;
3012
- };
3013
- planId: string;
3014
- researchId: string;
3015
- }) | ({
3016
- /** @description Milliseconds since epoch time */
3017
- createdAt: number;
3018
- /** @enum {string} */
3019
- eventType: "task-definition";
3020
- instructions: string;
3021
- planId: string;
3022
- researchId: string;
3023
- taskId: string;
3024
- } | {
3025
- /** @description Milliseconds since epoch time */
3026
- createdAt: number;
3027
- data: {
3028
- content: string;
3029
- /** @enum {string} */
3030
- type: "think";
3031
- } | {
3032
- goal?: string;
3033
- pageTokens: number;
3034
- query: string;
3035
- results: {
3036
- url: string;
3037
- }[];
3038
- /** @enum {string} */
3039
- searchType: "neural" | "keyword" | "auto" | "fast";
3040
- /** @enum {string} */
3041
- type: "search";
3042
- } | {
3043
- goal?: string;
3044
- pageTokens: number;
3045
- result: {
3046
- url: string;
3047
- };
3048
- /** @enum {string} */
3049
- type: "crawl";
3050
- };
3051
- /** @enum {string} */
3052
- eventType: "task-operation";
3053
- operationId: string;
3054
- planId: string;
3055
- researchId: string;
3056
- taskId: string;
3057
- } | {
3058
- /** @description Milliseconds since epoch time */
3059
- createdAt: number;
3060
- /** @enum {string} */
3061
- eventType: "task-output";
3062
- output: {
3063
- content: string;
3064
- /** @enum {string} */
3065
- outputType: "completed";
3066
- };
3067
- planId: string;
3068
- researchId: string;
3069
- taskId: string;
3070
- }))[];
3071
- /** @description The instructions given to this research request */
3072
- instructions: string;
3073
- /**
3074
- * @description The model used for the research request
3075
- * @default exa-research
3076
- * @enum {string}
3077
- */
3078
- model: "exa-research" | "exa-research-pro";
3079
- /** @description The unique identifier for the research request */
3080
- researchId: string;
3081
- /** @enum {string} */
3082
- status: "failed";
3083
- })[];
3084
- /** @description Whether there are more results to paginate through */
3085
- hasMore: boolean;
3086
- /** @description The cursor to paginate through the next set of results */
3087
- nextCursor: string | null;
3088
- };
3089
- ResearchCreateRequestDtoClass: {
3090
- /** @description Instructions for what research should be conducted */
3091
- instructions: string;
3092
- /**
3093
- * @default exa-research
3094
- * @enum {string}
3095
- */
3096
- model: "exa-research" | "exa-research-pro";
3097
- outputSchema?: {
3098
- [key: string]: unknown;
3099
- };
3100
- };
3101
- ResearchDtoClass: {
3102
- /** @description Milliseconds since epoch time */
3103
- createdAt: number;
3104
- /** @description The instructions given to this research request */
3105
- instructions: string;
3106
- /**
3107
- * @description The model used for the research request
3108
- * @default exa-research
3109
- * @enum {string}
3110
- */
3111
- model: "exa-research" | "exa-research-pro";
3112
- /** @description The unique identifier for the research request */
3113
- researchId: string;
3114
- /** @enum {string} */
3115
- status: "pending";
3116
- } | {
3117
- /** @description Milliseconds since epoch time */
3118
- createdAt: number;
3119
- events?: (({
3120
- /** @description Milliseconds since epoch time */
3121
- createdAt: number;
3122
- /** @enum {string} */
3123
- eventType: "research-definition";
3124
- instructions: string;
3125
- outputSchema?: {
3126
- [key: string]: unknown;
3127
- };
3128
- researchId: string;
3129
- } | {
3130
- /** @description Milliseconds since epoch time */
3131
- createdAt: number;
3132
- /** @enum {string} */
3133
- eventType: "research-output";
3134
- output: {
3135
- content: string;
3136
- costDollars: {
3137
- numPages: number;
3138
- numSearches: number;
3139
- reasoningTokens: number;
3140
- total: number;
3141
- };
3142
- /** @enum {string} */
3143
- outputType: "completed";
3144
- parsed?: {
3145
- [key: string]: unknown;
3146
- };
3147
- } | {
3148
- error: string;
3149
- /** @enum {string} */
3150
- outputType: "failed";
3151
- };
3152
- researchId: string;
3153
- }) | ({
3154
- /** @description Milliseconds since epoch time */
3155
- createdAt: number;
3156
- /** @enum {string} */
3157
- eventType: "plan-definition";
3158
- planId: string;
3159
- researchId: string;
3160
- } | {
3161
- /** @description Milliseconds since epoch time */
3162
- createdAt: number;
3163
- data: {
3164
- content: string;
3165
- /** @enum {string} */
3166
- type: "think";
3167
- } | {
3168
- goal?: string;
3169
- pageTokens: number;
3170
- query: string;
3171
- results: {
3172
- url: string;
3173
- }[];
3174
- /** @enum {string} */
3175
- searchType: "neural" | "keyword" | "auto" | "fast";
3176
- /** @enum {string} */
3177
- type: "search";
3178
- } | {
3179
- goal?: string;
3180
- pageTokens: number;
3181
- result: {
3182
- url: string;
3183
- };
3184
- /** @enum {string} */
3185
- type: "crawl";
3186
- };
3187
- /** @enum {string} */
3188
- eventType: "plan-operation";
3189
- operationId: string;
3190
- planId: string;
3191
- researchId: string;
3192
- } | {
3193
- /** @description Milliseconds since epoch time */
3194
- createdAt: number;
3195
- /** @enum {string} */
3196
- eventType: "plan-output";
3197
- output: {
3198
- /** @enum {string} */
3199
- outputType: "tasks";
3200
- reasoning: string;
3201
- tasksInstructions: string[];
3202
- } | {
3203
- /** @enum {string} */
3204
- outputType: "stop";
3205
- reasoning: string;
3206
- };
3207
- planId: string;
3208
- researchId: string;
3209
- }) | ({
3210
- /** @description Milliseconds since epoch time */
3211
- createdAt: number;
3212
- /** @enum {string} */
3213
- eventType: "task-definition";
3214
- instructions: string;
3215
- planId: string;
3216
- researchId: string;
3217
- taskId: string;
3218
- } | {
3219
- /** @description Milliseconds since epoch time */
3220
- createdAt: number;
3221
- data: {
3222
- content: string;
3223
- /** @enum {string} */
3224
- type: "think";
3225
- } | {
3226
- goal?: string;
3227
- pageTokens: number;
3228
- query: string;
3229
- results: {
3230
- url: string;
3231
- }[];
3232
- /** @enum {string} */
3233
- searchType: "neural" | "keyword" | "auto" | "fast";
3234
- /** @enum {string} */
3235
- type: "search";
3236
- } | {
3237
- goal?: string;
3238
- pageTokens: number;
3239
- result: {
3240
- url: string;
3241
- };
3242
- /** @enum {string} */
3243
- type: "crawl";
3244
- };
3245
- /** @enum {string} */
3246
- eventType: "task-operation";
3247
- operationId: string;
3248
- planId: string;
3249
- researchId: string;
3250
- taskId: string;
3251
- } | {
3252
- /** @description Milliseconds since epoch time */
3253
- createdAt: number;
3254
- /** @enum {string} */
3255
- eventType: "task-output";
3256
- output: {
3257
- content: string;
3258
- /** @enum {string} */
3259
- outputType: "completed";
3260
- };
3261
- planId: string;
3262
- researchId: string;
3263
- taskId: string;
3264
- }))[];
3265
- /** @description The instructions given to this research request */
3266
- instructions: string;
3267
- /**
3268
- * @description The model used for the research request
3269
- * @default exa-research
3270
- * @enum {string}
3271
- */
3272
- model: "exa-research" | "exa-research-pro";
3273
- /** @description The unique identifier for the research request */
3274
- researchId: string;
3275
- /** @enum {string} */
3276
- status: "running";
3277
- } | {
3278
- costDollars: {
3279
- numPages: number;
3280
- numSearches: number;
3281
- reasoningTokens: number;
3282
- total: number;
3283
- };
3284
- /** @description Milliseconds since epoch time */
3285
- createdAt: number;
3286
- events?: (({
3287
- /** @description Milliseconds since epoch time */
3288
- createdAt: number;
3289
- /** @enum {string} */
3290
- eventType: "research-definition";
3291
- instructions: string;
3292
- outputSchema?: {
3293
- [key: string]: unknown;
3294
- };
3295
- researchId: string;
3296
- } | {
3297
- /** @description Milliseconds since epoch time */
3298
- createdAt: number;
3299
- /** @enum {string} */
3300
- eventType: "research-output";
3301
- output: {
3302
- content: string;
3303
- costDollars: {
3304
- numPages: number;
3305
- numSearches: number;
3306
- reasoningTokens: number;
3307
- total: number;
3308
- };
3309
- /** @enum {string} */
3310
- outputType: "completed";
3311
- parsed?: {
3312
- [key: string]: unknown;
3313
- };
3314
- } | {
3315
- error: string;
3316
- /** @enum {string} */
3317
- outputType: "failed";
3318
- };
3319
- researchId: string;
3320
- }) | ({
3321
- /** @description Milliseconds since epoch time */
3322
- createdAt: number;
3323
- /** @enum {string} */
3324
- eventType: "plan-definition";
3325
- planId: string;
3326
- researchId: string;
3327
- } | {
3328
- /** @description Milliseconds since epoch time */
3329
- createdAt: number;
3330
- data: {
3331
- content: string;
3332
- /** @enum {string} */
3333
- type: "think";
3334
- } | {
3335
- goal?: string;
3336
- pageTokens: number;
3337
- query: string;
3338
- results: {
3339
- url: string;
3340
- }[];
3341
- /** @enum {string} */
3342
- searchType: "neural" | "keyword" | "auto" | "fast";
3343
- /** @enum {string} */
3344
- type: "search";
3345
- } | {
3346
- goal?: string;
3347
- pageTokens: number;
3348
- result: {
3349
- url: string;
3350
- };
3351
- /** @enum {string} */
3352
- type: "crawl";
3353
- };
3354
- /** @enum {string} */
3355
- eventType: "plan-operation";
3356
- operationId: string;
3357
- planId: string;
3358
- researchId: string;
3359
- } | {
3360
- /** @description Milliseconds since epoch time */
3361
- createdAt: number;
3362
- /** @enum {string} */
3363
- eventType: "plan-output";
3364
- output: {
3365
- /** @enum {string} */
3366
- outputType: "tasks";
3367
- reasoning: string;
3368
- tasksInstructions: string[];
3369
- } | {
3370
- /** @enum {string} */
3371
- outputType: "stop";
3372
- reasoning: string;
3373
- };
3374
- planId: string;
3375
- researchId: string;
3376
- }) | ({
3377
- /** @description Milliseconds since epoch time */
3378
- createdAt: number;
3379
- /** @enum {string} */
3380
- eventType: "task-definition";
3381
- instructions: string;
3382
- planId: string;
3383
- researchId: string;
3384
- taskId: string;
3385
- } | {
3386
- /** @description Milliseconds since epoch time */
3387
- createdAt: number;
3388
- data: {
3389
- content: string;
3390
- /** @enum {string} */
3391
- type: "think";
3392
- } | {
3393
- goal?: string;
3394
- pageTokens: number;
3395
- query: string;
3396
- results: {
3397
- url: string;
3398
- }[];
3399
- /** @enum {string} */
3400
- searchType: "neural" | "keyword" | "auto" | "fast";
3401
- /** @enum {string} */
3402
- type: "search";
3403
- } | {
3404
- goal?: string;
3405
- pageTokens: number;
3406
- result: {
3407
- url: string;
3408
- };
3409
- /** @enum {string} */
3410
- type: "crawl";
3411
- };
3412
- /** @enum {string} */
3413
- eventType: "task-operation";
3414
- operationId: string;
3415
- planId: string;
3416
- researchId: string;
3417
- taskId: string;
3418
- } | {
3419
- /** @description Milliseconds since epoch time */
3420
- createdAt: number;
3421
- /** @enum {string} */
3422
- eventType: "task-output";
3423
- output: {
3424
- content: string;
3425
- /** @enum {string} */
3426
- outputType: "completed";
3427
- };
3428
- planId: string;
3429
- researchId: string;
3430
- taskId: string;
3431
- }))[];
3432
- /** @description The instructions given to this research request */
3433
- instructions: string;
3434
- /**
3435
- * @description The model used for the research request
3436
- * @default exa-research
3437
- * @enum {string}
3438
- */
3439
- model: "exa-research" | "exa-research-pro";
3440
- output: {
3441
- content: string;
3442
- parsed?: {
3443
- [key: string]: unknown;
3444
- };
3445
- };
3446
- /** @description The unique identifier for the research request */
3447
- researchId: string;
3448
- /** @enum {string} */
3449
- status: "completed";
3450
- } | {
3451
- /** @description Milliseconds since epoch time */
3452
- createdAt: number;
3453
- events?: (({
3454
- /** @description Milliseconds since epoch time */
3455
- createdAt: number;
3456
- /** @enum {string} */
3457
- eventType: "research-definition";
3458
- instructions: string;
3459
- outputSchema?: {
3460
- [key: string]: unknown;
3461
- };
3462
- researchId: string;
3463
- } | {
3464
- /** @description Milliseconds since epoch time */
3465
- createdAt: number;
3466
- /** @enum {string} */
3467
- eventType: "research-output";
3468
- output: {
3469
- content: string;
3470
- costDollars: {
3471
- numPages: number;
3472
- numSearches: number;
3473
- reasoningTokens: number;
3474
- total: number;
3475
- };
3476
- /** @enum {string} */
3477
- outputType: "completed";
3478
- parsed?: {
3479
- [key: string]: unknown;
3480
- };
3481
- } | {
3482
- error: string;
3483
- /** @enum {string} */
3484
- outputType: "failed";
3485
- };
3486
- researchId: string;
3487
- }) | ({
3488
- /** @description Milliseconds since epoch time */
3489
- createdAt: number;
3490
- /** @enum {string} */
3491
- eventType: "plan-definition";
3492
- planId: string;
3493
- researchId: string;
3494
- } | {
3495
- /** @description Milliseconds since epoch time */
3496
- createdAt: number;
3497
- data: {
3498
- content: string;
3499
- /** @enum {string} */
3500
- type: "think";
3501
- } | {
3502
- goal?: string;
3503
- pageTokens: number;
3504
- query: string;
3505
- results: {
3506
- url: string;
3507
- }[];
3508
- /** @enum {string} */
3509
- searchType: "neural" | "keyword" | "auto" | "fast";
3510
- /** @enum {string} */
3511
- type: "search";
3512
- } | {
3513
- goal?: string;
3514
- pageTokens: number;
3515
- result: {
3516
- url: string;
3517
- };
3518
- /** @enum {string} */
3519
- type: "crawl";
3520
- };
3521
- /** @enum {string} */
3522
- eventType: "plan-operation";
3523
- operationId: string;
3524
- planId: string;
3525
- researchId: string;
3526
- } | {
3527
- /** @description Milliseconds since epoch time */
3528
- createdAt: number;
3529
- /** @enum {string} */
3530
- eventType: "plan-output";
3531
- output: {
3532
- /** @enum {string} */
3533
- outputType: "tasks";
3534
- reasoning: string;
3535
- tasksInstructions: string[];
3536
- } | {
3537
- /** @enum {string} */
3538
- outputType: "stop";
3539
- reasoning: string;
3540
- };
3541
- planId: string;
3542
- researchId: string;
3543
- }) | ({
3544
- /** @description Milliseconds since epoch time */
3545
- createdAt: number;
3546
- /** @enum {string} */
3547
- eventType: "task-definition";
3548
- instructions: string;
3549
- planId: string;
3550
- researchId: string;
3551
- taskId: string;
3552
- } | {
3553
- /** @description Milliseconds since epoch time */
3554
- createdAt: number;
3555
- data: {
3556
- content: string;
3557
- /** @enum {string} */
3558
- type: "think";
3559
- } | {
3560
- goal?: string;
3561
- pageTokens: number;
3562
- query: string;
3563
- results: {
3564
- url: string;
3565
- }[];
3566
- /** @enum {string} */
3567
- searchType: "neural" | "keyword" | "auto" | "fast";
3568
- /** @enum {string} */
3569
- type: "search";
3570
- } | {
3571
- goal?: string;
3572
- pageTokens: number;
3573
- result: {
3574
- url: string;
3575
- };
3576
- /** @enum {string} */
3577
- type: "crawl";
3578
- };
3579
- /** @enum {string} */
3580
- eventType: "task-operation";
3581
- operationId: string;
3582
- planId: string;
3583
- researchId: string;
3584
- taskId: string;
3585
- } | {
3586
- /** @description Milliseconds since epoch time */
3587
- createdAt: number;
3588
- /** @enum {string} */
3589
- eventType: "task-output";
3590
- output: {
3591
- content: string;
3592
- /** @enum {string} */
3593
- outputType: "completed";
3594
- };
3595
- planId: string;
3596
- researchId: string;
3597
- taskId: string;
3598
- }))[];
3599
- /** @description The instructions given to this research request */
3600
- instructions: string;
3601
- /**
3602
- * @description The model used for the research request
3603
- * @default exa-research
3604
- * @enum {string}
3605
- */
3606
- model: "exa-research" | "exa-research-pro";
3607
- /** @description The unique identifier for the research request */
3608
- researchId: string;
3609
- /** @enum {string} */
3610
- status: "canceled";
3611
- } | {
3612
- /** @description Milliseconds since epoch time */
3613
- createdAt: number;
3614
- /** @description A message indicating why the request failed */
3615
- error: string;
3616
- events?: (({
3617
- /** @description Milliseconds since epoch time */
3618
- createdAt: number;
3619
- /** @enum {string} */
3620
- eventType: "research-definition";
3621
- instructions: string;
3622
- outputSchema?: {
3623
- [key: string]: unknown;
3624
- };
3625
- researchId: string;
3626
- } | {
3627
- /** @description Milliseconds since epoch time */
3628
- createdAt: number;
3629
- /** @enum {string} */
3630
- eventType: "research-output";
3631
- output: {
3632
- content: string;
3633
- costDollars: {
3634
- numPages: number;
3635
- numSearches: number;
3636
- reasoningTokens: number;
3637
- total: number;
3638
- };
3639
- /** @enum {string} */
3640
- outputType: "completed";
3641
- parsed?: {
3642
- [key: string]: unknown;
3643
- };
3644
- } | {
3645
- error: string;
3646
- /** @enum {string} */
3647
- outputType: "failed";
3648
- };
3649
- researchId: string;
3650
- }) | ({
3651
- /** @description Milliseconds since epoch time */
3652
- createdAt: number;
3653
- /** @enum {string} */
3654
- eventType: "plan-definition";
3655
- planId: string;
3656
- researchId: string;
3657
- } | {
3658
- /** @description Milliseconds since epoch time */
3659
- createdAt: number;
3660
- data: {
3661
- content: string;
3662
- /** @enum {string} */
3663
- type: "think";
3664
- } | {
3665
- goal?: string;
3666
- pageTokens: number;
3667
- query: string;
3668
- results: {
3669
- url: string;
3670
- }[];
3671
- /** @enum {string} */
3672
- searchType: "neural" | "keyword" | "auto" | "fast";
3673
- /** @enum {string} */
3674
- type: "search";
3675
- } | {
3676
- goal?: string;
3677
- pageTokens: number;
3678
- result: {
3679
- url: string;
3680
- };
3681
- /** @enum {string} */
3682
- type: "crawl";
3683
- };
3684
- /** @enum {string} */
3685
- eventType: "plan-operation";
3686
- operationId: string;
3687
- planId: string;
3688
- researchId: string;
3689
- } | {
3690
- /** @description Milliseconds since epoch time */
3691
- createdAt: number;
3692
- /** @enum {string} */
3693
- eventType: "plan-output";
3694
- output: {
3695
- /** @enum {string} */
3696
- outputType: "tasks";
3697
- reasoning: string;
3698
- tasksInstructions: string[];
3699
- } | {
3700
- /** @enum {string} */
3701
- outputType: "stop";
3702
- reasoning: string;
3703
- };
3704
- planId: string;
3705
- researchId: string;
3706
- }) | ({
3707
- /** @description Milliseconds since epoch time */
3708
- createdAt: number;
3709
- /** @enum {string} */
3710
- eventType: "task-definition";
3711
- instructions: string;
3712
- planId: string;
3713
- researchId: string;
3714
- taskId: string;
3715
- } | {
3716
- /** @description Milliseconds since epoch time */
3717
- createdAt: number;
3718
- data: {
3719
- content: string;
3720
- /** @enum {string} */
3721
- type: "think";
3722
- } | {
3723
- goal?: string;
3724
- pageTokens: number;
3725
- query: string;
3726
- results: {
3727
- url: string;
3728
- }[];
3729
- /** @enum {string} */
3730
- searchType: "neural" | "keyword" | "auto" | "fast";
3731
- /** @enum {string} */
3732
- type: "search";
3733
- } | {
3734
- goal?: string;
3735
- pageTokens: number;
3736
- result: {
3737
- url: string;
3738
- };
3739
- /** @enum {string} */
3740
- type: "crawl";
3741
- };
3742
- /** @enum {string} */
3743
- eventType: "task-operation";
3744
- operationId: string;
3745
- planId: string;
3746
- researchId: string;
3747
- taskId: string;
3748
- } | {
3749
- /** @description Milliseconds since epoch time */
3750
- createdAt: number;
3751
- /** @enum {string} */
3752
- eventType: "task-output";
3753
- output: {
3754
- content: string;
3755
- /** @enum {string} */
3756
- outputType: "completed";
3757
- };
3758
- planId: string;
3759
- researchId: string;
3760
- taskId: string;
3761
- }))[];
3762
- /** @description The instructions given to this research request */
3763
- instructions: string;
3764
- /**
3765
- * @description The model used for the research request
3766
- * @default exa-research
3767
- * @enum {string}
3768
- */
3769
- model: "exa-research" | "exa-research-pro";
3770
- /** @description The unique identifier for the research request */
3771
- researchId: string;
3772
- /** @enum {string} */
3773
- status: "failed";
3774
- };
3775
- ResearchEventDtoClass: ({
3776
- /** @description Milliseconds since epoch time */
3777
- createdAt: number;
3778
- /** @enum {string} */
3779
- eventType: "research-definition";
3780
- instructions: string;
3781
- outputSchema?: {
3782
- [key: string]: unknown;
3783
- };
3784
- researchId: string;
3785
- } | {
3786
- /** @description Milliseconds since epoch time */
3787
- createdAt: number;
3788
- /** @enum {string} */
3789
- eventType: "research-output";
3790
- output: {
3791
- content: string;
3792
- costDollars: {
3793
- numPages: number;
3794
- numSearches: number;
3795
- reasoningTokens: number;
3796
- total: number;
3797
- };
3798
- /** @enum {string} */
3799
- outputType: "completed";
3800
- parsed?: {
3801
- [key: string]: unknown;
3802
- };
3803
- } | {
3804
- error: string;
3805
- /** @enum {string} */
3806
- outputType: "failed";
3807
- };
3808
- researchId: string;
3809
- }) | ({
3810
- /** @description Milliseconds since epoch time */
3811
- createdAt: number;
3812
- /** @enum {string} */
3813
- eventType: "plan-definition";
3814
- planId: string;
3815
- researchId: string;
3816
- } | {
3817
- /** @description Milliseconds since epoch time */
3818
- createdAt: number;
3819
- data: {
3820
- content: string;
3821
- /** @enum {string} */
3822
- type: "think";
3823
- } | {
3824
- goal?: string;
3825
- pageTokens: number;
3826
- query: string;
3827
- results: {
3828
- url: string;
3829
- }[];
3830
- /** @enum {string} */
3831
- searchType: "neural" | "keyword" | "auto" | "fast";
3832
- /** @enum {string} */
3833
- type: "search";
3834
- } | {
3835
- goal?: string;
3836
- pageTokens: number;
3837
- result: {
3838
- url: string;
3839
- };
3840
- /** @enum {string} */
3841
- type: "crawl";
3842
- };
3843
- /** @enum {string} */
3844
- eventType: "plan-operation";
3845
- operationId: string;
3846
- planId: string;
3847
- researchId: string;
3848
- } | {
3849
- /** @description Milliseconds since epoch time */
3850
- createdAt: number;
3851
- /** @enum {string} */
3852
- eventType: "plan-output";
3853
- output: {
3854
- /** @enum {string} */
3855
- outputType: "tasks";
3856
- reasoning: string;
3857
- tasksInstructions: string[];
3858
- } | {
3859
- /** @enum {string} */
3860
- outputType: "stop";
3861
- reasoning: string;
3862
- };
3863
- planId: string;
3864
- researchId: string;
3865
- }) | ({
3866
- /** @description Milliseconds since epoch time */
3867
- createdAt: number;
3868
- /** @enum {string} */
3869
- eventType: "task-definition";
3870
- instructions: string;
3871
- planId: string;
3872
- researchId: string;
3873
- taskId: string;
3874
- } | {
3875
- /** @description Milliseconds since epoch time */
3876
- createdAt: number;
3877
- data: {
3878
- content: string;
3879
- /** @enum {string} */
3880
- type: "think";
3881
- } | {
3882
- goal?: string;
3883
- pageTokens: number;
3884
- query: string;
3885
- results: {
3886
- url: string;
3887
- }[];
3888
- /** @enum {string} */
3889
- searchType: "neural" | "keyword" | "auto" | "fast";
3890
- /** @enum {string} */
3891
- type: "search";
3892
- } | {
3893
- goal?: string;
3894
- pageTokens: number;
3895
- result: {
3896
- url: string;
3897
- };
3898
- /** @enum {string} */
3899
- type: "crawl";
3900
- };
3901
- /** @enum {string} */
3902
- eventType: "task-operation";
3903
- operationId: string;
3904
- planId: string;
3905
- researchId: string;
3906
- taskId: string;
3907
- } | {
3908
- /** @description Milliseconds since epoch time */
3909
- createdAt: number;
3910
- /** @enum {string} */
3911
- eventType: "task-output";
3912
- output: {
3913
- content: string;
3914
- /** @enum {string} */
3915
- outputType: "completed";
3916
- };
3917
- planId: string;
3918
- researchId: string;
3919
- taskId: string;
3920
- });
3921
- ResearchOperationDtoClass: {
3922
- content: string;
3923
- /** @enum {string} */
3924
- type: "think";
3925
- } | {
3926
- goal?: string;
3927
- pageTokens: number;
3928
- query: string;
3929
- results: {
3930
- url: string;
3931
- }[];
3932
- /** @enum {string} */
3933
- searchType: "neural" | "keyword" | "auto" | "fast";
3934
- /** @enum {string} */
3935
- type: "search";
3936
- } | {
3937
- goal?: string;
3938
- pageTokens: number;
3939
- result: {
3940
- url: string;
3941
- };
3942
- /** @enum {string} */
3943
- type: "crawl";
3944
- };
3945
- };
3946
- responses: never;
3947
- parameters: never;
3948
- requestBodies: never;
3949
- headers: never;
3950
- pathItems: never;
2627
+ * @param id The ID of the Webhook
2628
+ * @param options Pagination and filtering options
2629
+ * @returns Async generator of Webhook attempts
2630
+ */
2631
+ listAllAttempts(id: string, options?: ListWebhookAttemptsOptions): AsyncGenerator<WebhookAttempt>;
2632
+ /**
2633
+ * Collect all attempts for a Webhook into an array
2634
+ * @param id The ID of the Webhook
2635
+ * @param options Pagination and filtering options
2636
+ * @returns Promise resolving to an array of all Webhook attempts
2637
+ */
2638
+ getAllAttempts(id: string, options?: ListWebhookAttemptsOptions): Promise<WebhookAttempt[]>;
3951
2639
  }
3952
2640
 
3953
- type Research = components["schemas"]["ResearchDtoClass"];
3954
- type ResearchStatus = Research["status"];
3955
- type ResearchEvent = components["schemas"]["ResearchEventDtoClass"];
3956
- type ResearchOperation = components["schemas"]["ResearchOperationDtoClass"];
3957
- type DeepReplaceParsed<T, TData> = T extends {
3958
- parsed?: Record<string, unknown>;
3959
- } ? Omit<T, "parsed"> & {
3960
- parsed: TData;
3961
- } : T extends object ? {
3962
- [K in keyof T]: DeepReplaceParsed<T[K], TData>;
3963
- } : T;
3964
- type ResearchTyped<T> = DeepReplaceParsed<Research, T>;
3965
- type ResearchStreamEventTyped<T> = DeepReplaceParsed<ResearchStreamEvent, T>;
3966
- type ListResearchRequest = {
3967
- cursor?: string;
3968
- limit?: number;
3969
- };
3970
- type ListResearchResponse = components["schemas"]["ListResearchResponseDto"];
3971
- type ResearchCreateRequest = components["schemas"]["ResearchCreateRequestDtoClass"];
3972
- type ResearchCreateResponse = Research;
3973
- type ResearchStreamEvent = ResearchEvent;
3974
2641
  /**
3975
- * Enhanced research creation params with zod schema support
2642
+ * Websets API client
3976
2643
  */
3977
- type ResearchCreateParamsTyped<T> = {
3978
- instructions: string;
3979
- model?: "exa-research" | "exa-research-pro";
3980
- outputSchema?: T;
3981
- };
3982
- type ResearchDefinitionEvent = Extract<ResearchEvent, {
3983
- eventType: "research-definition";
3984
- }>;
3985
- type ResearchOutputEvent = Extract<ResearchEvent, {
3986
- eventType: "research-output";
3987
- }>;
3988
- type ResearchPlanDefinitionEvent = Extract<ResearchEvent, {
3989
- eventType: "plan-definition";
3990
- }>;
3991
- type ResearchPlanOperationEvent = Extract<ResearchEvent, {
3992
- eventType: "plan-operation";
3993
- }>;
3994
- type ResearchPlanOutputEvent = Extract<ResearchEvent, {
3995
- eventType: "plan-output";
3996
- }>;
3997
- type ResearchTaskDefinitionEvent = Extract<ResearchEvent, {
3998
- eventType: "task-definition";
3999
- }>;
4000
- type ResearchTaskOperationEvent = Extract<ResearchEvent, {
4001
- eventType: "task-operation";
4002
- }>;
4003
- type ResearchTaskOutputEvent = Extract<ResearchEvent, {
4004
- eventType: "task-output";
4005
- }>;
4006
2644
 
4007
- type QueryParams = Record<string, string | number | boolean | string[] | undefined>;
4008
- interface RequestBody {
4009
- [key: string]: unknown;
4010
- }
4011
- declare class ResearchBaseClient {
4012
- protected client: Exa;
4013
- constructor(client: Exa);
4014
- protected request<T = unknown>(endpoint: string, method?: string, data?: RequestBody, params?: QueryParams): Promise<T>;
4015
- protected rawRequest(endpoint: string, method?: string, data?: RequestBody, params?: QueryParams): Promise<Response>;
4016
- protected buildPaginationParams(pagination?: ListResearchRequest): QueryParams;
2645
+ type WebsetHeadersLike = {
2646
+ "x-exa-websets-priority"?: "low" | "medium" | "high";
2647
+ } & Record<string, string>;
2648
+
2649
+ /**
2650
+ * Client for managing Webset Searches
2651
+ */
2652
+
2653
+ /**
2654
+ * Client for managing Webset Searches
2655
+ */
2656
+ declare class WebsetSearchesClient extends WebsetsBaseClient {
2657
+ /**
2658
+ * Create a new Search for the Webset
2659
+ * @param websetId The ID of the Webset
2660
+ * @param params The search parameters
2661
+ * @returns The created Webset Search
2662
+ */
2663
+ create(websetId: string, params: CreateWebsetSearchParameters, options?: {
2664
+ headers?: WebsetHeadersLike;
2665
+ }): Promise<WebsetSearch>;
2666
+ /**
2667
+ * Get a Search by ID
2668
+ * @param websetId The ID of the Webset
2669
+ * @param id The ID of the Search
2670
+ * @returns The Webset Search
2671
+ */
2672
+ get(websetId: string, id: string): Promise<WebsetSearch>;
2673
+ /**
2674
+ * Cancel a running Search
2675
+ * @param websetId The ID of the Webset
2676
+ * @param id The ID of the Search
2677
+ * @returns The canceled Webset Search
2678
+ */
2679
+ cancel(websetId: string, id: string): Promise<WebsetSearch>;
4017
2680
  }
4018
2681
 
4019
- declare class ResearchClient extends ResearchBaseClient {
2682
+ /**
2683
+ * Main client for Websets API
2684
+ */
2685
+
2686
+ /**
2687
+ * Options for listing Websets (API only supports pagination)
2688
+ */
2689
+ interface ListWebsetsOptions extends PaginationParams {
2690
+ }
2691
+ /**
2692
+ * Client for managing Websets
2693
+ */
2694
+ declare class WebsetsClient extends WebsetsBaseClient {
2695
+ /**
2696
+ * Client for managing Events
2697
+ */
2698
+ events: EventsClient;
2699
+ /**
2700
+ * Client for managing Imports
2701
+ */
2702
+ imports: ImportsClient;
2703
+ /**
2704
+ * Client for managing Webset Items
2705
+ */
2706
+ items: WebsetItemsClient;
2707
+ /**
2708
+ * Client for managing Webset Searches
2709
+ */
2710
+ searches: WebsetSearchesClient;
2711
+ /**
2712
+ * Client for managing Webset Enrichments
2713
+ */
2714
+ enrichments: WebsetEnrichmentsClient;
2715
+ /**
2716
+ * Client for managing Webset Monitors
2717
+ */
2718
+ monitors: WebsetMonitorsClient;
2719
+ /**
2720
+ * Client for managing Webset Webhooks
2721
+ */
2722
+ webhooks: WebsetWebhooksClient;
2723
+ /**
2724
+ * Initialize a new Websets client
2725
+ * @param client The Exa client instance
2726
+ */
4020
2727
  constructor(client: Exa);
4021
- create<T>(params: ResearchCreateParamsTyped<ZodSchema<T>>): Promise<ResearchCreateResponse>;
4022
- create(params: {
4023
- instructions: string;
4024
- model?: "exa-research" | "exa-research-pro";
4025
- outputSchema?: Record<string, unknown>;
4026
- }): Promise<ResearchCreateResponse>;
4027
- get(researchId: string): Promise<Research>;
4028
- get(researchId: string, options: {
4029
- stream?: false;
4030
- events?: boolean;
4031
- }): Promise<Research>;
4032
- get<T>(researchId: string, options: {
4033
- stream?: false;
4034
- events?: boolean;
4035
- outputSchema: ZodSchema<T>;
4036
- }): Promise<ResearchTyped<T>>;
4037
- get(researchId: string, options: {
4038
- stream: true;
4039
- events?: boolean;
4040
- }): Promise<AsyncGenerator<ResearchStreamEvent, any, any>>;
4041
- get<T>(researchId: string, options: {
4042
- stream: true;
4043
- events?: boolean;
4044
- outputSchema?: ZodSchema<T>;
4045
- }): Promise<AsyncGenerator<ResearchStreamEvent, any, any>>;
4046
- list(options?: ListResearchRequest): Promise<ListResearchResponse>;
4047
- pollUntilFinished(researchId: string, options?: {
4048
- pollInterval?: number;
4049
- timeoutMs?: number;
4050
- events?: boolean;
4051
- }): Promise<Research & {
4052
- status: "completed" | "failed" | "canceled";
4053
- }>;
4054
- pollUntilFinished<T>(researchId: string, options?: {
2728
+ /**
2729
+ * Create a new Webset
2730
+ * @param params The Webset creation parameters
2731
+ * @returns The created Webset
2732
+ */
2733
+ create(params: CreateWebsetParameters, options?: {
2734
+ headers?: WebsetHeadersLike;
2735
+ }): Promise<Webset>;
2736
+ /**
2737
+ * Preview a webset
2738
+ * @param params The preview parameters
2739
+ * @returns The preview response showing how the query will be decomposed
2740
+ */
2741
+ preview(params: PreviewWebsetParameters): Promise<PreviewWebsetResponse>;
2742
+ /**
2743
+ * Get a Webset by ID
2744
+ * @param id The ID of the Webset
2745
+ * @param expand Optional array of relations to expand
2746
+ * @returns The Webset
2747
+ */
2748
+ get(id: string, expand?: Array<"items">): Promise<GetWebsetResponse>;
2749
+ /**
2750
+ * List all Websets
2751
+ * @param options Pagination options (filtering by status is not supported by API)
2752
+ * @returns The list of Websets
2753
+ */
2754
+ list(options?: ListWebsetsOptions): Promise<ListWebsetsResponse>;
2755
+ /**
2756
+ * Iterate through all Websets, handling pagination automatically
2757
+ * @param options Pagination options
2758
+ * @returns Async generator of Websets
2759
+ */
2760
+ listAll(options?: ListWebsetsOptions): AsyncGenerator<Webset>;
2761
+ /**
2762
+ * Collect all Websets into an array
2763
+ * @param options Pagination options
2764
+ * @returns Promise resolving to an array of all Websets
2765
+ */
2766
+ getAll(options?: ListWebsetsOptions): Promise<Webset[]>;
2767
+ /**
2768
+ * Update a Webset
2769
+ * @param id The ID of the Webset
2770
+ * @param params The Webset update parameters
2771
+ * @returns The updated Webset
2772
+ */
2773
+ update(id: string, params: UpdateWebsetRequest): Promise<Webset>;
2774
+ /**
2775
+ * Delete a Webset
2776
+ * @param id The ID of the Webset
2777
+ * @returns The deleted Webset
2778
+ */
2779
+ delete(id: string): Promise<Webset>;
2780
+ /**
2781
+ * Cancel a running Webset
2782
+ * @param id The ID or external ID of the Webset
2783
+ * @returns The canceled Webset (as returned by the API)
2784
+ */
2785
+ cancel(id: string): Promise<Webset>;
2786
+ /**
2787
+ * Wait until a Webset is idle
2788
+ * @param id The ID of the Webset
2789
+ * @param options Configuration options for timeout and polling
2790
+ * @returns The Webset once it becomes idle
2791
+ * @throws Error if the Webset does not become idle within the timeout
2792
+ */
2793
+ waitUntilIdle(id: string, options?: {
2794
+ timeout?: number;
4055
2795
  pollInterval?: number;
4056
- timeoutMs?: number;
4057
- events?: boolean;
4058
- outputSchema: ZodSchema<T>;
4059
- }): Promise<ResearchTyped<T> & {
4060
- status: "completed" | "failed" | "canceled";
4061
- }>;
2796
+ onPoll?: (status: WebsetStatus) => void;
2797
+ } | number): Promise<Webset>;
4062
2798
  }
4063
2799
 
4064
2800
  /**