@thinkai/tai-api-contract 2.6.0 → 2.7.1

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.
@@ -4,6 +4,27 @@
4
4
  */
5
5
 
6
6
  export interface paths {
7
+ "/admin/users/{userId}": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
14
+ get?: never;
15
+ put?: never;
16
+ post?: never;
17
+ /**
18
+ * Delete user and all workspace data
19
+ * @description Hard-deletes a user account and all data they own in a single atomic transaction: owned workspaces (and all workspace-level child tables via CASCADE), membership rows in other workspaces, invitations where the user is `invited_by`, and the user row itself. After the DB commit, removes the corresponding Supabase Auth user via the service-role key; Auth deletion failure is logged but does not roll back the DB changes.
20
+ * **Authorization:** Bearer JWT required. Caller email must appear in `PLATFORM_ADMIN_EMAILS` (comma-separated env var). All other callers receive `403 Forbidden`.
21
+ */
22
+ delete: operations["adminDeleteUser"];
23
+ options?: never;
24
+ head?: never;
25
+ patch?: never;
26
+ trace?: never;
27
+ };
7
28
  "/me": {
8
29
  parameters: {
9
30
  query?: never;
@@ -824,7 +845,10 @@ export interface paths {
824
845
  path?: never;
825
846
  cookie?: never;
826
847
  };
827
- /** List repo readiness scores */
848
+ /**
849
+ * List repo readiness scores (paginated)
850
+ * @description Returns a page of repository readiness scorecards. Use `GET .../readiness/repos/{repoId}` for a single repo. Summary aggregates on the Agentic Foundation dashboard use separate aggregate queries over the full workspace (#403).
851
+ */
828
852
  get: operations["listReadinessRepos"];
829
853
  put?: never;
830
854
  post?: never;
@@ -899,8 +923,8 @@ export interface paths {
899
923
  cookie?: never;
900
924
  };
901
925
  /**
902
- * Agentic Foundation dashboard
903
- * @description Returns stored repository readiness scorecards plus a flattened issue queue for the Agentic Foundation dashboard surfaces. This is read-only and does not run scoring on the request path (issue #279). Field `generatedAt` is the server timestamp when this JSON payload was assembled; it is not the same as per-repo `lastAnalyzed` on `RepoReadinessScoreDto`.
926
+ * Agentic Foundation dashboard summary
927
+ * @description Returns workspace-level readiness summary, per-dimension aggregate bars, and fix status counts for Agentic Foundation dashboard surfaces. Repository and issue lists are paginated on `GET .../readiness/repos` and related segment routes (#403). Read-only; does not run scoring on the request path (issue #279). Field `generatedAt` is the server timestamp when this JSON payload was assembled.
904
928
  */
905
929
  get: operations["getAgenticFoundationDashboard"];
906
930
  put?: never;
@@ -1119,8 +1143,8 @@ export interface paths {
1119
1143
  cookie?: never;
1120
1144
  };
1121
1145
  /**
1122
- * List fix requests
1123
- * @description Returns persisted fix-queue rows for the workspace (newest first). Empty array when none exist.
1146
+ * List fix requests (paginated)
1147
+ * @description Returns a page of persisted fix-queue rows for the workspace (default newest first).
1124
1148
  */
1125
1149
  get: operations["listReadinessFixes"];
1126
1150
  put?: never;
@@ -2108,6 +2132,11 @@ export interface components {
2108
2132
  fullName?: string | null;
2109
2133
  language?: string | null;
2110
2134
  private?: boolean | null;
2135
+ /**
2136
+ * Format: date-time
2137
+ * @description Last push or metadata update from GitHub when available.
2138
+ */
2139
+ updatedAt?: string | null;
2111
2140
  };
2112
2141
  GithubMissingPermissionDto: {
2113
2142
  /** @description GitHub App permission key (e.g. contents, pull_requests). */
@@ -2123,7 +2152,8 @@ export interface components {
2123
2152
  GithubInstallationSummaryDto: {
2124
2153
  installationId: string;
2125
2154
  account: components["schemas"]["GithubAccountDto"];
2126
- repos: components["schemas"]["GithubInstalledRepoDto"][];
2155
+ /** @description Paginated repositories granted on this installation (same repoLimit/repoOffset as top-level repos). */
2156
+ repos: components["schemas"]["GithubInstalledRepoListDto"];
2127
2157
  /** Format: uri */
2128
2158
  manageUrl?: string | null;
2129
2159
  /** Format: date-time */
@@ -2141,7 +2171,8 @@ export interface components {
2141
2171
  permissionsUpgradeRequired: boolean;
2142
2172
  installationId?: string | null;
2143
2173
  account?: components["schemas"]["GithubAccountDto"] | null;
2144
- repos?: components["schemas"]["GithubInstalledRepoDto"][] | null;
2174
+ /** @description Paginated merged installation repositories when `installed` is true. */
2175
+ repos?: components["schemas"]["GithubInstalledRepoListDto"] | null;
2145
2176
  /**
2146
2177
  * Format: uri
2147
2178
  * @description User accounts: github.com/settings/installations/<id>. Organizations: github.com/organizations/<login>/settings/installations/<id>.
@@ -2364,22 +2395,36 @@ export interface components {
2364
2395
  issueCount: number;
2365
2396
  criticalIssueCount: number;
2366
2397
  };
2367
- AgenticFoundationDashboardIssueDto: {
2368
- /** Format: uuid */
2369
- id: string;
2370
- /** Format: uuid */
2371
- repoId: string;
2372
- repoName: string;
2373
- provider: components["schemas"]["RepoProviderDto"];
2398
+ PageMetaDto: {
2399
+ /** @description Total rows matching filters (full workspace, not just this page). */
2400
+ total: number;
2401
+ limit: number;
2402
+ offset: number;
2403
+ };
2404
+ ReadinessRepoListDto: components["schemas"]["PageMetaDto"] & {
2405
+ items: components["schemas"]["RepoReadinessScoreDto"][];
2406
+ };
2407
+ ReadinessFixListDto: components["schemas"]["PageMetaDto"] & {
2408
+ items: components["schemas"]["FixRequestDto"][];
2409
+ };
2410
+ AgenticFoundationDimensionAggregateDto: {
2374
2411
  dimensionId: components["schemas"]["ReadinessDimensionId"];
2375
- /** @enum {string} */
2376
- severity: "critical" | "high" | "medium" | "low";
2377
- title: string;
2378
- description: string;
2379
- rubricId?: string | null;
2380
- filePath: string | null;
2381
- /** @enum {string} */
2382
- fixStatus: "open" | "pr-pending" | "fixed";
2412
+ /** @description Mean dimension score percent across repos with maxScore > 0. */
2413
+ averageScorePercent: number;
2414
+ /** @description Repositories with a scored row for this dimension. */
2415
+ repoCount: number;
2416
+ };
2417
+ ReadinessFixStatusSummaryDto: {
2418
+ queued: number;
2419
+ generating: number;
2420
+ /** @description Count of fixes with status `pr-created`. */
2421
+ prCreated: number;
2422
+ merged: number;
2423
+ failed: number;
2424
+ total: number;
2425
+ };
2426
+ GithubInstalledRepoListDto: components["schemas"]["PageMetaDto"] & {
2427
+ items: components["schemas"]["GithubInstalledRepoDto"][];
2383
2428
  };
2384
2429
  AgenticFoundationDashboardDto: {
2385
2430
  /** Format: uuid */
@@ -2387,8 +2432,9 @@ export interface components {
2387
2432
  /** Format: date-time */
2388
2433
  generatedAt: string;
2389
2434
  summary: components["schemas"]["AgenticFoundationDashboardSummaryDto"];
2390
- repos: components["schemas"]["RepoReadinessScoreDto"][];
2391
- issueQueue: components["schemas"]["AgenticFoundationDashboardIssueDto"][];
2435
+ /** @description Per-dimension average score bars for overview UI (full workspace aggregates). */
2436
+ dimensionAggregates: components["schemas"]["AgenticFoundationDimensionAggregateDto"][];
2437
+ fixStatusSummary: components["schemas"]["ReadinessFixStatusSummaryDto"];
2392
2438
  };
2393
2439
  FixRequestDto: {
2394
2440
  id: string;
@@ -2726,6 +2772,34 @@ export interface components {
2726
2772
  FixId: string;
2727
2773
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
2728
2774
  InsightsDepartmentFilter: string;
2775
+ /** @description Page size (default 25, max 100). */
2776
+ PaginationLimit: number;
2777
+ /** @description Zero-based row offset into the filtered, sorted result set. */
2778
+ PaginationOffset: number;
2779
+ /** @description Sort direction. */
2780
+ PaginationOrder: "asc" | "desc";
2781
+ /** @description Allowlisted repository sort field. */
2782
+ ReadinessRepoSort: "repoName" | "overallScore" | "lastAnalyzed" | "language";
2783
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
2784
+ ReadinessRepoSearch: string;
2785
+ /** @description Exact language filter (e.g. `typescript`). */
2786
+ ReadinessRepoLanguage: string;
2787
+ /** @description Allowlisted fix-queue sort field. */
2788
+ ReadinessFixSort: "createdAt" | "repoName" | "severity" | "status";
2789
+ /** @description Filter fixes by workflow status. */
2790
+ ReadinessFixStatusFilter: "queued" | "generating" | "pr-created" | "merged" | "failed";
2791
+ /** @description Filter fixes to a single workspace repository id. */
2792
+ ReadinessFixRepoIdFilter: string;
2793
+ /** @description Case-insensitive filter on repo name, issue title, label, or description. */
2794
+ ReadinessFixSearch: string;
2795
+ /** @description Page size for the nested installation repo list (default 25, max 100). */
2796
+ GithubRepoLimit: number;
2797
+ /** @description Zero-based offset into the merged installation repo list. */
2798
+ GithubRepoOffset: number;
2799
+ /** @description Allowlisted GitHub repo sort field. */
2800
+ GithubRepoSort: "name" | "updatedAt";
2801
+ /** @description Sort direction for the nested installation repo list. */
2802
+ GithubRepoOrder: "asc" | "desc";
2729
2803
  };
2730
2804
  requestBodies: never;
2731
2805
  headers: never;
@@ -2828,7 +2902,12 @@ export type ReadinessIssueDto = components['schemas']['ReadinessIssueDto'];
2828
2902
  export type DimensionScoreDto = components['schemas']['DimensionScoreDto'];
2829
2903
  export type RepoReadinessScoreDto = components['schemas']['RepoReadinessScoreDto'];
2830
2904
  export type AgenticFoundationDashboardSummaryDto = components['schemas']['AgenticFoundationDashboardSummaryDto'];
2831
- export type AgenticFoundationDashboardIssueDto = components['schemas']['AgenticFoundationDashboardIssueDto'];
2905
+ export type PageMetaDto = components['schemas']['PageMetaDto'];
2906
+ export type ReadinessRepoListDto = components['schemas']['ReadinessRepoListDto'];
2907
+ export type ReadinessFixListDto = components['schemas']['ReadinessFixListDto'];
2908
+ export type AgenticFoundationDimensionAggregateDto = components['schemas']['AgenticFoundationDimensionAggregateDto'];
2909
+ export type ReadinessFixStatusSummaryDto = components['schemas']['ReadinessFixStatusSummaryDto'];
2910
+ export type GithubInstalledRepoListDto = components['schemas']['GithubInstalledRepoListDto'];
2832
2911
  export type AgenticFoundationDashboardDto = components['schemas']['AgenticFoundationDashboardDto'];
2833
2912
  export type FixRequestDto = components['schemas']['FixRequestDto'];
2834
2913
  export type FixRetryableErrorCode = components['schemas']['FixRetryableErrorCode'];
@@ -2873,8 +2952,97 @@ export type ParameterNotificationId = components['parameters']['NotificationId']
2873
2952
  export type ParameterWorkspaceMemberId = components['parameters']['WorkspaceMemberId'];
2874
2953
  export type ParameterFixId = components['parameters']['FixId'];
2875
2954
  export type ParameterInsightsDepartmentFilter = components['parameters']['InsightsDepartmentFilter'];
2955
+ export type ParameterPaginationLimit = components['parameters']['PaginationLimit'];
2956
+ export type ParameterPaginationOffset = components['parameters']['PaginationOffset'];
2957
+ export type ParameterPaginationOrder = components['parameters']['PaginationOrder'];
2958
+ export type ParameterReadinessRepoSort = components['parameters']['ReadinessRepoSort'];
2959
+ export type ParameterReadinessRepoSearch = components['parameters']['ReadinessRepoSearch'];
2960
+ export type ParameterReadinessRepoLanguage = components['parameters']['ReadinessRepoLanguage'];
2961
+ export type ParameterReadinessFixSort = components['parameters']['ReadinessFixSort'];
2962
+ export type ParameterReadinessFixStatusFilter = components['parameters']['ReadinessFixStatusFilter'];
2963
+ export type ParameterReadinessFixRepoIdFilter = components['parameters']['ReadinessFixRepoIdFilter'];
2964
+ export type ParameterReadinessFixSearch = components['parameters']['ReadinessFixSearch'];
2965
+ export type ParameterGithubRepoLimit = components['parameters']['GithubRepoLimit'];
2966
+ export type ParameterGithubRepoOffset = components['parameters']['GithubRepoOffset'];
2967
+ export type ParameterGithubRepoSort = components['parameters']['GithubRepoSort'];
2968
+ export type ParameterGithubRepoOrder = components['parameters']['GithubRepoOrder'];
2876
2969
  export type $defs = Record<string, never>;
2877
2970
  export interface operations {
2971
+ adminDeleteUser: {
2972
+ parameters: {
2973
+ query?: never;
2974
+ header?: never;
2975
+ path: {
2976
+ /** @description `tai_users.id` of the account to delete. */
2977
+ userId: string;
2978
+ };
2979
+ cookie?: never;
2980
+ };
2981
+ requestBody?: never;
2982
+ responses: {
2983
+ /** @description User and all workspace data deleted. */
2984
+ 204: {
2985
+ headers: {
2986
+ [name: string]: unknown;
2987
+ };
2988
+ content?: never;
2989
+ };
2990
+ /** @description Invalid UUID format. */
2991
+ 400: {
2992
+ headers: {
2993
+ [name: string]: unknown;
2994
+ };
2995
+ content: {
2996
+ /**
2997
+ * @example {
2998
+ * "error": "Invalid user ID format",
2999
+ * "code": "invalid_user_id"
3000
+ * }
3001
+ */
3002
+ "application/json": components["schemas"]["ErrorMessageDto"];
3003
+ };
3004
+ };
3005
+ /** @description Missing or invalid JWT. */
3006
+ 401: {
3007
+ headers: {
3008
+ [name: string]: unknown;
3009
+ };
3010
+ content: {
3011
+ "application/json": components["schemas"]["ErrorMessageDto"];
3012
+ };
3013
+ };
3014
+ /** @description Caller is not a platform admin. */
3015
+ 403: {
3016
+ headers: {
3017
+ [name: string]: unknown;
3018
+ };
3019
+ content: {
3020
+ /**
3021
+ * @example {
3022
+ * "error": "Forbidden",
3023
+ * "code": "forbidden"
3024
+ * }
3025
+ */
3026
+ "application/json": components["schemas"]["ErrorMessageDto"];
3027
+ };
3028
+ };
3029
+ /** @description User not found. */
3030
+ 404: {
3031
+ headers: {
3032
+ [name: string]: unknown;
3033
+ };
3034
+ content: {
3035
+ /**
3036
+ * @example {
3037
+ * "error": "User not found",
3038
+ * "code": "user_not_found"
3039
+ * }
3040
+ */
3041
+ "application/json": components["schemas"]["ErrorMessageDto"];
3042
+ };
3043
+ };
3044
+ };
3045
+ };
2878
3046
  getMe: {
2879
3047
  parameters: {
2880
3048
  query?: never;
@@ -4250,6 +4418,14 @@ export interface operations {
4250
4418
  refresh?: boolean;
4251
4419
  /** @description When true, re-fetch GitHub App and installation permission metadata (used by the login permission gate after the user approves on GitHub). */
4252
4420
  permissionsRefresh?: boolean;
4421
+ /** @description Page size for the nested installation repo list (default 25, max 100). */
4422
+ repoLimit?: components["parameters"]["GithubRepoLimit"];
4423
+ /** @description Zero-based offset into the merged installation repo list. */
4424
+ repoOffset?: components["parameters"]["GithubRepoOffset"];
4425
+ /** @description Allowlisted GitHub repo sort field. */
4426
+ repoSort?: components["parameters"]["GithubRepoSort"];
4427
+ /** @description Sort direction for the nested installation repo list. */
4428
+ repoOrder?: components["parameters"]["GithubRepoOrder"];
4253
4429
  };
4254
4430
  header?: never;
4255
4431
  path: {
@@ -4915,7 +5091,20 @@ export interface operations {
4915
5091
  };
4916
5092
  listReadinessRepos: {
4917
5093
  parameters: {
4918
- query?: never;
5094
+ query?: {
5095
+ /** @description Page size (default 25, max 100). */
5096
+ limit?: components["parameters"]["PaginationLimit"];
5097
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5098
+ offset?: components["parameters"]["PaginationOffset"];
5099
+ /** @description Allowlisted repository sort field. */
5100
+ sort?: components["parameters"]["ReadinessRepoSort"];
5101
+ /** @description Sort direction. */
5102
+ order?: components["parameters"]["PaginationOrder"];
5103
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5104
+ search?: components["parameters"]["ReadinessRepoSearch"];
5105
+ /** @description Exact language filter (e.g. `typescript`). */
5106
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5107
+ };
4919
5108
  header?: never;
4920
5109
  path: {
4921
5110
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -4924,13 +5113,22 @@ export interface operations {
4924
5113
  };
4925
5114
  requestBody?: never;
4926
5115
  responses: {
4927
- /** @description Repositories analyzed */
5116
+ /** @description Paginated repositories analyzed */
4928
5117
  200: {
4929
5118
  headers: {
4930
5119
  [name: string]: unknown;
4931
5120
  };
4932
5121
  content: {
4933
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5122
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5123
+ };
5124
+ };
5125
+ /** @description Invalid pagination or sort query */
5126
+ 400: {
5127
+ headers: {
5128
+ [name: string]: unknown;
5129
+ };
5130
+ content: {
5131
+ "application/json": components["schemas"]["ErrorMessageDto"];
4934
5132
  };
4935
5133
  };
4936
5134
  401: components["responses"]["Unauthorized"];
@@ -5089,7 +5287,7 @@ export interface operations {
5089
5287
  };
5090
5288
  requestBody?: never;
5091
5289
  responses: {
5092
- /** @description Dashboard scorecards and issue queue */
5290
+ /** @description Dashboard summary and aggregates */
5093
5291
  200: {
5094
5292
  headers: {
5095
5293
  [name: string]: unknown;
@@ -5113,7 +5311,20 @@ export interface operations {
5113
5311
  };
5114
5312
  getAgenticFoundationAgenticReadiness: {
5115
5313
  parameters: {
5116
- query?: never;
5314
+ query?: {
5315
+ /** @description Page size (default 25, max 100). */
5316
+ limit?: components["parameters"]["PaginationLimit"];
5317
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5318
+ offset?: components["parameters"]["PaginationOffset"];
5319
+ /** @description Allowlisted repository sort field. */
5320
+ sort?: components["parameters"]["ReadinessRepoSort"];
5321
+ /** @description Sort direction. */
5322
+ order?: components["parameters"]["PaginationOrder"];
5323
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5324
+ search?: components["parameters"]["ReadinessRepoSearch"];
5325
+ /** @description Exact language filter (e.g. `typescript`). */
5326
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5327
+ };
5117
5328
  header?: never;
5118
5329
  path: {
5119
5330
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5122,13 +5333,22 @@ export interface operations {
5122
5333
  };
5123
5334
  requestBody?: never;
5124
5335
  responses: {
5125
- /** @description Repositories with ai-agent-readiness slice */
5336
+ /** @description Paginated repositories with ai-agent-readiness slice */
5126
5337
  200: {
5127
5338
  headers: {
5128
5339
  [name: string]: unknown;
5129
5340
  };
5130
5341
  content: {
5131
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5342
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5343
+ };
5344
+ };
5345
+ /** @description Invalid pagination or sort query */
5346
+ 400: {
5347
+ headers: {
5348
+ [name: string]: unknown;
5349
+ };
5350
+ content: {
5351
+ "application/json": components["schemas"]["ErrorMessageDto"];
5132
5352
  };
5133
5353
  };
5134
5354
  401: components["responses"]["Unauthorized"];
@@ -5146,7 +5366,20 @@ export interface operations {
5146
5366
  };
5147
5367
  getAgenticFoundationRepositoryHealth: {
5148
5368
  parameters: {
5149
- query?: never;
5369
+ query?: {
5370
+ /** @description Page size (default 25, max 100). */
5371
+ limit?: components["parameters"]["PaginationLimit"];
5372
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5373
+ offset?: components["parameters"]["PaginationOffset"];
5374
+ /** @description Allowlisted repository sort field. */
5375
+ sort?: components["parameters"]["ReadinessRepoSort"];
5376
+ /** @description Sort direction. */
5377
+ order?: components["parameters"]["PaginationOrder"];
5378
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5379
+ search?: components["parameters"]["ReadinessRepoSearch"];
5380
+ /** @description Exact language filter (e.g. `typescript`). */
5381
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5382
+ };
5150
5383
  header?: never;
5151
5384
  path: {
5152
5385
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5155,13 +5388,22 @@ export interface operations {
5155
5388
  };
5156
5389
  requestBody?: never;
5157
5390
  responses: {
5158
- /** @description Repositories with repo-hygiene slice */
5391
+ /** @description Paginated repositories with repo-hygiene slice */
5159
5392
  200: {
5160
5393
  headers: {
5161
5394
  [name: string]: unknown;
5162
5395
  };
5163
5396
  content: {
5164
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5397
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5398
+ };
5399
+ };
5400
+ /** @description Invalid pagination or sort query */
5401
+ 400: {
5402
+ headers: {
5403
+ [name: string]: unknown;
5404
+ };
5405
+ content: {
5406
+ "application/json": components["schemas"]["ErrorMessageDto"];
5165
5407
  };
5166
5408
  };
5167
5409
  401: components["responses"]["Unauthorized"];
@@ -5179,7 +5421,20 @@ export interface operations {
5179
5421
  };
5180
5422
  getAgenticFoundationCodebaseQuality: {
5181
5423
  parameters: {
5182
- query?: never;
5424
+ query?: {
5425
+ /** @description Page size (default 25, max 100). */
5426
+ limit?: components["parameters"]["PaginationLimit"];
5427
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5428
+ offset?: components["parameters"]["PaginationOffset"];
5429
+ /** @description Allowlisted repository sort field. */
5430
+ sort?: components["parameters"]["ReadinessRepoSort"];
5431
+ /** @description Sort direction. */
5432
+ order?: components["parameters"]["PaginationOrder"];
5433
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5434
+ search?: components["parameters"]["ReadinessRepoSearch"];
5435
+ /** @description Exact language filter (e.g. `typescript`). */
5436
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5437
+ };
5183
5438
  header?: never;
5184
5439
  path: {
5185
5440
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5188,13 +5443,22 @@ export interface operations {
5188
5443
  };
5189
5444
  requestBody?: never;
5190
5445
  responses: {
5191
- /** @description Repositories with stack-quality slice */
5446
+ /** @description Paginated repositories with stack-quality slice */
5192
5447
  200: {
5193
5448
  headers: {
5194
5449
  [name: string]: unknown;
5195
5450
  };
5196
5451
  content: {
5197
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5452
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5453
+ };
5454
+ };
5455
+ /** @description Invalid pagination or sort query */
5456
+ 400: {
5457
+ headers: {
5458
+ [name: string]: unknown;
5459
+ };
5460
+ content: {
5461
+ "application/json": components["schemas"]["ErrorMessageDto"];
5198
5462
  };
5199
5463
  };
5200
5464
  401: components["responses"]["Unauthorized"];
@@ -5212,7 +5476,20 @@ export interface operations {
5212
5476
  };
5213
5477
  getAgenticFoundationTestQa: {
5214
5478
  parameters: {
5215
- query?: never;
5479
+ query?: {
5480
+ /** @description Page size (default 25, max 100). */
5481
+ limit?: components["parameters"]["PaginationLimit"];
5482
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5483
+ offset?: components["parameters"]["PaginationOffset"];
5484
+ /** @description Allowlisted repository sort field. */
5485
+ sort?: components["parameters"]["ReadinessRepoSort"];
5486
+ /** @description Sort direction. */
5487
+ order?: components["parameters"]["PaginationOrder"];
5488
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5489
+ search?: components["parameters"]["ReadinessRepoSearch"];
5490
+ /** @description Exact language filter (e.g. `typescript`). */
5491
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5492
+ };
5216
5493
  header?: never;
5217
5494
  path: {
5218
5495
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5221,13 +5498,22 @@ export interface operations {
5221
5498
  };
5222
5499
  requestBody?: never;
5223
5500
  responses: {
5224
- /** @description Repositories with tests-qa slice */
5501
+ /** @description Paginated repositories with tests-qa slice */
5225
5502
  200: {
5226
5503
  headers: {
5227
5504
  [name: string]: unknown;
5228
5505
  };
5229
5506
  content: {
5230
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5507
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5508
+ };
5509
+ };
5510
+ /** @description Invalid pagination or sort query */
5511
+ 400: {
5512
+ headers: {
5513
+ [name: string]: unknown;
5514
+ };
5515
+ content: {
5516
+ "application/json": components["schemas"]["ErrorMessageDto"];
5231
5517
  };
5232
5518
  };
5233
5519
  401: components["responses"]["Unauthorized"];
@@ -5245,7 +5531,20 @@ export interface operations {
5245
5531
  };
5246
5532
  getAgenticFoundationObservability: {
5247
5533
  parameters: {
5248
- query?: never;
5534
+ query?: {
5535
+ /** @description Page size (default 25, max 100). */
5536
+ limit?: components["parameters"]["PaginationLimit"];
5537
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5538
+ offset?: components["parameters"]["PaginationOffset"];
5539
+ /** @description Allowlisted repository sort field. */
5540
+ sort?: components["parameters"]["ReadinessRepoSort"];
5541
+ /** @description Sort direction. */
5542
+ order?: components["parameters"]["PaginationOrder"];
5543
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5544
+ search?: components["parameters"]["ReadinessRepoSearch"];
5545
+ /** @description Exact language filter (e.g. `typescript`). */
5546
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5547
+ };
5249
5548
  header?: never;
5250
5549
  path: {
5251
5550
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5254,13 +5553,22 @@ export interface operations {
5254
5553
  };
5255
5554
  requestBody?: never;
5256
5555
  responses: {
5257
- /** @description Repositories with observability slice */
5556
+ /** @description Paginated repositories with observability slice */
5258
5557
  200: {
5259
5558
  headers: {
5260
5559
  [name: string]: unknown;
5261
5560
  };
5262
5561
  content: {
5263
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5562
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5563
+ };
5564
+ };
5565
+ /** @description Invalid pagination or sort query */
5566
+ 400: {
5567
+ headers: {
5568
+ [name: string]: unknown;
5569
+ };
5570
+ content: {
5571
+ "application/json": components["schemas"]["ErrorMessageDto"];
5264
5572
  };
5265
5573
  };
5266
5574
  401: components["responses"]["Unauthorized"];
@@ -5278,7 +5586,20 @@ export interface operations {
5278
5586
  };
5279
5587
  getAgenticFoundationApiContract: {
5280
5588
  parameters: {
5281
- query?: never;
5589
+ query?: {
5590
+ /** @description Page size (default 25, max 100). */
5591
+ limit?: components["parameters"]["PaginationLimit"];
5592
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5593
+ offset?: components["parameters"]["PaginationOffset"];
5594
+ /** @description Allowlisted repository sort field. */
5595
+ sort?: components["parameters"]["ReadinessRepoSort"];
5596
+ /** @description Sort direction. */
5597
+ order?: components["parameters"]["PaginationOrder"];
5598
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5599
+ search?: components["parameters"]["ReadinessRepoSearch"];
5600
+ /** @description Exact language filter (e.g. `typescript`). */
5601
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5602
+ };
5282
5603
  header?: never;
5283
5604
  path: {
5284
5605
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5287,13 +5608,22 @@ export interface operations {
5287
5608
  };
5288
5609
  requestBody?: never;
5289
5610
  responses: {
5290
- /** @description Repositories with api-contracts slice */
5611
+ /** @description Paginated repositories with api-contracts slice */
5291
5612
  200: {
5292
5613
  headers: {
5293
5614
  [name: string]: unknown;
5294
5615
  };
5295
5616
  content: {
5296
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5617
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5618
+ };
5619
+ };
5620
+ /** @description Invalid pagination or sort query */
5621
+ 400: {
5622
+ headers: {
5623
+ [name: string]: unknown;
5624
+ };
5625
+ content: {
5626
+ "application/json": components["schemas"]["ErrorMessageDto"];
5297
5627
  };
5298
5628
  };
5299
5629
  401: components["responses"]["Unauthorized"];
@@ -5311,7 +5641,20 @@ export interface operations {
5311
5641
  };
5312
5642
  getAgenticFoundationPlatformGovernance: {
5313
5643
  parameters: {
5314
- query?: never;
5644
+ query?: {
5645
+ /** @description Page size (default 25, max 100). */
5646
+ limit?: components["parameters"]["PaginationLimit"];
5647
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5648
+ offset?: components["parameters"]["PaginationOffset"];
5649
+ /** @description Allowlisted repository sort field. */
5650
+ sort?: components["parameters"]["ReadinessRepoSort"];
5651
+ /** @description Sort direction. */
5652
+ order?: components["parameters"]["PaginationOrder"];
5653
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5654
+ search?: components["parameters"]["ReadinessRepoSearch"];
5655
+ /** @description Exact language filter (e.g. `typescript`). */
5656
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5657
+ };
5315
5658
  header?: never;
5316
5659
  path: {
5317
5660
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5320,13 +5663,22 @@ export interface operations {
5320
5663
  };
5321
5664
  requestBody?: never;
5322
5665
  responses: {
5323
- /** @description Repositories with platform-governance slice */
5666
+ /** @description Paginated repositories with platform-governance slice */
5324
5667
  200: {
5325
5668
  headers: {
5326
5669
  [name: string]: unknown;
5327
5670
  };
5328
5671
  content: {
5329
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5672
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5673
+ };
5674
+ };
5675
+ /** @description Invalid pagination or sort query */
5676
+ 400: {
5677
+ headers: {
5678
+ [name: string]: unknown;
5679
+ };
5680
+ content: {
5681
+ "application/json": components["schemas"]["ErrorMessageDto"];
5330
5682
  };
5331
5683
  };
5332
5684
  401: components["responses"]["Unauthorized"];
@@ -5344,7 +5696,20 @@ export interface operations {
5344
5696
  };
5345
5697
  getAgenticFoundationDeliveryGovernance: {
5346
5698
  parameters: {
5347
- query?: never;
5699
+ query?: {
5700
+ /** @description Page size (default 25, max 100). */
5701
+ limit?: components["parameters"]["PaginationLimit"];
5702
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5703
+ offset?: components["parameters"]["PaginationOffset"];
5704
+ /** @description Allowlisted repository sort field. */
5705
+ sort?: components["parameters"]["ReadinessRepoSort"];
5706
+ /** @description Sort direction. */
5707
+ order?: components["parameters"]["PaginationOrder"];
5708
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5709
+ search?: components["parameters"]["ReadinessRepoSearch"];
5710
+ /** @description Exact language filter (e.g. `typescript`). */
5711
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5712
+ };
5348
5713
  header?: never;
5349
5714
  path: {
5350
5715
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5353,13 +5718,22 @@ export interface operations {
5353
5718
  };
5354
5719
  requestBody?: never;
5355
5720
  responses: {
5356
- /** @description Repositories with delivery slice */
5721
+ /** @description Paginated repositories with delivery slice */
5357
5722
  200: {
5358
5723
  headers: {
5359
5724
  [name: string]: unknown;
5360
5725
  };
5361
5726
  content: {
5362
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5727
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5728
+ };
5729
+ };
5730
+ /** @description Invalid pagination or sort query */
5731
+ 400: {
5732
+ headers: {
5733
+ [name: string]: unknown;
5734
+ };
5735
+ content: {
5736
+ "application/json": components["schemas"]["ErrorMessageDto"];
5363
5737
  };
5364
5738
  };
5365
5739
  401: components["responses"]["Unauthorized"];
@@ -5377,7 +5751,20 @@ export interface operations {
5377
5751
  };
5378
5752
  getAgenticFoundationAiResolutionHub: {
5379
5753
  parameters: {
5380
- query?: never;
5754
+ query?: {
5755
+ /** @description Page size (default 25, max 100). */
5756
+ limit?: components["parameters"]["PaginationLimit"];
5757
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5758
+ offset?: components["parameters"]["PaginationOffset"];
5759
+ /** @description Allowlisted repository sort field. */
5760
+ sort?: components["parameters"]["ReadinessRepoSort"];
5761
+ /** @description Sort direction. */
5762
+ order?: components["parameters"]["PaginationOrder"];
5763
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5764
+ search?: components["parameters"]["ReadinessRepoSearch"];
5765
+ /** @description Exact language filter (e.g. `typescript`). */
5766
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5767
+ };
5381
5768
  header?: never;
5382
5769
  path: {
5383
5770
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5392,7 +5779,16 @@ export interface operations {
5392
5779
  [name: string]: unknown;
5393
5780
  };
5394
5781
  content: {
5395
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5782
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5783
+ };
5784
+ };
5785
+ /** @description Invalid pagination or sort query */
5786
+ 400: {
5787
+ headers: {
5788
+ [name: string]: unknown;
5789
+ };
5790
+ content: {
5791
+ "application/json": components["schemas"]["ErrorMessageDto"];
5396
5792
  };
5397
5793
  };
5398
5794
  401: components["responses"]["Unauthorized"];
@@ -5443,7 +5839,22 @@ export interface operations {
5443
5839
  };
5444
5840
  listReadinessFixes: {
5445
5841
  parameters: {
5446
- query?: never;
5842
+ query?: {
5843
+ /** @description Page size (default 25, max 100). */
5844
+ limit?: components["parameters"]["PaginationLimit"];
5845
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5846
+ offset?: components["parameters"]["PaginationOffset"];
5847
+ /** @description Allowlisted fix-queue sort field. */
5848
+ sort?: components["parameters"]["ReadinessFixSort"];
5849
+ /** @description Sort direction. */
5850
+ order?: components["parameters"]["PaginationOrder"];
5851
+ /** @description Case-insensitive filter on repo name, issue title, label, or description. */
5852
+ search?: components["parameters"]["ReadinessFixSearch"];
5853
+ /** @description Filter fixes by workflow status. */
5854
+ status?: components["parameters"]["ReadinessFixStatusFilter"];
5855
+ /** @description Filter fixes to a single workspace repository id. */
5856
+ repoId?: components["parameters"]["ReadinessFixRepoIdFilter"];
5857
+ };
5447
5858
  header?: never;
5448
5859
  path: {
5449
5860
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5452,13 +5863,22 @@ export interface operations {
5452
5863
  };
5453
5864
  requestBody?: never;
5454
5865
  responses: {
5455
- /** @description Fix queue */
5866
+ /** @description Paginated fix queue */
5456
5867
  200: {
5457
5868
  headers: {
5458
5869
  [name: string]: unknown;
5459
5870
  };
5460
5871
  content: {
5461
- "application/json": components["schemas"]["FixRequestDto"][];
5872
+ "application/json": components["schemas"]["ReadinessFixListDto"];
5873
+ };
5874
+ };
5875
+ /** @description Invalid pagination or sort query */
5876
+ 400: {
5877
+ headers: {
5878
+ [name: string]: unknown;
5879
+ };
5880
+ content: {
5881
+ "application/json": components["schemas"]["ErrorMessageDto"];
5462
5882
  };
5463
5883
  };
5464
5884
  401: components["responses"]["Unauthorized"];