@thinkai/tai-api-contract 2.164.0 → 2.166.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.
@@ -1,7 +1,7 @@
1
1
  openapi: 3.0.3
2
2
  info:
3
3
  title: ThinkAI API
4
- version: 2.164.0
4
+ version: 2.166.0
5
5
  description: >
6
6
  Contract surface for the AI Driven SDLC backend used by ThinkAI.
7
7
  Workspace-scoped routes use `/workspaces/{workspaceId}/...`.
@@ -4775,6 +4775,17 @@ paths:
4775
4775
  schema:
4776
4776
  type: string
4777
4777
  format: date
4778
+ - name: rollout
4779
+ in: query
4780
+ required: false
4781
+ description: >
4782
+ Assessment rollout day (`YYYY-MM-DD`). Queues matched pre and post
4783
+ Data Coverage windows as separate provider chunks. Mutually exclusive
4784
+ with `full` and with `from`/`to`. The inclusive span of each window
4785
+ must stay within 180 days.
4786
+ schema:
4787
+ type: string
4788
+ format: date
4778
4789
  responses:
4779
4790
  "200":
4780
4791
  description: >
@@ -4791,8 +4802,10 @@ paths:
4791
4802
  description: >
4792
4803
  Invalid request. Stable `error` codes: `invalid_day_range` (missing pair,
4793
4804
  bad calendar date, or from > to), `full_and_day_range_conflict` (`full`
4794
- combined with `from`/`to`), and `invalid_provider` (path provider is not
4795
- a supported AI-tool integration id).
4805
+ combined with `from`/`to`/`rollout`), `range_exceeds_cap` (a requested
4806
+ window is longer than 180 days), `assessment_rollout_conflict`
4807
+ (`rollout` combined with `from`/`to`), and `invalid_provider` (path
4808
+ provider is not a supported AI-tool integration id).
4796
4809
  content:
4797
4810
  application/json:
4798
4811
  schema:
@@ -4802,6 +4815,10 @@ paths:
4802
4815
  value: { ok: false, error: "invalid_day_range" }
4803
4816
  full_and_day_range_conflict:
4804
4817
  value: { ok: false, error: "full_and_day_range_conflict" }
4818
+ range_exceeds_cap:
4819
+ value: { ok: false, error: "range_exceeds_cap" }
4820
+ assessment_rollout_conflict:
4821
+ value: { ok: false, error: "assessment_rollout_conflict" }
4805
4822
  invalid_provider:
4806
4823
  value: { ok: false, error: "invalid_provider" }
4807
4824
  "401":
@@ -16532,6 +16549,8 @@ components:
16532
16549
  - automatedFixesEnabled
16533
16550
  - writeAppInstalled
16534
16551
  - canEnableAutomatedFixes
16552
+ - suspended
16553
+ - writeSuspended
16535
16554
  properties:
16536
16555
  installationId:
16537
16556
  type: string
@@ -16651,6 +16670,24 @@ components:
16651
16670
  description: >
16652
16671
  True when the Automations app is configured and automated fixes are not yet
16653
16672
  enabled for this installation (UI may show Enable automated fixes).
16673
+ suspended:
16674
+ type: boolean
16675
+ description: >
16676
+ True when this Insights (read) GitHub App installation is suspended on GitHub.
16677
+ The workspace row is kept; token mint and core permissions are fail-closed.
16678
+ suspendedMessage:
16679
+ type: string
16680
+ nullable: true
16681
+ description: Human-readable summary when this Insights installation is suspended.
16682
+ writeSuspended:
16683
+ type: boolean
16684
+ description: >
16685
+ True when the linked Automations (write) GitHub App installation is suspended.
16686
+ Does not disconnect source control; automated fixes stay disabled.
16687
+ writeSuspendedMessage:
16688
+ type: string
16689
+ nullable: true
16690
+ description: Human-readable summary when the Automations installation is suspended.
16654
16691
 
16655
16692
  GithubPendingApprovalDto:
16656
16693
  type: object
@@ -16944,6 +16981,8 @@ components:
16944
16981
  - financialPermissionsOk
16945
16982
  - writePermissionsOk
16946
16983
  - writePermissionsUpgradeRequired
16984
+ - suspended
16985
+ - writeSuspended
16947
16986
  properties:
16948
16987
  installed:
16949
16988
  type: boolean
@@ -16992,6 +17031,22 @@ components:
16992
17031
  writePermissionsUpgradeRequired:
16993
17032
  type: boolean
16994
17033
  description: True when any connected installation lacks write permissions for automated fixes.
17034
+ suspended:
17035
+ type: boolean
17036
+ description: >
17037
+ True when any Insights (read) installation on this workspace is suspended.
17038
+ Source-control unlock still succeeds when at least one installation remains active.
17039
+ suspendedMessage:
17040
+ type: string
17041
+ nullable: true
17042
+ description: Human-readable summary when one or more Insights installations are suspended.
17043
+ writeSuspended:
17044
+ type: boolean
17045
+ description: True when any linked Automations (write) installation is suspended.
17046
+ writeSuspendedMessage:
17047
+ type: string
17048
+ nullable: true
17049
+ description: Human-readable summary when Automations write access is suspended.
16995
17050
  missingWritePermissions:
16996
17051
  type: array
16997
17052
  items:
@@ -20590,6 +20645,8 @@ components:
20590
20645
  - integration.github.updated
20591
20646
  - integration.github.removed
20592
20647
  - integration.github.permissions_changed
20648
+ - integration.github.suspended
20649
+ - integration.github.unsuspended
20593
20650
  - integration.github.repo_added
20594
20651
  - integration.github.repo_removed
20595
20652
  - fix.requested
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkai/tai-api-contract",
3
- "version": "2.164.0",
3
+ "version": "2.166.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -6992,6 +6992,14 @@ export interface components {
6992
6992
  writeManageUrl?: string | null;
6993
6993
  /** @description True when the Automations app is configured and automated fixes are not yet enabled for this installation (UI may show Enable automated fixes). */
6994
6994
  canEnableAutomatedFixes: boolean;
6995
+ /** @description True when this Insights (read) GitHub App installation is suspended on GitHub. The workspace row is kept; token mint and core permissions are fail-closed. */
6996
+ suspended: boolean;
6997
+ /** @description Human-readable summary when this Insights installation is suspended. */
6998
+ suspendedMessage?: string | null;
6999
+ /** @description True when the linked Automations (write) GitHub App installation is suspended. Does not disconnect source control; automated fixes stay disabled. */
7000
+ writeSuspended: boolean;
7001
+ /** @description Human-readable summary when the Automations installation is suspended. */
7002
+ writeSuspendedMessage?: string | null;
6995
7003
  };
6996
7004
  GithubPendingApprovalDto: {
6997
7005
  /**
@@ -7169,6 +7177,14 @@ export interface components {
7169
7177
  writePermissionsOk: boolean;
7170
7178
  /** @description True when any connected installation lacks write permissions for automated fixes. */
7171
7179
  writePermissionsUpgradeRequired: boolean;
7180
+ /** @description True when any Insights (read) installation on this workspace is suspended. Source-control unlock still succeeds when at least one installation remains active. */
7181
+ suspended: boolean;
7182
+ /** @description Human-readable summary when one or more Insights installations are suspended. */
7183
+ suspendedMessage?: string | null;
7184
+ /** @description True when any linked Automations (write) installation is suspended. */
7185
+ writeSuspended: boolean;
7186
+ /** @description Human-readable summary when Automations write access is suspended. */
7187
+ writeSuspendedMessage?: string | null;
7172
7188
  /** @description Aggregated write permissions missing on installations that lack write access. */
7173
7189
  missingWritePermissions?: components["schemas"]["GithubMissingPermissionDto"][];
7174
7190
  /** @description Human-readable summary when write permissions are missing. */
@@ -8747,7 +8763,7 @@ export interface components {
8747
8763
  * @description Type of workspace lifecycle event.
8748
8764
  * @enum {string}
8749
8765
  */
8750
- ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "code_insights.design_run_started" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.invite_accepted" | "member.invite_rejected" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.zelt.sync_started" | "hris.zelt.sync_completed" | "hris.zelt.sync_failed" | "hris.hibob.sync_started" | "hris.hibob.sync_completed" | "hris.hibob.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "integrations.code_intelligence.settings_changed" | "integrations.code_intelligence.execution_key.added" | "integrations.code_intelligence.execution_key.updated" | "integrations.code_intelligence.execution_key.removed" | "integrations.code_intelligence.execution_key.check_failed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped" | "productivity.ingest.repo_skipped" | "productivity.ingest.coverage_gap_detected" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed" | "integrations.zelt.added" | "integrations.zelt.removed" | "report.exported" | "workspace.aggregate_use.changed";
8766
+ ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.suspended" | "integration.github.unsuspended" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "code_insights.design_run_started" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.invite_accepted" | "member.invite_rejected" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.zelt.sync_started" | "hris.zelt.sync_completed" | "hris.zelt.sync_failed" | "hris.hibob.sync_started" | "hris.hibob.sync_completed" | "hris.hibob.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "integrations.code_intelligence.settings_changed" | "integrations.code_intelligence.execution_key.added" | "integrations.code_intelligence.execution_key.updated" | "integrations.code_intelligence.execution_key.removed" | "integrations.code_intelligence.execution_key.check_failed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped" | "productivity.ingest.repo_skipped" | "productivity.ingest.coverage_gap_detected" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed" | "integrations.zelt.added" | "integrations.zelt.removed" | "report.exported" | "workspace.aggregate_use.changed";
8751
8767
  UnsetAssessmentDecisionDto: {
8752
8768
  /** @enum {string} */
8753
8769
  status: "unset";
@@ -16423,6 +16439,8 @@ export interface operations {
16423
16439
  from?: string;
16424
16440
  /** @description Inclusive UTC end day (`YYYY-MM-DD`) for a targeted re-ingest window. Must be paired with `from`. Mutually exclusive with `full`. */
16425
16441
  to?: string;
16442
+ /** @description Assessment rollout day (`YYYY-MM-DD`). Queues matched pre and post Data Coverage windows as separate provider chunks. Mutually exclusive with `full` and with `from`/`to`. The inclusive span of each window must stay within 180 days. */
16443
+ rollout?: string;
16426
16444
  };
16427
16445
  header?: never;
16428
16446
  path: {
@@ -16442,7 +16460,7 @@ export interface operations {
16442
16460
  "application/json": components["schemas"]["AiToolRefreshResponseDto"];
16443
16461
  };
16444
16462
  };
16445
- /** @description Invalid request. Stable `error` codes: `invalid_day_range` (missing pair, bad calendar date, or from > to), `full_and_day_range_conflict` (`full` combined with `from`/`to`), and `invalid_provider` (path provider is not a supported AI-tool integration id). */
16463
+ /** @description Invalid request. Stable `error` codes: `invalid_day_range` (missing pair, bad calendar date, or from > to), `full_and_day_range_conflict` (`full` combined with `from`/`to`/`rollout`), `range_exceeds_cap` (a requested window is longer than 180 days), `assessment_rollout_conflict` (`rollout` combined with `from`/`to`), and `invalid_provider` (path provider is not a supported AI-tool integration id). */
16446
16464
  400: {
16447
16465
  headers: {
16448
16466
  [name: string]: unknown;