@thinkai/tai-api-contract 2.137.0 → 2.139.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.
@@ -4178,6 +4178,26 @@ export interface paths {
4178
4178
  patch?: never;
4179
4179
  trace?: never;
4180
4180
  };
4181
+ "/workspaces/{workspaceId}/ingest/productivity/catch-up": {
4182
+ parameters: {
4183
+ query?: never;
4184
+ header?: never;
4185
+ path?: never;
4186
+ cookie?: never;
4187
+ };
4188
+ get?: never;
4189
+ put?: never;
4190
+ /**
4191
+ * Queue productivity catch-up from last fetch to now
4192
+ * @description Workspace admin (or platform admin) queues incremental productivity catch-up while phase is `complete`. Sets `productivity_incremental_requested_at` only; does not set `productivity_sync_requested_at` or change phase. Members receive 403.
4193
+ */
4194
+ post: operations["catchUpWorkspaceProductivityIngest"];
4195
+ delete?: never;
4196
+ options?: never;
4197
+ head?: never;
4198
+ patch?: never;
4199
+ trace?: never;
4200
+ };
4181
4201
  "/workspaces/{workspaceId}/ingest-runs": {
4182
4202
  parameters: {
4183
4203
  query?: never;
@@ -8188,6 +8208,12 @@ export interface components {
8188
8208
  /** @description True when the slug was already pending; no second run row. */
8189
8209
  alreadyQueued?: boolean;
8190
8210
  };
8211
+ ProductivityCatchUpResponseDto: {
8212
+ /** @enum {boolean} */
8213
+ ok: true;
8214
+ /** @description True when productivity_incremental_requested_at is already set; no second queue stamp. */
8215
+ alreadyQueued?: boolean;
8216
+ };
8191
8217
  /** @description Latest depth scan read from stored activity. `capturePercent` is the minimum existing capture ratio over that scan's repo checks with a GitHub merge count, or null when none qualify. */
8192
8218
  IngestCoverageProductivityDepthScanDto: {
8193
8219
  /** Format: date-time */
@@ -8219,6 +8245,13 @@ export interface components {
8219
8245
  repos?: components["schemas"]["IngestCoverageProductivityRepoDto"][];
8220
8246
  /** @description Latest depth-scan and week-reconcile summary from stored activity rows. Null when neither event exists. The coverage GET does not run a scan. */
8221
8247
  selfHeal?: components["schemas"]["IngestCoverageProductivitySelfHealDto"] | null;
8248
+ /**
8249
+ * @description Whether the latest depth-scan sample counts as source-verified. unverified when phase is not complete or no depth scan has completed. stale when phase is complete and the scan is at least 7 days old. insufficient_sample when a fresh scan has no usable GitHub merge count. below_target when that fresh minimum capture is under 90. verified when it is 90 or higher. Other pipeline kinds omit this field.
8250
+ * @enum {string}
8251
+ */
8252
+ verificationStatus: "unverified" | "verified" | "below_target" | "insufficient_sample" | "stale";
8253
+ /** @description Minimum platform-vs-GitHub capture for that depth-scan sample, on the same 0–100 scale (up to two decimals) as selfHeal.depthScan.capturePercent. Null when no qualifying repo check exists. Equal to capturePercent when both are numbers. The coverage GET reads stored activity rows and does not call GitHub. */
8254
+ sourceCapturePercent: number | null;
8222
8255
  };
8223
8256
  IngestCoverageFactFamilyDto: {
8224
8257
  /** @enum {string} */
@@ -10506,6 +10539,7 @@ export type IngestCoverageGapDto = components['schemas']['IngestCoverageGapDto']
10506
10539
  export type IngestCoverageLastRunDto = components['schemas']['IngestCoverageLastRunDto'];
10507
10540
  export type IngestCoverageProductivityRepoDto = components['schemas']['IngestCoverageProductivityRepoDto'];
10508
10541
  export type ProductivityRepoRetryResponseDto = components['schemas']['ProductivityRepoRetryResponseDto'];
10542
+ export type ProductivityCatchUpResponseDto = components['schemas']['ProductivityCatchUpResponseDto'];
10509
10543
  export type IngestCoverageProductivityDepthScanDto = components['schemas']['IngestCoverageProductivityDepthScanDto'];
10510
10544
  export type IngestCoverageProductivityWeekReconcileDto = components['schemas']['IngestCoverageProductivityWeekReconcileDto'];
10511
10545
  export type IngestCoverageProductivitySelfHealDto = components['schemas']['IngestCoverageProductivitySelfHealDto'];
@@ -21276,6 +21310,48 @@ export interface operations {
21276
21310
  };
21277
21311
  };
21278
21312
  };
21313
+ catchUpWorkspaceProductivityIngest: {
21314
+ parameters: {
21315
+ query?: never;
21316
+ header?: never;
21317
+ path: {
21318
+ workspaceId: components["parameters"]["WorkspaceId"];
21319
+ };
21320
+ cookie?: never;
21321
+ };
21322
+ requestBody?: never;
21323
+ responses: {
21324
+ /** @description Catch-up accepted */
21325
+ 200: {
21326
+ headers: {
21327
+ [name: string]: unknown;
21328
+ };
21329
+ content: {
21330
+ "application/json": components["schemas"]["ProductivityCatchUpResponseDto"];
21331
+ };
21332
+ };
21333
+ 401: components["responses"]["Unauthorized"];
21334
+ 403: components["responses"]["Forbidden"];
21335
+ /** @description Productivity not connected */
21336
+ 404: {
21337
+ headers: {
21338
+ [name: string]: unknown;
21339
+ };
21340
+ content: {
21341
+ "application/json": components["schemas"]["ErrorMessageDto"];
21342
+ };
21343
+ };
21344
+ /** @description Backfill in progress (phase recent or historical) */
21345
+ 409: {
21346
+ headers: {
21347
+ [name: string]: unknown;
21348
+ };
21349
+ content: {
21350
+ "application/json": components["schemas"]["ErrorMessageDto"];
21351
+ };
21352
+ };
21353
+ };
21354
+ };
21279
21355
  getWorkspaceIngestRuns: {
21280
21356
  parameters: {
21281
21357
  query?: {