@thinkai/tai-api-contract 2.4.0 → 2.4.3

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.
@@ -606,7 +606,10 @@ export interface paths {
606
606
  path?: never;
607
607
  cookie?: never;
608
608
  };
609
- /** Single repo readiness */
609
+ /**
610
+ * Single repo readiness
611
+ * @description Returns one stored repository scorecard with all eight dimensions and nested issues. Unknown `repoId` or a repo that belongs to another workspace returns `404` (no cross-tenant leakage).
612
+ */
610
613
  get: operations["getReadinessRepo"];
611
614
  put?: never;
612
615
  post?: never;
@@ -616,6 +619,206 @@ export interface paths {
616
619
  patch?: never;
617
620
  trace?: never;
618
621
  };
622
+ "/workspaces/{workspaceId}/agentic-foundation/dashboard": {
623
+ parameters: {
624
+ query?: never;
625
+ header?: never;
626
+ path?: never;
627
+ cookie?: never;
628
+ };
629
+ /**
630
+ * Agentic Foundation dashboard
631
+ * @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`.
632
+ */
633
+ get: operations["getAgenticFoundationDashboard"];
634
+ put?: never;
635
+ post?: never;
636
+ delete?: never;
637
+ options?: never;
638
+ head?: never;
639
+ patch?: never;
640
+ trace?: never;
641
+ };
642
+ "/workspaces/{workspaceId}/agentic-foundation/agentic-readiness": {
643
+ parameters: {
644
+ query?: never;
645
+ header?: never;
646
+ path?: never;
647
+ cookie?: never;
648
+ };
649
+ /**
650
+ * Agentic readiness pillar (stored dimension slice)
651
+ * @description Returns `RepoReadinessScoreDto` rows with only the `ai-agent-readiness` dimension populated per repo. Same auth and persistence source as `GET .../readiness/repos` (issue #280).
652
+ */
653
+ get: operations["getAgenticFoundationAgenticReadiness"];
654
+ put?: never;
655
+ post?: never;
656
+ delete?: never;
657
+ options?: never;
658
+ head?: never;
659
+ patch?: never;
660
+ trace?: never;
661
+ };
662
+ "/workspaces/{workspaceId}/agentic-foundation/repository-health": {
663
+ parameters: {
664
+ query?: never;
665
+ header?: never;
666
+ path?: never;
667
+ cookie?: never;
668
+ };
669
+ /**
670
+ * Repository health pillar (repo-hygiene slice)
671
+ * @description Returns per-repo `repo-hygiene` dimension only (issue
672
+ */
673
+ get: operations["getAgenticFoundationRepositoryHealth"];
674
+ put?: never;
675
+ post?: never;
676
+ delete?: never;
677
+ options?: never;
678
+ head?: never;
679
+ patch?: never;
680
+ trace?: never;
681
+ };
682
+ "/workspaces/{workspaceId}/agentic-foundation/codebase-quality": {
683
+ parameters: {
684
+ query?: never;
685
+ header?: never;
686
+ path?: never;
687
+ cookie?: never;
688
+ };
689
+ /**
690
+ * Codebase quality pillar (stack-quality slice)
691
+ * @description Returns per-repo `stack-quality` dimension only (issue
692
+ */
693
+ get: operations["getAgenticFoundationCodebaseQuality"];
694
+ put?: never;
695
+ post?: never;
696
+ delete?: never;
697
+ options?: never;
698
+ head?: never;
699
+ patch?: never;
700
+ trace?: never;
701
+ };
702
+ "/workspaces/{workspaceId}/agentic-foundation/test-qa": {
703
+ parameters: {
704
+ query?: never;
705
+ header?: never;
706
+ path?: never;
707
+ cookie?: never;
708
+ };
709
+ /**
710
+ * Test and QA pillar (tests-qa slice)
711
+ * @description Returns per-repo `tests-qa` dimension only (issue
712
+ */
713
+ get: operations["getAgenticFoundationTestQa"];
714
+ put?: never;
715
+ post?: never;
716
+ delete?: never;
717
+ options?: never;
718
+ head?: never;
719
+ patch?: never;
720
+ trace?: never;
721
+ };
722
+ "/workspaces/{workspaceId}/agentic-foundation/observability": {
723
+ parameters: {
724
+ query?: never;
725
+ header?: never;
726
+ path?: never;
727
+ cookie?: never;
728
+ };
729
+ /**
730
+ * Observability pillar (observability slice)
731
+ * @description Returns per-repo `observability` dimension only (issue
732
+ */
733
+ get: operations["getAgenticFoundationObservability"];
734
+ put?: never;
735
+ post?: never;
736
+ delete?: never;
737
+ options?: never;
738
+ head?: never;
739
+ patch?: never;
740
+ trace?: never;
741
+ };
742
+ "/workspaces/{workspaceId}/agentic-foundation/api-contract": {
743
+ parameters: {
744
+ query?: never;
745
+ header?: never;
746
+ path?: never;
747
+ cookie?: never;
748
+ };
749
+ /**
750
+ * API contract pillar (api-contracts slice)
751
+ * @description Returns per-repo `api-contracts` dimension only (issue
752
+ */
753
+ get: operations["getAgenticFoundationApiContract"];
754
+ put?: never;
755
+ post?: never;
756
+ delete?: never;
757
+ options?: never;
758
+ head?: never;
759
+ patch?: never;
760
+ trace?: never;
761
+ };
762
+ "/workspaces/{workspaceId}/agentic-foundation/platform-governance": {
763
+ parameters: {
764
+ query?: never;
765
+ header?: never;
766
+ path?: never;
767
+ cookie?: never;
768
+ };
769
+ /**
770
+ * Platform governance pillar (platform-governance slice)
771
+ * @description Returns per-repo `platform-governance` dimension only (issue
772
+ */
773
+ get: operations["getAgenticFoundationPlatformGovernance"];
774
+ put?: never;
775
+ post?: never;
776
+ delete?: never;
777
+ options?: never;
778
+ head?: never;
779
+ patch?: never;
780
+ trace?: never;
781
+ };
782
+ "/workspaces/{workspaceId}/agentic-foundation/delivery-governance": {
783
+ parameters: {
784
+ query?: never;
785
+ header?: never;
786
+ path?: never;
787
+ cookie?: never;
788
+ };
789
+ /**
790
+ * Delivery governance pillar (delivery slice)
791
+ * @description Returns per-repo `delivery` dimension only (issue
792
+ */
793
+ get: operations["getAgenticFoundationDeliveryGovernance"];
794
+ put?: never;
795
+ post?: never;
796
+ delete?: never;
797
+ options?: never;
798
+ head?: never;
799
+ patch?: never;
800
+ trace?: never;
801
+ };
802
+ "/workspaces/{workspaceId}/agentic-foundation/ai-resolution-hub": {
803
+ parameters: {
804
+ query?: never;
805
+ header?: never;
806
+ path?: never;
807
+ cookie?: never;
808
+ };
809
+ /**
810
+ * AI resolution hub (full readiness scorecards)
811
+ * @description Returns the same payload as `GET .../readiness/repos` (all dimensions per repo) for cross-pillar hub views (issue #288).
812
+ */
813
+ get: operations["getAgenticFoundationAiResolutionHub"];
814
+ put?: never;
815
+ post?: never;
816
+ delete?: never;
817
+ options?: never;
818
+ head?: never;
819
+ patch?: never;
820
+ trace?: never;
821
+ };
619
822
  "/workspaces/{workspaceId}/readiness/dimensions": {
620
823
  parameters: {
621
824
  query?: never;
@@ -623,7 +826,10 @@ export interface paths {
623
826
  path?: never;
624
827
  cookie?: never;
625
828
  };
626
- /** Readiness dimensions catalog */
829
+ /**
830
+ * Readiness dimensions catalog
831
+ * @description Returns static rubric metadata (id, name, description, maxScore) aligned with the readiness scanner dimensions. Does not run scoring on the request path.
832
+ */
627
833
  get: operations["listReadinessDimensions"];
628
834
  put?: never;
629
835
  post?: never;
@@ -640,10 +846,16 @@ export interface paths {
640
846
  path?: never;
641
847
  cookie?: never;
642
848
  };
643
- /** List fix requests */
849
+ /**
850
+ * List fix requests
851
+ * @description Returns persisted fix-queue rows for the workspace (newest first). Empty array when none exist.
852
+ */
644
853
  get: operations["listReadinessFixes"];
645
854
  put?: never;
646
- /** Enqueue fix for an issue */
855
+ /**
856
+ * Enqueue fix for an issue
857
+ * @description Creates a fix request with `status: queued` when `issueId` belongs to `repoId` in this workspace. Requires workspace editor or admin. Re-posting the same `issueId` and `repoId` returns the existing row (idempotent).
858
+ */
647
859
  post: operations["postReadinessFix"];
648
860
  delete?: never;
649
861
  options?: never;
@@ -1189,6 +1401,11 @@ export interface components {
1189
1401
  };
1190
1402
  /** @enum {string} */
1191
1403
  ReadinessRunStatusDto: "queued" | "running" | "succeeded" | "failed" | "partial_failed";
1404
+ /**
1405
+ * @description Whether an AI readiness analysis run is queued or in progress for this repository slug. `idle` means no `queued`/`running` row exists in `tai_workspace_readiness_runs`.
1406
+ * @enum {string}
1407
+ */
1408
+ ReadinessRepoAnalysisStatusDto: "idle" | "queued" | "running";
1192
1409
  ReadinessRunSummaryDto: {
1193
1410
  /** Format: uuid */
1194
1411
  runId: string;
@@ -1234,6 +1451,43 @@ export interface components {
1234
1451
  /** Format: uuid */
1235
1452
  teamId?: string | null;
1236
1453
  provider: components["schemas"]["RepoProviderDto"];
1454
+ analysisStatus: components["schemas"]["ReadinessRepoAnalysisStatusDto"];
1455
+ /**
1456
+ * Format: uuid
1457
+ * @description Present when `analysisStatus` is `queued` or `running`; use with `GET .../readiness/runs/{runId}`.
1458
+ */
1459
+ activeRunId?: string | null;
1460
+ };
1461
+ AgenticFoundationDashboardSummaryDto: {
1462
+ repoCount: number;
1463
+ averageOverallScore: number;
1464
+ issueCount: number;
1465
+ criticalIssueCount: number;
1466
+ };
1467
+ AgenticFoundationDashboardIssueDto: {
1468
+ /** Format: uuid */
1469
+ id: string;
1470
+ /** Format: uuid */
1471
+ repoId: string;
1472
+ repoName: string;
1473
+ provider: components["schemas"]["RepoProviderDto"];
1474
+ dimensionId: components["schemas"]["ReadinessDimensionId"];
1475
+ /** @enum {string} */
1476
+ severity: "critical" | "high" | "medium" | "low";
1477
+ title: string;
1478
+ description: string;
1479
+ filePath: string | null;
1480
+ /** @enum {string} */
1481
+ fixStatus: "open" | "pr-pending" | "fixed";
1482
+ };
1483
+ AgenticFoundationDashboardDto: {
1484
+ /** Format: uuid */
1485
+ workspaceId: string;
1486
+ /** Format: date-time */
1487
+ generatedAt: string;
1488
+ summary: components["schemas"]["AgenticFoundationDashboardSummaryDto"];
1489
+ repos: components["schemas"]["RepoReadinessScoreDto"][];
1490
+ issueQueue: components["schemas"]["AgenticFoundationDashboardIssueDto"][];
1237
1491
  };
1238
1492
  FixRequestDto: {
1239
1493
  id: string;
@@ -1251,7 +1505,15 @@ export interface components {
1251
1505
  createdAt: string;
1252
1506
  };
1253
1507
  CreateFixRequestBodyDto: {
1508
+ /**
1509
+ * Format: uuid
1510
+ * @description Readiness issue id from stored scorecard data
1511
+ */
1254
1512
  issueId: string;
1513
+ /**
1514
+ * Format: uuid
1515
+ * @description Workspace repository id that owns the issue
1516
+ */
1255
1517
  repoId: string;
1256
1518
  };
1257
1519
  PhaseRoleDto: {
@@ -1483,10 +1745,14 @@ export type RepoProviderDto = components['schemas']['RepoProviderDto'];
1483
1745
  export type ReadinessAnalyzeBodyDto = components['schemas']['ReadinessAnalyzeBodyDto'];
1484
1746
  export type ReadinessAnalyzeResponseDto = components['schemas']['ReadinessAnalyzeResponseDto'];
1485
1747
  export type ReadinessRunStatusDto = components['schemas']['ReadinessRunStatusDto'];
1748
+ export type ReadinessRepoAnalysisStatusDto = components['schemas']['ReadinessRepoAnalysisStatusDto'];
1486
1749
  export type ReadinessRunSummaryDto = components['schemas']['ReadinessRunSummaryDto'];
1487
1750
  export type ReadinessIssueDto = components['schemas']['ReadinessIssueDto'];
1488
1751
  export type DimensionScoreDto = components['schemas']['DimensionScoreDto'];
1489
1752
  export type RepoReadinessScoreDto = components['schemas']['RepoReadinessScoreDto'];
1753
+ export type AgenticFoundationDashboardSummaryDto = components['schemas']['AgenticFoundationDashboardSummaryDto'];
1754
+ export type AgenticFoundationDashboardIssueDto = components['schemas']['AgenticFoundationDashboardIssueDto'];
1755
+ export type AgenticFoundationDashboardDto = components['schemas']['AgenticFoundationDashboardDto'];
1490
1756
  export type FixRequestDto = components['schemas']['FixRequestDto'];
1491
1757
  export type CreateFixRequestBodyDto = components['schemas']['CreateFixRequestBodyDto'];
1492
1758
  export type PhaseRoleDto = components['schemas']['PhaseRoleDto'];
@@ -2925,10 +3191,29 @@ export interface operations {
2925
3191
  "application/json": components["schemas"]["RepoReadinessScoreDto"];
2926
3192
  };
2927
3193
  };
3194
+ /** @description Malformed `repoId` (not a UUID) */
3195
+ 400: {
3196
+ headers: {
3197
+ [name: string]: unknown;
3198
+ };
3199
+ content: {
3200
+ "application/json": components["schemas"]["ErrorMessageDto"];
3201
+ };
3202
+ };
2928
3203
  401: components["responses"]["Unauthorized"];
3204
+ 403: components["responses"]["Forbidden"];
3205
+ /** @description Workspace or repository not found */
3206
+ 404: {
3207
+ headers: {
3208
+ [name: string]: unknown;
3209
+ };
3210
+ content: {
3211
+ "application/json": components["schemas"]["ErrorMessageDto"];
3212
+ };
3213
+ };
2929
3214
  };
2930
3215
  };
2931
- listReadinessDimensions: {
3216
+ getAgenticFoundationDashboard: {
2932
3217
  parameters: {
2933
3218
  query?: never;
2934
3219
  header?: never;
@@ -2939,19 +3224,29 @@ export interface operations {
2939
3224
  };
2940
3225
  requestBody?: never;
2941
3226
  responses: {
2942
- /** @description Dimensions */
3227
+ /** @description Dashboard scorecards and issue queue */
2943
3228
  200: {
2944
3229
  headers: {
2945
3230
  [name: string]: unknown;
2946
3231
  };
2947
3232
  content: {
2948
- "application/json": components["schemas"]["ReadinessDimensionDto"][];
3233
+ "application/json": components["schemas"]["AgenticFoundationDashboardDto"];
2949
3234
  };
2950
3235
  };
2951
3236
  401: components["responses"]["Unauthorized"];
3237
+ 403: components["responses"]["Forbidden"];
3238
+ /** @description Workspace does not exist */
3239
+ 404: {
3240
+ headers: {
3241
+ [name: string]: unknown;
3242
+ };
3243
+ content: {
3244
+ "application/json": components["schemas"]["ErrorMessageDto"];
3245
+ };
3246
+ };
2952
3247
  };
2953
3248
  };
2954
- listReadinessFixes: {
3249
+ getAgenticFoundationAgenticReadiness: {
2955
3250
  parameters: {
2956
3251
  query?: never;
2957
3252
  header?: never;
@@ -2962,19 +3257,29 @@ export interface operations {
2962
3257
  };
2963
3258
  requestBody?: never;
2964
3259
  responses: {
2965
- /** @description Fix queue */
3260
+ /** @description Repositories with ai-agent-readiness slice */
2966
3261
  200: {
2967
3262
  headers: {
2968
3263
  [name: string]: unknown;
2969
3264
  };
2970
3265
  content: {
2971
- "application/json": components["schemas"]["FixRequestDto"][];
3266
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
2972
3267
  };
2973
3268
  };
2974
3269
  401: components["responses"]["Unauthorized"];
3270
+ 403: components["responses"]["Forbidden"];
3271
+ /** @description Workspace does not exist */
3272
+ 404: {
3273
+ headers: {
3274
+ [name: string]: unknown;
3275
+ };
3276
+ content: {
3277
+ "application/json": components["schemas"]["ErrorMessageDto"];
3278
+ };
3279
+ };
2975
3280
  };
2976
3281
  };
2977
- postReadinessFix: {
3282
+ getAgenticFoundationRepositoryHealth: {
2978
3283
  parameters: {
2979
3284
  query?: never;
2980
3285
  header?: never;
@@ -2983,22 +3288,371 @@ export interface operations {
2983
3288
  };
2984
3289
  cookie?: never;
2985
3290
  };
2986
- requestBody: {
2987
- content: {
2988
- "application/json": components["schemas"]["CreateFixRequestBodyDto"];
2989
- };
2990
- };
3291
+ requestBody?: never;
2991
3292
  responses: {
2992
- /** @description Fix request created */
3293
+ /** @description Repositories with repo-hygiene slice */
2993
3294
  200: {
2994
3295
  headers: {
2995
3296
  [name: string]: unknown;
2996
3297
  };
2997
3298
  content: {
2998
- "application/json": components["schemas"]["FixRequestDto"];
3299
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
2999
3300
  };
3000
3301
  };
3001
3302
  401: components["responses"]["Unauthorized"];
3303
+ 403: components["responses"]["Forbidden"];
3304
+ /** @description Workspace does not exist */
3305
+ 404: {
3306
+ headers: {
3307
+ [name: string]: unknown;
3308
+ };
3309
+ content: {
3310
+ "application/json": components["schemas"]["ErrorMessageDto"];
3311
+ };
3312
+ };
3313
+ };
3314
+ };
3315
+ getAgenticFoundationCodebaseQuality: {
3316
+ parameters: {
3317
+ query?: never;
3318
+ header?: never;
3319
+ path: {
3320
+ workspaceId: components["parameters"]["WorkspaceId"];
3321
+ };
3322
+ cookie?: never;
3323
+ };
3324
+ requestBody?: never;
3325
+ responses: {
3326
+ /** @description Repositories with stack-quality slice */
3327
+ 200: {
3328
+ headers: {
3329
+ [name: string]: unknown;
3330
+ };
3331
+ content: {
3332
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3333
+ };
3334
+ };
3335
+ 401: components["responses"]["Unauthorized"];
3336
+ 403: components["responses"]["Forbidden"];
3337
+ /** @description Workspace does not exist */
3338
+ 404: {
3339
+ headers: {
3340
+ [name: string]: unknown;
3341
+ };
3342
+ content: {
3343
+ "application/json": components["schemas"]["ErrorMessageDto"];
3344
+ };
3345
+ };
3346
+ };
3347
+ };
3348
+ getAgenticFoundationTestQa: {
3349
+ parameters: {
3350
+ query?: never;
3351
+ header?: never;
3352
+ path: {
3353
+ workspaceId: components["parameters"]["WorkspaceId"];
3354
+ };
3355
+ cookie?: never;
3356
+ };
3357
+ requestBody?: never;
3358
+ responses: {
3359
+ /** @description Repositories with tests-qa slice */
3360
+ 200: {
3361
+ headers: {
3362
+ [name: string]: unknown;
3363
+ };
3364
+ content: {
3365
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3366
+ };
3367
+ };
3368
+ 401: components["responses"]["Unauthorized"];
3369
+ 403: components["responses"]["Forbidden"];
3370
+ /** @description Workspace does not exist */
3371
+ 404: {
3372
+ headers: {
3373
+ [name: string]: unknown;
3374
+ };
3375
+ content: {
3376
+ "application/json": components["schemas"]["ErrorMessageDto"];
3377
+ };
3378
+ };
3379
+ };
3380
+ };
3381
+ getAgenticFoundationObservability: {
3382
+ parameters: {
3383
+ query?: never;
3384
+ header?: never;
3385
+ path: {
3386
+ workspaceId: components["parameters"]["WorkspaceId"];
3387
+ };
3388
+ cookie?: never;
3389
+ };
3390
+ requestBody?: never;
3391
+ responses: {
3392
+ /** @description Repositories with observability slice */
3393
+ 200: {
3394
+ headers: {
3395
+ [name: string]: unknown;
3396
+ };
3397
+ content: {
3398
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3399
+ };
3400
+ };
3401
+ 401: components["responses"]["Unauthorized"];
3402
+ 403: components["responses"]["Forbidden"];
3403
+ /** @description Workspace does not exist */
3404
+ 404: {
3405
+ headers: {
3406
+ [name: string]: unknown;
3407
+ };
3408
+ content: {
3409
+ "application/json": components["schemas"]["ErrorMessageDto"];
3410
+ };
3411
+ };
3412
+ };
3413
+ };
3414
+ getAgenticFoundationApiContract: {
3415
+ parameters: {
3416
+ query?: never;
3417
+ header?: never;
3418
+ path: {
3419
+ workspaceId: components["parameters"]["WorkspaceId"];
3420
+ };
3421
+ cookie?: never;
3422
+ };
3423
+ requestBody?: never;
3424
+ responses: {
3425
+ /** @description Repositories with api-contracts slice */
3426
+ 200: {
3427
+ headers: {
3428
+ [name: string]: unknown;
3429
+ };
3430
+ content: {
3431
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3432
+ };
3433
+ };
3434
+ 401: components["responses"]["Unauthorized"];
3435
+ 403: components["responses"]["Forbidden"];
3436
+ /** @description Workspace does not exist */
3437
+ 404: {
3438
+ headers: {
3439
+ [name: string]: unknown;
3440
+ };
3441
+ content: {
3442
+ "application/json": components["schemas"]["ErrorMessageDto"];
3443
+ };
3444
+ };
3445
+ };
3446
+ };
3447
+ getAgenticFoundationPlatformGovernance: {
3448
+ parameters: {
3449
+ query?: never;
3450
+ header?: never;
3451
+ path: {
3452
+ workspaceId: components["parameters"]["WorkspaceId"];
3453
+ };
3454
+ cookie?: never;
3455
+ };
3456
+ requestBody?: never;
3457
+ responses: {
3458
+ /** @description Repositories with platform-governance slice */
3459
+ 200: {
3460
+ headers: {
3461
+ [name: string]: unknown;
3462
+ };
3463
+ content: {
3464
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3465
+ };
3466
+ };
3467
+ 401: components["responses"]["Unauthorized"];
3468
+ 403: components["responses"]["Forbidden"];
3469
+ /** @description Workspace does not exist */
3470
+ 404: {
3471
+ headers: {
3472
+ [name: string]: unknown;
3473
+ };
3474
+ content: {
3475
+ "application/json": components["schemas"]["ErrorMessageDto"];
3476
+ };
3477
+ };
3478
+ };
3479
+ };
3480
+ getAgenticFoundationDeliveryGovernance: {
3481
+ parameters: {
3482
+ query?: never;
3483
+ header?: never;
3484
+ path: {
3485
+ workspaceId: components["parameters"]["WorkspaceId"];
3486
+ };
3487
+ cookie?: never;
3488
+ };
3489
+ requestBody?: never;
3490
+ responses: {
3491
+ /** @description Repositories with delivery slice */
3492
+ 200: {
3493
+ headers: {
3494
+ [name: string]: unknown;
3495
+ };
3496
+ content: {
3497
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3498
+ };
3499
+ };
3500
+ 401: components["responses"]["Unauthorized"];
3501
+ 403: components["responses"]["Forbidden"];
3502
+ /** @description Workspace does not exist */
3503
+ 404: {
3504
+ headers: {
3505
+ [name: string]: unknown;
3506
+ };
3507
+ content: {
3508
+ "application/json": components["schemas"]["ErrorMessageDto"];
3509
+ };
3510
+ };
3511
+ };
3512
+ };
3513
+ getAgenticFoundationAiResolutionHub: {
3514
+ parameters: {
3515
+ query?: never;
3516
+ header?: never;
3517
+ path: {
3518
+ workspaceId: components["parameters"]["WorkspaceId"];
3519
+ };
3520
+ cookie?: never;
3521
+ };
3522
+ requestBody?: never;
3523
+ responses: {
3524
+ /** @description Full repository readiness scorecards */
3525
+ 200: {
3526
+ headers: {
3527
+ [name: string]: unknown;
3528
+ };
3529
+ content: {
3530
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3531
+ };
3532
+ };
3533
+ 401: components["responses"]["Unauthorized"];
3534
+ 403: components["responses"]["Forbidden"];
3535
+ /** @description Workspace does not exist */
3536
+ 404: {
3537
+ headers: {
3538
+ [name: string]: unknown;
3539
+ };
3540
+ content: {
3541
+ "application/json": components["schemas"]["ErrorMessageDto"];
3542
+ };
3543
+ };
3544
+ };
3545
+ };
3546
+ listReadinessDimensions: {
3547
+ parameters: {
3548
+ query?: never;
3549
+ header?: never;
3550
+ path: {
3551
+ workspaceId: components["parameters"]["WorkspaceId"];
3552
+ };
3553
+ cookie?: never;
3554
+ };
3555
+ requestBody?: never;
3556
+ responses: {
3557
+ /** @description Dimensions */
3558
+ 200: {
3559
+ headers: {
3560
+ [name: string]: unknown;
3561
+ };
3562
+ content: {
3563
+ "application/json": components["schemas"]["ReadinessDimensionDto"][];
3564
+ };
3565
+ };
3566
+ 401: components["responses"]["Unauthorized"];
3567
+ 403: components["responses"]["Forbidden"];
3568
+ /** @description Workspace does not exist */
3569
+ 404: {
3570
+ headers: {
3571
+ [name: string]: unknown;
3572
+ };
3573
+ content: {
3574
+ "application/json": components["schemas"]["ErrorMessageDto"];
3575
+ };
3576
+ };
3577
+ };
3578
+ };
3579
+ listReadinessFixes: {
3580
+ parameters: {
3581
+ query?: never;
3582
+ header?: never;
3583
+ path: {
3584
+ workspaceId: components["parameters"]["WorkspaceId"];
3585
+ };
3586
+ cookie?: never;
3587
+ };
3588
+ requestBody?: never;
3589
+ responses: {
3590
+ /** @description Fix queue */
3591
+ 200: {
3592
+ headers: {
3593
+ [name: string]: unknown;
3594
+ };
3595
+ content: {
3596
+ "application/json": components["schemas"]["FixRequestDto"][];
3597
+ };
3598
+ };
3599
+ 401: components["responses"]["Unauthorized"];
3600
+ 403: components["responses"]["Forbidden"];
3601
+ /** @description Workspace does not exist */
3602
+ 404: {
3603
+ headers: {
3604
+ [name: string]: unknown;
3605
+ };
3606
+ content: {
3607
+ "application/json": components["schemas"]["ErrorMessageDto"];
3608
+ };
3609
+ };
3610
+ };
3611
+ };
3612
+ postReadinessFix: {
3613
+ parameters: {
3614
+ query?: never;
3615
+ header?: never;
3616
+ path: {
3617
+ workspaceId: components["parameters"]["WorkspaceId"];
3618
+ };
3619
+ cookie?: never;
3620
+ };
3621
+ requestBody: {
3622
+ content: {
3623
+ "application/json": components["schemas"]["CreateFixRequestBodyDto"];
3624
+ };
3625
+ };
3626
+ responses: {
3627
+ /** @description Fix request created or existing row returned */
3628
+ 200: {
3629
+ headers: {
3630
+ [name: string]: unknown;
3631
+ };
3632
+ content: {
3633
+ "application/json": components["schemas"]["FixRequestDto"];
3634
+ };
3635
+ };
3636
+ /** @description Invalid body or malformed `repoId` (not a UUID) */
3637
+ 400: {
3638
+ headers: {
3639
+ [name: string]: unknown;
3640
+ };
3641
+ content: {
3642
+ "application/json": components["schemas"]["ErrorMessageDto"];
3643
+ };
3644
+ };
3645
+ 401: components["responses"]["Unauthorized"];
3646
+ 403: components["responses"]["Forbidden"];
3647
+ /** @description Workspace not found, or issue/repo pair not in workspace */
3648
+ 404: {
3649
+ headers: {
3650
+ [name: string]: unknown;
3651
+ };
3652
+ content: {
3653
+ "application/json": components["schemas"]["ErrorMessageDto"];
3654
+ };
3655
+ };
3002
3656
  };
3003
3657
  };
3004
3658
  getSquad: {