@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.
@@ -605,7 +605,10 @@ export interface paths {
605
605
  path?: never;
606
606
  cookie?: never;
607
607
  };
608
- /** Single repo readiness */
608
+ /**
609
+ * Single repo readiness
610
+ * @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).
611
+ */
609
612
  get: operations["getReadinessRepo"];
610
613
  put?: never;
611
614
  post?: never;
@@ -615,6 +618,206 @@ export interface paths {
615
618
  patch?: never;
616
619
  trace?: never;
617
620
  };
621
+ "/workspaces/{workspaceId}/agentic-foundation/dashboard": {
622
+ parameters: {
623
+ query?: never;
624
+ header?: never;
625
+ path?: never;
626
+ cookie?: never;
627
+ };
628
+ /**
629
+ * Agentic Foundation dashboard
630
+ * @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`.
631
+ */
632
+ get: operations["getAgenticFoundationDashboard"];
633
+ put?: never;
634
+ post?: never;
635
+ delete?: never;
636
+ options?: never;
637
+ head?: never;
638
+ patch?: never;
639
+ trace?: never;
640
+ };
641
+ "/workspaces/{workspaceId}/agentic-foundation/agentic-readiness": {
642
+ parameters: {
643
+ query?: never;
644
+ header?: never;
645
+ path?: never;
646
+ cookie?: never;
647
+ };
648
+ /**
649
+ * Agentic readiness pillar (stored dimension slice)
650
+ * @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).
651
+ */
652
+ get: operations["getAgenticFoundationAgenticReadiness"];
653
+ put?: never;
654
+ post?: never;
655
+ delete?: never;
656
+ options?: never;
657
+ head?: never;
658
+ patch?: never;
659
+ trace?: never;
660
+ };
661
+ "/workspaces/{workspaceId}/agentic-foundation/repository-health": {
662
+ parameters: {
663
+ query?: never;
664
+ header?: never;
665
+ path?: never;
666
+ cookie?: never;
667
+ };
668
+ /**
669
+ * Repository health pillar (repo-hygiene slice)
670
+ * @description Returns per-repo `repo-hygiene` dimension only (issue
671
+ */
672
+ get: operations["getAgenticFoundationRepositoryHealth"];
673
+ put?: never;
674
+ post?: never;
675
+ delete?: never;
676
+ options?: never;
677
+ head?: never;
678
+ patch?: never;
679
+ trace?: never;
680
+ };
681
+ "/workspaces/{workspaceId}/agentic-foundation/codebase-quality": {
682
+ parameters: {
683
+ query?: never;
684
+ header?: never;
685
+ path?: never;
686
+ cookie?: never;
687
+ };
688
+ /**
689
+ * Codebase quality pillar (stack-quality slice)
690
+ * @description Returns per-repo `stack-quality` dimension only (issue
691
+ */
692
+ get: operations["getAgenticFoundationCodebaseQuality"];
693
+ put?: never;
694
+ post?: never;
695
+ delete?: never;
696
+ options?: never;
697
+ head?: never;
698
+ patch?: never;
699
+ trace?: never;
700
+ };
701
+ "/workspaces/{workspaceId}/agentic-foundation/test-qa": {
702
+ parameters: {
703
+ query?: never;
704
+ header?: never;
705
+ path?: never;
706
+ cookie?: never;
707
+ };
708
+ /**
709
+ * Test and QA pillar (tests-qa slice)
710
+ * @description Returns per-repo `tests-qa` dimension only (issue
711
+ */
712
+ get: operations["getAgenticFoundationTestQa"];
713
+ put?: never;
714
+ post?: never;
715
+ delete?: never;
716
+ options?: never;
717
+ head?: never;
718
+ patch?: never;
719
+ trace?: never;
720
+ };
721
+ "/workspaces/{workspaceId}/agentic-foundation/observability": {
722
+ parameters: {
723
+ query?: never;
724
+ header?: never;
725
+ path?: never;
726
+ cookie?: never;
727
+ };
728
+ /**
729
+ * Observability pillar (observability slice)
730
+ * @description Returns per-repo `observability` dimension only (issue
731
+ */
732
+ get: operations["getAgenticFoundationObservability"];
733
+ put?: never;
734
+ post?: never;
735
+ delete?: never;
736
+ options?: never;
737
+ head?: never;
738
+ patch?: never;
739
+ trace?: never;
740
+ };
741
+ "/workspaces/{workspaceId}/agentic-foundation/api-contract": {
742
+ parameters: {
743
+ query?: never;
744
+ header?: never;
745
+ path?: never;
746
+ cookie?: never;
747
+ };
748
+ /**
749
+ * API contract pillar (api-contracts slice)
750
+ * @description Returns per-repo `api-contracts` dimension only (issue
751
+ */
752
+ get: operations["getAgenticFoundationApiContract"];
753
+ put?: never;
754
+ post?: never;
755
+ delete?: never;
756
+ options?: never;
757
+ head?: never;
758
+ patch?: never;
759
+ trace?: never;
760
+ };
761
+ "/workspaces/{workspaceId}/agentic-foundation/platform-governance": {
762
+ parameters: {
763
+ query?: never;
764
+ header?: never;
765
+ path?: never;
766
+ cookie?: never;
767
+ };
768
+ /**
769
+ * Platform governance pillar (platform-governance slice)
770
+ * @description Returns per-repo `platform-governance` dimension only (issue
771
+ */
772
+ get: operations["getAgenticFoundationPlatformGovernance"];
773
+ put?: never;
774
+ post?: never;
775
+ delete?: never;
776
+ options?: never;
777
+ head?: never;
778
+ patch?: never;
779
+ trace?: never;
780
+ };
781
+ "/workspaces/{workspaceId}/agentic-foundation/delivery-governance": {
782
+ parameters: {
783
+ query?: never;
784
+ header?: never;
785
+ path?: never;
786
+ cookie?: never;
787
+ };
788
+ /**
789
+ * Delivery governance pillar (delivery slice)
790
+ * @description Returns per-repo `delivery` dimension only (issue
791
+ */
792
+ get: operations["getAgenticFoundationDeliveryGovernance"];
793
+ put?: never;
794
+ post?: never;
795
+ delete?: never;
796
+ options?: never;
797
+ head?: never;
798
+ patch?: never;
799
+ trace?: never;
800
+ };
801
+ "/workspaces/{workspaceId}/agentic-foundation/ai-resolution-hub": {
802
+ parameters: {
803
+ query?: never;
804
+ header?: never;
805
+ path?: never;
806
+ cookie?: never;
807
+ };
808
+ /**
809
+ * AI resolution hub (full readiness scorecards)
810
+ * @description Returns the same payload as `GET .../readiness/repos` (all dimensions per repo) for cross-pillar hub views (issue #288).
811
+ */
812
+ get: operations["getAgenticFoundationAiResolutionHub"];
813
+ put?: never;
814
+ post?: never;
815
+ delete?: never;
816
+ options?: never;
817
+ head?: never;
818
+ patch?: never;
819
+ trace?: never;
820
+ };
618
821
  "/workspaces/{workspaceId}/readiness/dimensions": {
619
822
  parameters: {
620
823
  query?: never;
@@ -1234,6 +1437,37 @@ export interface components {
1234
1437
  teamId?: string | null;
1235
1438
  provider: components["schemas"]["RepoProviderDto"];
1236
1439
  };
1440
+ AgenticFoundationDashboardSummaryDto: {
1441
+ repoCount: number;
1442
+ averageOverallScore: number;
1443
+ issueCount: number;
1444
+ criticalIssueCount: number;
1445
+ };
1446
+ AgenticFoundationDashboardIssueDto: {
1447
+ /** Format: uuid */
1448
+ id: string;
1449
+ /** Format: uuid */
1450
+ repoId: string;
1451
+ repoName: string;
1452
+ provider: components["schemas"]["RepoProviderDto"];
1453
+ dimensionId: components["schemas"]["ReadinessDimensionId"];
1454
+ /** @enum {string} */
1455
+ severity: "critical" | "high" | "medium" | "low";
1456
+ title: string;
1457
+ description: string;
1458
+ filePath: string | null;
1459
+ /** @enum {string} */
1460
+ fixStatus: "open" | "pr-pending" | "fixed";
1461
+ };
1462
+ AgenticFoundationDashboardDto: {
1463
+ /** Format: uuid */
1464
+ workspaceId: string;
1465
+ /** Format: date-time */
1466
+ generatedAt: string;
1467
+ summary: components["schemas"]["AgenticFoundationDashboardSummaryDto"];
1468
+ repos: components["schemas"]["RepoReadinessScoreDto"][];
1469
+ issueQueue: components["schemas"]["AgenticFoundationDashboardIssueDto"][];
1470
+ };
1237
1471
  FixRequestDto: {
1238
1472
  id: string;
1239
1473
  issueId: string;
@@ -1486,6 +1720,9 @@ export type ReadinessRunSummaryDto = components['schemas']['ReadinessRunSummaryD
1486
1720
  export type ReadinessIssueDto = components['schemas']['ReadinessIssueDto'];
1487
1721
  export type DimensionScoreDto = components['schemas']['DimensionScoreDto'];
1488
1722
  export type RepoReadinessScoreDto = components['schemas']['RepoReadinessScoreDto'];
1723
+ export type AgenticFoundationDashboardSummaryDto = components['schemas']['AgenticFoundationDashboardSummaryDto'];
1724
+ export type AgenticFoundationDashboardIssueDto = components['schemas']['AgenticFoundationDashboardIssueDto'];
1725
+ export type AgenticFoundationDashboardDto = components['schemas']['AgenticFoundationDashboardDto'];
1489
1726
  export type FixRequestDto = components['schemas']['FixRequestDto'];
1490
1727
  export type CreateFixRequestBodyDto = components['schemas']['CreateFixRequestBodyDto'];
1491
1728
  export type PhaseRoleDto = components['schemas']['PhaseRoleDto'];
@@ -2924,7 +3161,356 @@ export interface operations {
2924
3161
  "application/json": components["schemas"]["RepoReadinessScoreDto"];
2925
3162
  };
2926
3163
  };
3164
+ /** @description Malformed `repoId` (not a UUID) */
3165
+ 400: {
3166
+ headers: {
3167
+ [name: string]: unknown;
3168
+ };
3169
+ content: {
3170
+ "application/json": components["schemas"]["ErrorMessageDto"];
3171
+ };
3172
+ };
3173
+ 401: components["responses"]["Unauthorized"];
3174
+ 403: components["responses"]["Forbidden"];
3175
+ /** @description Workspace or repository not found */
3176
+ 404: {
3177
+ headers: {
3178
+ [name: string]: unknown;
3179
+ };
3180
+ content: {
3181
+ "application/json": components["schemas"]["ErrorMessageDto"];
3182
+ };
3183
+ };
3184
+ };
3185
+ };
3186
+ getAgenticFoundationDashboard: {
3187
+ parameters: {
3188
+ query?: never;
3189
+ header?: never;
3190
+ path: {
3191
+ workspaceId: components["parameters"]["WorkspaceId"];
3192
+ };
3193
+ cookie?: never;
3194
+ };
3195
+ requestBody?: never;
3196
+ responses: {
3197
+ /** @description Dashboard scorecards and issue queue */
3198
+ 200: {
3199
+ headers: {
3200
+ [name: string]: unknown;
3201
+ };
3202
+ content: {
3203
+ "application/json": components["schemas"]["AgenticFoundationDashboardDto"];
3204
+ };
3205
+ };
3206
+ 401: components["responses"]["Unauthorized"];
3207
+ 403: components["responses"]["Forbidden"];
3208
+ /** @description Workspace does not exist */
3209
+ 404: {
3210
+ headers: {
3211
+ [name: string]: unknown;
3212
+ };
3213
+ content: {
3214
+ "application/json": components["schemas"]["ErrorMessageDto"];
3215
+ };
3216
+ };
3217
+ };
3218
+ };
3219
+ getAgenticFoundationAgenticReadiness: {
3220
+ parameters: {
3221
+ query?: never;
3222
+ header?: never;
3223
+ path: {
3224
+ workspaceId: components["parameters"]["WorkspaceId"];
3225
+ };
3226
+ cookie?: never;
3227
+ };
3228
+ requestBody?: never;
3229
+ responses: {
3230
+ /** @description Repositories with ai-agent-readiness slice */
3231
+ 200: {
3232
+ headers: {
3233
+ [name: string]: unknown;
3234
+ };
3235
+ content: {
3236
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3237
+ };
3238
+ };
3239
+ 401: components["responses"]["Unauthorized"];
3240
+ 403: components["responses"]["Forbidden"];
3241
+ /** @description Workspace does not exist */
3242
+ 404: {
3243
+ headers: {
3244
+ [name: string]: unknown;
3245
+ };
3246
+ content: {
3247
+ "application/json": components["schemas"]["ErrorMessageDto"];
3248
+ };
3249
+ };
3250
+ };
3251
+ };
3252
+ getAgenticFoundationRepositoryHealth: {
3253
+ parameters: {
3254
+ query?: never;
3255
+ header?: never;
3256
+ path: {
3257
+ workspaceId: components["parameters"]["WorkspaceId"];
3258
+ };
3259
+ cookie?: never;
3260
+ };
3261
+ requestBody?: never;
3262
+ responses: {
3263
+ /** @description Repositories with repo-hygiene slice */
3264
+ 200: {
3265
+ headers: {
3266
+ [name: string]: unknown;
3267
+ };
3268
+ content: {
3269
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3270
+ };
3271
+ };
3272
+ 401: components["responses"]["Unauthorized"];
3273
+ 403: components["responses"]["Forbidden"];
3274
+ /** @description Workspace does not exist */
3275
+ 404: {
3276
+ headers: {
3277
+ [name: string]: unknown;
3278
+ };
3279
+ content: {
3280
+ "application/json": components["schemas"]["ErrorMessageDto"];
3281
+ };
3282
+ };
3283
+ };
3284
+ };
3285
+ getAgenticFoundationCodebaseQuality: {
3286
+ parameters: {
3287
+ query?: never;
3288
+ header?: never;
3289
+ path: {
3290
+ workspaceId: components["parameters"]["WorkspaceId"];
3291
+ };
3292
+ cookie?: never;
3293
+ };
3294
+ requestBody?: never;
3295
+ responses: {
3296
+ /** @description Repositories with stack-quality slice */
3297
+ 200: {
3298
+ headers: {
3299
+ [name: string]: unknown;
3300
+ };
3301
+ content: {
3302
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3303
+ };
3304
+ };
3305
+ 401: components["responses"]["Unauthorized"];
3306
+ 403: components["responses"]["Forbidden"];
3307
+ /** @description Workspace does not exist */
3308
+ 404: {
3309
+ headers: {
3310
+ [name: string]: unknown;
3311
+ };
3312
+ content: {
3313
+ "application/json": components["schemas"]["ErrorMessageDto"];
3314
+ };
3315
+ };
3316
+ };
3317
+ };
3318
+ getAgenticFoundationTestQa: {
3319
+ parameters: {
3320
+ query?: never;
3321
+ header?: never;
3322
+ path: {
3323
+ workspaceId: components["parameters"]["WorkspaceId"];
3324
+ };
3325
+ cookie?: never;
3326
+ };
3327
+ requestBody?: never;
3328
+ responses: {
3329
+ /** @description Repositories with tests-qa slice */
3330
+ 200: {
3331
+ headers: {
3332
+ [name: string]: unknown;
3333
+ };
3334
+ content: {
3335
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3336
+ };
3337
+ };
3338
+ 401: components["responses"]["Unauthorized"];
3339
+ 403: components["responses"]["Forbidden"];
3340
+ /** @description Workspace does not exist */
3341
+ 404: {
3342
+ headers: {
3343
+ [name: string]: unknown;
3344
+ };
3345
+ content: {
3346
+ "application/json": components["schemas"]["ErrorMessageDto"];
3347
+ };
3348
+ };
3349
+ };
3350
+ };
3351
+ getAgenticFoundationObservability: {
3352
+ parameters: {
3353
+ query?: never;
3354
+ header?: never;
3355
+ path: {
3356
+ workspaceId: components["parameters"]["WorkspaceId"];
3357
+ };
3358
+ cookie?: never;
3359
+ };
3360
+ requestBody?: never;
3361
+ responses: {
3362
+ /** @description Repositories with observability slice */
3363
+ 200: {
3364
+ headers: {
3365
+ [name: string]: unknown;
3366
+ };
3367
+ content: {
3368
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3369
+ };
3370
+ };
3371
+ 401: components["responses"]["Unauthorized"];
3372
+ 403: components["responses"]["Forbidden"];
3373
+ /** @description Workspace does not exist */
3374
+ 404: {
3375
+ headers: {
3376
+ [name: string]: unknown;
3377
+ };
3378
+ content: {
3379
+ "application/json": components["schemas"]["ErrorMessageDto"];
3380
+ };
3381
+ };
3382
+ };
3383
+ };
3384
+ getAgenticFoundationApiContract: {
3385
+ parameters: {
3386
+ query?: never;
3387
+ header?: never;
3388
+ path: {
3389
+ workspaceId: components["parameters"]["WorkspaceId"];
3390
+ };
3391
+ cookie?: never;
3392
+ };
3393
+ requestBody?: never;
3394
+ responses: {
3395
+ /** @description Repositories with api-contracts slice */
3396
+ 200: {
3397
+ headers: {
3398
+ [name: string]: unknown;
3399
+ };
3400
+ content: {
3401
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3402
+ };
3403
+ };
3404
+ 401: components["responses"]["Unauthorized"];
3405
+ 403: components["responses"]["Forbidden"];
3406
+ /** @description Workspace does not exist */
3407
+ 404: {
3408
+ headers: {
3409
+ [name: string]: unknown;
3410
+ };
3411
+ content: {
3412
+ "application/json": components["schemas"]["ErrorMessageDto"];
3413
+ };
3414
+ };
3415
+ };
3416
+ };
3417
+ getAgenticFoundationPlatformGovernance: {
3418
+ parameters: {
3419
+ query?: never;
3420
+ header?: never;
3421
+ path: {
3422
+ workspaceId: components["parameters"]["WorkspaceId"];
3423
+ };
3424
+ cookie?: never;
3425
+ };
3426
+ requestBody?: never;
3427
+ responses: {
3428
+ /** @description Repositories with platform-governance slice */
3429
+ 200: {
3430
+ headers: {
3431
+ [name: string]: unknown;
3432
+ };
3433
+ content: {
3434
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3435
+ };
3436
+ };
2927
3437
  401: components["responses"]["Unauthorized"];
3438
+ 403: components["responses"]["Forbidden"];
3439
+ /** @description Workspace does not exist */
3440
+ 404: {
3441
+ headers: {
3442
+ [name: string]: unknown;
3443
+ };
3444
+ content: {
3445
+ "application/json": components["schemas"]["ErrorMessageDto"];
3446
+ };
3447
+ };
3448
+ };
3449
+ };
3450
+ getAgenticFoundationDeliveryGovernance: {
3451
+ parameters: {
3452
+ query?: never;
3453
+ header?: never;
3454
+ path: {
3455
+ workspaceId: components["parameters"]["WorkspaceId"];
3456
+ };
3457
+ cookie?: never;
3458
+ };
3459
+ requestBody?: never;
3460
+ responses: {
3461
+ /** @description Repositories with delivery slice */
3462
+ 200: {
3463
+ headers: {
3464
+ [name: string]: unknown;
3465
+ };
3466
+ content: {
3467
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3468
+ };
3469
+ };
3470
+ 401: components["responses"]["Unauthorized"];
3471
+ 403: components["responses"]["Forbidden"];
3472
+ /** @description Workspace does not exist */
3473
+ 404: {
3474
+ headers: {
3475
+ [name: string]: unknown;
3476
+ };
3477
+ content: {
3478
+ "application/json": components["schemas"]["ErrorMessageDto"];
3479
+ };
3480
+ };
3481
+ };
3482
+ };
3483
+ getAgenticFoundationAiResolutionHub: {
3484
+ parameters: {
3485
+ query?: never;
3486
+ header?: never;
3487
+ path: {
3488
+ workspaceId: components["parameters"]["WorkspaceId"];
3489
+ };
3490
+ cookie?: never;
3491
+ };
3492
+ requestBody?: never;
3493
+ responses: {
3494
+ /** @description Full repository readiness scorecards */
3495
+ 200: {
3496
+ headers: {
3497
+ [name: string]: unknown;
3498
+ };
3499
+ content: {
3500
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
3501
+ };
3502
+ };
3503
+ 401: components["responses"]["Unauthorized"];
3504
+ 403: components["responses"]["Forbidden"];
3505
+ /** @description Workspace does not exist */
3506
+ 404: {
3507
+ headers: {
3508
+ [name: string]: unknown;
3509
+ };
3510
+ content: {
3511
+ "application/json": components["schemas"]["ErrorMessageDto"];
3512
+ };
3513
+ };
2928
3514
  };
2929
3515
  };
2930
3516
  listReadinessDimensions: {