@thinkai/tai-api-contract 2.4.0 → 2.4.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.
@@ -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;
@@ -1235,6 +1438,37 @@ export interface components {
1235
1438
  teamId?: string | null;
1236
1439
  provider: components["schemas"]["RepoProviderDto"];
1237
1440
  };
1441
+ AgenticFoundationDashboardSummaryDto: {
1442
+ repoCount: number;
1443
+ averageOverallScore: number;
1444
+ issueCount: number;
1445
+ criticalIssueCount: number;
1446
+ };
1447
+ AgenticFoundationDashboardIssueDto: {
1448
+ /** Format: uuid */
1449
+ id: string;
1450
+ /** Format: uuid */
1451
+ repoId: string;
1452
+ repoName: string;
1453
+ provider: components["schemas"]["RepoProviderDto"];
1454
+ dimensionId: components["schemas"]["ReadinessDimensionId"];
1455
+ /** @enum {string} */
1456
+ severity: "critical" | "high" | "medium" | "low";
1457
+ title: string;
1458
+ description: string;
1459
+ filePath: string | null;
1460
+ /** @enum {string} */
1461
+ fixStatus: "open" | "pr-pending" | "fixed";
1462
+ };
1463
+ AgenticFoundationDashboardDto: {
1464
+ /** Format: uuid */
1465
+ workspaceId: string;
1466
+ /** Format: date-time */
1467
+ generatedAt: string;
1468
+ summary: components["schemas"]["AgenticFoundationDashboardSummaryDto"];
1469
+ repos: components["schemas"]["RepoReadinessScoreDto"][];
1470
+ issueQueue: components["schemas"]["AgenticFoundationDashboardIssueDto"][];
1471
+ };
1238
1472
  FixRequestDto: {
1239
1473
  id: string;
1240
1474
  issueId: string;
@@ -1487,6 +1721,9 @@ export type ReadinessRunSummaryDto = components['schemas']['ReadinessRunSummaryD
1487
1721
  export type ReadinessIssueDto = components['schemas']['ReadinessIssueDto'];
1488
1722
  export type DimensionScoreDto = components['schemas']['DimensionScoreDto'];
1489
1723
  export type RepoReadinessScoreDto = components['schemas']['RepoReadinessScoreDto'];
1724
+ export type AgenticFoundationDashboardSummaryDto = components['schemas']['AgenticFoundationDashboardSummaryDto'];
1725
+ export type AgenticFoundationDashboardIssueDto = components['schemas']['AgenticFoundationDashboardIssueDto'];
1726
+ export type AgenticFoundationDashboardDto = components['schemas']['AgenticFoundationDashboardDto'];
1490
1727
  export type FixRequestDto = components['schemas']['FixRequestDto'];
1491
1728
  export type CreateFixRequestBodyDto = components['schemas']['CreateFixRequestBodyDto'];
1492
1729
  export type PhaseRoleDto = components['schemas']['PhaseRoleDto'];
@@ -2925,7 +3162,356 @@ export interface operations {
2925
3162
  "application/json": components["schemas"]["RepoReadinessScoreDto"];
2926
3163
  };
2927
3164
  };
3165
+ /** @description Malformed `repoId` (not a UUID) */
3166
+ 400: {
3167
+ headers: {
3168
+ [name: string]: unknown;
3169
+ };
3170
+ content: {
3171
+ "application/json": components["schemas"]["ErrorMessageDto"];
3172
+ };
3173
+ };
3174
+ 401: components["responses"]["Unauthorized"];
3175
+ 403: components["responses"]["Forbidden"];
3176
+ /** @description Workspace or repository not found */
3177
+ 404: {
3178
+ headers: {
3179
+ [name: string]: unknown;
3180
+ };
3181
+ content: {
3182
+ "application/json": components["schemas"]["ErrorMessageDto"];
3183
+ };
3184
+ };
3185
+ };
3186
+ };
3187
+ getAgenticFoundationDashboard: {
3188
+ parameters: {
3189
+ query?: never;
3190
+ header?: never;
3191
+ path: {
3192
+ workspaceId: components["parameters"]["WorkspaceId"];
3193
+ };
3194
+ cookie?: never;
3195
+ };
3196
+ requestBody?: never;
3197
+ responses: {
3198
+ /** @description Dashboard scorecards and issue queue */
3199
+ 200: {
3200
+ headers: {
3201
+ [name: string]: unknown;
3202
+ };
3203
+ content: {
3204
+ "application/json": components["schemas"]["AgenticFoundationDashboardDto"];
3205
+ };
3206
+ };
3207
+ 401: components["responses"]["Unauthorized"];
3208
+ 403: components["responses"]["Forbidden"];
3209
+ /** @description Workspace does not exist */
3210
+ 404: {
3211
+ headers: {
3212
+ [name: string]: unknown;
3213
+ };
3214
+ content: {
3215
+ "application/json": components["schemas"]["ErrorMessageDto"];
3216
+ };
3217
+ };
3218
+ };
3219
+ };
3220
+ getAgenticFoundationAgenticReadiness: {
3221
+ parameters: {
3222
+ query?: never;
3223
+ header?: never;
3224
+ path: {
3225
+ workspaceId: components["parameters"]["WorkspaceId"];
3226
+ };
3227
+ cookie?: never;
3228
+ };
3229
+ requestBody?: never;
3230
+ responses: {
3231
+ /** @description Repositories with ai-agent-readiness slice */
3232
+ 200: {
3233
+ headers: {
3234
+ [name: string]: unknown;
3235
+ };
3236
+ content: {
3237
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3238
+ };
3239
+ };
3240
+ 401: components["responses"]["Unauthorized"];
3241
+ 403: components["responses"]["Forbidden"];
3242
+ /** @description Workspace does not exist */
3243
+ 404: {
3244
+ headers: {
3245
+ [name: string]: unknown;
3246
+ };
3247
+ content: {
3248
+ "application/json": components["schemas"]["ErrorMessageDto"];
3249
+ };
3250
+ };
3251
+ };
3252
+ };
3253
+ getAgenticFoundationRepositoryHealth: {
3254
+ parameters: {
3255
+ query?: never;
3256
+ header?: never;
3257
+ path: {
3258
+ workspaceId: components["parameters"]["WorkspaceId"];
3259
+ };
3260
+ cookie?: never;
3261
+ };
3262
+ requestBody?: never;
3263
+ responses: {
3264
+ /** @description Repositories with repo-hygiene slice */
3265
+ 200: {
3266
+ headers: {
3267
+ [name: string]: unknown;
3268
+ };
3269
+ content: {
3270
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3271
+ };
3272
+ };
3273
+ 401: components["responses"]["Unauthorized"];
3274
+ 403: components["responses"]["Forbidden"];
3275
+ /** @description Workspace does not exist */
3276
+ 404: {
3277
+ headers: {
3278
+ [name: string]: unknown;
3279
+ };
3280
+ content: {
3281
+ "application/json": components["schemas"]["ErrorMessageDto"];
3282
+ };
3283
+ };
3284
+ };
3285
+ };
3286
+ getAgenticFoundationCodebaseQuality: {
3287
+ parameters: {
3288
+ query?: never;
3289
+ header?: never;
3290
+ path: {
3291
+ workspaceId: components["parameters"]["WorkspaceId"];
3292
+ };
3293
+ cookie?: never;
3294
+ };
3295
+ requestBody?: never;
3296
+ responses: {
3297
+ /** @description Repositories with stack-quality slice */
3298
+ 200: {
3299
+ headers: {
3300
+ [name: string]: unknown;
3301
+ };
3302
+ content: {
3303
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3304
+ };
3305
+ };
3306
+ 401: components["responses"]["Unauthorized"];
3307
+ 403: components["responses"]["Forbidden"];
3308
+ /** @description Workspace does not exist */
3309
+ 404: {
3310
+ headers: {
3311
+ [name: string]: unknown;
3312
+ };
3313
+ content: {
3314
+ "application/json": components["schemas"]["ErrorMessageDto"];
3315
+ };
3316
+ };
3317
+ };
3318
+ };
3319
+ getAgenticFoundationTestQa: {
3320
+ parameters: {
3321
+ query?: never;
3322
+ header?: never;
3323
+ path: {
3324
+ workspaceId: components["parameters"]["WorkspaceId"];
3325
+ };
3326
+ cookie?: never;
3327
+ };
3328
+ requestBody?: never;
3329
+ responses: {
3330
+ /** @description Repositories with tests-qa slice */
3331
+ 200: {
3332
+ headers: {
3333
+ [name: string]: unknown;
3334
+ };
3335
+ content: {
3336
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3337
+ };
3338
+ };
3339
+ 401: components["responses"]["Unauthorized"];
3340
+ 403: components["responses"]["Forbidden"];
3341
+ /** @description Workspace does not exist */
3342
+ 404: {
3343
+ headers: {
3344
+ [name: string]: unknown;
3345
+ };
3346
+ content: {
3347
+ "application/json": components["schemas"]["ErrorMessageDto"];
3348
+ };
3349
+ };
3350
+ };
3351
+ };
3352
+ getAgenticFoundationObservability: {
3353
+ parameters: {
3354
+ query?: never;
3355
+ header?: never;
3356
+ path: {
3357
+ workspaceId: components["parameters"]["WorkspaceId"];
3358
+ };
3359
+ cookie?: never;
3360
+ };
3361
+ requestBody?: never;
3362
+ responses: {
3363
+ /** @description Repositories with observability slice */
3364
+ 200: {
3365
+ headers: {
3366
+ [name: string]: unknown;
3367
+ };
3368
+ content: {
3369
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3370
+ };
3371
+ };
3372
+ 401: components["responses"]["Unauthorized"];
3373
+ 403: components["responses"]["Forbidden"];
3374
+ /** @description Workspace does not exist */
3375
+ 404: {
3376
+ headers: {
3377
+ [name: string]: unknown;
3378
+ };
3379
+ content: {
3380
+ "application/json": components["schemas"]["ErrorMessageDto"];
3381
+ };
3382
+ };
3383
+ };
3384
+ };
3385
+ getAgenticFoundationApiContract: {
3386
+ parameters: {
3387
+ query?: never;
3388
+ header?: never;
3389
+ path: {
3390
+ workspaceId: components["parameters"]["WorkspaceId"];
3391
+ };
3392
+ cookie?: never;
3393
+ };
3394
+ requestBody?: never;
3395
+ responses: {
3396
+ /** @description Repositories with api-contracts slice */
3397
+ 200: {
3398
+ headers: {
3399
+ [name: string]: unknown;
3400
+ };
3401
+ content: {
3402
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3403
+ };
3404
+ };
3405
+ 401: components["responses"]["Unauthorized"];
3406
+ 403: components["responses"]["Forbidden"];
3407
+ /** @description Workspace does not exist */
3408
+ 404: {
3409
+ headers: {
3410
+ [name: string]: unknown;
3411
+ };
3412
+ content: {
3413
+ "application/json": components["schemas"]["ErrorMessageDto"];
3414
+ };
3415
+ };
3416
+ };
3417
+ };
3418
+ getAgenticFoundationPlatformGovernance: {
3419
+ parameters: {
3420
+ query?: never;
3421
+ header?: never;
3422
+ path: {
3423
+ workspaceId: components["parameters"]["WorkspaceId"];
3424
+ };
3425
+ cookie?: never;
3426
+ };
3427
+ requestBody?: never;
3428
+ responses: {
3429
+ /** @description Repositories with platform-governance slice */
3430
+ 200: {
3431
+ headers: {
3432
+ [name: string]: unknown;
3433
+ };
3434
+ content: {
3435
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3436
+ };
3437
+ };
2928
3438
  401: components["responses"]["Unauthorized"];
3439
+ 403: components["responses"]["Forbidden"];
3440
+ /** @description Workspace does not exist */
3441
+ 404: {
3442
+ headers: {
3443
+ [name: string]: unknown;
3444
+ };
3445
+ content: {
3446
+ "application/json": components["schemas"]["ErrorMessageDto"];
3447
+ };
3448
+ };
3449
+ };
3450
+ };
3451
+ getAgenticFoundationDeliveryGovernance: {
3452
+ parameters: {
3453
+ query?: never;
3454
+ header?: never;
3455
+ path: {
3456
+ workspaceId: components["parameters"]["WorkspaceId"];
3457
+ };
3458
+ cookie?: never;
3459
+ };
3460
+ requestBody?: never;
3461
+ responses: {
3462
+ /** @description Repositories with delivery slice */
3463
+ 200: {
3464
+ headers: {
3465
+ [name: string]: unknown;
3466
+ };
3467
+ content: {
3468
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3469
+ };
3470
+ };
3471
+ 401: components["responses"]["Unauthorized"];
3472
+ 403: components["responses"]["Forbidden"];
3473
+ /** @description Workspace does not exist */
3474
+ 404: {
3475
+ headers: {
3476
+ [name: string]: unknown;
3477
+ };
3478
+ content: {
3479
+ "application/json": components["schemas"]["ErrorMessageDto"];
3480
+ };
3481
+ };
3482
+ };
3483
+ };
3484
+ getAgenticFoundationAiResolutionHub: {
3485
+ parameters: {
3486
+ query?: never;
3487
+ header?: never;
3488
+ path: {
3489
+ workspaceId: components["parameters"]["WorkspaceId"];
3490
+ };
3491
+ cookie?: never;
3492
+ };
3493
+ requestBody?: never;
3494
+ responses: {
3495
+ /** @description Full repository readiness scorecards */
3496
+ 200: {
3497
+ headers: {
3498
+ [name: string]: unknown;
3499
+ };
3500
+ content: {
3501
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3502
+ };
3503
+ };
3504
+ 401: components["responses"]["Unauthorized"];
3505
+ 403: components["responses"]["Forbidden"];
3506
+ /** @description Workspace does not exist */
3507
+ 404: {
3508
+ headers: {
3509
+ [name: string]: unknown;
3510
+ };
3511
+ content: {
3512
+ "application/json": components["schemas"]["ErrorMessageDto"];
3513
+ };
3514
+ };
2929
3515
  };
2930
3516
  };
2931
3517
  listReadinessDimensions: {