@thinkai/tai-api-contract 2.116.0 → 2.119.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.
package/src/index.ts CHANGED
@@ -1289,6 +1289,122 @@ export interface WorkspaceAbsenceListDto {
1289
1289
  syncedAt: string | null;
1290
1290
  }
1291
1291
 
1292
+ /** Inclusive missing coverage range (calendar day or UTC Monday week ISO). */
1293
+ export interface IngestCoverageGapDto {
1294
+ from: string;
1295
+ to: string;
1296
+ }
1297
+
1298
+ /** Timing for the latest ingest/refresh run. */
1299
+ export interface IngestCoverageLastRunDto {
1300
+ startedAt?: string | null;
1301
+ completedAt?: string | null;
1302
+ durationMs?: number | null;
1303
+ mode?: string | null;
1304
+ outcome?: "ok" | "failed" | "in_progress" | null;
1305
+ }
1306
+
1307
+ export interface IngestCoverageProductivityRepoDto {
1308
+ slug: string;
1309
+ queueStatus: "pending" | "complete" | "failed" | "skipped";
1310
+ weeksWithData?: number | null;
1311
+ earliestWeek?: string | null;
1312
+ latestWeek?: string | null;
1313
+ missingWeeks?: number | null;
1314
+ gaps?: IngestCoverageGapDto[];
1315
+ lastErrorKind?: string | null;
1316
+ }
1317
+
1318
+ export interface IngestCoverageProductivityDetailDto {
1319
+ phase?: "recent" | "historical" | "complete" | null;
1320
+ historicalWeekStart?: string | null;
1321
+ pendingRepoCount?: number;
1322
+ skippedRepoCount?: number;
1323
+ failedRepoCount?: number;
1324
+ coveragePercent?: number | null;
1325
+ repos?: IngestCoverageProductivityRepoDto[];
1326
+ }
1327
+
1328
+ export interface IngestCoverageFactFamilyDto {
1329
+ id: "daily_usage" | "spend_daily" | "model_daily" | "product_daily";
1330
+ expectedDays?: number;
1331
+ daysPresent?: number;
1332
+ ingestedFrom?: string | null;
1333
+ ingestedTo?: string | null;
1334
+ missingDayCount?: number;
1335
+ gaps?: IngestCoverageGapDto[];
1336
+ }
1337
+
1338
+ export interface IngestCoverageAiDetailDto {
1339
+ factFamilies?: IngestCoverageFactFamilyDto[];
1340
+ refreshInProgress?: boolean;
1341
+ }
1342
+
1343
+ export interface IngestCoverageSdlcComponentDto {
1344
+ id:
1345
+ | "rollup"
1346
+ | "security_ingest"
1347
+ | "governance_github"
1348
+ | "governance_auditor"
1349
+ | "financial_ingest"
1350
+ | "cost_refresher";
1351
+ latestBucketDate?: string | null;
1352
+ lookbackDays?: number;
1353
+ mode?: string | null;
1354
+ gaps?: IngestCoverageGapDto[];
1355
+ missingCount?: number | null;
1356
+ lastSuccessAt?: string | null;
1357
+ staleForMs?: number | null;
1358
+ isStale?: boolean;
1359
+ }
1360
+
1361
+ export interface IngestCoverageSdlcDetailDto {
1362
+ components?: IngestCoverageSdlcComponentDto[];
1363
+ }
1364
+
1365
+ export interface IngestCoverageSyncDetailDto {
1366
+ provider?: string;
1367
+ syncStatus?: "ok" | "error" | "never";
1368
+ }
1369
+
1370
+ export type IngestCoveragePipelineKind =
1371
+ "productivity_github" | "ai_usage" | "sdlc_github" | "monitoring" | "hris";
1372
+
1373
+ export type IngestCoveragePipelineStatus =
1374
+ "not_started" | "backfilling" | "incremental" | "complete" | "failed" | "in_progress";
1375
+
1376
+ /** One connected ingest pipeline in GET /workspaces/:id/ingest-coverage. */
1377
+ export interface IngestCoveragePipelineDto {
1378
+ id: string;
1379
+ kind: IngestCoveragePipelineKind;
1380
+ provider?: string | null;
1381
+ status: IngestCoveragePipelineStatus;
1382
+ targetWindowDays: number;
1383
+ ingestedFrom?: string | null;
1384
+ ingestedTo?: string | null;
1385
+ progressPercent?: number | null;
1386
+ lastSuccessAt?: string | null;
1387
+ lastAttemptAt?: string | null;
1388
+ lastErrorKind?: string | null;
1389
+ lastErrorMessage?: string | null;
1390
+ staleForMs?: number | null;
1391
+ isStale: boolean;
1392
+ dataLagDays?: number | null;
1393
+ gaps?: IngestCoverageGapDto[];
1394
+ missingCount?: number | null;
1395
+ lastRun?: IngestCoverageLastRunDto;
1396
+ productivity?: IngestCoverageProductivityDetailDto;
1397
+ ai?: IngestCoverageAiDetailDto;
1398
+ sdlc?: IngestCoverageSdlcDetailDto;
1399
+ sync?: IngestCoverageSyncDetailDto;
1400
+ }
1401
+
1402
+ /** Response body for GET /workspaces/:id/ingest-coverage. */
1403
+ export interface IngestCoverageDto {
1404
+ pipelines: IngestCoveragePipelineDto[];
1405
+ generatedAt?: string;
1406
+ }
1407
+
1292
1408
  /** Sync status for a single HRIS provider connected to a workspace. */
1293
1409
  export interface HrisSyncStatusDto {
1294
1410
  /** Provider identifier ('personio', 'zenhr', …). */