@linkt/sdk 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -121,15 +121,18 @@ export class Task extends APIResource {
121
121
  }
122
122
 
123
123
  /**
124
- * Configuration for one-time CSV enrichment tasks.
124
+ * CSV enrichment task configuration.
125
125
  *
126
- * Used by ingest_csv workflows to enrich entities from uploaded CSV files. The
127
- * csv_entity_type tracks the entity type of rows IN THE CSV, which may differ from
128
- * the ICP hierarchy (e.g., CSV has people, but ICP has company→person).
126
+ * Enriches entities from an uploaded CSV file with additional data discovered by
127
+ * AI agents.
129
128
  *
130
- * Attributes: file_id: Reference to uploaded CSV file in S3 (via File document)
131
- * primary_column: Column containing entity names for matching csv_entity_type:
132
- * Entity type of rows in CSV (may differ from ICP hierarchy)
129
+ * Attributes: type: Config type discriminator (always "ingest"). file_id: ID of
130
+ * the uploaded CSV file to process. primary_column: Column containing entity names
131
+ * for matching. csv_entity_type: Entity type in the CSV (e.g., 'person',
132
+ * 'company'). webhook_url: Optional webhook URL for completion notification.
133
+ *
134
+ * Example: >>> config = IngestTaskConfigRequest( ... file_id="abc123", ...
135
+ * primary_column="company_name", ... csv_entity_type="company" ... )
133
136
  */
134
137
  export interface IngestTaskConfig {
135
138
  /**
@@ -138,84 +141,87 @@ export interface IngestTaskConfig {
138
141
  csv_entity_type: string;
139
142
 
140
143
  /**
141
- * File ID referencing uploaded CSV in MongoDB
144
+ * ID of the uploaded CSV file to process
142
145
  */
143
146
  file_id: string;
144
147
 
145
148
  /**
146
- * Column containing entity names
149
+ * Column containing entity names for matching
147
150
  */
148
151
  primary_column: string;
149
152
 
150
153
  /**
151
- * Config type for ingest tasks
154
+ * Config type discriminator
152
155
  */
153
- config_type?: 'ingest-task';
154
-
155
- version?: 'v1.0';
156
+ type?: 'ingest';
156
157
 
157
158
  /**
158
- * Optional webhook URL to notify when workflow run completes
159
+ * Optional webhook URL to notify when workflow completes
159
160
  */
160
161
  webhook_url?: string | null;
161
162
  }
162
163
 
163
164
  /**
164
- * Search v2 dual-agent configuration.
165
+ * Profile prompt task configuration.
166
+ *
167
+ * Configures a profile workflow with a custom prompt template.
168
+ *
169
+ * Attributes: type: Config type discriminator (always "profile"). prompt: Jinja2
170
+ * template for task instructions. webhook_url: Optional webhook URL for completion
171
+ * notification.
172
+ *
173
+ * Example: >>> config = ProfilePromptConfigRequest( ... prompt="Analyze
174
+ * {{ company_name }} and extract key metrics." ... )
165
175
  */
166
- export interface SearchV2Config {
176
+ export interface ProfilePromptConfig {
167
177
  /**
168
- * Jinja2 analyst agent instructions
169
- */
170
- analyst_prompt: string;
171
-
172
- /**
173
- * Jinja2 discovery agent instructions
178
+ * Jinja2 template for task instructions
174
179
  */
175
- discovery_prompt: string;
180
+ prompt: string;
176
181
 
177
182
  /**
178
- * Config type (search-prompt for legacy, search-task for normalized)
183
+ * Config type discriminator
179
184
  */
180
- config_type?: 'search-prompt' | 'search-task';
181
-
182
- version?: 'v2.0';
185
+ type?: 'profile';
183
186
 
184
187
  /**
185
- * Optional webhook URL to notify when workflow run completes
188
+ * Optional webhook URL to notify when workflow completes
186
189
  */
187
190
  webhook_url?: string | null;
188
191
  }
189
192
 
190
193
  /**
191
- * Search v3.0 configuration with planning-driven approach.
194
+ * Search task configuration for finding companies and contacts.
192
195
  *
193
- * Key differences from v2.0:
196
+ * Creates a v3.0 search workflow that uses AI agents to discover entities matching
197
+ * your ICP criteria.
194
198
  *
195
- * - No hardcoded discovery_prompt or analyst_prompt
196
- * - desired_contact_count extracted from ICP builder session
197
- * - user_feedback field for append-only feedback accumulation
199
+ * Attributes: type: Config type discriminator (always "search").
200
+ * desired_contact_count: Number of contacts to find per company (minimum: 1).
201
+ * user_feedback: Optional feedback to refine search behavior. webhook_url:
202
+ * Optional webhook URL for completion notification.
203
+ *
204
+ * Example: >>> config = SearchTaskConfigRequest(desired_contact_count=5) >>>
205
+ * mongo_config = config.to_mongo_config() >>> mongo_config.version 'v3.0'
198
206
  */
199
- export interface SearchV3Config {
207
+ export interface SearchTaskConfig {
200
208
  /**
201
- * Normalized config type for all search tasks
209
+ * Number of contacts to find per company (minimum: 1)
202
210
  */
203
- config_type?: 'search-task';
211
+ desired_contact_count?: number;
204
212
 
205
213
  /**
206
- * Number of contacts to find per company (from ICP builder session)
214
+ * Config type discriminator
207
215
  */
208
- desired_contact_count?: number;
216
+ type?: 'search';
209
217
 
210
218
  /**
211
- * Accumulated user feedback (append-only)
219
+ * Optional feedback to refine search behavior
212
220
  */
213
221
  user_feedback?: string;
214
222
 
215
- version?: 'v3.0';
216
-
217
223
  /**
218
- * Optional webhook URL to notify when workflow run completes
224
+ * Optional webhook URL to notify when workflow completes
219
225
  */
220
226
  webhook_url?: string | null;
221
227
  }
@@ -223,55 +229,51 @@ export interface SearchV3Config {
223
229
  /**
224
230
  * CSV-based signal monitoring configuration.
225
231
  *
226
- * Monitors signals for companies/people uploaded via CSV file.
232
+ * Monitors signals for entities uploaded via CSV file.
233
+ *
234
+ * Attributes: type: Config type discriminator (always "signal-csv"). file_id: ID
235
+ * of the uploaded CSV file. signal_types: Types of signals to monitor.
236
+ * entity_type: Type of entity being monitored (default: company). primary_column:
237
+ * Column containing entity names (default: "name"). monitoring_frequency: How
238
+ * often to check (daily/weekly/monthly). webhook_url: Optional webhook URL for
239
+ * completion notification.
227
240
  *
228
- * Attributes: version: Config version (always "v2.0") config_type: Config type
229
- * discriminator (always "signal-csv") entity_type: Type of entity being monitored
230
- * (company, person, etc.) file_id: ID of the uploaded CSV file primary_column:
231
- * Column containing entity names (defaults to "name") signal_types: Types of
232
- * signals to monitor for these entities monitoring_frequency: How often to check
233
- * for signals (daily/weekly/monthly) webhook_url: Optional webhook URL to notify
234
- * when signal run completes
241
+ * Example: >>> config = SignalCSVConfigRequest( ... file_id="abc123", ...
242
+ * signal_types=[SignalTypeConfig(type="hiring_surge", ...)] ... )
235
243
  */
236
- export interface SignalCsvConfigInput {
244
+ export interface SignalCsvConfig {
237
245
  /**
238
246
  * ID of the uploaded CSV file
239
247
  */
240
248
  file_id: string;
241
249
 
242
250
  /**
243
- * Types of signals to monitor for these entities
251
+ * Types of signals to monitor
244
252
  */
245
253
  signal_types: Array<SignalTypeConfig>;
246
254
 
247
255
  /**
248
- * Config type discriminator
249
- */
250
- config_type?: 'signal-csv';
251
-
252
- /**
253
- * Type of entity being monitored (company, school district, person, etc.)
256
+ * Type of entity being monitored
254
257
  */
255
258
  entity_type?: SheetAPI.EntityType;
256
259
 
257
260
  /**
258
- * How often to check for new signals (daily, weekly, monthly)
261
+ * How often to check for new signals
259
262
  */
260
263
  monitoring_frequency?: 'daily' | 'weekly' | 'monthly';
261
264
 
262
265
  /**
263
- * Column containing entity names. Defaults to 'name'. Used to extract entity names
264
- * from CSV rows during signal workflow.
266
+ * Column containing entity names
265
267
  */
266
268
  primary_column?: string;
267
269
 
268
270
  /**
269
- * Config version
271
+ * Config type discriminator
270
272
  */
271
- version?: 'v2.0';
273
+ type?: 'signal-csv';
272
274
 
273
275
  /**
274
- * Optional webhook URL to notify when signal run completes
276
+ * Optional webhook URL to notify when workflow completes
275
277
  */
276
278
  webhook_url?: string | null;
277
279
  }
@@ -279,21 +281,19 @@ export interface SignalCsvConfigInput {
279
281
  /**
280
282
  * Sheet-based signal monitoring configuration.
281
283
  *
282
- * Monitors signals for entities from an existing discovery ICP's sheet. Unlike CSV
283
- * mode, signals are deterministically linked to source entities without requiring
284
- * analyst agent processing.
284
+ * Monitors signals for entities from an existing discovery ICP's sheet.
285
285
  *
286
- * UPDATED 2025-12-29: Removed source_sheet_id field. Sheets are uniquely
287
- * identified by (source_icp_id, entity_type), so source_sheet_id was redundant and
288
- * never used at runtime.
286
+ * Attributes: type: Config type discriminator (always "signal-sheet").
287
+ * source_icp_id: ID of the discovery ICP containing entities to monitor.
288
+ * signal_types: Types of signals to monitor. entity_type: Type of entity being
289
+ * monitored (default: company). entity_filters: Optional MongoDB query to filter
290
+ * entities. monitoring_frequency: How often to check (daily/weekly/monthly).
291
+ * webhook_url: Optional webhook URL for completion notification.
289
292
  *
290
- * Attributes: source_icp_id: ID of the discovery ICP containing entities to
291
- * monitor entity_type: Type of entity being monitored (selects which sheet)
292
- * entity_filters: Optional MongoDB query to filter entities signal_types: Types of
293
- * signals to monitor monitoring_frequency: How often to check for signals
294
- * webhook_url: Optional webhook URL to notify when signal run completes
293
+ * Example: >>> config = SignalSheetConfigRequest( ... source_icp_id="icp123", ...
294
+ * signal_types=[SignalTypeConfig(type="leadership_change", ...)] ... )
295
295
  */
296
- export interface SignalSheetConfigInput {
296
+ export interface SignalSheetConfig {
297
297
  /**
298
298
  * Types of signals to monitor
299
299
  */
@@ -305,17 +305,12 @@ export interface SignalSheetConfigInput {
305
305
  source_icp_id: string;
306
306
 
307
307
  /**
308
- * Config type discriminator
309
- */
310
- config_type?: 'signal-sheet';
311
-
312
- /**
313
- * Optional MongoDB query to filter entities within the sheet
308
+ * Optional MongoDB query to filter entities
314
309
  */
315
310
  entity_filters?: { [key: string]: unknown } | null;
316
311
 
317
312
  /**
318
- * Type of entity being monitored (company, person, school_district, etc.)
313
+ * Type of entity being monitored
319
314
  */
320
315
  entity_type?: SheetAPI.EntityType;
321
316
 
@@ -325,12 +320,12 @@ export interface SignalSheetConfigInput {
325
320
  monitoring_frequency?: 'daily' | 'weekly' | 'monthly';
326
321
 
327
322
  /**
328
- * Config version
323
+ * Config type discriminator
329
324
  */
330
- version?: 'v2.0';
325
+ type?: 'signal-sheet';
331
326
 
332
327
  /**
333
- * Optional webhook URL to notify when signal run completes
328
+ * Optional webhook URL to notify when workflow completes
334
329
  */
335
330
  webhook_url?: string | null;
336
331
  }
@@ -338,20 +333,25 @@ export interface SignalSheetConfigInput {
338
333
  /**
339
334
  * Topic-based signal monitoring configuration.
340
335
  *
341
- * Monitors signals based on criteria without requiring pre-existing entities.
336
+ * Monitors for signals based on topic criteria without requiring pre-existing
337
+ * entities.
338
+ *
339
+ * Attributes: type: Config type discriminator (always "signal-topic").
340
+ * topic_criteria: Natural language description of what to monitor. signal_types:
341
+ * Types of signals to monitor. entity_type: Type of entity being monitored
342
+ * (default: company). monitoring_frequency: How often to check
343
+ * (daily/weekly/monthly). geographic_filters: Optional geographic regions to focus
344
+ * on. industry_filters: Optional industries to focus on. company_size_filters:
345
+ * Optional company size criteria. webhook_url: Optional webhook URL for completion
346
+ * notification.
342
347
  *
343
- * Attributes: version: Config version (always "v2.0") config_type: Config type
344
- * discriminator (always "signal-topic") entity_type: Type of entity being
345
- * monitored (company, person, etc.) topic_criteria: Natural language description
346
- * of what to monitor signal_types: Types of signals to monitor for this topic
347
- * monitoring_frequency: How often to check for signals (daily/weekly/monthly)
348
- * geographic_filters: Optional geographic regions to focus on industry_filters:
349
- * Optional industries to focus on company_size_filters: Optional company size
350
- * criteria webhook_url: Optional webhook URL to notify when signal run completes
348
+ * Example: >>> config = SignalTopicConfigRequest( ... topic_criteria="AI startups
349
+ * raising Series A", ... signal_types=[SignalTypeConfig(type="funding", ...)] ...
350
+ * )
351
351
  */
352
- export interface SignalTopicConfigInput {
352
+ export interface SignalTopicConfig {
353
353
  /**
354
- * Types of signals to monitor for this topic
354
+ * Types of signals to monitor
355
355
  */
356
356
  signal_types: Array<SignalTypeConfig>;
357
357
 
@@ -361,17 +361,12 @@ export interface SignalTopicConfigInput {
361
361
  topic_criteria: string;
362
362
 
363
363
  /**
364
- * Company size criteria (e.g., employee count ranges)
364
+ * Company size criteria
365
365
  */
366
366
  company_size_filters?: Array<string> | null;
367
367
 
368
368
  /**
369
- * Config type discriminator
370
- */
371
- config_type?: 'signal-topic';
372
-
373
- /**
374
- * Type of entity being monitored (company, school district, person, etc.)
369
+ * Type of entity being monitored
375
370
  */
376
371
  entity_type?: SheetAPI.EntityType;
377
372
 
@@ -386,17 +381,17 @@ export interface SignalTopicConfigInput {
386
381
  industry_filters?: Array<string> | null;
387
382
 
388
383
  /**
389
- * How often to check for new signals (daily, weekly, monthly)
384
+ * How often to check for new signals
390
385
  */
391
386
  monitoring_frequency?: 'daily' | 'weekly' | 'monthly';
392
387
 
393
388
  /**
394
- * Config version
389
+ * Config type discriminator
395
390
  */
396
- version?: 'v2.0';
391
+ type?: 'signal-topic';
397
392
 
398
393
  /**
399
- * Optional webhook URL to notify when signal run completes
394
+ * Optional webhook URL to notify when workflow completes
400
395
  */
401
396
  webhook_url?: string | null;
402
397
  }
@@ -441,37 +436,624 @@ export interface SignalTypeConfig {
441
436
  }
442
437
 
443
438
  /**
444
- * Standard single-prompt configuration for most flows. Used by: ingest, profile,
445
- * signal, and future single-prompt flows.
439
+ * Response model for task data.
440
+ *
441
+ * Uses TaskConfigResponse discriminated union for proper OpenAPI schema generation
442
+ * with type-based discrimination.
446
443
  *
447
- * NOTE: config_type should match flow_name (e.g., 'profile-prompt',
448
- * 'ingest-prompt'). This is enforced by Task model validator.
444
+ * Attributes: id: Task ID. name: Task name. description: Task description. icp_id:
445
+ * Task ICP ID. flow_name: Prefect flow name. deployment_name: Prefect deployment
446
+ * name. prompt: Template prompt for the task. task_config: Flow-specific task
447
+ * configuration. created_at: Creation timestamp. updated_at: Last update
448
+ * timestamp.
449
449
  */
450
- export interface StandardPromptConfig {
450
+ export interface TaskCreateResponse {
451
451
  /**
452
- * Config type (e.g., 'profile-prompt', 'ingest-prompt')
452
+ * Task ID
453
453
  */
454
- config_type: string;
454
+ id: string;
455
455
 
456
456
  /**
457
- * Jinja2 template for task instructions
457
+ * Creation timestamp
458
458
  */
459
- prompt: string;
459
+ created_at: string;
460
460
 
461
- version?: 'v1.0';
461
+ /**
462
+ * Prefect deployment name
463
+ */
464
+ deployment_name: string;
462
465
 
463
466
  /**
464
- * Optional webhook URL to notify when workflow run completes
467
+ * Task description
465
468
  */
466
- webhook_url?: string | null;
469
+ description: string;
470
+
471
+ /**
472
+ * Prefect flow name
473
+ */
474
+ flow_name: string;
475
+
476
+ /**
477
+ * Task name
478
+ */
479
+ name: string;
480
+
481
+ /**
482
+ * Last update timestamp
483
+ */
484
+ updated_at: string;
485
+
486
+ /**
487
+ * Task ICP ID
488
+ */
489
+ icp_id?: string | null;
490
+
491
+ /**
492
+ * Template prompt for the task. Can include placeholders for runtime parameters.
493
+ */
494
+ prompt?: string | null;
495
+
496
+ /**
497
+ * Flow-specific task configuration
498
+ */
499
+ task_config?:
500
+ | TaskCreateResponse.SearchTaskConfigResponse
501
+ | TaskCreateResponse.IngestTaskConfigResponse
502
+ | TaskCreateResponse.ProfilePromptConfigResponse
503
+ | TaskCreateResponse.SignalTopicConfigResponse
504
+ | TaskCreateResponse.SignalCsvConfigResponse
505
+ | TaskCreateResponse.SignalSheetConfigResponse
506
+ | null;
467
507
  }
468
508
 
469
- export type TaskCreateResponse = { [key: string]: unknown };
509
+ export namespace TaskCreateResponse {
510
+ /**
511
+ * Search task configuration in API responses.
512
+ *
513
+ * Response model for search task configs that excludes backend-managed fields
514
+ * (version, config_type) from the API surface.
515
+ *
516
+ * Attributes: type: Config type discriminator (always "search").
517
+ * desired_contact_count: Number of contacts to find per company. user_feedback:
518
+ * Feedback to refine search behavior. webhook_url: Webhook URL for completion
519
+ * notification.
520
+ */
521
+ export interface SearchTaskConfigResponse {
522
+ /**
523
+ * Number of contacts to find per company
524
+ */
525
+ desired_contact_count: number;
526
+
527
+ /**
528
+ * Feedback to refine search behavior
529
+ */
530
+ user_feedback: string;
531
+
532
+ type?: 'search';
533
+
534
+ /**
535
+ * Webhook URL for completion notification
536
+ */
537
+ webhook_url?: string | null;
538
+ }
539
+
540
+ /**
541
+ * Ingest task configuration in API responses.
542
+ *
543
+ * Response model for CSV enrichment task configs that excludes backend-managed
544
+ * fields from the API surface.
545
+ *
546
+ * Attributes: type: Config type discriminator (always "ingest"). file_id: ID of
547
+ * the CSV file. primary_column: Column containing entity names. csv_entity_type:
548
+ * Entity type in CSV. webhook_url: Webhook URL for completion notification.
549
+ */
550
+ export interface IngestTaskConfigResponse {
551
+ /**
552
+ * Entity type in CSV
553
+ */
554
+ csv_entity_type: string;
555
+
556
+ /**
557
+ * ID of the CSV file
558
+ */
559
+ file_id: string;
560
+
561
+ /**
562
+ * Column containing entity names
563
+ */
564
+ primary_column: string;
565
+
566
+ type?: 'ingest';
567
+
568
+ /**
569
+ * Webhook URL for completion notification
570
+ */
571
+ webhook_url?: string | null;
572
+ }
573
+
574
+ /**
575
+ * Profile prompt configuration in API responses.
576
+ *
577
+ * Response model for profile prompt task configs that excludes backend-managed
578
+ * fields from the API surface.
579
+ *
580
+ * Attributes: type: Config type discriminator (always "profile"). prompt: Task
581
+ * prompt template. webhook_url: Webhook URL for completion notification.
582
+ */
583
+ export interface ProfilePromptConfigResponse {
584
+ /**
585
+ * Task prompt template
586
+ */
587
+ prompt: string;
588
+
589
+ type?: 'profile';
590
+
591
+ /**
592
+ * Webhook URL for completion notification
593
+ */
594
+ webhook_url?: string | null;
595
+ }
596
+
597
+ /**
598
+ * Signal topic configuration in API responses.
599
+ *
600
+ * Response model for topic-based signal monitoring configs.
601
+ *
602
+ * Attributes: type: Config type discriminator (always "signal-topic").
603
+ * topic_criteria: Topic criteria for monitoring. signal_types: Types of signals to
604
+ * monitor. entity_type: Type of entity being monitored. monitoring_frequency: How
605
+ * often to check for signals. geographic_filters: Geographic regions to focus on.
606
+ * industry_filters: Industries to focus on. company_size_filters: Company size
607
+ * criteria. webhook_url: Webhook URL for completion notification.
608
+ */
609
+ export interface SignalTopicConfigResponse {
610
+ /**
611
+ * Entity type
612
+ */
613
+ entity_type: SheetAPI.EntityType;
614
+
615
+ /**
616
+ * Monitoring frequency
617
+ */
618
+ monitoring_frequency: 'daily' | 'weekly' | 'monthly';
619
+
620
+ /**
621
+ * Signal types
622
+ */
623
+ signal_types: Array<TaskAPI.SignalTypeConfig>;
624
+
625
+ /**
626
+ * Topic criteria
627
+ */
628
+ topic_criteria: string;
629
+
630
+ /**
631
+ * Size filters
632
+ */
633
+ company_size_filters?: Array<string> | null;
634
+
635
+ /**
636
+ * Geographic filters
637
+ */
638
+ geographic_filters?: Array<string> | null;
639
+
640
+ /**
641
+ * Industry filters
642
+ */
643
+ industry_filters?: Array<string> | null;
644
+
645
+ type?: 'signal-topic';
646
+
647
+ /**
648
+ * Webhook URL for completion notification
649
+ */
650
+ webhook_url?: string | null;
651
+ }
652
+
653
+ /**
654
+ * Signal CSV configuration in API responses.
655
+ *
656
+ * Response model for CSV-based signal monitoring configs.
657
+ *
658
+ * Attributes: type: Config type discriminator (always "signal-csv"). file_id: CSV
659
+ * file ID. signal_types: Types of signals to monitor. entity_type: Type of entity
660
+ * being monitored. primary_column: Primary column for entity names.
661
+ * monitoring_frequency: How often to check for signals. webhook_url: Webhook URL
662
+ * for completion notification.
663
+ */
664
+ export interface SignalCsvConfigResponse {
665
+ /**
666
+ * Entity type
667
+ */
668
+ entity_type: SheetAPI.EntityType;
669
+
670
+ /**
671
+ * CSV file ID
672
+ */
673
+ file_id: string;
674
+
675
+ /**
676
+ * Monitoring frequency
677
+ */
678
+ monitoring_frequency: 'daily' | 'weekly' | 'monthly';
679
+
680
+ /**
681
+ * Primary column
682
+ */
683
+ primary_column: string;
684
+
685
+ /**
686
+ * Signal types
687
+ */
688
+ signal_types: Array<TaskAPI.SignalTypeConfig>;
689
+
690
+ type?: 'signal-csv';
470
691
 
471
- export type TaskRetrieveResponse = { [key: string]: unknown };
692
+ /**
693
+ * Webhook URL for completion notification
694
+ */
695
+ webhook_url?: string | null;
696
+ }
697
+
698
+ /**
699
+ * Signal sheet configuration in API responses.
700
+ *
701
+ * Response model for sheet-based signal monitoring configs.
702
+ *
703
+ * Attributes: type: Config type discriminator (always "signal-sheet").
704
+ * source_icp_id: Source ICP ID containing entities to monitor. signal_types: Types
705
+ * of signals to monitor. entity_type: Type of entity being monitored.
706
+ * entity_filters: Optional MongoDB query to filter entities. monitoring_frequency:
707
+ * How often to check for signals. webhook_url: Webhook URL for completion
708
+ * notification.
709
+ */
710
+ export interface SignalSheetConfigResponse {
711
+ /**
712
+ * Entity type
713
+ */
714
+ entity_type: SheetAPI.EntityType;
715
+
716
+ /**
717
+ * Monitoring frequency
718
+ */
719
+ monitoring_frequency: 'daily' | 'weekly' | 'monthly';
720
+
721
+ /**
722
+ * Signal types
723
+ */
724
+ signal_types: Array<TaskAPI.SignalTypeConfig>;
725
+
726
+ /**
727
+ * Source ICP ID
728
+ */
729
+ source_icp_id: string;
730
+
731
+ /**
732
+ * Entity filters
733
+ */
734
+ entity_filters?: { [key: string]: unknown } | null;
735
+
736
+ type?: 'signal-sheet';
737
+
738
+ /**
739
+ * Webhook URL for completion notification
740
+ */
741
+ webhook_url?: string | null;
742
+ }
743
+ }
744
+
745
+ /**
746
+ * Response model for task data.
747
+ *
748
+ * Uses TaskConfigResponse discriminated union for proper OpenAPI schema generation
749
+ * with type-based discrimination.
750
+ *
751
+ * Attributes: id: Task ID. name: Task name. description: Task description. icp_id:
752
+ * Task ICP ID. flow_name: Prefect flow name. deployment_name: Prefect deployment
753
+ * name. prompt: Template prompt for the task. task_config: Flow-specific task
754
+ * configuration. created_at: Creation timestamp. updated_at: Last update
755
+ * timestamp.
756
+ */
757
+ export interface TaskRetrieveResponse {
758
+ /**
759
+ * Task ID
760
+ */
761
+ id: string;
762
+
763
+ /**
764
+ * Creation timestamp
765
+ */
766
+ created_at: string;
767
+
768
+ /**
769
+ * Prefect deployment name
770
+ */
771
+ deployment_name: string;
772
+
773
+ /**
774
+ * Task description
775
+ */
776
+ description: string;
777
+
778
+ /**
779
+ * Prefect flow name
780
+ */
781
+ flow_name: string;
782
+
783
+ /**
784
+ * Task name
785
+ */
786
+ name: string;
787
+
788
+ /**
789
+ * Last update timestamp
790
+ */
791
+ updated_at: string;
792
+
793
+ /**
794
+ * Task ICP ID
795
+ */
796
+ icp_id?: string | null;
797
+
798
+ /**
799
+ * Template prompt for the task. Can include placeholders for runtime parameters.
800
+ */
801
+ prompt?: string | null;
802
+
803
+ /**
804
+ * Flow-specific task configuration
805
+ */
806
+ task_config?:
807
+ | TaskRetrieveResponse.SearchTaskConfigResponse
808
+ | TaskRetrieveResponse.IngestTaskConfigResponse
809
+ | TaskRetrieveResponse.ProfilePromptConfigResponse
810
+ | TaskRetrieveResponse.SignalTopicConfigResponse
811
+ | TaskRetrieveResponse.SignalCsvConfigResponse
812
+ | TaskRetrieveResponse.SignalSheetConfigResponse
813
+ | null;
814
+ }
815
+
816
+ export namespace TaskRetrieveResponse {
817
+ /**
818
+ * Search task configuration in API responses.
819
+ *
820
+ * Response model for search task configs that excludes backend-managed fields
821
+ * (version, config_type) from the API surface.
822
+ *
823
+ * Attributes: type: Config type discriminator (always "search").
824
+ * desired_contact_count: Number of contacts to find per company. user_feedback:
825
+ * Feedback to refine search behavior. webhook_url: Webhook URL for completion
826
+ * notification.
827
+ */
828
+ export interface SearchTaskConfigResponse {
829
+ /**
830
+ * Number of contacts to find per company
831
+ */
832
+ desired_contact_count: number;
833
+
834
+ /**
835
+ * Feedback to refine search behavior
836
+ */
837
+ user_feedback: string;
838
+
839
+ type?: 'search';
840
+
841
+ /**
842
+ * Webhook URL for completion notification
843
+ */
844
+ webhook_url?: string | null;
845
+ }
846
+
847
+ /**
848
+ * Ingest task configuration in API responses.
849
+ *
850
+ * Response model for CSV enrichment task configs that excludes backend-managed
851
+ * fields from the API surface.
852
+ *
853
+ * Attributes: type: Config type discriminator (always "ingest"). file_id: ID of
854
+ * the CSV file. primary_column: Column containing entity names. csv_entity_type:
855
+ * Entity type in CSV. webhook_url: Webhook URL for completion notification.
856
+ */
857
+ export interface IngestTaskConfigResponse {
858
+ /**
859
+ * Entity type in CSV
860
+ */
861
+ csv_entity_type: string;
862
+
863
+ /**
864
+ * ID of the CSV file
865
+ */
866
+ file_id: string;
867
+
868
+ /**
869
+ * Column containing entity names
870
+ */
871
+ primary_column: string;
872
+
873
+ type?: 'ingest';
874
+
875
+ /**
876
+ * Webhook URL for completion notification
877
+ */
878
+ webhook_url?: string | null;
879
+ }
880
+
881
+ /**
882
+ * Profile prompt configuration in API responses.
883
+ *
884
+ * Response model for profile prompt task configs that excludes backend-managed
885
+ * fields from the API surface.
886
+ *
887
+ * Attributes: type: Config type discriminator (always "profile"). prompt: Task
888
+ * prompt template. webhook_url: Webhook URL for completion notification.
889
+ */
890
+ export interface ProfilePromptConfigResponse {
891
+ /**
892
+ * Task prompt template
893
+ */
894
+ prompt: string;
895
+
896
+ type?: 'profile';
897
+
898
+ /**
899
+ * Webhook URL for completion notification
900
+ */
901
+ webhook_url?: string | null;
902
+ }
903
+
904
+ /**
905
+ * Signal topic configuration in API responses.
906
+ *
907
+ * Response model for topic-based signal monitoring configs.
908
+ *
909
+ * Attributes: type: Config type discriminator (always "signal-topic").
910
+ * topic_criteria: Topic criteria for monitoring. signal_types: Types of signals to
911
+ * monitor. entity_type: Type of entity being monitored. monitoring_frequency: How
912
+ * often to check for signals. geographic_filters: Geographic regions to focus on.
913
+ * industry_filters: Industries to focus on. company_size_filters: Company size
914
+ * criteria. webhook_url: Webhook URL for completion notification.
915
+ */
916
+ export interface SignalTopicConfigResponse {
917
+ /**
918
+ * Entity type
919
+ */
920
+ entity_type: SheetAPI.EntityType;
921
+
922
+ /**
923
+ * Monitoring frequency
924
+ */
925
+ monitoring_frequency: 'daily' | 'weekly' | 'monthly';
926
+
927
+ /**
928
+ * Signal types
929
+ */
930
+ signal_types: Array<TaskAPI.SignalTypeConfig>;
931
+
932
+ /**
933
+ * Topic criteria
934
+ */
935
+ topic_criteria: string;
936
+
937
+ /**
938
+ * Size filters
939
+ */
940
+ company_size_filters?: Array<string> | null;
941
+
942
+ /**
943
+ * Geographic filters
944
+ */
945
+ geographic_filters?: Array<string> | null;
946
+
947
+ /**
948
+ * Industry filters
949
+ */
950
+ industry_filters?: Array<string> | null;
951
+
952
+ type?: 'signal-topic';
953
+
954
+ /**
955
+ * Webhook URL for completion notification
956
+ */
957
+ webhook_url?: string | null;
958
+ }
959
+
960
+ /**
961
+ * Signal CSV configuration in API responses.
962
+ *
963
+ * Response model for CSV-based signal monitoring configs.
964
+ *
965
+ * Attributes: type: Config type discriminator (always "signal-csv"). file_id: CSV
966
+ * file ID. signal_types: Types of signals to monitor. entity_type: Type of entity
967
+ * being monitored. primary_column: Primary column for entity names.
968
+ * monitoring_frequency: How often to check for signals. webhook_url: Webhook URL
969
+ * for completion notification.
970
+ */
971
+ export interface SignalCsvConfigResponse {
972
+ /**
973
+ * Entity type
974
+ */
975
+ entity_type: SheetAPI.EntityType;
976
+
977
+ /**
978
+ * CSV file ID
979
+ */
980
+ file_id: string;
981
+
982
+ /**
983
+ * Monitoring frequency
984
+ */
985
+ monitoring_frequency: 'daily' | 'weekly' | 'monthly';
986
+
987
+ /**
988
+ * Primary column
989
+ */
990
+ primary_column: string;
991
+
992
+ /**
993
+ * Signal types
994
+ */
995
+ signal_types: Array<TaskAPI.SignalTypeConfig>;
996
+
997
+ type?: 'signal-csv';
998
+
999
+ /**
1000
+ * Webhook URL for completion notification
1001
+ */
1002
+ webhook_url?: string | null;
1003
+ }
1004
+
1005
+ /**
1006
+ * Signal sheet configuration in API responses.
1007
+ *
1008
+ * Response model for sheet-based signal monitoring configs.
1009
+ *
1010
+ * Attributes: type: Config type discriminator (always "signal-sheet").
1011
+ * source_icp_id: Source ICP ID containing entities to monitor. signal_types: Types
1012
+ * of signals to monitor. entity_type: Type of entity being monitored.
1013
+ * entity_filters: Optional MongoDB query to filter entities. monitoring_frequency:
1014
+ * How often to check for signals. webhook_url: Webhook URL for completion
1015
+ * notification.
1016
+ */
1017
+ export interface SignalSheetConfigResponse {
1018
+ /**
1019
+ * Entity type
1020
+ */
1021
+ entity_type: SheetAPI.EntityType;
1022
+
1023
+ /**
1024
+ * Monitoring frequency
1025
+ */
1026
+ monitoring_frequency: 'daily' | 'weekly' | 'monthly';
1027
+
1028
+ /**
1029
+ * Signal types
1030
+ */
1031
+ signal_types: Array<TaskAPI.SignalTypeConfig>;
1032
+
1033
+ /**
1034
+ * Source ICP ID
1035
+ */
1036
+ source_icp_id: string;
1037
+
1038
+ /**
1039
+ * Entity filters
1040
+ */
1041
+ entity_filters?: { [key: string]: unknown } | null;
1042
+
1043
+ type?: 'signal-sheet';
1044
+
1045
+ /**
1046
+ * Webhook URL for completion notification
1047
+ */
1048
+ webhook_url?: string | null;
1049
+ }
1050
+ }
472
1051
 
473
1052
  /**
474
1053
  * Response model for paginated task list.
1054
+ *
1055
+ * Attributes: tasks: List of tasks. total: Total number of tasks matching filters.
1056
+ * page: Current page number (1-based). page_size: Number of items per page.
475
1057
  */
476
1058
  export interface TaskListResponse {
477
1059
  /**
@@ -498,6 +1080,15 @@ export interface TaskListResponse {
498
1080
  export namespace TaskListResponse {
499
1081
  /**
500
1082
  * Response model for task data.
1083
+ *
1084
+ * Uses TaskConfigResponse discriminated union for proper OpenAPI schema generation
1085
+ * with type-based discrimination.
1086
+ *
1087
+ * Attributes: id: Task ID. name: Task name. description: Task description. icp_id:
1088
+ * Task ICP ID. flow_name: Prefect flow name. deployment_name: Prefect deployment
1089
+ * name. prompt: Template prompt for the task. task_config: Flow-specific task
1090
+ * configuration. created_at: Creation timestamp. updated_at: Last update
1091
+ * timestamp.
501
1092
  */
502
1093
  export interface Task {
503
1094
  /**
@@ -546,198 +1137,249 @@ export namespace TaskListResponse {
546
1137
  prompt?: string | null;
547
1138
 
548
1139
  /**
549
- * Flow-specific task configuration with versioning
1140
+ * Flow-specific task configuration
550
1141
  */
551
1142
  task_config?:
552
- | { [key: string]: unknown }
553
- | TaskAPI.StandardPromptConfig
554
- | TaskAPI.SearchV2Config
555
- | TaskAPI.SearchV3Config
556
- | TaskAPI.IngestTaskConfig
557
- | Task.SignalTopicConfigOutput
558
- | Task.SignalCsvConfigOutput
559
- | Task.SignalSheetConfigOutput
1143
+ | Task.SearchTaskConfigResponse
1144
+ | Task.IngestTaskConfigResponse
1145
+ | Task.ProfilePromptConfigResponse
1146
+ | Task.SignalTopicConfigResponse
1147
+ | Task.SignalCsvConfigResponse
1148
+ | Task.SignalSheetConfigResponse
560
1149
  | null;
561
1150
  }
562
1151
 
563
1152
  export namespace Task {
564
1153
  /**
565
- * Topic-based signal monitoring configuration.
1154
+ * Search task configuration in API responses.
566
1155
  *
567
- * Monitors signals based on criteria without requiring pre-existing entities.
1156
+ * Response model for search task configs that excludes backend-managed fields
1157
+ * (version, config_type) from the API surface.
568
1158
  *
569
- * Attributes: version: Config version (always "v2.0") config_type: Config type
570
- * discriminator (always "signal-topic") entity_type: Type of entity being
571
- * monitored (company, person, etc.) topic_criteria: Natural language description
572
- * of what to monitor signal_types: Types of signals to monitor for this topic
573
- * monitoring_frequency: How often to check for signals (daily/weekly/monthly)
574
- * geographic_filters: Optional geographic regions to focus on industry_filters:
575
- * Optional industries to focus on company_size_filters: Optional company size
576
- * criteria webhook_url: Optional webhook URL to notify when signal run completes
577
- */
578
- export interface SignalTopicConfigOutput {
1159
+ * Attributes: type: Config type discriminator (always "search").
1160
+ * desired_contact_count: Number of contacts to find per company. user_feedback:
1161
+ * Feedback to refine search behavior. webhook_url: Webhook URL for completion
1162
+ * notification.
1163
+ */
1164
+ export interface SearchTaskConfigResponse {
579
1165
  /**
580
- * Types of signals to monitor for this topic
1166
+ * Number of contacts to find per company
581
1167
  */
582
- signal_types: Array<TaskAPI.SignalTypeConfig>;
1168
+ desired_contact_count: number;
583
1169
 
584
1170
  /**
585
- * Natural language description of what to monitor
1171
+ * Feedback to refine search behavior
586
1172
  */
587
- topic_criteria: string;
1173
+ user_feedback: string;
588
1174
 
589
- /**
590
- * Company size criteria (e.g., employee count ranges)
591
- */
592
- company_size_filters?: Array<string> | null;
1175
+ type?: 'search';
593
1176
 
594
1177
  /**
595
- * Config type discriminator
1178
+ * Webhook URL for completion notification
596
1179
  */
597
- config_type?: 'signal-topic';
1180
+ webhook_url?: string | null;
1181
+ }
598
1182
 
1183
+ /**
1184
+ * Ingest task configuration in API responses.
1185
+ *
1186
+ * Response model for CSV enrichment task configs that excludes backend-managed
1187
+ * fields from the API surface.
1188
+ *
1189
+ * Attributes: type: Config type discriminator (always "ingest"). file_id: ID of
1190
+ * the CSV file. primary_column: Column containing entity names. csv_entity_type:
1191
+ * Entity type in CSV. webhook_url: Webhook URL for completion notification.
1192
+ */
1193
+ export interface IngestTaskConfigResponse {
599
1194
  /**
600
- * Type of entity being monitored (company, school district, person, etc.)
1195
+ * Entity type in CSV
601
1196
  */
602
- entity_type?: SheetAPI.EntityType;
1197
+ csv_entity_type: string;
603
1198
 
604
1199
  /**
605
- * Geographic regions to focus on
1200
+ * ID of the CSV file
606
1201
  */
607
- geographic_filters?: Array<string> | null;
1202
+ file_id: string;
608
1203
 
609
1204
  /**
610
- * Industries to focus on
1205
+ * Column containing entity names
611
1206
  */
612
- industry_filters?: Array<string> | null;
1207
+ primary_column: string;
1208
+
1209
+ type?: 'ingest';
613
1210
 
614
1211
  /**
615
- * How often to check for new signals (daily, weekly, monthly)
1212
+ * Webhook URL for completion notification
616
1213
  */
617
- monitoring_frequency?: 'daily' | 'weekly' | 'monthly';
1214
+ webhook_url?: string | null;
1215
+ }
618
1216
 
1217
+ /**
1218
+ * Profile prompt configuration in API responses.
1219
+ *
1220
+ * Response model for profile prompt task configs that excludes backend-managed
1221
+ * fields from the API surface.
1222
+ *
1223
+ * Attributes: type: Config type discriminator (always "profile"). prompt: Task
1224
+ * prompt template. webhook_url: Webhook URL for completion notification.
1225
+ */
1226
+ export interface ProfilePromptConfigResponse {
619
1227
  /**
620
- * Config version
1228
+ * Task prompt template
621
1229
  */
622
- version?: 'v2.0';
1230
+ prompt: string;
1231
+
1232
+ type?: 'profile';
623
1233
 
624
1234
  /**
625
- * Optional webhook URL to notify when signal run completes
1235
+ * Webhook URL for completion notification
626
1236
  */
627
1237
  webhook_url?: string | null;
628
1238
  }
629
1239
 
630
1240
  /**
631
- * CSV-based signal monitoring configuration.
1241
+ * Signal topic configuration in API responses.
632
1242
  *
633
- * Monitors signals for companies/people uploaded via CSV file.
1243
+ * Response model for topic-based signal monitoring configs.
634
1244
  *
635
- * Attributes: version: Config version (always "v2.0") config_type: Config type
636
- * discriminator (always "signal-csv") entity_type: Type of entity being monitored
637
- * (company, person, etc.) file_id: ID of the uploaded CSV file primary_column:
638
- * Column containing entity names (defaults to "name") signal_types: Types of
639
- * signals to monitor for these entities monitoring_frequency: How often to check
640
- * for signals (daily/weekly/monthly) webhook_url: Optional webhook URL to notify
641
- * when signal run completes
642
- */
643
- export interface SignalCsvConfigOutput {
1245
+ * Attributes: type: Config type discriminator (always "signal-topic").
1246
+ * topic_criteria: Topic criteria for monitoring. signal_types: Types of signals to
1247
+ * monitor. entity_type: Type of entity being monitored. monitoring_frequency: How
1248
+ * often to check for signals. geographic_filters: Geographic regions to focus on.
1249
+ * industry_filters: Industries to focus on. company_size_filters: Company size
1250
+ * criteria. webhook_url: Webhook URL for completion notification.
1251
+ */
1252
+ export interface SignalTopicConfigResponse {
644
1253
  /**
645
- * ID of the uploaded CSV file
1254
+ * Entity type
646
1255
  */
647
- file_id: string;
1256
+ entity_type: SheetAPI.EntityType;
648
1257
 
649
1258
  /**
650
- * Types of signals to monitor for these entities
1259
+ * Monitoring frequency
651
1260
  */
652
- signal_types: Array<TaskAPI.SignalTypeConfig>;
1261
+ monitoring_frequency: 'daily' | 'weekly' | 'monthly';
653
1262
 
654
1263
  /**
655
- * Config type discriminator
1264
+ * Signal types
656
1265
  */
657
- config_type?: 'signal-csv';
1266
+ signal_types: Array<TaskAPI.SignalTypeConfig>;
658
1267
 
659
1268
  /**
660
- * Type of entity being monitored (company, school district, person, etc.)
1269
+ * Topic criteria
661
1270
  */
662
- entity_type?: SheetAPI.EntityType;
1271
+ topic_criteria: string;
663
1272
 
664
1273
  /**
665
- * How often to check for new signals (daily, weekly, monthly)
1274
+ * Size filters
666
1275
  */
667
- monitoring_frequency?: 'daily' | 'weekly' | 'monthly';
1276
+ company_size_filters?: Array<string> | null;
668
1277
 
669
1278
  /**
670
- * Column containing entity names. Defaults to 'name'. Used to extract entity names
671
- * from CSV rows during signal workflow.
1279
+ * Geographic filters
672
1280
  */
673
- primary_column?: string;
1281
+ geographic_filters?: Array<string> | null;
674
1282
 
675
1283
  /**
676
- * Config version
1284
+ * Industry filters
677
1285
  */
678
- version?: 'v2.0';
1286
+ industry_filters?: Array<string> | null;
1287
+
1288
+ type?: 'signal-topic';
679
1289
 
680
1290
  /**
681
- * Optional webhook URL to notify when signal run completes
1291
+ * Webhook URL for completion notification
682
1292
  */
683
1293
  webhook_url?: string | null;
684
1294
  }
685
1295
 
686
1296
  /**
687
- * Sheet-based signal monitoring configuration.
688
- *
689
- * Monitors signals for entities from an existing discovery ICP's sheet. Unlike CSV
690
- * mode, signals are deterministically linked to source entities without requiring
691
- * analyst agent processing.
1297
+ * Signal CSV configuration in API responses.
692
1298
  *
693
- * UPDATED 2025-12-29: Removed source_sheet_id field. Sheets are uniquely
694
- * identified by (source_icp_id, entity_type), so source_sheet_id was redundant and
695
- * never used at runtime.
1299
+ * Response model for CSV-based signal monitoring configs.
696
1300
  *
697
- * Attributes: source_icp_id: ID of the discovery ICP containing entities to
698
- * monitor entity_type: Type of entity being monitored (selects which sheet)
699
- * entity_filters: Optional MongoDB query to filter entities signal_types: Types of
700
- * signals to monitor monitoring_frequency: How often to check for signals
701
- * webhook_url: Optional webhook URL to notify when signal run completes
1301
+ * Attributes: type: Config type discriminator (always "signal-csv"). file_id: CSV
1302
+ * file ID. signal_types: Types of signals to monitor. entity_type: Type of entity
1303
+ * being monitored. primary_column: Primary column for entity names.
1304
+ * monitoring_frequency: How often to check for signals. webhook_url: Webhook URL
1305
+ * for completion notification.
702
1306
  */
703
- export interface SignalSheetConfigOutput {
1307
+ export interface SignalCsvConfigResponse {
1308
+ /**
1309
+ * Entity type
1310
+ */
1311
+ entity_type: SheetAPI.EntityType;
1312
+
704
1313
  /**
705
- * Types of signals to monitor
1314
+ * CSV file ID
1315
+ */
1316
+ file_id: string;
1317
+
1318
+ /**
1319
+ * Monitoring frequency
1320
+ */
1321
+ monitoring_frequency: 'daily' | 'weekly' | 'monthly';
1322
+
1323
+ /**
1324
+ * Primary column
1325
+ */
1326
+ primary_column: string;
1327
+
1328
+ /**
1329
+ * Signal types
706
1330
  */
707
1331
  signal_types: Array<TaskAPI.SignalTypeConfig>;
708
1332
 
1333
+ type?: 'signal-csv';
1334
+
709
1335
  /**
710
- * ID of the discovery ICP containing entities to monitor
1336
+ * Webhook URL for completion notification
711
1337
  */
712
- source_icp_id: string;
1338
+ webhook_url?: string | null;
1339
+ }
713
1340
 
1341
+ /**
1342
+ * Signal sheet configuration in API responses.
1343
+ *
1344
+ * Response model for sheet-based signal monitoring configs.
1345
+ *
1346
+ * Attributes: type: Config type discriminator (always "signal-sheet").
1347
+ * source_icp_id: Source ICP ID containing entities to monitor. signal_types: Types
1348
+ * of signals to monitor. entity_type: Type of entity being monitored.
1349
+ * entity_filters: Optional MongoDB query to filter entities. monitoring_frequency:
1350
+ * How often to check for signals. webhook_url: Webhook URL for completion
1351
+ * notification.
1352
+ */
1353
+ export interface SignalSheetConfigResponse {
714
1354
  /**
715
- * Config type discriminator
1355
+ * Entity type
716
1356
  */
717
- config_type?: 'signal-sheet';
1357
+ entity_type: SheetAPI.EntityType;
718
1358
 
719
1359
  /**
720
- * Optional MongoDB query to filter entities within the sheet
1360
+ * Monitoring frequency
721
1361
  */
722
- entity_filters?: { [key: string]: unknown } | null;
1362
+ monitoring_frequency: 'daily' | 'weekly' | 'monthly';
723
1363
 
724
1364
  /**
725
- * Type of entity being monitored (company, person, school_district, etc.)
1365
+ * Signal types
726
1366
  */
727
- entity_type?: SheetAPI.EntityType;
1367
+ signal_types: Array<TaskAPI.SignalTypeConfig>;
728
1368
 
729
1369
  /**
730
- * How often to check for new signals
1370
+ * Source ICP ID
731
1371
  */
732
- monitoring_frequency?: 'daily' | 'weekly' | 'monthly';
1372
+ source_icp_id: string;
733
1373
 
734
1374
  /**
735
- * Config version
1375
+ * Entity filters
736
1376
  */
737
- version?: 'v2.0';
1377
+ entity_filters?: { [key: string]: unknown } | null;
1378
+
1379
+ type?: 'signal-sheet';
738
1380
 
739
1381
  /**
740
- * Optional webhook URL to notify when signal run completes
1382
+ * Webhook URL for completion notification
741
1383
  */
742
1384
  webhook_url?: string | null;
743
1385
  }
@@ -746,6 +1388,9 @@ export namespace TaskListResponse {
746
1388
 
747
1389
  /**
748
1390
  * Response model for task execution.
1391
+ *
1392
+ * Attributes: run_id: The ID of the created run. flow_run_id: The Prefect flow run
1393
+ * ID. status: Initial status of the run.
749
1394
  */
750
1395
  export interface TaskExecuteResponse {
751
1396
  /**
@@ -796,17 +1441,15 @@ export interface TaskCreateParams {
796
1441
  prompt?: string | null;
797
1442
 
798
1443
  /**
799
- * Flow-specific task configuration with versioning
1444
+ * Flow-specific task configuration with type discriminator
800
1445
  */
801
1446
  task_config?:
802
- | { [key: string]: unknown }
803
- | StandardPromptConfig
804
- | SearchV2Config
805
- | SearchV3Config
1447
+ | SearchTaskConfig
806
1448
  | IngestTaskConfig
807
- | SignalTopicConfigInput
808
- | SignalCsvConfigInput
809
- | SignalSheetConfigInput
1449
+ | ProfilePromptConfig
1450
+ | SignalTopicConfig
1451
+ | SignalCsvConfig
1452
+ | SignalSheetConfig
810
1453
  | null;
811
1454
  }
812
1455
 
@@ -837,17 +1480,15 @@ export interface TaskUpdateParams {
837
1480
  prompt?: string | null;
838
1481
 
839
1482
  /**
840
- * Updated flow-specific task configuration with versioning
1483
+ * Updated flow-specific task configuration with type discriminator
841
1484
  */
842
1485
  task_config?:
843
- | { [key: string]: unknown }
844
- | StandardPromptConfig
845
- | SearchV2Config
846
- | SearchV3Config
1486
+ | SearchTaskConfig
847
1487
  | IngestTaskConfig
848
- | SignalTopicConfigInput
849
- | SignalCsvConfigInput
850
- | SignalSheetConfigInput
1488
+ | ProfilePromptConfig
1489
+ | SignalTopicConfig
1490
+ | SignalCsvConfig
1491
+ | SignalSheetConfig
851
1492
  | null;
852
1493
  }
853
1494
 
@@ -893,13 +1534,12 @@ export interface TaskExecuteParams {
893
1534
  export declare namespace Task {
894
1535
  export {
895
1536
  type IngestTaskConfig as IngestTaskConfig,
896
- type SearchV2Config as SearchV2Config,
897
- type SearchV3Config as SearchV3Config,
898
- type SignalCsvConfigInput as SignalCsvConfigInput,
899
- type SignalSheetConfigInput as SignalSheetConfigInput,
900
- type SignalTopicConfigInput as SignalTopicConfigInput,
1537
+ type ProfilePromptConfig as ProfilePromptConfig,
1538
+ type SearchTaskConfig as SearchTaskConfig,
1539
+ type SignalCsvConfig as SignalCsvConfig,
1540
+ type SignalSheetConfig as SignalSheetConfig,
1541
+ type SignalTopicConfig as SignalTopicConfig,
901
1542
  type SignalTypeConfig as SignalTypeConfig,
902
- type StandardPromptConfig as StandardPromptConfig,
903
1543
  type TaskCreateResponse as TaskCreateResponse,
904
1544
  type TaskRetrieveResponse as TaskRetrieveResponse,
905
1545
  type TaskListResponse as TaskListResponse,