@thinkai/tai-api-contract 2.196.0 → 2.197.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.
@@ -5175,7 +5175,7 @@ export interface paths {
5175
5175
  };
5176
5176
  /**
5177
5177
  * Ingest / backfill data coverage
5178
- * @description Read-only snapshot of historical ingest coverage for connected pipelines (productivity GitHub, AI usage/spend per provider, SDLC components, monitoring, HRIS). Aggregates existing watermarks and stored day/week evidence — does not trigger ingest or refresh. Every pipeline includes always-present `dataTrust` (`status` + `verificationMethod`) as a unified trust summary derived from existing coverage signals (stale, gaps, productivity `verificationStatus`, AI `spendReconciliationStatus`, pipeline `status`). It does not replace Source verified, Spend matched, or Backfill complete fields. Productivity detail may include `selfHeal` (latest depth scan and week reconcile) read from stored activity rows; this GET does not run a scan. `selfHeal` is null when neither event exists. AI usage detail includes spend reconciliation (`spendReconciliationStatus`, `spendDataQuality`, provider and stored cent totals, `spendReconcileCheckedAt`) read from the refresh-status snapshot. This GET does not call Cursor or Claude. Productivity, HR, monitoring, and SDLC pipelines omit those fields. `nextScheduledAt` is the scheduled poll instant for `ai_usage`, `hris`, and `monitoring`. It is null for productivity and SDLC, when that sync worker is disabled, or when there has been no attempt. A past instant means the poll is overdue; it is not moved forward to now and is not an ETA. Monitoring `sync` copies stored `issueCount`, `deploymentCount`, and `eventCount` (null when unset). HRIS leaves those three null. Requires workspace membership. Disconnected sources are omitted. Insights / Measure / Engineering Health response DTOs do not include `dataTrust`.
5178
+ * @description Read-only snapshot of historical ingest coverage for connected pipelines (productivity GitHub, AI usage/spend per provider, SDLC components, monitoring, HRIS). Aggregates existing watermarks and stored day/week evidence — does not trigger ingest or refresh. Every pipeline includes always-present `dataTrust` (`status` + `verificationMethod`) as a unified trust summary derived from existing coverage signals (stale, gaps, productivity `verificationStatus`, AI `spendReconciliationStatus`, pipeline `status`). It does not replace Source verified, Spend matched, or Backfill complete fields. Productivity detail may include `selfHeal` (latest depth scan and week reconcile) read from stored activity rows; this GET does not run a scan. `selfHeal` is null when neither event exists. AI usage detail includes spend reconciliation (`spendReconciliationStatus`, `spendDataQuality`, provider and stored cent totals, `spendReconcileCheckedAt`) read from the refresh-status snapshot. This GET does not call Cursor or Claude. Productivity, HR, monitoring, and SDLC pipelines omit those fields. `nextScheduledAt` is the scheduled poll instant for `ai_usage`, `hris`, and `monitoring`. It is null for productivity and SDLC, when that sync worker is disabled, or when there has been no attempt (`hris`/`monitoring` use last status `never`). For `hris` and `monitoring`, the value is the next PHASE2 daily UTC cron after now (`15 2` / `30 2`, not lastAttempt plus interval) and is therefore in the future when set. For `ai_usage`, it is the next weekly workspace slot and a past instant means that poll is overdue; it is not moved forward to now and is not an ETA. Monitoring `sync` copies stored `issueCount`, `deploymentCount`, and `eventCount` (null when unset). HRIS leaves those three null. Requires workspace membership. Disconnected sources are omitted. Insights / Measure / Engineering Health response DTOs do not include `dataTrust`.
5179
5179
  */
5180
5180
  get: operations["getWorkspaceIngestCoverage"];
5181
5181
  put?: never;
@@ -10805,7 +10805,7 @@ export interface components {
10805
10805
  lastErrorMessage?: string | null;
10806
10806
  /**
10807
10807
  * Format: date-time
10808
- * @description Scheduled poll instant. Set for ai_usage (next weekly workspace slot), hris, and monitoring (last attempt plus the worker interval, including when that instant is already past). Null for productivity_github and sdlc_github, when the sync worker is disabled, or when lastAttemptAt is null. Not an ETA and not advanced to now when the worker is late.
10808
+ * @description Scheduled poll instant. Set for ai_usage (next weekly workspace slot; a past instant means the poll is overdue and is not advanced to now), hris (next PHASE2 daily UTC cron `15 2` after now), and monitoring (next PHASE2 daily UTC cron `30 2` after now). HRIS/Monitoring values are always in the future when set — not lastAttempt plus interval. Null for productivity_github and sdlc_github, when the sync worker is disabled, or when there has been no attempt (hris/monitoring: last status never). Not an ETA.
10809
10809
  */
10810
10810
  nextScheduledAt?: string | null;
10811
10811
  /** Format: int64 */
@@ -11427,6 +11427,13 @@ export interface components {
11427
11427
  knowledgeJob?: components["schemas"]["CodeKnowledgeJobDto"] | null;
11428
11428
  /** Format: date-time */
11429
11429
  indexedAt?: string | null;
11430
+ /**
11431
+ * Format: date-time
11432
+ * @description When cadence last compared the remote tip SHA to commitSha without rebuilding the graph (change-block skip). Distinct from indexedAt.
11433
+ */
11434
+ lastCheckedAt?: string | null;
11435
+ /** @description Paths/counts changed between the prior and current commitSha on the last rebuild. */
11436
+ lastChange?: components["schemas"]["CodeChatIndexLastChangeDto"] | null;
11430
11437
  /** Format: date-time */
11431
11438
  createdAt: string;
11432
11439
  /** Format: date-time */
@@ -11434,6 +11441,19 @@ export interface components {
11434
11441
  /** @description True when the indexed graph stores durable code excerpts (required for useful chat answers). */
11435
11442
  hasCodeExcerpts?: boolean;
11436
11443
  };
11444
+ CodeChatIndexLastChangeDto: {
11445
+ priorCommitSha: string;
11446
+ commitSha: string;
11447
+ /** @description Total files changed (may exceed files.length when capped). */
11448
+ fileCount: number;
11449
+ files: {
11450
+ path: string;
11451
+ /** @description GitHub compare status (added, modified, removed, …) */
11452
+ status: string;
11453
+ }[];
11454
+ /** Format: date-time */
11455
+ capturedAt: string;
11456
+ };
11437
11457
  CodeKnowledgeJobDto: {
11438
11458
  /** Format: uuid */
11439
11459
  id: string;
@@ -11507,10 +11527,10 @@ export interface components {
11507
11527
  repoId: string;
11508
11528
  repoName: string;
11509
11529
  /**
11510
- * @description Stable machine-readable skip reason. `ecg_source_off` covers a source turned off for Engineering Context Graph and non-GitHub providers that stay listed but are never indexed. `index_failed` means indexing already failed after three attempts and stays failed until an admin force sync.
11530
+ * @description Stable machine-readable skip reason. `ecg_source_off` covers a source turned off for Engineering Context Graph and non-GitHub providers that stay listed but are never indexed. `index_failed` means indexing already failed after three attempts and stays failed until an admin force sync. `content_unchanged` means the remote tip SHA matched the stored index commit during a daily/weekly cadence tick (check-only; no clone/Graphify).
11511
11531
  * @enum {string}
11512
11532
  */
11513
- code: "repo_ineligible" | "indexed_recently" | "index_in_progress" | "ecg_source_off" | "index_failed";
11533
+ code: "repo_ineligible" | "indexed_recently" | "index_in_progress" | "ecg_source_off" | "index_failed" | "content_unchanged";
11514
11534
  };
11515
11535
  CodeChatThreadDto: {
11516
11536
  /** Format: uuid */
@@ -13630,6 +13650,7 @@ export type InsightsRecommendationsPageBundleResponse = components['schemas']['I
13630
13650
  export type CodeChatIndexStatus = components['schemas']['CodeChatIndexStatus'];
13631
13651
  export type CodeChatIndexer = components['schemas']['CodeChatIndexer'];
13632
13652
  export type CodeChatIndexDto = components['schemas']['CodeChatIndexDto'];
13653
+ export type CodeChatIndexLastChangeDto = components['schemas']['CodeChatIndexLastChangeDto'];
13633
13654
  export type CodeKnowledgeJobDto = components['schemas']['CodeKnowledgeJobDto'];
13634
13655
  export type CodeKnowledgeTrackStatus = components['schemas']['CodeKnowledgeTrackStatus'];
13635
13656
  export type CodeChatIndexListDto = components['schemas']['CodeChatIndexListDto'];