@elevasis/sdk 1.52.1 → 1.54.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.
@@ -1780,7 +1780,9 @@ export const ListDealsQuerySchema = z
1780
1780
  batch: z.string().trim().min(1).max(255).optional(),
1781
1781
  staleSince: z.string().datetime().optional(),
1782
1782
  search: z.string().optional(),
1783
- limit: z.coerce.number().int().positive().default(50),
1783
+ // Was unbounded (`.positive()`, no ceiling) — the one schema in this audit with no cap at all,
1784
+ // worse than the hand-invented-max sites. Now shares the standard ceiling.
1785
+ limit: PageLimitSchema.default(50),
1784
1786
  offset: z.coerce.number().int().min(0).default(0)
1785
1787
  })
1786
1788
  .strict()
@@ -2604,7 +2606,7 @@ export const ListCompaniesQuerySchema = z
2604
2606
  batchId: z.string().trim().min(1).max(255).optional(),
2605
2607
  status: AcqCompanyStatusSchema.optional(),
2606
2608
  includeAll: QueryBooleanSchema.optional(),
2607
- limit: z.coerce.number().int().min(1).max(5000).default(50),
2609
+ limit: z.coerce.number().int().min(1).max(5000).default(DEFAULT_PAGE_LIMIT),
2608
2610
  offset: z.coerce.number().int().min(0).default(0)
2609
2611
  })
2610
2612
  .strict()
@@ -2620,7 +2622,10 @@ export const ListContactsQuerySchema = z
2620
2622
  openingLineIsNull: QueryBooleanSchema.optional(),
2621
2623
  batchId: z.string().trim().min(1).max(255).optional(),
2622
2624
  contactStatus: AcqContactStatusSchema.optional(),
2623
- limit: z.coerce.number().int().min(1).max(5000).default(5000),
2625
+ // Defect: default equaled the max (5000), so every unqualified "list contacts" call fetched
2626
+ // up to 5000 rows by default. The 5000 ceiling stays for callers that deliberately ask for a
2627
+ // large page (mirrors ListCompaniesQuerySchema above); the default now matches it too.
2628
+ limit: z.coerce.number().int().min(1).max(5000).default(DEFAULT_PAGE_LIMIT),
2624
2629
  offset: z.coerce.number().int().min(0).default(0)
2625
2630
  })
2626
2631
  .strict()
@@ -3223,102 +3228,102 @@ export interface StatefulPipelineDefinition {
3223
3228
  ### `PaginationParams`
3224
3229
 
3225
3230
  ```typescript
3226
- export interface PaginationParams {
3227
- limit: number
3228
- offset: number
3231
+ export interface PaginationParams {
3232
+ limit: number
3233
+ offset: number
3229
3234
  }
3230
3235
  ```
3231
3236
 
3232
3237
  ### `PaginatedResult`
3233
3238
 
3234
3239
  ```typescript
3235
- export interface PaginatedResult<T> {
3236
- data: T[]
3237
- total: number
3238
- limit: number
3239
- offset: number
3240
+ export interface PaginatedResult<T> {
3241
+ data: T[]
3242
+ total: number
3243
+ limit: number
3244
+ offset: number
3240
3245
  }
3241
3246
  ```
3242
3247
 
3243
3248
  ### `CreateListParams`
3244
3249
 
3245
3250
  ```typescript
3246
- export interface CreateListParams {
3247
- organizationId: string
3248
- name: string
3249
- description?: string
3250
- type?: string
3251
- batchIds?: string[]
3252
- instantlyCampaignId?: string
3253
- status?: ListStatus
3254
- buildTemplateId?: string
3255
- metadata?: Record<string, unknown>
3256
- scrapingConfig?: ScrapingConfig
3257
- icp?: IcpRubric
3258
- pipelineConfig?: PipelineConfig
3251
+ export interface CreateListParams {
3252
+ organizationId: string
3253
+ name: string
3254
+ description?: string
3255
+ type?: string
3256
+ batchIds?: string[]
3257
+ instantlyCampaignId?: string
3258
+ status?: ListStatus
3259
+ buildTemplateId?: string
3260
+ metadata?: Record<string, unknown>
3261
+ scrapingConfig?: ScrapingConfig
3262
+ icp?: IcpRubric
3263
+ pipelineConfig?: PipelineConfig
3259
3264
  }
3260
3265
  ```
3261
3266
 
3262
3267
  ### `UpdateListParams`
3263
3268
 
3264
3269
  ```typescript
3265
- export interface UpdateListParams {
3266
- name?: string
3267
- description?: string
3268
- batchIds?: string[]
3270
+ export interface UpdateListParams {
3271
+ name?: string
3272
+ description?: string
3273
+ batchIds?: string[]
3269
3274
  }
3270
3275
  ```
3271
3276
 
3272
3277
  ### `CreateCompanyParams`
3273
3278
 
3274
3279
  ```typescript
3275
- export interface CreateCompanyParams {
3276
- organizationId: string
3277
- name: string
3278
- domain?: string
3279
- linkedinUrl?: string
3280
- website?: string
3281
- numEmployees?: number
3282
- foundedYear?: number
3283
- locationCity?: string
3284
- locationState?: string
3285
- category?: string
3286
- source?: string
3287
- batchId?: string
3288
- verticalResearch?: string
3289
- /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3290
- pipelineStatus?: unknown
3280
+ export interface CreateCompanyParams {
3281
+ organizationId: string
3282
+ name: string
3283
+ domain?: string
3284
+ linkedinUrl?: string
3285
+ website?: string
3286
+ numEmployees?: number
3287
+ foundedYear?: number
3288
+ locationCity?: string
3289
+ locationState?: string
3290
+ category?: string
3291
+ source?: string
3292
+ batchId?: string
3293
+ verticalResearch?: string
3294
+ /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3295
+ pipelineStatus?: unknown
3291
3296
  }
3292
3297
  ```
3293
3298
 
3294
3299
  ### `UpdateCompanyParams`
3295
3300
 
3296
3301
  ```typescript
3297
- export interface UpdateCompanyParams {
3298
- name?: string
3299
- domain?: string
3300
- linkedinUrl?: string
3301
- website?: string
3302
- numEmployees?: number
3303
- foundedYear?: number
3304
- locationCity?: string
3305
- locationState?: string
3306
- category?: string
3307
- segment?: string
3308
- processingState?: ProcessingState
3309
- /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3310
- pipelineStatus?: unknown
3311
- enrichmentData?: Record<string, unknown>
3312
- source?: string
3313
- batchId?: string
3314
- status?: 'active' | 'invalid'
3315
- verticalResearch?: string | null
3316
- /** Track A: flat qualification score column (null until a scoring rubric is defined) */
3317
- qualificationScore?: number | null
3318
- /** Track A: flat qualification signals jsonb */
3319
- qualificationSignals?: Record<string, unknown> | null
3320
- /** Track A: key identifying the rubric used for qualification */
3321
- qualificationRubricKey?: string | null
3302
+ export interface UpdateCompanyParams {
3303
+ name?: string
3304
+ domain?: string
3305
+ linkedinUrl?: string
3306
+ website?: string
3307
+ numEmployees?: number
3308
+ foundedYear?: number
3309
+ locationCity?: string
3310
+ locationState?: string
3311
+ category?: string
3312
+ segment?: string
3313
+ processingState?: ProcessingState
3314
+ /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3315
+ pipelineStatus?: unknown
3316
+ enrichmentData?: Record<string, unknown>
3317
+ source?: string
3318
+ batchId?: string
3319
+ status?: 'active' | 'invalid'
3320
+ verticalResearch?: string | null
3321
+ /** Track A: flat qualification score column (null until a scoring rubric is defined) */
3322
+ qualificationScore?: number | null
3323
+ /** Track A: flat qualification signals jsonb */
3324
+ qualificationSignals?: Record<string, unknown> | null
3325
+ /** Track A: key identifying the rubric used for qualification */
3326
+ qualificationRubricKey?: string | null
3322
3327
  }
3323
3328
  ```
3324
3329
 
@@ -3331,63 +3336,63 @@ export type UpsertCompanyParams = CreateCompanyParams
3331
3336
  ### `CompanyFilters`
3332
3337
 
3333
3338
  ```typescript
3334
- export interface CompanyFilters {
3335
- listId?: string // Filter to companies in a specific list (via acq_list_companies)
3336
- search?: string
3337
- domain?: string
3338
- website?: string
3339
- segment?: string
3340
- category?: string
3341
- processingState?: ProcessingState
3342
- /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3343
- pipelineStatus?: unknown
3344
- /** Exclude companies whose processing state contains this value (PostgREST NOT contains) */
3345
- processingStateNot?: ProcessingState
3346
- batchId?: string
3347
- status?: 'active' | 'invalid'
3348
- includeAll?: boolean
3349
- excludeColumns?: Array<'enrichmentData' | 'processingState'>
3350
- limit?: number
3339
+ export interface CompanyFilters {
3340
+ listId?: string // Filter to companies in a specific list (via acq_list_companies)
3341
+ search?: string
3342
+ domain?: string
3343
+ website?: string
3344
+ segment?: string
3345
+ category?: string
3346
+ processingState?: ProcessingState
3347
+ /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3348
+ pipelineStatus?: unknown
3349
+ /** Exclude companies whose processing state contains this value (PostgREST NOT contains) */
3350
+ processingStateNot?: ProcessingState
3351
+ batchId?: string
3352
+ status?: 'active' | 'invalid'
3353
+ includeAll?: boolean
3354
+ excludeColumns?: Array<'enrichmentData' | 'processingState'>
3355
+ limit?: number
3351
3356
  }
3352
3357
  ```
3353
3358
 
3354
3359
  ### `CreateContactParams`
3355
3360
 
3356
3361
  ```typescript
3357
- export interface CreateContactParams {
3358
- organizationId: string
3359
- email: string
3360
- companyId?: string
3361
- firstName?: string
3362
- lastName?: string
3363
- linkedinUrl?: string
3364
- title?: string
3365
- source?: string
3366
- sourceId?: string
3367
- batchId?: string
3368
- /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3369
- pipelineStatus?: unknown
3362
+ export interface CreateContactParams {
3363
+ organizationId: string
3364
+ email: string
3365
+ companyId?: string
3366
+ firstName?: string
3367
+ lastName?: string
3368
+ linkedinUrl?: string
3369
+ title?: string
3370
+ source?: string
3371
+ sourceId?: string
3372
+ batchId?: string
3373
+ /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3374
+ pipelineStatus?: unknown
3370
3375
  }
3371
3376
  ```
3372
3377
 
3373
3378
  ### `UpdateContactParams`
3374
3379
 
3375
3380
  ```typescript
3376
- export interface UpdateContactParams {
3377
- companyId?: string
3378
- emailValid?: 'VALID' | 'INVALID' | 'RISKY' | 'UNKNOWN'
3379
- firstName?: string
3380
- lastName?: string
3381
- linkedinUrl?: string
3382
- title?: string
3383
- headline?: string
3384
- filterReason?: string
3385
- openingLine?: string
3386
- processingState?: ProcessingState
3387
- /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3388
- pipelineStatus?: unknown
3389
- enrichmentData?: Record<string, unknown>
3390
- status?: 'active' | 'invalid'
3381
+ export interface UpdateContactParams {
3382
+ companyId?: string
3383
+ emailValid?: 'VALID' | 'INVALID' | 'RISKY' | 'UNKNOWN'
3384
+ firstName?: string
3385
+ lastName?: string
3386
+ linkedinUrl?: string
3387
+ title?: string
3388
+ headline?: string
3389
+ filterReason?: string
3390
+ openingLine?: string
3391
+ processingState?: ProcessingState
3392
+ /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3393
+ pipelineStatus?: unknown
3394
+ enrichmentData?: Record<string, unknown>
3395
+ status?: 'active' | 'invalid'
3391
3396
  }
3392
3397
  ```
3393
3398
 
@@ -3400,89 +3405,89 @@ export type UpsertContactParams = CreateContactParams
3400
3405
  ### `ContactFilters`
3401
3406
 
3402
3407
  ```typescript
3403
- export interface ContactFilters {
3404
- listId?: string // Filter to contacts in a specific list (via acq_list_members)
3405
- search?: string
3406
- openingLineIsNull?: boolean // Filter to contacts without personalization
3407
- processingState?: ProcessingState
3408
- /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3409
- pipelineStatus?: unknown
3410
- batchId?: string
3411
- contactStatus?: 'active' | 'invalid' // Filter by contact status (soft-delete flag)
3408
+ export interface ContactFilters {
3409
+ listId?: string // Filter to contacts in a specific list (via acq_list_members)
3410
+ search?: string
3411
+ openingLineIsNull?: boolean // Filter to contacts without personalization
3412
+ processingState?: ProcessingState
3413
+ /** @deprecated Use processingState. Accepted as a no-op compatibility bridge for external tenants. */
3414
+ pipelineStatus?: unknown
3415
+ batchId?: string
3416
+ contactStatus?: 'active' | 'invalid' // Filter by contact status (soft-delete flag)
3412
3417
  }
3413
3418
  ```
3414
3419
 
3415
3420
  ### `UpsertSocialPostParams`
3416
3421
 
3417
3422
  ```typescript
3418
- export interface UpsertSocialPostParams {
3419
- organizationId: string
3420
- platform: string
3421
- platformPostId: string
3422
- authorName: string
3423
- authorUrl?: string | null
3424
- postTitle: string
3425
- postText: string
3426
- postUrl: string
3427
- engagementCount?: number
3428
- commentsCount?: number
3429
- postedAt: string
3430
- metadata?: Record<string, unknown>
3431
- relevanceScore?: number
3432
- matchedKeywords?: string[]
3433
- matchedQuery?: string | null
3434
- initialDraft?: string | null
3435
- finalResponse?: string | null
3436
- sourceCategory?: string | null
3423
+ export interface UpsertSocialPostParams {
3424
+ organizationId: string
3425
+ platform: string
3426
+ platformPostId: string
3427
+ authorName: string
3428
+ authorUrl?: string | null
3429
+ postTitle: string
3430
+ postText: string
3431
+ postUrl: string
3432
+ engagementCount?: number
3433
+ commentsCount?: number
3434
+ postedAt: string
3435
+ metadata?: Record<string, unknown>
3436
+ relevanceScore?: number
3437
+ matchedKeywords?: string[]
3438
+ matchedQuery?: string | null
3439
+ initialDraft?: string | null
3440
+ finalResponse?: string | null
3441
+ sourceCategory?: string | null
3437
3442
  }
3438
3443
  ```
3439
3444
 
3440
3445
  ### `UpsertSocialPostsParams`
3441
3446
 
3442
3447
  ```typescript
3443
- export interface UpsertSocialPostsParams {
3444
- organizationId: string
3445
- posts: Omit<UpsertSocialPostParams, 'organizationId'>[]
3448
+ export interface UpsertSocialPostsParams {
3449
+ organizationId: string
3450
+ posts: Omit<UpsertSocialPostParams, 'organizationId'>[]
3446
3451
  }
3447
3452
  ```
3448
3453
 
3449
3454
  ### `UpsertSocialPostsResult`
3450
3455
 
3451
3456
  ```typescript
3452
- export interface UpsertSocialPostsResult {
3453
- inserted: number
3454
- duplicatesSkipped: number
3457
+ export interface UpsertSocialPostsResult {
3458
+ inserted: number
3459
+ duplicatesSkipped: number
3455
3460
  }
3456
3461
  ```
3457
3462
 
3458
3463
  ### `AddContactsToListParams`
3459
3464
 
3460
3465
  ```typescript
3461
- export interface AddContactsToListParams {
3462
- organizationId: string
3463
- listId: string
3464
- contactIds: string[]
3466
+ export interface AddContactsToListParams {
3467
+ organizationId: string
3468
+ listId: string
3469
+ contactIds: string[]
3465
3470
  }
3466
3471
  ```
3467
3472
 
3468
3473
  ### `AddContactsToListResult`
3469
3474
 
3470
3475
  ```typescript
3471
- export interface AddContactsToListResult {
3472
- added: number
3473
- alreadyExisted: number
3476
+ export interface AddContactsToListResult {
3477
+ added: number
3478
+ alreadyExisted: number
3474
3479
  }
3475
3480
  ```
3476
3481
 
3477
3482
  ### `UpdateListConfigParams`
3478
3483
 
3479
3484
  ```typescript
3480
- export interface UpdateListConfigParams {
3481
- organizationId: string
3482
- listId: string
3483
- scrapingConfig?: ScrapingConfig
3484
- icp?: IcpRubric
3485
- pipelineConfig?: PipelineConfig
3485
+ export interface UpdateListConfigParams {
3486
+ organizationId: string
3487
+ listId: string
3488
+ scrapingConfig?: ScrapingConfig
3489
+ icp?: IcpRubric
3490
+ pipelineConfig?: PipelineConfig
3486
3491
  }
3487
3492
  ```
3488
3493
 
@@ -3517,48 +3522,48 @@ export interface UpdateContactStageParams {
3517
3522
  ### `AddCompaniesToListParams`
3518
3523
 
3519
3524
  ```typescript
3520
- export interface AddCompaniesToListParams {
3521
- organizationId: string
3522
- listId: string
3523
- companyIds: string[]
3525
+ export interface AddCompaniesToListParams {
3526
+ organizationId: string
3527
+ listId: string
3528
+ companyIds: string[]
3524
3529
  }
3525
3530
  ```
3526
3531
 
3527
3532
  ### `AddCompaniesToListResult`
3528
3533
 
3529
3534
  ```typescript
3530
- export interface AddCompaniesToListResult {
3531
- added: number
3532
- alreadyExisted: number
3535
+ export interface AddCompaniesToListResult {
3536
+ added: number
3537
+ alreadyExisted: number
3533
3538
  }
3534
3539
  ```
3535
3540
 
3536
3541
  ### `RemoveCompaniesFromListParams`
3537
3542
 
3538
3543
  ```typescript
3539
- export interface RemoveCompaniesFromListParams {
3540
- organizationId: string
3541
- listId: string
3542
- companyIds: string[]
3544
+ export interface RemoveCompaniesFromListParams {
3545
+ organizationId: string
3546
+ listId: string
3547
+ companyIds: string[]
3543
3548
  }
3544
3549
  ```
3545
3550
 
3546
3551
  ### `RemoveCompaniesFromListResult`
3547
3552
 
3548
3553
  ```typescript
3549
- export interface RemoveCompaniesFromListResult {
3550
- removed: number
3554
+ export interface RemoveCompaniesFromListResult {
3555
+ removed: number
3551
3556
  }
3552
3557
  ```
3553
3558
 
3554
3559
  ### `RecordListExecutionParams`
3555
3560
 
3556
3561
  ```typescript
3557
- export interface RecordListExecutionParams {
3558
- organizationId: string
3559
- listId: string
3560
- executionId: string
3561
- configSnapshot?: Record<string, unknown>
3562
+ export interface RecordListExecutionParams {
3563
+ organizationId: string
3564
+ listId: string
3565
+ executionId: string
3566
+ configSnapshot?: Record<string, unknown>
3562
3567
  }
3563
3568
  ```
3564
3569
 
@@ -3579,56 +3584,56 @@ export interface ListExecutionSummary {
3579
3584
  ### `BulkImportParams`
3580
3585
 
3581
3586
  ```typescript
3582
- export interface BulkImportParams {
3583
- organizationId: string
3584
- contacts: CreateContactParams[]
3585
- listId?: string
3587
+ export interface BulkImportParams {
3588
+ organizationId: string
3589
+ contacts: CreateContactParams[]
3590
+ listId?: string
3586
3591
  }
3587
3592
  ```
3588
3593
 
3589
3594
  ### `BulkImportResult`
3590
3595
 
3591
3596
  ```typescript
3592
- export interface BulkImportResult {
3593
- created: number
3594
- updated: number
3595
- errors: Array<{ email: string; error: string }>
3597
+ export interface BulkImportResult {
3598
+ created: number
3599
+ updated: number
3600
+ errors: Array<{ email: string; error: string }>
3596
3601
  }
3597
3602
  ```
3598
3603
 
3599
3604
  ### `BulkImportCompanyEntry`
3600
3605
 
3601
3606
  ```typescript
3602
- export interface BulkImportCompanyEntry {
3603
- name: string
3604
- domain: string
3605
- website?: string
3606
- locationCity?: string
3607
- locationState?: string
3608
- category?: string
3609
- source?: string
3610
- enrichmentData?: Record<string, unknown>
3611
- processingState?: ProcessingState
3607
+ export interface BulkImportCompanyEntry {
3608
+ name: string
3609
+ domain: string
3610
+ website?: string
3611
+ locationCity?: string
3612
+ locationState?: string
3613
+ category?: string
3614
+ source?: string
3615
+ enrichmentData?: Record<string, unknown>
3616
+ processingState?: ProcessingState
3612
3617
  }
3613
3618
  ```
3614
3619
 
3615
3620
  ### `BulkImportCompaniesParams`
3616
3621
 
3617
3622
  ```typescript
3618
- export interface BulkImportCompaniesParams {
3619
- organizationId: string
3620
- batchId: string
3621
- companies: BulkImportCompanyEntry[]
3623
+ export interface BulkImportCompaniesParams {
3624
+ organizationId: string
3625
+ batchId: string
3626
+ companies: BulkImportCompanyEntry[]
3622
3627
  }
3623
3628
  ```
3624
3629
 
3625
3630
  ### `BulkImportCompaniesResult`
3626
3631
 
3627
3632
  ```typescript
3628
- export interface BulkImportCompaniesResult {
3629
- created: number
3630
- skipped: number
3631
- errors: Array<{ companyName: string; error: string }>
3633
+ export interface BulkImportCompaniesResult {
3634
+ created: number
3635
+ skipped: number
3636
+ errors: Array<{ companyName: string; error: string }>
3632
3637
  }
3633
3638
  ```
3634
3639
 
@@ -3801,6 +3806,14 @@ export type ListToolMap = {
3801
3806
  params: Omit<UpdateContactStageParams, 'organizationId'>
3802
3807
  result: void
3803
3808
  }
3809
+ bulkUpdateCompanyStage: {
3810
+ params: Omit<BulkUpdateCompanyStageParams, 'organizationId'>
3811
+ result: BulkUpdateCompanyStageResult
3812
+ }
3813
+ bulkUpdateContactStage: {
3814
+ params: Omit<BulkUpdateContactStageParams, 'organizationId'>
3815
+ result: BulkUpdateContactStageResult
3816
+ }
3804
3817
  clearCompanyStages: {
3805
3818
  params: Omit<ClearCompanyStagesParams, 'organizationId'>
3806
3819
  result: void
@@ -1008,6 +1008,8 @@ elevasis-sdk content:source-asset <sourceAssetId>
1008
1008
 
1009
1009
  **API routes:** `GET /api/external/content/items`, `/api/external/content/items/:itemId`, `/api/external/content/queue`, `/api/external/content/pipelines`, `/api/external/content/pipelines/:id`, `/api/external/content/distributions`, `/api/external/content/source-assets`, `/api/external/content/source-assets/:sourceAssetId`.
1010
1010
 
1011
+ One more read is reachable over HTTP with no CLI command wrapping it: `GET /api/external/content/distributions/:distributionId/metrics` returns a distribution's metrics capture history, filterable by `source` and paged with `limit` / `offset`. `content:distributions` returns only the newest reading mirrored onto each distribution row, so an integration charting a series calls the route directly.
1012
+
1011
1013
  ### content:review
1012
1014
 
1013
1015
  One of two write commands in this namespace. Everything else that writes to an item -- creating it, recording an attempt, opening a distribution -- is producer work through the `content` worker adapter, not a CLI command.