@thinkai/tai-api-contract 2.50.0-pr.877.6ff333f6 → 2.51.0-pr.877.bf4a3821

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.
@@ -3129,6 +3129,25 @@ export interface components {
3129
3129
  githubActionsCiEnabled?: boolean;
3130
3130
  items: components["schemas"]["ProductivityInsightsNeedsAttentionItemDto"][];
3131
3131
  };
3132
+ /**
3133
+ * @description Echo of the resolved time bucket for this response. `day` when the request used an `Nd`/`cr:`/`from`+`to` window; `week` for legacy weekly rangeIds.
3134
+ * @enum {string}
3135
+ */
3136
+ AiUsageSpendGranularity: "day" | "week";
3137
+ /** @description Daily windows: `7d`, `30d`, `90d`, `180d`, or custom `cr:YYYY-MM-DD:YYYY-MM-DD`. Weekly legacy: `4w`, `8w`, `q` (12 weeks), `12w`, `16w`. */
3138
+ AiUsageSpendRangeId: string;
3139
+ AiUsageSpendDailyBucketDto: {
3140
+ /**
3141
+ * Format: date
3142
+ * @description UTC calendar day (`YYYY-MM-DD`).
3143
+ */
3144
+ date: string;
3145
+ /** @description Short label for table headers (e.g. MM/DD). */
3146
+ dayLabel?: string;
3147
+ tokenCount: number;
3148
+ spendCents: number;
3149
+ activeUsers: number;
3150
+ };
3132
3151
  AiUsageSpendAggregatedTeamWeekDto: {
3133
3152
  /** Format: date-time */
3134
3153
  bucketStart: string;
@@ -3148,7 +3167,9 @@ export interface components {
3148
3167
  teamName: string;
3149
3168
  headcount: number;
3150
3169
  managerLabel?: string;
3151
- weeks: components["schemas"]["AiUsageSpendAggregatedTeamWeekDto"][];
3170
+ /** @description Present in day-mode responses — daily token, spend, and active-user counts. */
3171
+ days?: components["schemas"]["AiUsageSpendDailyBucketDto"][];
3172
+ weeks?: components["schemas"]["AiUsageSpendAggregatedTeamWeekDto"][];
3152
3173
  };
3153
3174
  AiUsageSpendAggregatedTeamsSummaryDto: {
3154
3175
  totalTokenCount: number;
@@ -3163,8 +3184,18 @@ export interface components {
3163
3184
  AiUsageSpendAggregatedTeamsDto: {
3164
3185
  /** Format: uuid */
3165
3186
  workspaceId: string;
3166
- /** @enum {string} */
3167
- range: "4w" | "8w" | "q";
3187
+ range: components["schemas"]["AiUsageSpendRangeId"];
3188
+ granularity?: components["schemas"]["AiUsageSpendGranularity"];
3189
+ /**
3190
+ * Format: date
3191
+ * @description Inclusive start day when `granularity` is `day`.
3192
+ */
3193
+ from?: string;
3194
+ /**
3195
+ * Format: date
3196
+ * @description Inclusive end day when `granularity` is `day`.
3197
+ */
3198
+ to?: string;
3168
3199
  scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
3169
3200
  /** Format: date-time */
3170
3201
  generatedAt: string;
@@ -3178,13 +3209,25 @@ export interface components {
3178
3209
  title?: string;
3179
3210
  team?: string;
3180
3211
  department?: string;
3181
- weeks: components["schemas"]["AiUsageSpendAggregatedTeamWeekDto"][];
3212
+ /** @description Present in day-mode responses — daily token, spend, and active-user counts. */
3213
+ days?: components["schemas"]["AiUsageSpendDailyBucketDto"][];
3214
+ weeks?: components["schemas"]["AiUsageSpendAggregatedTeamWeekDto"][];
3182
3215
  };
3183
3216
  AiUsageSpendAggregatedContributorsDto: {
3184
3217
  /** Format: uuid */
3185
3218
  workspaceId: string;
3186
- /** @enum {string} */
3187
- range: "4w" | "8w" | "q";
3219
+ range: components["schemas"]["AiUsageSpendRangeId"];
3220
+ granularity?: components["schemas"]["AiUsageSpendGranularity"];
3221
+ /**
3222
+ * Format: date
3223
+ * @description Inclusive start day when `granularity` is `day`.
3224
+ */
3225
+ from?: string;
3226
+ /**
3227
+ * Format: date
3228
+ * @description Inclusive end day when `granularity` is `day`.
3229
+ */
3230
+ to?: string;
3188
3231
  scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
3189
3232
  /** Format: date-time */
3190
3233
  generatedAt: string;
@@ -3194,8 +3237,18 @@ export interface components {
3194
3237
  AiUsageSpendContributorToolHeatmapDto: {
3195
3238
  /** Format: uuid */
3196
3239
  workspaceId: string;
3197
- /** @enum {string} */
3198
- range: "4w" | "8w" | "q";
3240
+ range: components["schemas"]["AiUsageSpendRangeId"];
3241
+ granularity?: components["schemas"]["AiUsageSpendGranularity"];
3242
+ /**
3243
+ * Format: date
3244
+ * @description Inclusive start day when `granularity` is `day`.
3245
+ */
3246
+ from?: string;
3247
+ /**
3248
+ * Format: date
3249
+ * @description Inclusive end day when `granularity` is `day`.
3250
+ */
3251
+ to?: string;
3199
3252
  scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
3200
3253
  /** Format: date-time */
3201
3254
  generatedAt: string;
@@ -3212,8 +3265,18 @@ export interface components {
3212
3265
  AiUsageSpendKeyInsightsDto: {
3213
3266
  /** Format: uuid */
3214
3267
  workspaceId: string;
3215
- /** @enum {string} */
3216
- range: "4w" | "8w" | "q";
3268
+ range: components["schemas"]["AiUsageSpendRangeId"];
3269
+ granularity?: components["schemas"]["AiUsageSpendGranularity"];
3270
+ /**
3271
+ * Format: date
3272
+ * @description Inclusive start day when `granularity` is `day`.
3273
+ */
3274
+ from?: string;
3275
+ /**
3276
+ * Format: date
3277
+ * @description Inclusive end day when `granularity` is `day`.
3278
+ */
3279
+ to?: string;
3217
3280
  scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
3218
3281
  /** Format: date-time */
3219
3282
  generatedAt: string;
@@ -3229,6 +3292,16 @@ export interface components {
3229
3292
  * @enum {string}
3230
3293
  */
3231
3294
  AiAssistedCodeEstimationSource: "ingest" | "token_volume" | "spend_proxy" | "adoption" | "unavailable";
3295
+ AiUsageSpendAiAssistedCodeDayDto: {
3296
+ /** Format: date */
3297
+ date: string;
3298
+ dayLabel?: string;
3299
+ aiAssistedCodePercent: number;
3300
+ totalLoc: number;
3301
+ aiLoc: number;
3302
+ humanLoc: number;
3303
+ dataQuality: components["schemas"]["AiAssistedCodeDataQuality"];
3304
+ };
3232
3305
  AiUsageSpendAiAssistedCodeWeekDto: {
3233
3306
  /** Format: date-time */
3234
3307
  bucketStart: string;
@@ -3244,8 +3317,18 @@ export interface components {
3244
3317
  AiUsageSpendAiAssistedCodePercentageDto: {
3245
3318
  /** Format: uuid */
3246
3319
  workspaceId: string;
3247
- /** @enum {string} */
3248
- range: "4w" | "8w" | "q";
3320
+ range: components["schemas"]["AiUsageSpendRangeId"];
3321
+ granularity?: components["schemas"]["AiUsageSpendGranularity"];
3322
+ /**
3323
+ * Format: date
3324
+ * @description Inclusive start day when `granularity` is `day`.
3325
+ */
3326
+ from?: string;
3327
+ /**
3328
+ * Format: date
3329
+ * @description Inclusive end day when `granularity` is `day`.
3330
+ */
3331
+ to?: string;
3249
3332
  scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
3250
3333
  /** Format: date-time */
3251
3334
  generatedAt: string;
@@ -3267,7 +3350,9 @@ export interface components {
3267
3350
  totalTokenCount?: number;
3268
3351
  /** @description Scoped AI-tool spend in cents for the selected period. */
3269
3352
  totalSpendCents?: number;
3270
- weeks: components["schemas"]["AiUsageSpendAiAssistedCodeWeekDto"][];
3353
+ /** @description Present in day-mode responses — daily AI-assisted code share series. */
3354
+ days?: components["schemas"]["AiUsageSpendAiAssistedCodeDayDto"][];
3355
+ weeks?: components["schemas"]["AiUsageSpendAiAssistedCodeWeekDto"][];
3271
3356
  };
3272
3357
  /** @enum {string} */
3273
3358
  ProviderEngagementInsightAvailability: "measured" | "not_applicable";
@@ -3288,8 +3373,18 @@ export interface components {
3288
3373
  AiUsageSpendProviderEngagementInsightsDto: {
3289
3374
  /** Format: uuid */
3290
3375
  workspaceId: string;
3291
- /** @enum {string} */
3292
- range: "4w" | "8w" | "q";
3376
+ range: components["schemas"]["AiUsageSpendRangeId"];
3377
+ granularity?: components["schemas"]["AiUsageSpendGranularity"];
3378
+ /**
3379
+ * Format: date
3380
+ * @description Inclusive start day when `granularity` is `day`.
3381
+ */
3382
+ from?: string;
3383
+ /**
3384
+ * Format: date
3385
+ * @description Inclusive end day when `granularity` is `day`.
3386
+ */
3387
+ to?: string;
3293
3388
  scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
3294
3389
  /** Format: date-time */
3295
3390
  generatedAt: string;
@@ -3312,8 +3407,18 @@ export interface components {
3312
3407
  AiUsageSpendAiToolUsageSpendDto: {
3313
3408
  /** Format: uuid */
3314
3409
  workspaceId: string;
3315
- /** @enum {string} */
3316
- range: "4w" | "8w" | "q";
3410
+ range: components["schemas"]["AiUsageSpendRangeId"];
3411
+ granularity?: components["schemas"]["AiUsageSpendGranularity"];
3412
+ /**
3413
+ * Format: date
3414
+ * @description Inclusive start day when `granularity` is `day`.
3415
+ */
3416
+ from?: string;
3417
+ /**
3418
+ * Format: date
3419
+ * @description Inclusive end day when `granularity` is `day`.
3420
+ */
3421
+ to?: string;
3317
3422
  scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
3318
3423
  /** Format: date-time */
3319
3424
  generatedAt: string;
@@ -3324,13 +3429,30 @@ export interface components {
3324
3429
  AiUsageSpendTeamToolHeatmapDto: {
3325
3430
  /** Format: uuid */
3326
3431
  workspaceId: string;
3327
- /** @enum {string} */
3328
- range: "4w" | "8w" | "q";
3432
+ range: components["schemas"]["AiUsageSpendRangeId"];
3433
+ granularity?: components["schemas"]["AiUsageSpendGranularity"];
3434
+ /**
3435
+ * Format: date
3436
+ * @description Inclusive start day when `granularity` is `day`.
3437
+ */
3438
+ from?: string;
3439
+ /**
3440
+ * Format: date
3441
+ * @description Inclusive end day when `granularity` is `day`.
3442
+ */
3443
+ to?: string;
3329
3444
  scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
3330
3445
  /** Format: date-time */
3331
3446
  generatedAt: string;
3332
3447
  teams: components["schemas"]["AiUsageSpendAggregatedTeamRowDto"][];
3333
3448
  };
3449
+ AiUsageSpendRoiProductivitySignalDayDto: {
3450
+ /** Format: date */
3451
+ date: string;
3452
+ dayLabel?: string;
3453
+ mergedPrCount: number;
3454
+ tokenCount: number;
3455
+ };
3334
3456
  AiUsageSpendRoiProductivitySignalWeekDto: {
3335
3457
  /** Format: date-time */
3336
3458
  bucketStart: string;
@@ -3345,8 +3467,18 @@ export interface components {
3345
3467
  AiUsageSpendRoiProductivitySignalDto: {
3346
3468
  /** Format: uuid */
3347
3469
  workspaceId: string;
3348
- /** @enum {string} */
3349
- range: "4w" | "8w" | "q";
3470
+ range: components["schemas"]["AiUsageSpendRangeId"];
3471
+ granularity?: components["schemas"]["AiUsageSpendGranularity"];
3472
+ /**
3473
+ * Format: date
3474
+ * @description Inclusive start day when `granularity` is `day`.
3475
+ */
3476
+ from?: string;
3477
+ /**
3478
+ * Format: date
3479
+ * @description Inclusive end day when `granularity` is `day`.
3480
+ */
3481
+ to?: string;
3350
3482
  scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
3351
3483
  /** Format: date-time */
3352
3484
  generatedAt: string;
@@ -3360,7 +3492,16 @@ export interface components {
3360
3492
  prThroughputDeltaPercent: number;
3361
3493
  /** @description Percent change in token usage (recent half vs prior half of range). */
3362
3494
  usageDeltaPercent: number;
3363
- weeks: components["schemas"]["AiUsageSpendRoiProductivitySignalWeekDto"][];
3495
+ /** @description Present in day-mode responses — daily merged PR and token counts. */
3496
+ days?: components["schemas"]["AiUsageSpendRoiProductivitySignalDayDto"][];
3497
+ weeks?: components["schemas"]["AiUsageSpendRoiProductivitySignalWeekDto"][];
3498
+ };
3499
+ AiUsageSpendUsageTrendsProviderDayDto: {
3500
+ providerId: string;
3501
+ providerName: string;
3502
+ spendCents: number;
3503
+ tokenCount: number;
3504
+ activeUsers: number;
3364
3505
  };
3365
3506
  AiUsageSpendUsageTrendsProviderWeekDto: {
3366
3507
  providerId: string;
@@ -3369,6 +3510,12 @@ export interface components {
3369
3510
  tokenCount: number;
3370
3511
  activeUsers: number;
3371
3512
  };
3513
+ AiUsageSpendUsageTrendsDayDto: {
3514
+ /** Format: date */
3515
+ date: string;
3516
+ dayLabel?: string;
3517
+ providers: components["schemas"]["AiUsageSpendUsageTrendsProviderDayDto"][];
3518
+ };
3372
3519
  AiUsageSpendUsageTrendsWeekDto: {
3373
3520
  /** Format: date-time */
3374
3521
  bucketStart: string;
@@ -3380,12 +3527,24 @@ export interface components {
3380
3527
  AiUsageSpendUsageTrendsDto: {
3381
3528
  /** Format: uuid */
3382
3529
  workspaceId: string;
3383
- /** @enum {string} */
3384
- range: "4w" | "8w" | "q";
3530
+ range: components["schemas"]["AiUsageSpendRangeId"];
3531
+ granularity?: components["schemas"]["AiUsageSpendGranularity"];
3532
+ /**
3533
+ * Format: date
3534
+ * @description Inclusive start day when `granularity` is `day`.
3535
+ */
3536
+ from?: string;
3537
+ /**
3538
+ * Format: date
3539
+ * @description Inclusive end day when `granularity` is `day`.
3540
+ */
3541
+ to?: string;
3385
3542
  scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
3386
3543
  /** Format: date-time */
3387
3544
  generatedAt: string;
3388
- weeks: components["schemas"]["AiUsageSpendUsageTrendsWeekDto"][];
3545
+ /** @description Present in day-mode responses — per-provider spend and usage by day. */
3546
+ days?: components["schemas"]["AiUsageSpendUsageTrendsDayDto"][];
3547
+ weeks?: components["schemas"]["AiUsageSpendUsageTrendsWeekDto"][];
3389
3548
  };
3390
3549
  AiToolMemberSummaryDto: {
3391
3550
  externalId: string;
@@ -5246,6 +5405,9 @@ export type ProductivityInsightsContributorActivitySummaryDto = components['sche
5246
5405
  export type ProductivityInsightsContributorDetailDto = components['schemas']['ProductivityInsightsContributorDetailDto'];
5247
5406
  export type ProductivityInsightsNeedsAttentionItemDto = components['schemas']['ProductivityInsightsNeedsAttentionItemDto'];
5248
5407
  export type ProductivityInsightsNeedsAttentionDto = components['schemas']['ProductivityInsightsNeedsAttentionDto'];
5408
+ export type AiUsageSpendGranularity = components['schemas']['AiUsageSpendGranularity'];
5409
+ export type AiUsageSpendRangeId = components['schemas']['AiUsageSpendRangeId'];
5410
+ export type AiUsageSpendDailyBucketDto = components['schemas']['AiUsageSpendDailyBucketDto'];
5249
5411
  export type AiUsageSpendAggregatedTeamWeekDto = components['schemas']['AiUsageSpendAggregatedTeamWeekDto'];
5250
5412
  export type AiUsageSpendAggregatedTeamRowDto = components['schemas']['AiUsageSpendAggregatedTeamRowDto'];
5251
5413
  export type AiUsageSpendAggregatedTeamsSummaryDto = components['schemas']['AiUsageSpendAggregatedTeamsSummaryDto'];
@@ -5257,6 +5419,7 @@ export type AiUsageSpendKeyInsightItemDto = components['schemas']['AiUsageSpendK
5257
5419
  export type AiUsageSpendKeyInsightsDto = components['schemas']['AiUsageSpendKeyInsightsDto'];
5258
5420
  export type AiAssistedCodeDataQuality = components['schemas']['AiAssistedCodeDataQuality'];
5259
5421
  export type AiAssistedCodeEstimationSource = components['schemas']['AiAssistedCodeEstimationSource'];
5422
+ export type AiUsageSpendAiAssistedCodeDayDto = components['schemas']['AiUsageSpendAiAssistedCodeDayDto'];
5260
5423
  export type AiUsageSpendAiAssistedCodeWeekDto = components['schemas']['AiUsageSpendAiAssistedCodeWeekDto'];
5261
5424
  export type AiUsageSpendAiAssistedCodePercentageDto = components['schemas']['AiUsageSpendAiAssistedCodePercentageDto'];
5262
5425
  export type ProviderEngagementInsightAvailability = components['schemas']['ProviderEngagementInsightAvailability'];
@@ -5267,9 +5430,12 @@ export type AiUsageSpendAiToolUsageSpendProviderItemDto = components['schemas'][
5267
5430
  export type AiUsageSpendAiToolUsageSpendModelItemDto = components['schemas']['AiUsageSpendAiToolUsageSpendModelItemDto'];
5268
5431
  export type AiUsageSpendAiToolUsageSpendDto = components['schemas']['AiUsageSpendAiToolUsageSpendDto'];
5269
5432
  export type AiUsageSpendTeamToolHeatmapDto = components['schemas']['AiUsageSpendTeamToolHeatmapDto'];
5433
+ export type AiUsageSpendRoiProductivitySignalDayDto = components['schemas']['AiUsageSpendRoiProductivitySignalDayDto'];
5270
5434
  export type AiUsageSpendRoiProductivitySignalWeekDto = components['schemas']['AiUsageSpendRoiProductivitySignalWeekDto'];
5271
5435
  export type AiUsageSpendRoiProductivitySignalDto = components['schemas']['AiUsageSpendRoiProductivitySignalDto'];
5436
+ export type AiUsageSpendUsageTrendsProviderDayDto = components['schemas']['AiUsageSpendUsageTrendsProviderDayDto'];
5272
5437
  export type AiUsageSpendUsageTrendsProviderWeekDto = components['schemas']['AiUsageSpendUsageTrendsProviderWeekDto'];
5438
+ export type AiUsageSpendUsageTrendsDayDto = components['schemas']['AiUsageSpendUsageTrendsDayDto'];
5273
5439
  export type AiUsageSpendUsageTrendsWeekDto = components['schemas']['AiUsageSpendUsageTrendsWeekDto'];
5274
5440
  export type AiUsageSpendUsageTrendsDto = components['schemas']['AiUsageSpendUsageTrendsDto'];
5275
5441
  export type AiToolMemberSummaryDto = components['schemas']['AiToolMemberSummaryDto'];
@@ -7308,8 +7474,12 @@ export interface operations {
7308
7474
  getAiUsageSpendAggregatedTeams: {
7309
7475
  parameters: {
7310
7476
  query?: {
7311
- /** @description Measure time range (maps to weekly bucket count). */
7312
- rangeId?: "4w" | "8w" | "q";
7477
+ /** @description Productivity insights time range. Daily windows: `7d`, `30d`, `90d`, `180d`, or custom `cr:YYYY-MM-DD:YYYY-MM-DD`. Weekly legacy: `4w`, `8w`, `q` (12 weeks), `12w`, `16w`. Omit when using explicit `from`/`to` day bounds. */
7478
+ rangeId?: components["parameters"]["InsightsProductivityRangeId"];
7479
+ /** @description Inclusive start of a daily window (`YYYY-MM-DD`). When set with `to`, overrides `rangeId` for day-mode responses (max 180 days). */
7480
+ from?: components["parameters"]["InsightsProductivityFrom"];
7481
+ /** @description Inclusive end of a daily window (`YYYY-MM-DD`). When set with `from`, overrides `rangeId` for day-mode responses (max 180 days). */
7482
+ to?: components["parameters"]["InsightsProductivityTo"];
7313
7483
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
7314
7484
  department?: components["parameters"]["InsightsDepartmentFilter"];
7315
7485
  /** @description Team name filter; send `All teams` to include every team. */
@@ -7360,8 +7530,12 @@ export interface operations {
7360
7530
  getAiUsageSpendAggregatedContributors: {
7361
7531
  parameters: {
7362
7532
  query?: {
7363
- /** @description Measure time range (maps to weekly bucket count). */
7364
- rangeId?: "4w" | "8w" | "q";
7533
+ /** @description Productivity insights time range. Daily windows: `7d`, `30d`, `90d`, `180d`, or custom `cr:YYYY-MM-DD:YYYY-MM-DD`. Weekly legacy: `4w`, `8w`, `q` (12 weeks), `12w`, `16w`. Omit when using explicit `from`/`to` day bounds. */
7534
+ rangeId?: components["parameters"]["InsightsProductivityRangeId"];
7535
+ /** @description Inclusive start of a daily window (`YYYY-MM-DD`). When set with `to`, overrides `rangeId` for day-mode responses (max 180 days). */
7536
+ from?: components["parameters"]["InsightsProductivityFrom"];
7537
+ /** @description Inclusive end of a daily window (`YYYY-MM-DD`). When set with `from`, overrides `rangeId` for day-mode responses (max 180 days). */
7538
+ to?: components["parameters"]["InsightsProductivityTo"];
7365
7539
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
7366
7540
  department?: components["parameters"]["InsightsDepartmentFilter"];
7367
7541
  /** @description Team name filter; send `All teams` to include every team. */
@@ -7412,8 +7586,12 @@ export interface operations {
7412
7586
  getAiUsageSpendContributorToolHeatmap: {
7413
7587
  parameters: {
7414
7588
  query?: {
7415
- /** @description Measure time range (maps to weekly bucket count). */
7416
- rangeId?: "4w" | "8w" | "q";
7589
+ /** @description Productivity insights time range. Daily windows: `7d`, `30d`, `90d`, `180d`, or custom `cr:YYYY-MM-DD:YYYY-MM-DD`. Weekly legacy: `4w`, `8w`, `q` (12 weeks), `12w`, `16w`. Omit when using explicit `from`/`to` day bounds. */
7590
+ rangeId?: components["parameters"]["InsightsProductivityRangeId"];
7591
+ /** @description Inclusive start of a daily window (`YYYY-MM-DD`). When set with `to`, overrides `rangeId` for day-mode responses (max 180 days). */
7592
+ from?: components["parameters"]["InsightsProductivityFrom"];
7593
+ /** @description Inclusive end of a daily window (`YYYY-MM-DD`). When set with `from`, overrides `rangeId` for day-mode responses (max 180 days). */
7594
+ to?: components["parameters"]["InsightsProductivityTo"];
7417
7595
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
7418
7596
  department?: components["parameters"]["InsightsDepartmentFilter"];
7419
7597
  /** @description Team name filter; send `All teams` to include every team. */
@@ -7464,8 +7642,12 @@ export interface operations {
7464
7642
  getAiUsageSpendKeyInsights: {
7465
7643
  parameters: {
7466
7644
  query?: {
7467
- /** @description Measure time range (maps to weekly bucket count). */
7468
- rangeId?: "4w" | "8w" | "q";
7645
+ /** @description Productivity insights time range. Daily windows: `7d`, `30d`, `90d`, `180d`, or custom `cr:YYYY-MM-DD:YYYY-MM-DD`. Weekly legacy: `4w`, `8w`, `q` (12 weeks), `12w`, `16w`. Omit when using explicit `from`/`to` day bounds. */
7646
+ rangeId?: components["parameters"]["InsightsProductivityRangeId"];
7647
+ /** @description Inclusive start of a daily window (`YYYY-MM-DD`). When set with `to`, overrides `rangeId` for day-mode responses (max 180 days). */
7648
+ from?: components["parameters"]["InsightsProductivityFrom"];
7649
+ /** @description Inclusive end of a daily window (`YYYY-MM-DD`). When set with `from`, overrides `rangeId` for day-mode responses (max 180 days). */
7650
+ to?: components["parameters"]["InsightsProductivityTo"];
7469
7651
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
7470
7652
  department?: components["parameters"]["InsightsDepartmentFilter"];
7471
7653
  /** @description Team name filter; send `All teams` to include every team. */
@@ -7516,8 +7698,12 @@ export interface operations {
7516
7698
  getAiUsageSpendAiAssistedCodePercentage: {
7517
7699
  parameters: {
7518
7700
  query?: {
7519
- /** @description Measure time range (maps to weekly bucket count). */
7520
- rangeId?: "4w" | "8w" | "q";
7701
+ /** @description Productivity insights time range. Daily windows: `7d`, `30d`, `90d`, `180d`, or custom `cr:YYYY-MM-DD:YYYY-MM-DD`. Weekly legacy: `4w`, `8w`, `q` (12 weeks), `12w`, `16w`. Omit when using explicit `from`/`to` day bounds. */
7702
+ rangeId?: components["parameters"]["InsightsProductivityRangeId"];
7703
+ /** @description Inclusive start of a daily window (`YYYY-MM-DD`). When set with `to`, overrides `rangeId` for day-mode responses (max 180 days). */
7704
+ from?: components["parameters"]["InsightsProductivityFrom"];
7705
+ /** @description Inclusive end of a daily window (`YYYY-MM-DD`). When set with `from`, overrides `rangeId` for day-mode responses (max 180 days). */
7706
+ to?: components["parameters"]["InsightsProductivityTo"];
7521
7707
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
7522
7708
  department?: components["parameters"]["InsightsDepartmentFilter"];
7523
7709
  /** @description Team name filter; send `All teams` to include every team. */
@@ -7568,14 +7754,24 @@ export interface operations {
7568
7754
  getAiUsageSpendProviderEngagementInsights: {
7569
7755
  parameters: {
7570
7756
  query?: {
7571
- /** @description Measure time range (maps to weekly bucket count). */
7572
- rangeId?: "4w" | "8w" | "q";
7757
+ /** @description Productivity insights time range. Daily windows: `7d`, `30d`, `90d`, `180d`, or custom `cr:YYYY-MM-DD:YYYY-MM-DD`. Weekly legacy: `4w`, `8w`, `q` (12 weeks), `12w`, `16w`. Omit when using explicit `from`/`to` day bounds. */
7758
+ rangeId?: components["parameters"]["InsightsProductivityRangeId"];
7759
+ /** @description Inclusive start of a daily window (`YYYY-MM-DD`). When set with `to`, overrides `rangeId` for day-mode responses (max 180 days). */
7760
+ from?: components["parameters"]["InsightsProductivityFrom"];
7761
+ /** @description Inclusive end of a daily window (`YYYY-MM-DD`). When set with `from`, overrides `rangeId` for day-mode responses (max 180 days). */
7762
+ to?: components["parameters"]["InsightsProductivityTo"];
7573
7763
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
7574
7764
  department?: components["parameters"]["InsightsDepartmentFilter"];
7575
7765
  /** @description Team name filter; send `All teams` to include every team. */
7576
7766
  team?: string;
7577
7767
  /** @description ISO timestamp for the end of the last weekly bucket; omit for current week. */
7578
7768
  windowEnd?: string;
7769
+ /** @description When set, aggregate engagement metrics for a single AI-tool member (user detail pages). Mutually exclusive with `scopeTeamId`. */
7770
+ memberExternalId?: string;
7771
+ /** @description Org-chart team id — aggregate engagement for members mapped to that team (team detail pages). Mutually exclusive with `memberExternalId`. */
7772
+ scopeTeamId?: string;
7773
+ /** @description Optional provider id filter (`cursor`, `claude`) for detail pages. */
7774
+ provider?: "cursor" | "claude";
7579
7775
  };
7580
7776
  header?: never;
7581
7777
  path: {
@@ -7620,8 +7816,12 @@ export interface operations {
7620
7816
  getAiUsageSpendAiToolUsageSpend: {
7621
7817
  parameters: {
7622
7818
  query?: {
7623
- /** @description Measure time range (maps to weekly bucket count). */
7624
- rangeId?: "4w" | "8w" | "q";
7819
+ /** @description Productivity insights time range. Daily windows: `7d`, `30d`, `90d`, `180d`, or custom `cr:YYYY-MM-DD:YYYY-MM-DD`. Weekly legacy: `4w`, `8w`, `q` (12 weeks), `12w`, `16w`. Omit when using explicit `from`/`to` day bounds. */
7820
+ rangeId?: components["parameters"]["InsightsProductivityRangeId"];
7821
+ /** @description Inclusive start of a daily window (`YYYY-MM-DD`). When set with `to`, overrides `rangeId` for day-mode responses (max 180 days). */
7822
+ from?: components["parameters"]["InsightsProductivityFrom"];
7823
+ /** @description Inclusive end of a daily window (`YYYY-MM-DD`). When set with `from`, overrides `rangeId` for day-mode responses (max 180 days). */
7824
+ to?: components["parameters"]["InsightsProductivityTo"];
7625
7825
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
7626
7826
  department?: components["parameters"]["InsightsDepartmentFilter"];
7627
7827
  /** @description Team name filter; send `All teams` to include every team. */
@@ -7672,8 +7872,12 @@ export interface operations {
7672
7872
  getAiUsageSpendTeamToolHeatmap: {
7673
7873
  parameters: {
7674
7874
  query?: {
7675
- /** @description Measure time range (maps to weekly bucket count). */
7676
- rangeId?: "4w" | "8w" | "q";
7875
+ /** @description Productivity insights time range. Daily windows: `7d`, `30d`, `90d`, `180d`, or custom `cr:YYYY-MM-DD:YYYY-MM-DD`. Weekly legacy: `4w`, `8w`, `q` (12 weeks), `12w`, `16w`. Omit when using explicit `from`/`to` day bounds. */
7876
+ rangeId?: components["parameters"]["InsightsProductivityRangeId"];
7877
+ /** @description Inclusive start of a daily window (`YYYY-MM-DD`). When set with `to`, overrides `rangeId` for day-mode responses (max 180 days). */
7878
+ from?: components["parameters"]["InsightsProductivityFrom"];
7879
+ /** @description Inclusive end of a daily window (`YYYY-MM-DD`). When set with `from`, overrides `rangeId` for day-mode responses (max 180 days). */
7880
+ to?: components["parameters"]["InsightsProductivityTo"];
7677
7881
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
7678
7882
  department?: components["parameters"]["InsightsDepartmentFilter"];
7679
7883
  /** @description Team name filter; send `All teams` to include every team. */
@@ -7724,8 +7928,12 @@ export interface operations {
7724
7928
  getAiUsageSpendRoiProductivitySignal: {
7725
7929
  parameters: {
7726
7930
  query?: {
7727
- /** @description Measure time range (maps to weekly bucket count). */
7728
- rangeId?: "4w" | "8w" | "q";
7931
+ /** @description Productivity insights time range. Daily windows: `7d`, `30d`, `90d`, `180d`, or custom `cr:YYYY-MM-DD:YYYY-MM-DD`. Weekly legacy: `4w`, `8w`, `q` (12 weeks), `12w`, `16w`. Omit when using explicit `from`/`to` day bounds. */
7932
+ rangeId?: components["parameters"]["InsightsProductivityRangeId"];
7933
+ /** @description Inclusive start of a daily window (`YYYY-MM-DD`). When set with `to`, overrides `rangeId` for day-mode responses (max 180 days). */
7934
+ from?: components["parameters"]["InsightsProductivityFrom"];
7935
+ /** @description Inclusive end of a daily window (`YYYY-MM-DD`). When set with `from`, overrides `rangeId` for day-mode responses (max 180 days). */
7936
+ to?: components["parameters"]["InsightsProductivityTo"];
7729
7937
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
7730
7938
  department?: components["parameters"]["InsightsDepartmentFilter"];
7731
7939
  /** @description Team name filter; send `All teams` to include every team. */
@@ -7776,8 +7984,12 @@ export interface operations {
7776
7984
  getAiUsageSpendUsageTrends: {
7777
7985
  parameters: {
7778
7986
  query?: {
7779
- /** @description Measure time range (maps to weekly bucket count). */
7780
- rangeId?: "4w" | "8w" | "q";
7987
+ /** @description Productivity insights time range. Daily windows: `7d`, `30d`, `90d`, `180d`, or custom `cr:YYYY-MM-DD:YYYY-MM-DD`. Weekly legacy: `4w`, `8w`, `q` (12 weeks), `12w`, `16w`. Omit when using explicit `from`/`to` day bounds. */
7988
+ rangeId?: components["parameters"]["InsightsProductivityRangeId"];
7989
+ /** @description Inclusive start of a daily window (`YYYY-MM-DD`). When set with `to`, overrides `rangeId` for day-mode responses (max 180 days). */
7990
+ from?: components["parameters"]["InsightsProductivityFrom"];
7991
+ /** @description Inclusive end of a daily window (`YYYY-MM-DD`). When set with `from`, overrides `rangeId` for day-mode responses (max 180 days). */
7992
+ to?: components["parameters"]["InsightsProductivityTo"];
7781
7993
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
7782
7994
  department?: components["parameters"]["InsightsDepartmentFilter"];
7783
7995
  /** @description Team name filter; send `All teams` to include every team. */