@thinkai/tai-api-contract 2.197.0 → 2.199.0
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.
- package/dist/generated/openapi.d.ts +168 -2
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +197 -2
- package/openapi/x-test-status-map.json +1615 -0
- package/package.json +1 -1
- package/src/generated/openapi.ts +168 -2
package/openapi/openapi.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
openapi: 3.0.3
|
|
2
2
|
info:
|
|
3
3
|
title: ThinkAI API
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.199.0
|
|
5
5
|
description: >
|
|
6
6
|
Contract surface for the AI Driven SDLC backend used by ThinkAI.
|
|
7
7
|
Workspace-scoped routes use `/workspaces/{workspaceId}/...`.
|
|
@@ -2673,6 +2673,96 @@ paths:
|
|
|
2673
2673
|
schema:
|
|
2674
2674
|
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2675
2675
|
|
|
2676
|
+
/workspaces/{workspaceId}/strict-insights-on-trust:
|
|
2677
|
+
put:
|
|
2678
|
+
tags: [Workspace]
|
|
2679
|
+
summary: Enable or disable strict Insights gating on dataTrust
|
|
2680
|
+
description: >
|
|
2681
|
+
Opt-in enterprise flag (default off). When enabled, Insights may hide card bodies
|
|
2682
|
+
for non-remediable unverified ingest `dataTrust` and notify ThinkAI ops. Requires
|
|
2683
|
+
workspace admin. On success writes activity `config.strict_insights_on_trust.changed`.
|
|
2684
|
+
Read back via `GET /workspaces/{workspaceId}/config` → `strictInsightsOnTrust`.
|
|
2685
|
+
operationId: putWorkspaceStrictInsightsOnTrust
|
|
2686
|
+
parameters:
|
|
2687
|
+
- $ref: "#/components/parameters/WorkspaceId"
|
|
2688
|
+
requestBody:
|
|
2689
|
+
required: true
|
|
2690
|
+
content:
|
|
2691
|
+
application/json:
|
|
2692
|
+
schema:
|
|
2693
|
+
$ref: "#/components/schemas/PutStrictInsightsOnTrustDto"
|
|
2694
|
+
responses:
|
|
2695
|
+
"200":
|
|
2696
|
+
description: Flag updated
|
|
2697
|
+
content:
|
|
2698
|
+
application/json:
|
|
2699
|
+
schema:
|
|
2700
|
+
type: object
|
|
2701
|
+
required: [ok, strictInsightsOnTrust]
|
|
2702
|
+
additionalProperties: false
|
|
2703
|
+
properties:
|
|
2704
|
+
ok:
|
|
2705
|
+
type: boolean
|
|
2706
|
+
strictInsightsOnTrust:
|
|
2707
|
+
type: boolean
|
|
2708
|
+
"400":
|
|
2709
|
+
description: Invalid request body
|
|
2710
|
+
content:
|
|
2711
|
+
application/json:
|
|
2712
|
+
schema:
|
|
2713
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2714
|
+
"401":
|
|
2715
|
+
$ref: "#/components/responses/Unauthorized"
|
|
2716
|
+
"403":
|
|
2717
|
+
$ref: "#/components/responses/Forbidden"
|
|
2718
|
+
"501":
|
|
2719
|
+
description: Store does not support this setting
|
|
2720
|
+
content:
|
|
2721
|
+
application/json:
|
|
2722
|
+
schema:
|
|
2723
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2724
|
+
|
|
2725
|
+
/workspaces/{workspaceId}/insights/strict-trust-hide-notify:
|
|
2726
|
+
post:
|
|
2727
|
+
tags: [Workspace]
|
|
2728
|
+
summary: Notify ThinkAI ops of a non-remediable strict Insights hide
|
|
2729
|
+
description: >
|
|
2730
|
+
Called by the SPA when strict Insights is on and a card body is hidden because a
|
|
2731
|
+
required ingest input has `dataTrust.status` ≠ `verified` and Data coverage offers
|
|
2732
|
+
no meaningful self-serve fix (reconnect / Fill / Retry / Sync). Emits a warn
|
|
2733
|
+
`@event:ingest.insights.strict_trust_hide` line with `workspaceId`, `pipeline`,
|
|
2734
|
+
`trustStatus`, `verificationMethod`, and `fix_request: true` (ThinkAI ops /
|
|
2735
|
+
Datadog — not Message Center). Debounced per workspace+pipeline transition into
|
|
2736
|
+
the same hide fingerprint. Returns `{ emitted: false }` without writing a line when
|
|
2737
|
+
the workspace flag is off, `trustStatus` is `verified`, or the fingerprint was
|
|
2738
|
+
already emitted. Member-level access (any Insights viewer may trigger ops notify).
|
|
2739
|
+
operationId: postInsightsStrictTrustHideNotify
|
|
2740
|
+
parameters:
|
|
2741
|
+
- $ref: "#/components/parameters/WorkspaceId"
|
|
2742
|
+
requestBody:
|
|
2743
|
+
required: true
|
|
2744
|
+
content:
|
|
2745
|
+
application/json:
|
|
2746
|
+
schema:
|
|
2747
|
+
$ref: "#/components/schemas/InsightsStrictTrustHideNotifyDto"
|
|
2748
|
+
responses:
|
|
2749
|
+
"200":
|
|
2750
|
+
description: Notify attempt recorded (may or may not have emitted)
|
|
2751
|
+
content:
|
|
2752
|
+
application/json:
|
|
2753
|
+
schema:
|
|
2754
|
+
$ref: "#/components/schemas/InsightsStrictTrustHideNotifyResultDto"
|
|
2755
|
+
"400":
|
|
2756
|
+
description: Invalid request body
|
|
2757
|
+
content:
|
|
2758
|
+
application/json:
|
|
2759
|
+
schema:
|
|
2760
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
2761
|
+
"401":
|
|
2762
|
+
$ref: "#/components/responses/Unauthorized"
|
|
2763
|
+
"403":
|
|
2764
|
+
$ref: "#/components/responses/Forbidden"
|
|
2765
|
+
|
|
2676
2766
|
/workspaces/{workspaceId}/ai-model-policy:
|
|
2677
2767
|
get:
|
|
2678
2768
|
tags: [Workspace]
|
|
@@ -5015,7 +5105,8 @@ paths:
|
|
|
5015
5105
|
middle ~20% integration+contract+acceptance/BDD, top ~10% E2E) and returns
|
|
5016
5106
|
`insufficient_data` when total classified test files < 10. Also returns
|
|
5017
5107
|
maturity trend, coverage overlay, confidence, applicability, E2E-cross/hotspot
|
|
5018
|
-
risk,
|
|
5108
|
+
risk, workspace-only `ciQuality`, and Actions/check-name `suiteExecution`
|
|
5109
|
+
(unit/e2e suite pass/flake) from the latest org dashboard snapshot.
|
|
5019
5110
|
Does not change Agentic Foundation `/readiness/test-pyramid*` responses.
|
|
5020
5111
|
parameters:
|
|
5021
5112
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
@@ -16488,6 +16579,14 @@ components:
|
|
|
16488
16579
|
description: >
|
|
16489
16580
|
Deep Wiki documentation focus for this workspace (guidance notes + optional topic outline).
|
|
16490
16581
|
Saved via `PUT /workspaces/{workspaceId}/code-intelligence` (`wikiGuidance`).
|
|
16582
|
+
strictInsightsOnTrust:
|
|
16583
|
+
type: boolean
|
|
16584
|
+
description: >
|
|
16585
|
+
When true (opt-in enterprise), Insights may hide card bodies whose required ingest
|
|
16586
|
+
inputs have `dataTrust.status` ≠ `verified` and no meaningful Data coverage self-serve
|
|
16587
|
+
fix (reconnect / Fill / Retry / Sync), and notify ThinkAI ops. Default false — never
|
|
16588
|
+
on for all workspaces. Missing/null treated as off. Change via
|
|
16589
|
+
`PUT /workspaces/{workspaceId}/strict-insights-on-trust`.
|
|
16491
16590
|
|
|
16492
16591
|
DeliveryRoleConfigDto:
|
|
16493
16592
|
type: object
|
|
@@ -24558,6 +24657,7 @@ components:
|
|
|
24558
24657
|
- report.assessment_restored
|
|
24559
24658
|
- workspace.aggregate_use.changed
|
|
24560
24659
|
- workspace.assessment_rollout.changed
|
|
24660
|
+
- config.strict_insights_on_trust.changed
|
|
24561
24661
|
|
|
24562
24662
|
AggregateUseNoticeStatusDto:
|
|
24563
24663
|
type: object
|
|
@@ -26147,6 +26247,47 @@ components:
|
|
|
26147
26247
|
verificationMethod:
|
|
26148
26248
|
$ref: "#/components/schemas/DataTrustVerificationMethod"
|
|
26149
26249
|
|
|
26250
|
+
PutStrictInsightsOnTrustDto:
|
|
26251
|
+
type: object
|
|
26252
|
+
required: [enabled]
|
|
26253
|
+
additionalProperties: false
|
|
26254
|
+
properties:
|
|
26255
|
+
enabled:
|
|
26256
|
+
type: boolean
|
|
26257
|
+
description: >
|
|
26258
|
+
true to opt in to strict Insights gating on ingest dataTrust; false to opt out
|
|
26259
|
+
(default). Never default-on for all workspaces.
|
|
26260
|
+
|
|
26261
|
+
InsightsStrictTrustHideNotifyDto:
|
|
26262
|
+
type: object
|
|
26263
|
+
required: [pipeline, trustStatus, verificationMethod]
|
|
26264
|
+
additionalProperties: false
|
|
26265
|
+
description: >
|
|
26266
|
+
Payload when the SPA hides an Insights card body under strict mode for a
|
|
26267
|
+
non-remediable unverified dataTrust gap.
|
|
26268
|
+
properties:
|
|
26269
|
+
pipeline:
|
|
26270
|
+
type: string
|
|
26271
|
+
minLength: 1
|
|
26272
|
+
description: >
|
|
26273
|
+
Ingest-coverage pipeline id or kind (e.g. `productivity_github`, `ai_usage`,
|
|
26274
|
+
`monitoring`, `hris`).
|
|
26275
|
+
trustStatus:
|
|
26276
|
+
$ref: "#/components/schemas/DataTrustStatus"
|
|
26277
|
+
verificationMethod:
|
|
26278
|
+
$ref: "#/components/schemas/DataTrustVerificationMethod"
|
|
26279
|
+
|
|
26280
|
+
InsightsStrictTrustHideNotifyResultDto:
|
|
26281
|
+
type: object
|
|
26282
|
+
required: [emitted]
|
|
26283
|
+
additionalProperties: false
|
|
26284
|
+
properties:
|
|
26285
|
+
emitted:
|
|
26286
|
+
type: boolean
|
|
26287
|
+
description: >
|
|
26288
|
+
true when a new `@event:ingest.insights.strict_trust_hide` warn line was written
|
|
26289
|
+
for this workspace+pipeline transition.
|
|
26290
|
+
|
|
26150
26291
|
IngestCoveragePipelineDto:
|
|
26151
26292
|
type: object
|
|
26152
26293
|
required: [id, kind, status, targetWindowDays, isStale, dataTrust]
|
|
@@ -29616,6 +29757,54 @@ components:
|
|
|
29616
29757
|
type: string
|
|
29617
29758
|
description: Dashboard metrics bucket end for the org snapshot.
|
|
29618
29759
|
|
|
29760
|
+
InsightsTestPyramidSuiteLayerOutcomeDto:
|
|
29761
|
+
type: object
|
|
29762
|
+
required: [passRatePercent, failRatePercent, runsTotal, sampleBucketEnd]
|
|
29763
|
+
properties:
|
|
29764
|
+
passRatePercent:
|
|
29765
|
+
type: number
|
|
29766
|
+
minimum: 0
|
|
29767
|
+
maximum: 100
|
|
29768
|
+
failRatePercent:
|
|
29769
|
+
type: number
|
|
29770
|
+
minimum: 0
|
|
29771
|
+
maximum: 100
|
|
29772
|
+
runsTotal:
|
|
29773
|
+
type: integer
|
|
29774
|
+
minimum: 1
|
|
29775
|
+
sampleBucketEnd:
|
|
29776
|
+
type: string
|
|
29777
|
+
description: Latest mapped check-run `occurred_at` in the sample.
|
|
29778
|
+
flakePercent:
|
|
29779
|
+
type: number
|
|
29780
|
+
minimum: 0
|
|
29781
|
+
maximum: 100
|
|
29782
|
+
description: >
|
|
29783
|
+
Included only when `runsTotal` is at least 5. Failure then success on
|
|
29784
|
+
the same `head_sha` + check name counts as a flake observation.
|
|
29785
|
+
|
|
29786
|
+
InsightsTestPyramidSuiteExecutionDto:
|
|
29787
|
+
type: object
|
|
29788
|
+
nullable: true
|
|
29789
|
+
description: >
|
|
29790
|
+
Suite-level pass/flake from GitHub Actions / Checks job names classified
|
|
29791
|
+
onto pyramid layers. Null when no mapped unit/e2e (or optional integration)
|
|
29792
|
+
check names exist in the org dashboard quality snapshot.
|
|
29793
|
+
properties:
|
|
29794
|
+
unit:
|
|
29795
|
+
allOf:
|
|
29796
|
+
- $ref: "#/components/schemas/InsightsTestPyramidSuiteLayerOutcomeDto"
|
|
29797
|
+
nullable: true
|
|
29798
|
+
e2e:
|
|
29799
|
+
allOf:
|
|
29800
|
+
- $ref: "#/components/schemas/InsightsTestPyramidSuiteLayerOutcomeDto"
|
|
29801
|
+
nullable: true
|
|
29802
|
+
integration:
|
|
29803
|
+
allOf:
|
|
29804
|
+
- $ref: "#/components/schemas/InsightsTestPyramidSuiteLayerOutcomeDto"
|
|
29805
|
+
nullable: true
|
|
29806
|
+
description: Optional bonus layer; not required for #234 acceptance.
|
|
29807
|
+
|
|
29619
29808
|
InsightsTestPyramidSummaryDto:
|
|
29620
29809
|
type: object
|
|
29621
29810
|
required:
|
|
@@ -29636,6 +29825,7 @@ components:
|
|
|
29636
29825
|
- e2eCrossRepoCandidateCount
|
|
29637
29826
|
- reposWithHotspots
|
|
29638
29827
|
- ciQuality
|
|
29828
|
+
- suiteExecution
|
|
29639
29829
|
properties:
|
|
29640
29830
|
workspaceId: { type: string, format: uuid }
|
|
29641
29831
|
generatedAt: { type: string, format: date-time }
|
|
@@ -29687,6 +29877,8 @@ components:
|
|
|
29687
29877
|
description: Repos whose latest Code Insights snapshot has `hotspotCount` > 0.
|
|
29688
29878
|
ciQuality:
|
|
29689
29879
|
$ref: "#/components/schemas/InsightsTestPyramidCiQualityDto"
|
|
29880
|
+
suiteExecution:
|
|
29881
|
+
$ref: "#/components/schemas/InsightsTestPyramidSuiteExecutionDto"
|
|
29690
29882
|
|
|
29691
29883
|
InsightsTestPyramidRepoItemDto:
|
|
29692
29884
|
type: object
|
|
@@ -29711,6 +29903,7 @@ components:
|
|
|
29711
29903
|
- layerApplicable
|
|
29712
29904
|
- e2eCrossRepoCandidate
|
|
29713
29905
|
- hotspotCount
|
|
29906
|
+
- suiteExecution
|
|
29714
29907
|
properties:
|
|
29715
29908
|
repoId: { type: string, format: uuid }
|
|
29716
29909
|
repoName: { type: string }
|
|
@@ -29772,6 +29965,8 @@ components:
|
|
|
29772
29965
|
description: >
|
|
29773
29966
|
Row count in `tai_workspace_repo_code_hotspots` for the repo's latest
|
|
29774
29967
|
Code Insights metrics snapshot. Null when the repo has no metrics snapshot.
|
|
29968
|
+
suiteExecution:
|
|
29969
|
+
$ref: "#/components/schemas/InsightsTestPyramidSuiteExecutionDto"
|
|
29775
29970
|
|
|
29776
29971
|
InsightsTestPyramidRepoListDto:
|
|
29777
29972
|
type: object
|