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