@thinkai/tai-api-contract 2.32.1-pr.731.2 → 2.33.1-pr.731.2

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.32.1
4
+ version: 2.33.1
5
5
  description: >
6
6
  Contract surface for the AI Driven SDLC backend used by ThinkAI.
7
7
  Workspace-scoped routes use `/workspaces/{workspaceId}/...`.
@@ -3227,11 +3227,11 @@ paths:
3227
3227
  required: false
3228
3228
  description: >
3229
3229
  Coarse product-area grouping filter (#156). `integration` = GitHub + AI-tool key events;
3230
- `agentic_foundation` = repos, readiness scans, fixes; `workspace_team` = members + HRIS.
3231
- Omit (or pass `all`) for every area.
3230
+ `agentic_foundation` = repos, readiness scans, fixes; `workspace_team` = members + HRIS;
3231
+ `productivity` = productivity ingest lifecycle events. Omit (or pass `all`) for every area.
3232
3232
  schema:
3233
3233
  type: string
3234
- enum: [integration, agentic_foundation, workspace_team, all]
3234
+ enum: [integration, agentic_foundation, workspace_team, productivity, all]
3235
3235
  - name: eventType
3236
3236
  in: query
3237
3237
  description: Filter to a specific event type.
@@ -6864,19 +6864,15 @@ components:
6864
6864
  type: integer
6865
6865
  nullable: true
6866
6866
  description: Repository size in KB as reported by GitHub.
6867
- readOnly:
6868
- type: boolean
6869
- nullable: true
6870
- description: >
6871
- True when the GitHub App installation lacks push access to this repo
6872
- (read-only). Read-only repos are rejected during sync because readiness
6873
- fixes require write access.
6874
- ineligibleReason:
6875
- type: string
6867
+ ineligibleReasons:
6868
+ type: array
6876
6869
  nullable: true
6870
+ items:
6871
+ type: string
6877
6872
  description: >
6878
- Set when this repo was skipped during sync due to an eligibility check.
6879
- The frontend should display this as an inline explanation (e.g. "This repo is archived").
6873
+ All reasons this repo was skipped during sync or is ineligible for analysis.
6874
+ Each entry is a human-readable explanation (e.g. "This repo is archived").
6875
+ Empty or absent means the repo passed all checks.
6880
6876
  eligibilityStatus:
6881
6877
  type: string
6882
6878
  enum: [eligible, ineligible]
@@ -6885,7 +6881,7 @@ components:
6885
6881
  Language-based eligibility for Agentic-Foundation readiness analysis (issue #44).
6886
6882
  `ineligible` repos (no supported stack) render read-only/orange in the AF list with
6887
6883
  no analyze/score/fix actions. Mixed monorepos with a supported secondary stack are
6888
- `eligible`. Distinct from `ineligibleReason`, which reflects the structural sync gate.
6884
+ `eligible`. Distinct from `ineligibleReasons`, which reflects structural sync gates.
6889
6885
  eligibilityReason:
6890
6886
  type: string
6891
6887
  nullable: true
@@ -9117,6 +9113,9 @@ components:
9117
9113
  - integrations.claude.admin_key.updated
9118
9114
  - integrations.claude.admin_key.removed
9119
9115
  - readiness.scan_precheck_failed
9116
+ - productivity.ingest.completed
9117
+ - productivity.ingest.failed
9118
+ - productivity.ingest.skipped
9120
9119
 
9121
9120
  ActivityLogActorDto:
9122
9121
  type: object
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkai/tai-api-contract",
3
- "version": "2.32.1-pr.731.2",
3
+ "version": "2.33.1-pr.731.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -2791,12 +2791,10 @@ export interface components {
2791
2791
  disabled?: boolean | null;
2792
2792
  /** @description Repository size in KB as reported by GitHub. */
2793
2793
  size?: number | null;
2794
- /** @description True when the GitHub App installation lacks push access to this repo (read-only). Read-only repos are rejected during sync because readiness fixes require write access. */
2795
- readOnly?: boolean | null;
2796
- /** @description Set when this repo was skipped during sync due to an eligibility check. The frontend should display this as an inline explanation (e.g. "This repo is archived"). */
2797
- ineligibleReason?: string | null;
2794
+ /** @description All reasons this repo was skipped during sync or is ineligible for analysis. Each entry is a human-readable explanation (e.g. "This repo is archived"). Empty or absent means the repo passed all checks. */
2795
+ ineligibleReasons?: string[] | null;
2798
2796
  /**
2799
- * @description Language-based eligibility for Agentic-Foundation readiness analysis (issue #44). `ineligible` repos (no supported stack) render read-only/orange in the AF list with no analyze/score/fix actions. Mixed monorepos with a supported secondary stack are `eligible`. Distinct from `ineligibleReason`, which reflects the structural sync gate.
2797
+ * @description Language-based eligibility for Agentic-Foundation readiness analysis (issue #44). `ineligible` repos (no supported stack) render read-only/orange in the AF list with no analyze/score/fix actions. Mixed monorepos with a supported secondary stack are `eligible`. Distinct from `ineligibleReasons`, which reflects structural sync gates.
2800
2798
  * @enum {string|null}
2801
2799
  */
2802
2800
  eligibilityStatus?: "eligible" | "ineligible" | null;
@@ -3799,7 +3797,7 @@ export interface components {
3799
3797
  * @description Type of workspace lifecycle event.
3800
3798
  * @enum {string}
3801
3799
  */
3802
- 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" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.role_changed" | "member.removed" | "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" | "readiness.scan_precheck_failed";
3800
+ 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" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.role_changed" | "member.removed" | "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" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped";
3803
3801
  ActivityLogActorDto: {
3804
3802
  /** Format: uuid */
3805
3803
  userId: string;
@@ -7360,8 +7358,8 @@ export interface operations {
7360
7358
  order?: components["parameters"]["PaginationOrder"];
7361
7359
  /** @description Server-side sort column (the activity "5 W's"). Combined with `order` (asc/desc). Defaults to `when` (occurredAt). `occurredAt`/`id` is always the tiebreaker. */
7362
7360
  sort?: "when" | "who" | "what" | "why" | "where";
7363
- /** @description Coarse product-area grouping filter (#156). `integration` = GitHub + AI-tool key events; `agentic_foundation` = repos, readiness scans, fixes; `workspace_team` = members + HRIS. Omit (or pass `all`) for every area. */
7364
- productArea?: "integration" | "agentic_foundation" | "workspace_team" | "all";
7361
+ /** @description Coarse product-area grouping filter (#156). `integration` = GitHub + AI-tool key events; `agentic_foundation` = repos, readiness scans, fixes; `workspace_team` = members + HRIS; `productivity` = productivity ingest lifecycle events. Omit (or pass `all`) for every area. */
7362
+ productArea?: "integration" | "agentic_foundation" | "workspace_team" | "productivity" | "all";
7365
7363
  /** @description Filter to a specific event type. */
7366
7364
  eventType?: components["schemas"]["ActivityLogEventTypeDto"];
7367
7365
  /** @description Filter to events performed by a specific user (UUID). */