@thinkai/tai-api-contract 2.97.0 → 2.99.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.
- package/dist/generated/openapi.d.ts +90 -4
- package/dist/generated/openapi.d.ts.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/journeySteps.test.js +2 -1
- package/dist/journeySteps.test.js.map +1 -1
- package/openapi/openapi.yaml +267 -57
- package/package.json +3 -3
- package/src/generated/openapi.ts +90 -4
- package/src/index.ts +10 -6
- package/src/journeySteps.test.ts +4 -1
package/openapi/openapi.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
openapi: 3.0.3
|
|
2
2
|
info:
|
|
3
3
|
title: ThinkAI API
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.99.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}/...`.
|
|
@@ -3539,6 +3539,53 @@ paths:
|
|
|
3539
3539
|
application/json:
|
|
3540
3540
|
schema:
|
|
3541
3541
|
$ref: "#/components/schemas/ErrorMessageDto"
|
|
3542
|
+
post:
|
|
3543
|
+
tags: [CodeInsights]
|
|
3544
|
+
summary: Code Insights — enqueue Design risks analysis
|
|
3545
|
+
operationId: postCodeInsightsDesignAnalyze
|
|
3546
|
+
description: >
|
|
3547
|
+
Enqueues an on-demand Design risks run (`run_kind=code_insights_design`) for the
|
|
3548
|
+
repository. Reuses the readiness worker queue but never grades the readiness rubric.
|
|
3549
|
+
Editor/admin only. Returns `409` when a design run is already queued or running for
|
|
3550
|
+
the same provider slug (independent of readiness runs).
|
|
3551
|
+
parameters:
|
|
3552
|
+
- $ref: "#/components/parameters/WorkspaceId"
|
|
3553
|
+
- name: repoId
|
|
3554
|
+
in: path
|
|
3555
|
+
required: true
|
|
3556
|
+
description: Internal repo UUID (`tai_workspace_repos.id`).
|
|
3557
|
+
schema:
|
|
3558
|
+
type: string
|
|
3559
|
+
format: uuid
|
|
3560
|
+
responses:
|
|
3561
|
+
"202":
|
|
3562
|
+
description: Design risks analysis enqueued
|
|
3563
|
+
content:
|
|
3564
|
+
application/json:
|
|
3565
|
+
schema:
|
|
3566
|
+
$ref: "#/components/schemas/CodeInsightsDesignAnalyzeResponseDto"
|
|
3567
|
+
"400":
|
|
3568
|
+
description: Malformed repoId, unsupported provider, or GitHub not connected
|
|
3569
|
+
content:
|
|
3570
|
+
application/json:
|
|
3571
|
+
schema:
|
|
3572
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
3573
|
+
"401":
|
|
3574
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3575
|
+
"403":
|
|
3576
|
+
$ref: "#/components/responses/Forbidden"
|
|
3577
|
+
"404":
|
|
3578
|
+
description: Workspace or repo does not exist
|
|
3579
|
+
content:
|
|
3580
|
+
application/json:
|
|
3581
|
+
schema:
|
|
3582
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
3583
|
+
"409":
|
|
3584
|
+
description: An active Design risks run already exists for this repo slug
|
|
3585
|
+
content:
|
|
3586
|
+
application/json:
|
|
3587
|
+
schema:
|
|
3588
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
3542
3589
|
|
|
3543
3590
|
/workspaces/{workspaceId}/integrations/ai-tool/{provider}/members:
|
|
3544
3591
|
get:
|
|
@@ -7234,7 +7281,6 @@ paths:
|
|
|
7234
7281
|
"401":
|
|
7235
7282
|
$ref: "#/components/responses/Unauthorized"
|
|
7236
7283
|
|
|
7237
|
-
|
|
7238
7284
|
/workspaces/{workspaceId}/code-chat/indexes:
|
|
7239
7285
|
get:
|
|
7240
7286
|
tags: [CodeChat]
|
|
@@ -8886,7 +8932,7 @@ components:
|
|
|
8886
8932
|
type: string
|
|
8887
8933
|
minLength: 1
|
|
8888
8934
|
maxLength: 512
|
|
8889
|
-
pattern:
|
|
8935
|
+
pattern: "^[^/]+/[^/]+$"
|
|
8890
8936
|
example: thinkai-llc/thinkai-platform-backend
|
|
8891
8937
|
ProjectId:
|
|
8892
8938
|
name: projectId
|
|
@@ -9281,8 +9327,7 @@ components:
|
|
|
9281
9327
|
WorkspaceInvitationDto:
|
|
9282
9328
|
type: object
|
|
9283
9329
|
description: Workspace invitation as seen by an authenticated admin or invitee.
|
|
9284
|
-
required:
|
|
9285
|
-
[id, workspaceId, workspaceName, email, role, status, expiresAt, createdAt]
|
|
9330
|
+
required: [id, workspaceId, workspaceName, email, role, status, expiresAt, createdAt]
|
|
9286
9331
|
properties:
|
|
9287
9332
|
id:
|
|
9288
9333
|
type: string
|
|
@@ -10453,7 +10498,17 @@ components:
|
|
|
10453
10498
|
properties:
|
|
10454
10499
|
deliveryModel:
|
|
10455
10500
|
type: string
|
|
10456
|
-
enum:
|
|
10501
|
+
enum:
|
|
10502
|
+
[
|
|
10503
|
+
auto,
|
|
10504
|
+
k8s_microservices,
|
|
10505
|
+
mobile_store,
|
|
10506
|
+
web_hosting,
|
|
10507
|
+
data_pipelines,
|
|
10508
|
+
monorepo,
|
|
10509
|
+
library,
|
|
10510
|
+
hybrid,
|
|
10511
|
+
]
|
|
10457
10512
|
roles:
|
|
10458
10513
|
type: object
|
|
10459
10514
|
additionalProperties:
|
|
@@ -10468,7 +10523,17 @@ components:
|
|
|
10468
10523
|
properties:
|
|
10469
10524
|
deliveryModel:
|
|
10470
10525
|
type: string
|
|
10471
|
-
enum:
|
|
10526
|
+
enum:
|
|
10527
|
+
[
|
|
10528
|
+
auto,
|
|
10529
|
+
k8s_microservices,
|
|
10530
|
+
mobile_store,
|
|
10531
|
+
web_hosting,
|
|
10532
|
+
data_pipelines,
|
|
10533
|
+
monorepo,
|
|
10534
|
+
library,
|
|
10535
|
+
hybrid,
|
|
10536
|
+
]
|
|
10472
10537
|
ciProvider:
|
|
10473
10538
|
type: string
|
|
10474
10539
|
enum: [github_actions, jenkins, gitlab, bitbucket, hybrid, external_documented]
|
|
@@ -11026,8 +11091,7 @@ components:
|
|
|
11026
11091
|
ProductivityInsightsTeamLeaderItemDto:
|
|
11027
11092
|
type: object
|
|
11028
11093
|
additionalProperties: false
|
|
11029
|
-
required:
|
|
11030
|
-
[rank, teamId, teamName, periodAvgMergedPrs]
|
|
11094
|
+
required: [rank, teamId, teamName, periodAvgMergedPrs]
|
|
11031
11095
|
properties:
|
|
11032
11096
|
rank:
|
|
11033
11097
|
type: integer
|
|
@@ -11205,8 +11269,7 @@ components:
|
|
|
11205
11269
|
ProductivityInsightsContributorActivityDayDto:
|
|
11206
11270
|
type: object
|
|
11207
11271
|
additionalProperties: false
|
|
11208
|
-
required:
|
|
11209
|
-
[date, dayIndex, mergedPrCount, mergedPrs, absent, failureSignal, failures]
|
|
11272
|
+
required: [date, dayIndex, mergedPrCount, mergedPrs, absent, failureSignal, failures]
|
|
11210
11273
|
properties:
|
|
11211
11274
|
date:
|
|
11212
11275
|
type: string
|
|
@@ -11247,7 +11310,10 @@ components:
|
|
|
11247
11310
|
$ref: "#/components/schemas/ProductivityInsightsContributorFailureItemDto"
|
|
11248
11311
|
mergedPrItems:
|
|
11249
11312
|
type: array
|
|
11250
|
-
description:
|
|
11313
|
+
description: >
|
|
11314
|
+
Optional merged PR rows for day drilldown (label, optional GitHub URL, optional
|
|
11315
|
+
ship-weight score / pending flag). Includes label-only rows so unscored or
|
|
11316
|
+
URL-less merges still surface ship-weight state.
|
|
11251
11317
|
items:
|
|
11252
11318
|
$ref: "#/components/schemas/ProductivityInsightsContributorMergedPrItemDto"
|
|
11253
11319
|
|
|
@@ -11261,6 +11327,12 @@ components:
|
|
|
11261
11327
|
url:
|
|
11262
11328
|
type: string
|
|
11263
11329
|
format: uri
|
|
11330
|
+
shipWeight:
|
|
11331
|
+
type: number
|
|
11332
|
+
description: v13 ship-weight score for this PR when scored (typically 0–10).
|
|
11333
|
+
shipWeightPending:
|
|
11334
|
+
type: boolean
|
|
11335
|
+
description: True when this GitHub PR is still awaiting ship-weight scoring.
|
|
11264
11336
|
|
|
11265
11337
|
ProductivityInsightsContributorFailureItemDto:
|
|
11266
11338
|
type: object
|
|
@@ -11418,8 +11490,7 @@ components:
|
|
|
11418
11490
|
ProductivityInsightsNeedsAttentionItemDto:
|
|
11419
11491
|
type: object
|
|
11420
11492
|
additionalProperties: false
|
|
11421
|
-
required:
|
|
11422
|
-
[rank, entityId, entityType, name, periodAvgMergedPrs]
|
|
11493
|
+
required: [rank, entityId, entityType, name, periodAvgMergedPrs]
|
|
11423
11494
|
properties:
|
|
11424
11495
|
rank:
|
|
11425
11496
|
type: integer
|
|
@@ -11575,8 +11646,7 @@ components:
|
|
|
11575
11646
|
AiUsageSpendAggregatedTeamsSummaryDto:
|
|
11576
11647
|
type: object
|
|
11577
11648
|
additionalProperties: false
|
|
11578
|
-
required:
|
|
11579
|
-
[totalTokenCount, totalSpendCents, activeUsers, activeTools, totalEngineers]
|
|
11649
|
+
required: [totalTokenCount, totalSpendCents, activeUsers, activeTools, totalEngineers]
|
|
11580
11650
|
properties:
|
|
11581
11651
|
totalTokenCount:
|
|
11582
11652
|
type: integer
|
|
@@ -11787,8 +11857,7 @@ components:
|
|
|
11787
11857
|
AiUsageSpendAiAssistedCodeDayDto:
|
|
11788
11858
|
type: object
|
|
11789
11859
|
additionalProperties: false
|
|
11790
|
-
required:
|
|
11791
|
-
[date, aiAssistedCodePercent, totalLoc, aiLoc, humanLoc, dataQuality]
|
|
11860
|
+
required: [date, aiAssistedCodePercent, totalLoc, aiLoc, humanLoc, dataQuality]
|
|
11792
11861
|
properties:
|
|
11793
11862
|
date:
|
|
11794
11863
|
type: string
|
|
@@ -11823,15 +11892,7 @@ components:
|
|
|
11823
11892
|
type: object
|
|
11824
11893
|
additionalProperties: false
|
|
11825
11894
|
required:
|
|
11826
|
-
[
|
|
11827
|
-
bucketStart,
|
|
11828
|
-
bucketEnd,
|
|
11829
|
-
aiAssistedCodePercent,
|
|
11830
|
-
totalLoc,
|
|
11831
|
-
aiLoc,
|
|
11832
|
-
humanLoc,
|
|
11833
|
-
dataQuality,
|
|
11834
|
-
]
|
|
11895
|
+
[bucketStart, bucketEnd, aiAssistedCodePercent, totalLoc, aiLoc, humanLoc, dataQuality]
|
|
11835
11896
|
properties:
|
|
11836
11897
|
bucketStart:
|
|
11837
11898
|
type: string
|
|
@@ -12739,7 +12800,18 @@ components:
|
|
|
12739
12800
|
AiToolMemberDetailDto:
|
|
12740
12801
|
type: object
|
|
12741
12802
|
additionalProperties: false
|
|
12742
|
-
required:
|
|
12803
|
+
required:
|
|
12804
|
+
[
|
|
12805
|
+
externalId,
|
|
12806
|
+
email,
|
|
12807
|
+
isRemoved,
|
|
12808
|
+
spendCents,
|
|
12809
|
+
tokenCount,
|
|
12810
|
+
activeDays,
|
|
12811
|
+
modelBreakdown,
|
|
12812
|
+
productBreakdown,
|
|
12813
|
+
heatmap,
|
|
12814
|
+
]
|
|
12743
12815
|
properties:
|
|
12744
12816
|
externalId:
|
|
12745
12817
|
type: string
|
|
@@ -12947,7 +13019,17 @@ components:
|
|
|
12947
13019
|
PrivacyRequestDto:
|
|
12948
13020
|
type: object
|
|
12949
13021
|
required:
|
|
12950
|
-
[
|
|
13022
|
+
[
|
|
13023
|
+
id,
|
|
13024
|
+
referenceCode,
|
|
13025
|
+
requestType,
|
|
13026
|
+
status,
|
|
13027
|
+
intakeChannel,
|
|
13028
|
+
subjectEmail,
|
|
13029
|
+
createdAt,
|
|
13030
|
+
updatedAt,
|
|
13031
|
+
slaDueAt,
|
|
13032
|
+
]
|
|
12951
13033
|
properties:
|
|
12952
13034
|
id:
|
|
12953
13035
|
type: string
|
|
@@ -13027,7 +13109,15 @@ components:
|
|
|
13027
13109
|
eventType:
|
|
13028
13110
|
type: string
|
|
13029
13111
|
enum:
|
|
13030
|
-
[
|
|
13112
|
+
[
|
|
13113
|
+
submitted,
|
|
13114
|
+
identity_verified,
|
|
13115
|
+
status_changed,
|
|
13116
|
+
assigned,
|
|
13117
|
+
export_generated,
|
|
13118
|
+
fulfillment_noted,
|
|
13119
|
+
duplicate_rejected,
|
|
13120
|
+
]
|
|
13031
13121
|
actorEmail:
|
|
13032
13122
|
type: string
|
|
13033
13123
|
nullable: true
|
|
@@ -13428,7 +13518,8 @@ components:
|
|
|
13428
13518
|
of eligible repos. Lets the UI render per-repo "size / limit" (compare each repo's `size`
|
|
13429
13519
|
in `GithubInstalledRepoDto` to `maxRepoSizeKb`) and workspace "N / cap" usage
|
|
13430
13520
|
(`eligibleRepoCount` / `maxReposPerWorkspace`).
|
|
13431
|
-
required:
|
|
13521
|
+
required:
|
|
13522
|
+
[maxRepoSizeKb, maxReposPerWorkspace, excludeArchived, excludeForks, eligibleRepoCount]
|
|
13432
13523
|
properties:
|
|
13433
13524
|
maxRepoSizeKb:
|
|
13434
13525
|
type: integer
|
|
@@ -14299,8 +14390,7 @@ components:
|
|
|
14299
14390
|
TechStackDto:
|
|
14300
14391
|
type: object
|
|
14301
14392
|
additionalProperties: false
|
|
14302
|
-
required:
|
|
14303
|
-
[sourceControl, cicd, pm, monitoring, aiTools, security, knowledgeDocs, hrPeople]
|
|
14393
|
+
required: [sourceControl, cicd, pm, monitoring, aiTools, security, knowledgeDocs, hrPeople]
|
|
14304
14394
|
properties:
|
|
14305
14395
|
sourceControl:
|
|
14306
14396
|
$ref: "#/components/schemas/TechCategoryDto"
|
|
@@ -14944,7 +15034,14 @@ components:
|
|
|
14944
15034
|
archivedReason:
|
|
14945
15035
|
type: string
|
|
14946
15036
|
nullable: true
|
|
14947
|
-
enum:
|
|
15037
|
+
enum:
|
|
15038
|
+
[
|
|
15039
|
+
github_removed,
|
|
15040
|
+
installation_disconnected,
|
|
15041
|
+
installation_replaced,
|
|
15042
|
+
superseded,
|
|
15043
|
+
user_removed,
|
|
15044
|
+
]
|
|
14948
15045
|
description: Why the repo was archived. `user_removed` means excluded from Agentic Foundation scope only. Only present when `archivedAt` is set.
|
|
14949
15046
|
eligibilityStatus:
|
|
14950
15047
|
type: string
|
|
@@ -15140,7 +15237,14 @@ components:
|
|
|
15140
15237
|
archivedReason:
|
|
15141
15238
|
type: string
|
|
15142
15239
|
nullable: true
|
|
15143
|
-
enum:
|
|
15240
|
+
enum:
|
|
15241
|
+
[
|
|
15242
|
+
github_removed,
|
|
15243
|
+
installation_disconnected,
|
|
15244
|
+
installation_replaced,
|
|
15245
|
+
superseded,
|
|
15246
|
+
user_removed,
|
|
15247
|
+
]
|
|
15144
15248
|
eligibilityStatus:
|
|
15145
15249
|
type: string
|
|
15146
15250
|
enum: [eligible, ineligible]
|
|
@@ -15204,14 +15308,7 @@ components:
|
|
|
15204
15308
|
|
|
15205
15309
|
AgenticFoundationDashboardSummaryDto:
|
|
15206
15310
|
type: object
|
|
15207
|
-
required:
|
|
15208
|
-
[
|
|
15209
|
-
repoCount,
|
|
15210
|
-
averageOverallScore,
|
|
15211
|
-
issueCount,
|
|
15212
|
-
criticalIssueCount,
|
|
15213
|
-
issuesByFixStatus,
|
|
15214
|
-
]
|
|
15311
|
+
required: [repoCount, averageOverallScore, issueCount, criticalIssueCount, issuesByFixStatus]
|
|
15215
15312
|
properties:
|
|
15216
15313
|
repoCount:
|
|
15217
15314
|
type: integer
|
|
@@ -15345,8 +15442,7 @@ components:
|
|
|
15345
15442
|
|
|
15346
15443
|
ReadinessAuditEntryDto:
|
|
15347
15444
|
type: object
|
|
15348
|
-
required:
|
|
15349
|
-
[id, occurredAt, eventType, actionLabel, actorName]
|
|
15445
|
+
required: [id, occurredAt, eventType, actionLabel, actorName]
|
|
15350
15446
|
properties:
|
|
15351
15447
|
id:
|
|
15352
15448
|
type: string
|
|
@@ -15575,8 +15671,7 @@ components:
|
|
|
15575
15671
|
|
|
15576
15672
|
ReadinessFixGuideDto:
|
|
15577
15673
|
type: object
|
|
15578
|
-
required:
|
|
15579
|
-
[issueId, repoId, rubricId, sourceRunId, status, markdown, criterionTitle]
|
|
15674
|
+
required: [issueId, repoId, rubricId, sourceRunId, status, markdown, criterionTitle]
|
|
15580
15675
|
properties:
|
|
15581
15676
|
issueId:
|
|
15582
15677
|
type: string
|
|
@@ -16182,7 +16277,8 @@ components:
|
|
|
16182
16277
|
|
|
16183
16278
|
YourAiJourneyPrSignalsWeekDto:
|
|
16184
16279
|
type: object
|
|
16185
|
-
required:
|
|
16280
|
+
required:
|
|
16281
|
+
[bucketStart, bucketEnd, weekLabel, prsPerDeveloperPerWeek, changeFailureRatePercent]
|
|
16186
16282
|
properties:
|
|
16187
16283
|
bucketStart:
|
|
16188
16284
|
type: string
|
|
@@ -16377,7 +16473,21 @@ components:
|
|
|
16377
16473
|
|
|
16378
16474
|
YourAiJourneyAiSpendDto:
|
|
16379
16475
|
type: object
|
|
16380
|
-
required:
|
|
16476
|
+
required:
|
|
16477
|
+
[
|
|
16478
|
+
workspaceId,
|
|
16479
|
+
generatedAt,
|
|
16480
|
+
windowStart,
|
|
16481
|
+
windowEnd,
|
|
16482
|
+
totalSpendCents,
|
|
16483
|
+
totalTokenCount,
|
|
16484
|
+
activeUsers,
|
|
16485
|
+
aiAssistedPrRatio,
|
|
16486
|
+
prThroughputDeltaPercent,
|
|
16487
|
+
usageDeltaPercent,
|
|
16488
|
+
weeks,
|
|
16489
|
+
providers,
|
|
16490
|
+
]
|
|
16381
16491
|
properties:
|
|
16382
16492
|
workspaceId:
|
|
16383
16493
|
type: string
|
|
@@ -16545,6 +16655,7 @@ components:
|
|
|
16545
16655
|
- readiness.scan_completed
|
|
16546
16656
|
- readiness.scan_failed
|
|
16547
16657
|
- readiness.scan_partial
|
|
16658
|
+
- code_insights.design_run_started
|
|
16548
16659
|
- integrations.agent_execution.provider_changed
|
|
16549
16660
|
- integrations.repo_eligibility.overrides_changed
|
|
16550
16661
|
- integrations.repo_eligibility.languages_refresh_requested
|
|
@@ -16686,7 +16797,8 @@ components:
|
|
|
16686
16797
|
|
|
16687
16798
|
WorkspaceAbsenceDto:
|
|
16688
16799
|
type: object
|
|
16689
|
-
required:
|
|
16800
|
+
required:
|
|
16801
|
+
[source, employeeEmail, absenceType, startDate, endDate, halfDayStart, halfDayEnd, status]
|
|
16690
16802
|
properties:
|
|
16691
16803
|
source:
|
|
16692
16804
|
type: string
|
|
@@ -17354,8 +17466,15 @@ components:
|
|
|
17354
17466
|
properties:
|
|
17355
17467
|
weekStartIso: { type: string, format: date }
|
|
17356
17468
|
mergedPrs: { type: number }
|
|
17469
|
+
shipWeightSum:
|
|
17470
|
+
type: number
|
|
17471
|
+
description: Sum of ship-weight scores for merged PRs in this week bucket.
|
|
17357
17472
|
ciFailRatePct: { type: number }
|
|
17358
|
-
hasCiMetrics:
|
|
17473
|
+
hasCiMetrics:
|
|
17474
|
+
{
|
|
17475
|
+
type: boolean,
|
|
17476
|
+
description: False when CI metrics were not available for this week bucket.,
|
|
17477
|
+
}
|
|
17359
17478
|
|
|
17360
17479
|
InsightsRecommendationsVelocityQuality:
|
|
17361
17480
|
type: object
|
|
@@ -17367,6 +17486,9 @@ components:
|
|
|
17367
17486
|
$ref: "#/components/schemas/InsightsVelocityQualityWeek"
|
|
17368
17487
|
targetFailRatePct: { type: number }
|
|
17369
17488
|
volumeGrowthPct: { type: number }
|
|
17489
|
+
shipWeightVolumeGrowthPct:
|
|
17490
|
+
type: number
|
|
17491
|
+
description: Ship-weight volume growth vs the prior equal-length window.
|
|
17370
17492
|
|
|
17371
17493
|
InsightsRecommendationsVelocityQualityResponse:
|
|
17372
17494
|
allOf:
|
|
@@ -17655,7 +17777,19 @@ components:
|
|
|
17655
17777
|
|
|
17656
17778
|
CodeChatIndexDto:
|
|
17657
17779
|
type: object
|
|
17658
|
-
required:
|
|
17780
|
+
required:
|
|
17781
|
+
[
|
|
17782
|
+
id,
|
|
17783
|
+
workspaceId,
|
|
17784
|
+
repoId,
|
|
17785
|
+
providerSlug,
|
|
17786
|
+
repoName,
|
|
17787
|
+
status,
|
|
17788
|
+
nodeCount,
|
|
17789
|
+
edgeCount,
|
|
17790
|
+
createdAt,
|
|
17791
|
+
updatedAt,
|
|
17792
|
+
]
|
|
17659
17793
|
properties:
|
|
17660
17794
|
id: { type: string, format: uuid }
|
|
17661
17795
|
workspaceId: { type: string, format: uuid }
|
|
@@ -17882,7 +18016,19 @@ components:
|
|
|
17882
18016
|
|
|
17883
18017
|
CodeChatWikiPageDto:
|
|
17884
18018
|
type: object
|
|
17885
|
-
required:
|
|
18019
|
+
required:
|
|
18020
|
+
[
|
|
18021
|
+
id,
|
|
18022
|
+
indexId,
|
|
18023
|
+
workspaceId,
|
|
18024
|
+
slug,
|
|
18025
|
+
title,
|
|
18026
|
+
bodyMd,
|
|
18027
|
+
sortOrder,
|
|
18028
|
+
sourcePaths,
|
|
18029
|
+
createdAt,
|
|
18030
|
+
updatedAt,
|
|
18031
|
+
]
|
|
17886
18032
|
properties:
|
|
17887
18033
|
id: { type: string, format: uuid }
|
|
17888
18034
|
indexId: { type: string, format: uuid }
|
|
@@ -18281,7 +18427,19 @@ components:
|
|
|
18281
18427
|
|
|
18282
18428
|
CodeInsightsFindingCategory:
|
|
18283
18429
|
type: string
|
|
18284
|
-
enum:
|
|
18430
|
+
enum:
|
|
18431
|
+
[
|
|
18432
|
+
duplication,
|
|
18433
|
+
complexity,
|
|
18434
|
+
proliferation,
|
|
18435
|
+
coverage,
|
|
18436
|
+
anemic_domain,
|
|
18437
|
+
context_leak,
|
|
18438
|
+
tx_boundary,
|
|
18439
|
+
error_handling,
|
|
18440
|
+
config_cohesion,
|
|
18441
|
+
resilience_patterns,
|
|
18442
|
+
]
|
|
18285
18443
|
description: >
|
|
18286
18444
|
Deterministic categories (`duplication`, `complexity`, `proliferation`,
|
|
18287
18445
|
`coverage`) plus LLM semantic detectors (`anemic_domain`, `context_leak`,
|
|
@@ -18439,7 +18597,8 @@ components:
|
|
|
18439
18597
|
|
|
18440
18598
|
CodeInsightsRepoListItemDto:
|
|
18441
18599
|
type: object
|
|
18442
|
-
required:
|
|
18600
|
+
required:
|
|
18601
|
+
[repoId, repoName, language, providerSlug, webUrl, badges, findingsBySeverity, provenance]
|
|
18443
18602
|
properties:
|
|
18444
18603
|
repoId:
|
|
18445
18604
|
type: string
|
|
@@ -18504,7 +18663,18 @@ components:
|
|
|
18504
18663
|
|
|
18505
18664
|
CodeInsightsRepoDetailDto:
|
|
18506
18665
|
type: object
|
|
18507
|
-
required:
|
|
18666
|
+
required:
|
|
18667
|
+
[
|
|
18668
|
+
repoId,
|
|
18669
|
+
repoName,
|
|
18670
|
+
language,
|
|
18671
|
+
providerSlug,
|
|
18672
|
+
webUrl,
|
|
18673
|
+
metrics,
|
|
18674
|
+
hotspots,
|
|
18675
|
+
findings,
|
|
18676
|
+
designAnalysis,
|
|
18677
|
+
]
|
|
18508
18678
|
properties:
|
|
18509
18679
|
repoId:
|
|
18510
18680
|
type: string
|
|
@@ -18530,7 +18700,47 @@ components:
|
|
|
18530
18700
|
type: array
|
|
18531
18701
|
items:
|
|
18532
18702
|
$ref: "#/components/schemas/CodeInsightsFindingDto"
|
|
18533
|
-
description:
|
|
18703
|
+
description: >
|
|
18704
|
+
Deterministic findings from the latest metrics scan plus LLM findings from the
|
|
18705
|
+
latest **succeeded** Design risks run only. Stale LLM rows from older design runs
|
|
18706
|
+
are not returned.
|
|
18707
|
+
designAnalysis:
|
|
18708
|
+
allOf:
|
|
18709
|
+
- $ref: "#/components/schemas/CodeInsightsDesignAnalysisDto"
|
|
18710
|
+
nullable: true
|
|
18711
|
+
description: >
|
|
18712
|
+
Latest Design risks run of any status (for UI polling). Null when Design risks
|
|
18713
|
+
has never been enqueued for this repo.
|
|
18714
|
+
|
|
18715
|
+
CodeInsightsDesignAnalysisDto:
|
|
18716
|
+
type: object
|
|
18717
|
+
required: [runId, status, finishedAt, errorCode, errorDetail]
|
|
18718
|
+
properties:
|
|
18719
|
+
runId:
|
|
18720
|
+
type: string
|
|
18721
|
+
format: uuid
|
|
18722
|
+
status:
|
|
18723
|
+
type: string
|
|
18724
|
+
enum: [queued, running, succeeded, failed, partial_failed]
|
|
18725
|
+
finishedAt:
|
|
18726
|
+
type: string
|
|
18727
|
+
format: date-time
|
|
18728
|
+
nullable: true
|
|
18729
|
+
errorCode:
|
|
18730
|
+
type: string
|
|
18731
|
+
nullable: true
|
|
18732
|
+
errorDetail:
|
|
18733
|
+
type: string
|
|
18734
|
+
nullable: true
|
|
18735
|
+
|
|
18736
|
+
CodeInsightsDesignAnalyzeResponseDto:
|
|
18737
|
+
type: object
|
|
18738
|
+
required: [runId]
|
|
18739
|
+
properties:
|
|
18740
|
+
runId:
|
|
18741
|
+
type: string
|
|
18742
|
+
format: uuid
|
|
18743
|
+
description: Enqueued Design risks run id (`tai_workspace_readiness_runs.id`).
|
|
18534
18744
|
|
|
18535
18745
|
CodeInsightsOrgHotspotDto:
|
|
18536
18746
|
allOf:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thinkai/tai-api-contract",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.99.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@stoplight/spectral-cli": "^6.16.
|
|
24
|
-
"@types/node": "^26.
|
|
23
|
+
"@stoplight/spectral-cli": "^6.16.3",
|
|
24
|
+
"@types/node": "^26.2.0",
|
|
25
25
|
"jsonpath-plus": "^10.3.0",
|
|
26
26
|
"openapi-typescript": "^7.13.0",
|
|
27
27
|
"typescript": "~6.0.3"
|