@thinkai/tai-api-contract 2.176.0 → 2.177.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.176.0
4
+ version: 2.177.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}/...`.
@@ -481,18 +481,75 @@ paths:
481
481
  enum: ["NOT VALIDATED", "SAMPLE · SYNTHETIC DATA"]
482
482
  scope:
483
483
  type: object
484
+ required: [repositories, excluded]
485
+ properties:
486
+ repositories:
487
+ type: array
488
+ items:
489
+ type: object
490
+ required: [id, name]
491
+ properties:
492
+ id: { type: string }
493
+ name: { type: string }
494
+ excluded:
495
+ type: array
496
+ items:
497
+ type: object
498
+ required: [id, name, reason]
499
+ properties:
500
+ id: { type: string }
501
+ name: { type: string }
502
+ reason: { type: string }
484
503
  windows:
485
504
  type: object
505
+ required: [pre, post, transitionDays]
506
+ properties:
507
+ pre:
508
+ type: object
509
+ nullable: true
510
+ required: [start, end]
511
+ properties:
512
+ start: { type: string }
513
+ end: { type: string }
514
+ post:
515
+ type: object
516
+ nullable: true
517
+ required: [start, end]
518
+ properties:
519
+ start: { type: string }
520
+ end: { type: string }
521
+ transitionDays:
522
+ type: integer
486
523
  sources:
487
524
  type: array
488
525
  items:
489
526
  type: object
527
+ required: [provider, status, freshAt]
528
+ properties:
529
+ provider: { type: string }
530
+ status: { type: string }
531
+ freshAt: { type: string, nullable: true }
490
532
  consent:
491
533
  type: object
534
+ required: [aggregateUse, recordedAt]
535
+ properties:
536
+ aggregateUse:
537
+ type: string
538
+ enum: [opt_in, opt_out, unset]
539
+ recordedAt:
540
+ type: string
541
+ nullable: true
492
542
  sections:
493
543
  type: array
494
544
  items:
495
545
  type: object
546
+ required: [id, status]
547
+ properties:
548
+ id: { type: string }
549
+ status:
550
+ type: string
551
+ enum: [ok, failed, omitted]
552
+ reason: { type: string }
496
553
  workspaceId:
497
554
  type: string
498
555
  expectedWorkspaceId:
@@ -22054,6 +22111,7 @@ components:
22054
22111
  - repairDays
22055
22112
  - secureLinkDays
22056
22113
  - accessDaysAfterDelivery
22114
+ - deliveryBusinessDays
22057
22115
  - maxRepositories
22058
22116
  - maxActiveEngineers
22059
22117
  - dataCoverageRefreshCapDays
@@ -22066,11 +22124,12 @@ components:
22066
22124
  - aiProviders
22067
22125
  - optionalProviders
22068
22126
  - selfManagedGit
22127
+ - rules
22069
22128
  - unresolved
22070
22129
  properties:
22071
22130
  version:
22072
22131
  type: string
22073
- enum: ["2026-10-18.1"]
22132
+ enum: ["2026-10-20.1"]
22074
22133
  periodDays:
22075
22134
  type: integer
22076
22135
  enum: [90]
@@ -22086,6 +22145,9 @@ components:
22086
22145
  accessDaysAfterDelivery:
22087
22146
  type: integer
22088
22147
  enum: [30]
22148
+ deliveryBusinessDays:
22149
+ type: integer
22150
+ enum: [5]
22089
22151
  maxRepositories:
22090
22152
  type: integer
22091
22153
  enum: [50]
@@ -22175,6 +22237,55 @@ components:
22175
22237
  items:
22176
22238
  type: string
22177
22239
  enum: [gitlab_self_managed, bitbucket_data_center]
22240
+ rules:
22241
+ type: object
22242
+ additionalProperties: false
22243
+ required:
22244
+ - windowCoverageRatio
22245
+ - repositoryMergedPullRequestsInBothWindows
22246
+ - freshness
22247
+ - tolerances
22248
+ - outputUnit
22249
+ - rolloutTimezone
22250
+ - rolloutBoundary
22251
+ - costAssessableCurrency
22252
+ properties:
22253
+ windowCoverageRatio:
22254
+ type: number
22255
+ enum: [1]
22256
+ repositoryMergedPullRequestsInBothWindows:
22257
+ type: integer
22258
+ enum: [1]
22259
+ freshness:
22260
+ type: object
22261
+ additionalProperties: false
22262
+ required: [gitHours, jiraHours, incidentHours, aiUsageDays, readinessScanDays]
22263
+ properties:
22264
+ gitHours: { type: integer, enum: [24] }
22265
+ jiraHours: { type: integer, enum: [24] }
22266
+ incidentHours: { type: integer, enum: [24] }
22267
+ aiUsageDays: { type: integer, enum: [7] }
22268
+ readinessScanDays: { type: integer, enum: [30] }
22269
+ tolerances:
22270
+ type: object
22271
+ additionalProperties: false
22272
+ required: [moneyUsd, ratioPercentagePoints, durationSeconds]
22273
+ properties:
22274
+ moneyUsd: { type: number, enum: [0.01] }
22275
+ ratioPercentagePoints: { type: number, enum: [0.01] }
22276
+ durationSeconds: { type: integer, enum: [1] }
22277
+ outputUnit:
22278
+ type: string
22279
+ enum: [normalized_ship_weight]
22280
+ rolloutTimezone:
22281
+ type: string
22282
+ enum: [America/New_York]
22283
+ rolloutBoundary:
22284
+ type: string
22285
+ enum: [midnight]
22286
+ costAssessableCurrency:
22287
+ type: string
22288
+ enum: [USD]
22178
22289
  unresolved:
22179
22290
  type: object
22180
22291
  additionalProperties: false
@@ -22194,17 +22305,66 @@ components:
22194
22305
  premiumPrice:
22195
22306
  $ref: "#/components/schemas/UnsetAssessmentDecisionDto"
22196
22307
  currency:
22197
- $ref: "#/components/schemas/UnsetAssessmentDecisionDto"
22308
+ type: object
22309
+ additionalProperties: false
22310
+ required: [status, code]
22311
+ properties:
22312
+ status: { type: string, enum: [set] }
22313
+ code: { type: string, enum: [USD] }
22198
22314
  creditWindowDays:
22199
- $ref: "#/components/schemas/UnsetAssessmentDecisionDto"
22315
+ type: object
22316
+ additionalProperties: false
22317
+ required: [status, days, eligibleSubscription]
22318
+ properties:
22319
+ status: { type: string, enum: [set] }
22320
+ days: { type: integer, enum: [90] }
22321
+ eligibleSubscription: { type: string, enum: [annual] }
22200
22322
  jiraLinkageMinimum:
22201
- $ref: "#/components/schemas/UnsetAssessmentDecisionDto"
22323
+ type: object
22324
+ additionalProperties: false
22325
+ required: [status, ratio]
22326
+ properties:
22327
+ status: { type: string, enum: [set] }
22328
+ ratio: { type: number, enum: [0.8] }
22202
22329
  confounderRules:
22203
- $ref: "#/components/schemas/UnsetAssessmentDecisionDto"
22330
+ type: object
22331
+ additionalProperties: false
22332
+ required: [status, headcountChangeRatio, repositoryScopeChangeRatio, namedEvents]
22333
+ properties:
22334
+ status: { type: string, enum: [set] }
22335
+ headcountChangeRatio: { type: number, enum: [0.1] }
22336
+ repositoryScopeChangeRatio: { type: number, enum: [0.1] }
22337
+ namedEvents:
22338
+ type: array
22339
+ items:
22340
+ type: string
22341
+ enum: [major_release, migration, acquisition, policy_change]
22204
22342
  activeEngineerRule:
22205
- $ref: "#/components/schemas/UnsetAssessmentDecisionDto"
22343
+ type: object
22344
+ additionalProperties: false
22345
+ required: [status, activity, window, exclude]
22346
+ properties:
22347
+ status: { type: string, enum: [set] }
22348
+ activity: { type: string, enum: [authored_commit_or_merged_pr] }
22349
+ window: { type: string, enum: [measured_period] }
22350
+ exclude:
22351
+ type: array
22352
+ items:
22353
+ type: string
22354
+ enum: [bot, service_account, unmapped, read_only]
22206
22355
  workingDayCalendar:
22207
- $ref: "#/components/schemas/UnsetAssessmentDecisionDto"
22356
+ type: object
22357
+ additionalProperties: false
22358
+ required: [status, timezone, weekdays, holidays]
22359
+ properties:
22360
+ status: { type: string, enum: [set] }
22361
+ timezone: { type: string, enum: [America/New_York] }
22362
+ weekdays:
22363
+ type: array
22364
+ items:
22365
+ type: string
22366
+ enum: [monday, tuesday, wednesday, thursday, friday]
22367
+ holidays: { type: string, enum: [none] }
22208
22368
  countryAllowList:
22209
22369
  $ref: "#/components/schemas/UnsetAssessmentDecisionDto"
22210
22370
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkai/tai-api-contract",
3
- "version": "2.176.0",
3
+ "version": "2.177.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9145,7 +9145,7 @@ export interface components {
9145
9145
  };
9146
9146
  AssessmentDictionaryDto: {
9147
9147
  /** @enum {string} */
9148
- version: "2026-10-18.1";
9148
+ version: "2026-10-20.1";
9149
9149
  /** @enum {integer} */
9150
9150
  periodDays: 90;
9151
9151
  /** @enum {integer} */
@@ -9157,6 +9157,8 @@ export interface components {
9157
9157
  /** @enum {integer} */
9158
9158
  accessDaysAfterDelivery: 30;
9159
9159
  /** @enum {integer} */
9160
+ deliveryBusinessDays: 5;
9161
+ /** @enum {integer} */
9160
9162
  maxRepositories: 50;
9161
9163
  /** @enum {integer} */
9162
9164
  maxActiveEngineers: 500;
@@ -9186,15 +9188,90 @@ export interface components {
9186
9188
  status: "supported";
9187
9189
  providers: ("gitlab_self_managed" | "bitbucket_data_center")[];
9188
9190
  };
9191
+ rules: {
9192
+ /** @enum {number} */
9193
+ windowCoverageRatio: 1;
9194
+ /** @enum {integer} */
9195
+ repositoryMergedPullRequestsInBothWindows: 1;
9196
+ freshness: {
9197
+ /** @enum {integer} */
9198
+ gitHours: 24;
9199
+ /** @enum {integer} */
9200
+ jiraHours: 24;
9201
+ /** @enum {integer} */
9202
+ incidentHours: 24;
9203
+ /** @enum {integer} */
9204
+ aiUsageDays: 7;
9205
+ /** @enum {integer} */
9206
+ readinessScanDays: 30;
9207
+ };
9208
+ tolerances: {
9209
+ /** @enum {number} */
9210
+ moneyUsd: 0.01;
9211
+ /** @enum {number} */
9212
+ ratioPercentagePoints: 0.01;
9213
+ /** @enum {integer} */
9214
+ durationSeconds: 1;
9215
+ };
9216
+ /** @enum {string} */
9217
+ outputUnit: "normalized_ship_weight";
9218
+ /** @enum {string} */
9219
+ rolloutTimezone: "America/New_York";
9220
+ /** @enum {string} */
9221
+ rolloutBoundary: "midnight";
9222
+ /** @enum {string} */
9223
+ costAssessableCurrency: "USD";
9224
+ };
9189
9225
  unresolved: {
9190
9226
  baselinePrice: components["schemas"]["UnsetAssessmentDecisionDto"];
9191
9227
  premiumPrice: components["schemas"]["UnsetAssessmentDecisionDto"];
9192
- currency: components["schemas"]["UnsetAssessmentDecisionDto"];
9193
- creditWindowDays: components["schemas"]["UnsetAssessmentDecisionDto"];
9194
- jiraLinkageMinimum: components["schemas"]["UnsetAssessmentDecisionDto"];
9195
- confounderRules: components["schemas"]["UnsetAssessmentDecisionDto"];
9196
- activeEngineerRule: components["schemas"]["UnsetAssessmentDecisionDto"];
9197
- workingDayCalendar: components["schemas"]["UnsetAssessmentDecisionDto"];
9228
+ currency: {
9229
+ /** @enum {string} */
9230
+ status: "set";
9231
+ /** @enum {string} */
9232
+ code: "USD";
9233
+ };
9234
+ creditWindowDays: {
9235
+ /** @enum {string} */
9236
+ status: "set";
9237
+ /** @enum {integer} */
9238
+ days: 90;
9239
+ /** @enum {string} */
9240
+ eligibleSubscription: "annual";
9241
+ };
9242
+ jiraLinkageMinimum: {
9243
+ /** @enum {string} */
9244
+ status: "set";
9245
+ /** @enum {number} */
9246
+ ratio: 0.8;
9247
+ };
9248
+ confounderRules: {
9249
+ /** @enum {string} */
9250
+ status: "set";
9251
+ /** @enum {number} */
9252
+ headcountChangeRatio: 0.1;
9253
+ /** @enum {number} */
9254
+ repositoryScopeChangeRatio: 0.1;
9255
+ namedEvents: ("major_release" | "migration" | "acquisition" | "policy_change")[];
9256
+ };
9257
+ activeEngineerRule: {
9258
+ /** @enum {string} */
9259
+ status: "set";
9260
+ /** @enum {string} */
9261
+ activity: "authored_commit_or_merged_pr";
9262
+ /** @enum {string} */
9263
+ window: "measured_period";
9264
+ exclude: ("bot" | "service_account" | "unmapped" | "read_only")[];
9265
+ };
9266
+ workingDayCalendar: {
9267
+ /** @enum {string} */
9268
+ status: "set";
9269
+ /** @enum {string} */
9270
+ timezone: "America/New_York";
9271
+ weekdays: ("monday" | "tuesday" | "wednesday" | "thursday" | "friday")[];
9272
+ /** @enum {string} */
9273
+ holidays: "none";
9274
+ };
9198
9275
  countryAllowList: components["schemas"]["UnsetAssessmentDecisionDto"];
9199
9276
  };
9200
9277
  };
@@ -12649,11 +12726,44 @@ export interface operations {
12649
12726
  shareMode: "internal" | "external";
12650
12727
  /** @enum {string|null} */
12651
12728
  watermark: "NOT VALIDATED" | "SAMPLE · SYNTHETIC DATA" | null;
12652
- scope: Record<string, never>;
12653
- windows: Record<string, never>;
12654
- sources: Record<string, never>[];
12655
- consent: Record<string, never>;
12656
- sections: Record<string, never>[];
12729
+ scope: {
12730
+ repositories: {
12731
+ id: string;
12732
+ name: string;
12733
+ }[];
12734
+ excluded: {
12735
+ id: string;
12736
+ name: string;
12737
+ reason: string;
12738
+ }[];
12739
+ };
12740
+ windows: {
12741
+ pre: {
12742
+ start: string;
12743
+ end: string;
12744
+ } | null;
12745
+ post: {
12746
+ start: string;
12747
+ end: string;
12748
+ } | null;
12749
+ transitionDays: number;
12750
+ };
12751
+ sources: {
12752
+ provider: string;
12753
+ status: string;
12754
+ freshAt: string | null;
12755
+ }[];
12756
+ consent: {
12757
+ /** @enum {string} */
12758
+ aggregateUse: "opt_in" | "opt_out" | "unset";
12759
+ recordedAt: string | null;
12760
+ };
12761
+ sections: {
12762
+ id: string;
12763
+ /** @enum {string} */
12764
+ status: "ok" | "failed" | "omitted";
12765
+ reason?: string;
12766
+ }[];
12657
12767
  };
12658
12768
  workspaceId: string;
12659
12769
  expectedWorkspaceId: string;