@thinkai/tai-api-contract 2.6.0 → 2.7.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 +384 -42
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +434 -88
- package/package.json +1 -1
- package/src/generated/openapi.ts +384 -42
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.7.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}/...`.
|
|
@@ -1505,6 +1505,10 @@ paths:
|
|
|
1505
1505
|
schema:
|
|
1506
1506
|
type: boolean
|
|
1507
1507
|
default: false
|
|
1508
|
+
- $ref: "#/components/parameters/GithubRepoLimit"
|
|
1509
|
+
- $ref: "#/components/parameters/GithubRepoOffset"
|
|
1510
|
+
- $ref: "#/components/parameters/GithubRepoSort"
|
|
1511
|
+
- $ref: "#/components/parameters/GithubRepoOrder"
|
|
1508
1512
|
responses:
|
|
1509
1513
|
"200":
|
|
1510
1514
|
description: Installation status
|
|
@@ -2122,19 +2126,33 @@ paths:
|
|
|
2122
2126
|
/workspaces/{workspaceId}/readiness/repos:
|
|
2123
2127
|
get:
|
|
2124
2128
|
tags: [RepositoryReadiness]
|
|
2125
|
-
summary: List repo readiness scores
|
|
2129
|
+
summary: List repo readiness scores (paginated)
|
|
2126
2130
|
operationId: listReadinessRepos
|
|
2131
|
+
description: >
|
|
2132
|
+
Returns a page of repository readiness scorecards. Use `GET .../readiness/repos/{repoId}`
|
|
2133
|
+
for a single repo. Summary aggregates on the Agentic Foundation dashboard use separate
|
|
2134
|
+
aggregate queries over the full workspace (#403).
|
|
2127
2135
|
parameters:
|
|
2128
2136
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2137
|
+
- $ref: "#/components/parameters/PaginationLimit"
|
|
2138
|
+
- $ref: "#/components/parameters/PaginationOffset"
|
|
2139
|
+
- $ref: "#/components/parameters/ReadinessRepoSort"
|
|
2140
|
+
- $ref: "#/components/parameters/PaginationOrder"
|
|
2141
|
+
- $ref: "#/components/parameters/ReadinessRepoSearch"
|
|
2142
|
+
- $ref: "#/components/parameters/ReadinessRepoLanguage"
|
|
2129
2143
|
responses:
|
|
2130
2144
|
"200":
|
|
2131
|
-
description:
|
|
2145
|
+
description: Paginated repositories analyzed
|
|
2132
2146
|
content:
|
|
2133
2147
|
application/json:
|
|
2134
2148
|
schema:
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2149
|
+
$ref: "#/components/schemas/ReadinessRepoListDto"
|
|
2150
|
+
"400":
|
|
2151
|
+
description: Invalid pagination or sort query
|
|
2152
|
+
content:
|
|
2153
|
+
application/json:
|
|
2154
|
+
schema:
|
|
2155
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2138
2156
|
"401":
|
|
2139
2157
|
$ref: "#/components/responses/Unauthorized"
|
|
2140
2158
|
"403":
|
|
@@ -2269,18 +2287,19 @@ paths:
|
|
|
2269
2287
|
/workspaces/{workspaceId}/agentic-foundation/dashboard:
|
|
2270
2288
|
get:
|
|
2271
2289
|
tags: [AgenticFoundation]
|
|
2272
|
-
summary: Agentic Foundation dashboard
|
|
2290
|
+
summary: Agentic Foundation dashboard summary
|
|
2273
2291
|
description: >
|
|
2274
|
-
Returns
|
|
2275
|
-
Agentic Foundation dashboard surfaces.
|
|
2276
|
-
|
|
2277
|
-
|
|
2292
|
+
Returns workspace-level readiness summary, per-dimension aggregate bars, and fix status
|
|
2293
|
+
counts for Agentic Foundation dashboard surfaces. Repository and issue lists are paginated
|
|
2294
|
+
on `GET .../readiness/repos` and related segment routes (#403). Read-only; does not run
|
|
2295
|
+
scoring on the request path (issue #279). Field `generatedAt` is the server timestamp when
|
|
2296
|
+
this JSON payload was assembled.
|
|
2278
2297
|
operationId: getAgenticFoundationDashboard
|
|
2279
2298
|
parameters:
|
|
2280
2299
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2281
2300
|
responses:
|
|
2282
2301
|
"200":
|
|
2283
|
-
description: Dashboard
|
|
2302
|
+
description: Dashboard summary and aggregates
|
|
2284
2303
|
content:
|
|
2285
2304
|
application/json:
|
|
2286
2305
|
schema:
|
|
@@ -2296,8 +2315,14 @@ paths:
|
|
|
2296
2315
|
averageOverallScore: 0
|
|
2297
2316
|
issueCount: 0
|
|
2298
2317
|
criticalIssueCount: 0
|
|
2299
|
-
|
|
2300
|
-
|
|
2318
|
+
dimensionAggregates: []
|
|
2319
|
+
fixStatusSummary:
|
|
2320
|
+
queued: 0
|
|
2321
|
+
generating: 0
|
|
2322
|
+
prCreated: 0
|
|
2323
|
+
merged: 0
|
|
2324
|
+
failed: 0
|
|
2325
|
+
total: 0
|
|
2301
2326
|
"401":
|
|
2302
2327
|
$ref: "#/components/responses/Unauthorized"
|
|
2303
2328
|
"403":
|
|
@@ -2319,39 +2344,53 @@ paths:
|
|
|
2319
2344
|
operationId: getAgenticFoundationAgenticReadiness
|
|
2320
2345
|
parameters:
|
|
2321
2346
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2347
|
+
- $ref: "#/components/parameters/PaginationLimit"
|
|
2348
|
+
- $ref: "#/components/parameters/PaginationOffset"
|
|
2349
|
+
- $ref: "#/components/parameters/ReadinessRepoSort"
|
|
2350
|
+
- $ref: "#/components/parameters/PaginationOrder"
|
|
2351
|
+
- $ref: "#/components/parameters/ReadinessRepoSearch"
|
|
2352
|
+
- $ref: "#/components/parameters/ReadinessRepoLanguage"
|
|
2322
2353
|
responses:
|
|
2323
2354
|
"200":
|
|
2324
|
-
description:
|
|
2355
|
+
description: Paginated repositories with ai-agent-readiness slice
|
|
2325
2356
|
content:
|
|
2326
2357
|
application/json:
|
|
2327
2358
|
schema:
|
|
2328
|
-
|
|
2329
|
-
items:
|
|
2330
|
-
$ref: "#/components/schemas/RepoReadinessScoreDto"
|
|
2359
|
+
$ref: "#/components/schemas/ReadinessRepoListDto"
|
|
2331
2360
|
examples:
|
|
2332
2361
|
singleRepoSlice:
|
|
2333
2362
|
summary: One repo, single pillar dimension
|
|
2334
2363
|
value:
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2364
|
+
total: 1
|
|
2365
|
+
limit: 25
|
|
2366
|
+
offset: 0
|
|
2367
|
+
items:
|
|
2368
|
+
- repoId: 00000000-0000-0000-0000-000000000002
|
|
2369
|
+
repoName: api-gateway
|
|
2370
|
+
language: typescript
|
|
2371
|
+
overallScore: 67
|
|
2372
|
+
dimensions:
|
|
2373
|
+
- dimensionId: ai-agent-readiness
|
|
2374
|
+
score: 2
|
|
2375
|
+
maxScore: 3
|
|
2376
|
+
issues: []
|
|
2377
|
+
lastAnalyzed: "2026-05-12T12:00:00.000Z"
|
|
2378
|
+
teamId: null
|
|
2379
|
+
provider:
|
|
2380
|
+
kind: github
|
|
2381
|
+
slug: acme/api-gateway
|
|
2382
|
+
webUrl: https://github.com/acme/api-gateway
|
|
2383
|
+
defaultBranch: main
|
|
2384
|
+
externalId: null
|
|
2385
|
+
hostBaseUrl: null
|
|
2386
|
+
analysisStatus: idle
|
|
2387
|
+
activeRunId: null
|
|
2388
|
+
"400":
|
|
2389
|
+
description: Invalid pagination or sort query
|
|
2390
|
+
content:
|
|
2391
|
+
application/json:
|
|
2392
|
+
schema:
|
|
2393
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2355
2394
|
"401":
|
|
2356
2395
|
$ref: "#/components/responses/Unauthorized"
|
|
2357
2396
|
"403":
|
|
@@ -2371,15 +2410,25 @@ paths:
|
|
|
2371
2410
|
operationId: getAgenticFoundationRepositoryHealth
|
|
2372
2411
|
parameters:
|
|
2373
2412
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2413
|
+
- $ref: "#/components/parameters/PaginationLimit"
|
|
2414
|
+
- $ref: "#/components/parameters/PaginationOffset"
|
|
2415
|
+
- $ref: "#/components/parameters/ReadinessRepoSort"
|
|
2416
|
+
- $ref: "#/components/parameters/PaginationOrder"
|
|
2417
|
+
- $ref: "#/components/parameters/ReadinessRepoSearch"
|
|
2418
|
+
- $ref: "#/components/parameters/ReadinessRepoLanguage"
|
|
2374
2419
|
responses:
|
|
2375
2420
|
"200":
|
|
2376
|
-
description:
|
|
2421
|
+
description: Paginated repositories with repo-hygiene slice
|
|
2377
2422
|
content:
|
|
2378
2423
|
application/json:
|
|
2379
2424
|
schema:
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2425
|
+
$ref: "#/components/schemas/ReadinessRepoListDto"
|
|
2426
|
+
"400":
|
|
2427
|
+
description: Invalid pagination or sort query
|
|
2428
|
+
content:
|
|
2429
|
+
application/json:
|
|
2430
|
+
schema:
|
|
2431
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2383
2432
|
"401":
|
|
2384
2433
|
$ref: "#/components/responses/Unauthorized"
|
|
2385
2434
|
"403":
|
|
@@ -2399,15 +2448,25 @@ paths:
|
|
|
2399
2448
|
operationId: getAgenticFoundationCodebaseQuality
|
|
2400
2449
|
parameters:
|
|
2401
2450
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2451
|
+
- $ref: "#/components/parameters/PaginationLimit"
|
|
2452
|
+
- $ref: "#/components/parameters/PaginationOffset"
|
|
2453
|
+
- $ref: "#/components/parameters/ReadinessRepoSort"
|
|
2454
|
+
- $ref: "#/components/parameters/PaginationOrder"
|
|
2455
|
+
- $ref: "#/components/parameters/ReadinessRepoSearch"
|
|
2456
|
+
- $ref: "#/components/parameters/ReadinessRepoLanguage"
|
|
2402
2457
|
responses:
|
|
2403
2458
|
"200":
|
|
2404
|
-
description:
|
|
2459
|
+
description: Paginated repositories with stack-quality slice
|
|
2405
2460
|
content:
|
|
2406
2461
|
application/json:
|
|
2407
2462
|
schema:
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2463
|
+
$ref: "#/components/schemas/ReadinessRepoListDto"
|
|
2464
|
+
"400":
|
|
2465
|
+
description: Invalid pagination or sort query
|
|
2466
|
+
content:
|
|
2467
|
+
application/json:
|
|
2468
|
+
schema:
|
|
2469
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2411
2470
|
"401":
|
|
2412
2471
|
$ref: "#/components/responses/Unauthorized"
|
|
2413
2472
|
"403":
|
|
@@ -2427,15 +2486,25 @@ paths:
|
|
|
2427
2486
|
operationId: getAgenticFoundationTestQa
|
|
2428
2487
|
parameters:
|
|
2429
2488
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2489
|
+
- $ref: "#/components/parameters/PaginationLimit"
|
|
2490
|
+
- $ref: "#/components/parameters/PaginationOffset"
|
|
2491
|
+
- $ref: "#/components/parameters/ReadinessRepoSort"
|
|
2492
|
+
- $ref: "#/components/parameters/PaginationOrder"
|
|
2493
|
+
- $ref: "#/components/parameters/ReadinessRepoSearch"
|
|
2494
|
+
- $ref: "#/components/parameters/ReadinessRepoLanguage"
|
|
2430
2495
|
responses:
|
|
2431
2496
|
"200":
|
|
2432
|
-
description:
|
|
2497
|
+
description: Paginated repositories with tests-qa slice
|
|
2433
2498
|
content:
|
|
2434
2499
|
application/json:
|
|
2435
2500
|
schema:
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2501
|
+
$ref: "#/components/schemas/ReadinessRepoListDto"
|
|
2502
|
+
"400":
|
|
2503
|
+
description: Invalid pagination or sort query
|
|
2504
|
+
content:
|
|
2505
|
+
application/json:
|
|
2506
|
+
schema:
|
|
2507
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2439
2508
|
"401":
|
|
2440
2509
|
$ref: "#/components/responses/Unauthorized"
|
|
2441
2510
|
"403":
|
|
@@ -2455,15 +2524,25 @@ paths:
|
|
|
2455
2524
|
operationId: getAgenticFoundationObservability
|
|
2456
2525
|
parameters:
|
|
2457
2526
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2527
|
+
- $ref: "#/components/parameters/PaginationLimit"
|
|
2528
|
+
- $ref: "#/components/parameters/PaginationOffset"
|
|
2529
|
+
- $ref: "#/components/parameters/ReadinessRepoSort"
|
|
2530
|
+
- $ref: "#/components/parameters/PaginationOrder"
|
|
2531
|
+
- $ref: "#/components/parameters/ReadinessRepoSearch"
|
|
2532
|
+
- $ref: "#/components/parameters/ReadinessRepoLanguage"
|
|
2458
2533
|
responses:
|
|
2459
2534
|
"200":
|
|
2460
|
-
description:
|
|
2535
|
+
description: Paginated repositories with observability slice
|
|
2461
2536
|
content:
|
|
2462
2537
|
application/json:
|
|
2463
2538
|
schema:
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2539
|
+
$ref: "#/components/schemas/ReadinessRepoListDto"
|
|
2540
|
+
"400":
|
|
2541
|
+
description: Invalid pagination or sort query
|
|
2542
|
+
content:
|
|
2543
|
+
application/json:
|
|
2544
|
+
schema:
|
|
2545
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2467
2546
|
"401":
|
|
2468
2547
|
$ref: "#/components/responses/Unauthorized"
|
|
2469
2548
|
"403":
|
|
@@ -2483,15 +2562,25 @@ paths:
|
|
|
2483
2562
|
operationId: getAgenticFoundationApiContract
|
|
2484
2563
|
parameters:
|
|
2485
2564
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2565
|
+
- $ref: "#/components/parameters/PaginationLimit"
|
|
2566
|
+
- $ref: "#/components/parameters/PaginationOffset"
|
|
2567
|
+
- $ref: "#/components/parameters/ReadinessRepoSort"
|
|
2568
|
+
- $ref: "#/components/parameters/PaginationOrder"
|
|
2569
|
+
- $ref: "#/components/parameters/ReadinessRepoSearch"
|
|
2570
|
+
- $ref: "#/components/parameters/ReadinessRepoLanguage"
|
|
2486
2571
|
responses:
|
|
2487
2572
|
"200":
|
|
2488
|
-
description:
|
|
2573
|
+
description: Paginated repositories with api-contracts slice
|
|
2489
2574
|
content:
|
|
2490
2575
|
application/json:
|
|
2491
2576
|
schema:
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2577
|
+
$ref: "#/components/schemas/ReadinessRepoListDto"
|
|
2578
|
+
"400":
|
|
2579
|
+
description: Invalid pagination or sort query
|
|
2580
|
+
content:
|
|
2581
|
+
application/json:
|
|
2582
|
+
schema:
|
|
2583
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2495
2584
|
"401":
|
|
2496
2585
|
$ref: "#/components/responses/Unauthorized"
|
|
2497
2586
|
"403":
|
|
@@ -2511,15 +2600,25 @@ paths:
|
|
|
2511
2600
|
operationId: getAgenticFoundationPlatformGovernance
|
|
2512
2601
|
parameters:
|
|
2513
2602
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2603
|
+
- $ref: "#/components/parameters/PaginationLimit"
|
|
2604
|
+
- $ref: "#/components/parameters/PaginationOffset"
|
|
2605
|
+
- $ref: "#/components/parameters/ReadinessRepoSort"
|
|
2606
|
+
- $ref: "#/components/parameters/PaginationOrder"
|
|
2607
|
+
- $ref: "#/components/parameters/ReadinessRepoSearch"
|
|
2608
|
+
- $ref: "#/components/parameters/ReadinessRepoLanguage"
|
|
2514
2609
|
responses:
|
|
2515
2610
|
"200":
|
|
2516
|
-
description:
|
|
2611
|
+
description: Paginated repositories with platform-governance slice
|
|
2517
2612
|
content:
|
|
2518
2613
|
application/json:
|
|
2519
2614
|
schema:
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2615
|
+
$ref: "#/components/schemas/ReadinessRepoListDto"
|
|
2616
|
+
"400":
|
|
2617
|
+
description: Invalid pagination or sort query
|
|
2618
|
+
content:
|
|
2619
|
+
application/json:
|
|
2620
|
+
schema:
|
|
2621
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2523
2622
|
"401":
|
|
2524
2623
|
$ref: "#/components/responses/Unauthorized"
|
|
2525
2624
|
"403":
|
|
@@ -2539,15 +2638,25 @@ paths:
|
|
|
2539
2638
|
operationId: getAgenticFoundationDeliveryGovernance
|
|
2540
2639
|
parameters:
|
|
2541
2640
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2641
|
+
- $ref: "#/components/parameters/PaginationLimit"
|
|
2642
|
+
- $ref: "#/components/parameters/PaginationOffset"
|
|
2643
|
+
- $ref: "#/components/parameters/ReadinessRepoSort"
|
|
2644
|
+
- $ref: "#/components/parameters/PaginationOrder"
|
|
2645
|
+
- $ref: "#/components/parameters/ReadinessRepoSearch"
|
|
2646
|
+
- $ref: "#/components/parameters/ReadinessRepoLanguage"
|
|
2542
2647
|
responses:
|
|
2543
2648
|
"200":
|
|
2544
|
-
description:
|
|
2649
|
+
description: Paginated repositories with delivery slice
|
|
2545
2650
|
content:
|
|
2546
2651
|
application/json:
|
|
2547
2652
|
schema:
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2653
|
+
$ref: "#/components/schemas/ReadinessRepoListDto"
|
|
2654
|
+
"400":
|
|
2655
|
+
description: Invalid pagination or sort query
|
|
2656
|
+
content:
|
|
2657
|
+
application/json:
|
|
2658
|
+
schema:
|
|
2659
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2551
2660
|
"401":
|
|
2552
2661
|
$ref: "#/components/responses/Unauthorized"
|
|
2553
2662
|
"403":
|
|
@@ -2569,15 +2678,25 @@ paths:
|
|
|
2569
2678
|
operationId: getAgenticFoundationAiResolutionHub
|
|
2570
2679
|
parameters:
|
|
2571
2680
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2681
|
+
- $ref: "#/components/parameters/PaginationLimit"
|
|
2682
|
+
- $ref: "#/components/parameters/PaginationOffset"
|
|
2683
|
+
- $ref: "#/components/parameters/ReadinessRepoSort"
|
|
2684
|
+
- $ref: "#/components/parameters/PaginationOrder"
|
|
2685
|
+
- $ref: "#/components/parameters/ReadinessRepoSearch"
|
|
2686
|
+
- $ref: "#/components/parameters/ReadinessRepoLanguage"
|
|
2572
2687
|
responses:
|
|
2573
2688
|
"200":
|
|
2574
2689
|
description: Full repository readiness scorecards
|
|
2575
2690
|
content:
|
|
2576
2691
|
application/json:
|
|
2577
2692
|
schema:
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2693
|
+
$ref: "#/components/schemas/ReadinessRepoListDto"
|
|
2694
|
+
"400":
|
|
2695
|
+
description: Invalid pagination or sort query
|
|
2696
|
+
content:
|
|
2697
|
+
application/json:
|
|
2698
|
+
schema:
|
|
2699
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2581
2700
|
"401":
|
|
2582
2701
|
$ref: "#/components/responses/Unauthorized"
|
|
2583
2702
|
"403":
|
|
@@ -2622,21 +2741,32 @@ paths:
|
|
|
2622
2741
|
/workspaces/{workspaceId}/readiness/fixes:
|
|
2623
2742
|
get:
|
|
2624
2743
|
tags: [RepositoryReadiness]
|
|
2625
|
-
summary: List fix requests
|
|
2744
|
+
summary: List fix requests (paginated)
|
|
2626
2745
|
description: >
|
|
2627
|
-
Returns persisted fix-queue rows for the workspace (newest first).
|
|
2746
|
+
Returns a page of persisted fix-queue rows for the workspace (default newest first).
|
|
2628
2747
|
operationId: listReadinessFixes
|
|
2629
2748
|
parameters:
|
|
2630
2749
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
2750
|
+
- $ref: "#/components/parameters/PaginationLimit"
|
|
2751
|
+
- $ref: "#/components/parameters/PaginationOffset"
|
|
2752
|
+
- $ref: "#/components/parameters/ReadinessFixSort"
|
|
2753
|
+
- $ref: "#/components/parameters/PaginationOrder"
|
|
2754
|
+
- $ref: "#/components/parameters/ReadinessFixSearch"
|
|
2755
|
+
- $ref: "#/components/parameters/ReadinessFixStatusFilter"
|
|
2756
|
+
- $ref: "#/components/parameters/ReadinessFixRepoIdFilter"
|
|
2631
2757
|
responses:
|
|
2632
2758
|
"200":
|
|
2633
|
-
description:
|
|
2759
|
+
description: Paginated fix queue
|
|
2634
2760
|
content:
|
|
2635
2761
|
application/json:
|
|
2636
2762
|
schema:
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2763
|
+
$ref: "#/components/schemas/ReadinessFixListDto"
|
|
2764
|
+
"400":
|
|
2765
|
+
description: Invalid pagination or sort query
|
|
2766
|
+
content:
|
|
2767
|
+
application/json:
|
|
2768
|
+
schema:
|
|
2769
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2640
2770
|
"401":
|
|
2641
2771
|
$ref: "#/components/responses/Unauthorized"
|
|
2642
2772
|
"403":
|
|
@@ -3391,6 +3521,129 @@ components:
|
|
|
3391
3521
|
schema:
|
|
3392
3522
|
type: string
|
|
3393
3523
|
default: All departments
|
|
3524
|
+
PaginationLimit:
|
|
3525
|
+
name: limit
|
|
3526
|
+
in: query
|
|
3527
|
+
required: false
|
|
3528
|
+
description: Page size (default 25, max 100).
|
|
3529
|
+
schema:
|
|
3530
|
+
type: integer
|
|
3531
|
+
minimum: 1
|
|
3532
|
+
maximum: 100
|
|
3533
|
+
default: 25
|
|
3534
|
+
PaginationOffset:
|
|
3535
|
+
name: offset
|
|
3536
|
+
in: query
|
|
3537
|
+
required: false
|
|
3538
|
+
description: Zero-based row offset into the filtered, sorted result set.
|
|
3539
|
+
schema:
|
|
3540
|
+
type: integer
|
|
3541
|
+
minimum: 0
|
|
3542
|
+
default: 0
|
|
3543
|
+
PaginationOrder:
|
|
3544
|
+
name: order
|
|
3545
|
+
in: query
|
|
3546
|
+
required: false
|
|
3547
|
+
description: Sort direction.
|
|
3548
|
+
schema:
|
|
3549
|
+
type: string
|
|
3550
|
+
enum: [asc, desc]
|
|
3551
|
+
default: desc
|
|
3552
|
+
ReadinessRepoSort:
|
|
3553
|
+
name: sort
|
|
3554
|
+
in: query
|
|
3555
|
+
required: false
|
|
3556
|
+
description: Allowlisted repository sort field.
|
|
3557
|
+
schema:
|
|
3558
|
+
type: string
|
|
3559
|
+
enum: [repoName, overallScore, lastAnalyzed, language]
|
|
3560
|
+
default: overallScore
|
|
3561
|
+
ReadinessRepoSearch:
|
|
3562
|
+
name: search
|
|
3563
|
+
in: query
|
|
3564
|
+
required: false
|
|
3565
|
+
description: Case-insensitive filter on repository name, language, or provider slug.
|
|
3566
|
+
schema:
|
|
3567
|
+
type: string
|
|
3568
|
+
maxLength: 256
|
|
3569
|
+
ReadinessRepoLanguage:
|
|
3570
|
+
name: language
|
|
3571
|
+
in: query
|
|
3572
|
+
required: false
|
|
3573
|
+
description: Exact language filter (e.g. `typescript`).
|
|
3574
|
+
schema:
|
|
3575
|
+
type: string
|
|
3576
|
+
maxLength: 64
|
|
3577
|
+
ReadinessFixSort:
|
|
3578
|
+
name: sort
|
|
3579
|
+
in: query
|
|
3580
|
+
required: false
|
|
3581
|
+
description: Allowlisted fix-queue sort field.
|
|
3582
|
+
schema:
|
|
3583
|
+
type: string
|
|
3584
|
+
enum: [createdAt, repoName, severity, status]
|
|
3585
|
+
default: createdAt
|
|
3586
|
+
ReadinessFixStatusFilter:
|
|
3587
|
+
name: status
|
|
3588
|
+
in: query
|
|
3589
|
+
required: false
|
|
3590
|
+
description: Filter fixes by workflow status.
|
|
3591
|
+
schema:
|
|
3592
|
+
type: string
|
|
3593
|
+
enum: [queued, generating, pr-created, merged, failed]
|
|
3594
|
+
ReadinessFixRepoIdFilter:
|
|
3595
|
+
name: repoId
|
|
3596
|
+
in: query
|
|
3597
|
+
required: false
|
|
3598
|
+
description: Filter fixes to a single workspace repository id.
|
|
3599
|
+
schema:
|
|
3600
|
+
type: string
|
|
3601
|
+
format: uuid
|
|
3602
|
+
ReadinessFixSearch:
|
|
3603
|
+
name: search
|
|
3604
|
+
in: query
|
|
3605
|
+
required: false
|
|
3606
|
+
description: Case-insensitive filter on repo name, issue title, label, or description.
|
|
3607
|
+
schema:
|
|
3608
|
+
type: string
|
|
3609
|
+
maxLength: 256
|
|
3610
|
+
GithubRepoLimit:
|
|
3611
|
+
name: repoLimit
|
|
3612
|
+
in: query
|
|
3613
|
+
required: false
|
|
3614
|
+
description: Page size for the nested installation repo list (default 25, max 100).
|
|
3615
|
+
schema:
|
|
3616
|
+
type: integer
|
|
3617
|
+
minimum: 1
|
|
3618
|
+
maximum: 100
|
|
3619
|
+
default: 25
|
|
3620
|
+
GithubRepoOffset:
|
|
3621
|
+
name: repoOffset
|
|
3622
|
+
in: query
|
|
3623
|
+
required: false
|
|
3624
|
+
description: Zero-based offset into the merged installation repo list.
|
|
3625
|
+
schema:
|
|
3626
|
+
type: integer
|
|
3627
|
+
minimum: 0
|
|
3628
|
+
default: 0
|
|
3629
|
+
GithubRepoSort:
|
|
3630
|
+
name: repoSort
|
|
3631
|
+
in: query
|
|
3632
|
+
required: false
|
|
3633
|
+
description: Allowlisted GitHub repo sort field.
|
|
3634
|
+
schema:
|
|
3635
|
+
type: string
|
|
3636
|
+
enum: [name, updatedAt]
|
|
3637
|
+
default: name
|
|
3638
|
+
GithubRepoOrder:
|
|
3639
|
+
name: repoOrder
|
|
3640
|
+
in: query
|
|
3641
|
+
required: false
|
|
3642
|
+
description: Sort direction for the nested installation repo list.
|
|
3643
|
+
schema:
|
|
3644
|
+
type: string
|
|
3645
|
+
enum: [asc, desc]
|
|
3646
|
+
default: asc
|
|
3394
3647
|
|
|
3395
3648
|
responses:
|
|
3396
3649
|
Unauthorized:
|
|
@@ -4806,6 +5059,11 @@ components:
|
|
|
4806
5059
|
private:
|
|
4807
5060
|
type: boolean
|
|
4808
5061
|
nullable: true
|
|
5062
|
+
updatedAt:
|
|
5063
|
+
type: string
|
|
5064
|
+
format: date-time
|
|
5065
|
+
nullable: true
|
|
5066
|
+
description: Last push or metadata update from GitHub when available.
|
|
4809
5067
|
|
|
4810
5068
|
GithubMissingPermissionDto:
|
|
4811
5069
|
type: object
|
|
@@ -4834,9 +5092,9 @@ components:
|
|
|
4834
5092
|
allOf:
|
|
4835
5093
|
- $ref: "#/components/schemas/GithubAccountDto"
|
|
4836
5094
|
repos:
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
5095
|
+
allOf:
|
|
5096
|
+
- $ref: "#/components/schemas/GithubInstalledRepoListDto"
|
|
5097
|
+
description: Paginated repositories granted on this installation (same repoLimit/repoOffset as top-level repos).
|
|
4840
5098
|
manageUrl:
|
|
4841
5099
|
type: string
|
|
4842
5100
|
format: uri
|
|
@@ -4880,10 +5138,10 @@ components:
|
|
|
4880
5138
|
allOf:
|
|
4881
5139
|
- $ref: "#/components/schemas/GithubAccountDto"
|
|
4882
5140
|
repos:
|
|
4883
|
-
type: array
|
|
4884
|
-
items:
|
|
4885
|
-
$ref: "#/components/schemas/GithubInstalledRepoDto"
|
|
4886
5141
|
nullable: true
|
|
5142
|
+
allOf:
|
|
5143
|
+
- $ref: "#/components/schemas/GithubInstalledRepoListDto"
|
|
5144
|
+
description: Paginated merged installation repositories when `installed` is true.
|
|
4887
5145
|
manageUrl:
|
|
4888
5146
|
type: string
|
|
4889
5147
|
format: uri
|
|
@@ -5431,9 +5689,98 @@ components:
|
|
|
5431
5689
|
type: string
|
|
5432
5690
|
enum: [open, pr-pending, fixed]
|
|
5433
5691
|
|
|
5692
|
+
PageMetaDto:
|
|
5693
|
+
type: object
|
|
5694
|
+
required: [total, limit, offset]
|
|
5695
|
+
properties:
|
|
5696
|
+
total:
|
|
5697
|
+
type: integer
|
|
5698
|
+
minimum: 0
|
|
5699
|
+
description: Total rows matching filters (full workspace, not just this page).
|
|
5700
|
+
limit:
|
|
5701
|
+
type: integer
|
|
5702
|
+
minimum: 1
|
|
5703
|
+
maximum: 100
|
|
5704
|
+
offset:
|
|
5705
|
+
type: integer
|
|
5706
|
+
minimum: 0
|
|
5707
|
+
|
|
5708
|
+
ReadinessRepoListDto:
|
|
5709
|
+
allOf:
|
|
5710
|
+
- $ref: "#/components/schemas/PageMetaDto"
|
|
5711
|
+
- type: object
|
|
5712
|
+
required: [items]
|
|
5713
|
+
properties:
|
|
5714
|
+
items:
|
|
5715
|
+
type: array
|
|
5716
|
+
items:
|
|
5717
|
+
$ref: "#/components/schemas/RepoReadinessScoreDto"
|
|
5718
|
+
|
|
5719
|
+
ReadinessFixListDto:
|
|
5720
|
+
allOf:
|
|
5721
|
+
- $ref: "#/components/schemas/PageMetaDto"
|
|
5722
|
+
- type: object
|
|
5723
|
+
required: [items]
|
|
5724
|
+
properties:
|
|
5725
|
+
items:
|
|
5726
|
+
type: array
|
|
5727
|
+
items:
|
|
5728
|
+
$ref: "#/components/schemas/FixRequestDto"
|
|
5729
|
+
|
|
5730
|
+
AgenticFoundationDimensionAggregateDto:
|
|
5731
|
+
type: object
|
|
5732
|
+
required: [dimensionId, averageScorePercent, repoCount]
|
|
5733
|
+
properties:
|
|
5734
|
+
dimensionId:
|
|
5735
|
+
$ref: "#/components/schemas/ReadinessDimensionId"
|
|
5736
|
+
averageScorePercent:
|
|
5737
|
+
type: integer
|
|
5738
|
+
minimum: 0
|
|
5739
|
+
maximum: 100
|
|
5740
|
+
description: Mean dimension score percent across repos with maxScore > 0.
|
|
5741
|
+
repoCount:
|
|
5742
|
+
type: integer
|
|
5743
|
+
minimum: 0
|
|
5744
|
+
description: Repositories with a scored row for this dimension.
|
|
5745
|
+
|
|
5746
|
+
ReadinessFixStatusSummaryDto:
|
|
5747
|
+
type: object
|
|
5748
|
+
required: [queued, generating, prCreated, merged, failed, total]
|
|
5749
|
+
properties:
|
|
5750
|
+
queued:
|
|
5751
|
+
type: integer
|
|
5752
|
+
minimum: 0
|
|
5753
|
+
generating:
|
|
5754
|
+
type: integer
|
|
5755
|
+
minimum: 0
|
|
5756
|
+
prCreated:
|
|
5757
|
+
type: integer
|
|
5758
|
+
minimum: 0
|
|
5759
|
+
description: Count of fixes with status `pr-created`.
|
|
5760
|
+
merged:
|
|
5761
|
+
type: integer
|
|
5762
|
+
minimum: 0
|
|
5763
|
+
failed:
|
|
5764
|
+
type: integer
|
|
5765
|
+
minimum: 0
|
|
5766
|
+
total:
|
|
5767
|
+
type: integer
|
|
5768
|
+
minimum: 0
|
|
5769
|
+
|
|
5770
|
+
GithubInstalledRepoListDto:
|
|
5771
|
+
allOf:
|
|
5772
|
+
- $ref: "#/components/schemas/PageMetaDto"
|
|
5773
|
+
- type: object
|
|
5774
|
+
required: [items]
|
|
5775
|
+
properties:
|
|
5776
|
+
items:
|
|
5777
|
+
type: array
|
|
5778
|
+
items:
|
|
5779
|
+
$ref: "#/components/schemas/GithubInstalledRepoDto"
|
|
5780
|
+
|
|
5434
5781
|
AgenticFoundationDashboardDto:
|
|
5435
5782
|
type: object
|
|
5436
|
-
required: [workspaceId, generatedAt, summary,
|
|
5783
|
+
required: [workspaceId, generatedAt, summary, dimensionAggregates, fixStatusSummary]
|
|
5437
5784
|
properties:
|
|
5438
5785
|
workspaceId:
|
|
5439
5786
|
type: string
|
|
@@ -5443,14 +5790,13 @@ components:
|
|
|
5443
5790
|
format: date-time
|
|
5444
5791
|
summary:
|
|
5445
5792
|
$ref: "#/components/schemas/AgenticFoundationDashboardSummaryDto"
|
|
5446
|
-
|
|
5447
|
-
type: array
|
|
5448
|
-
items:
|
|
5449
|
-
$ref: "#/components/schemas/RepoReadinessScoreDto"
|
|
5450
|
-
issueQueue:
|
|
5793
|
+
dimensionAggregates:
|
|
5451
5794
|
type: array
|
|
5452
5795
|
items:
|
|
5453
|
-
$ref: "#/components/schemas/
|
|
5796
|
+
$ref: "#/components/schemas/AgenticFoundationDimensionAggregateDto"
|
|
5797
|
+
description: Per-dimension average score bars for overview UI (full workspace aggregates).
|
|
5798
|
+
fixStatusSummary:
|
|
5799
|
+
$ref: "#/components/schemas/ReadinessFixStatusSummaryDto"
|
|
5454
5800
|
|
|
5455
5801
|
FixRequestDto:
|
|
5456
5802
|
type: object
|