@thinkai/tai-api-contract 2.200.0 → 2.202.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.
@@ -942,6 +942,30 @@ export interface paths {
942
942
  patch?: never;
943
943
  trace?: never;
944
944
  };
945
+ "/workspaces/{workspaceId}/agentic-foundation/dimension-targets": {
946
+ parameters: {
947
+ query?: never;
948
+ header?: never;
949
+ path?: never;
950
+ cookie?: never;
951
+ };
952
+ /**
953
+ * Get Agentic Foundation dimension settings
954
+ * @description Workspace `disabledDimensions` (scoring off workspace-wide), target percent per readiness dimension, plus optional per-repository overrides. Omitted targets mean 100. A repository override may disable scoring for a dimension and set its own target; it cannot re-enable a workspace-disabled dimension. Empty object means every dimension is scored at 100. Member-level read access.
955
+ */
956
+ get: operations["getWorkspaceDimensionTargets"];
957
+ /**
958
+ * Set Agentic Foundation dimension settings
959
+ * @description Full-replace workspace dimension settings and repository overrides. `disabledDimensions` turns scoring off for those dimensions workspace-wide. Omit a target or send 100 to keep the default. `PUT {}` or `null` clears settings so every dimension is scored at 100. Repository ids must be in Agentic Foundation scan scope. Requires workspace **admin**.
960
+ */
961
+ put: operations["putWorkspaceDimensionTargets"];
962
+ post?: never;
963
+ delete?: never;
964
+ options?: never;
965
+ head?: never;
966
+ patch?: never;
967
+ trace?: never;
968
+ };
945
969
  "/workspaces/{workspaceId}/sources": {
946
970
  parameters: {
947
971
  query?: never;
@@ -6515,6 +6539,33 @@ export interface components {
6515
6539
  /** @description Ceiling — stay at or below this many CI failures per engineer per week. `0` is valid. */
6516
6540
  ciFailuresPerEngineerPerWeek?: number | null;
6517
6541
  };
6542
+ /** @description Omitted dimension means a target of 100. Values of 100 are not stored. */
6543
+ DimensionTargetPercentsDto: {
6544
+ "ai-agent-readiness"?: number | null;
6545
+ "token-efficiency"?: number | null;
6546
+ "repo-hygiene"?: number | null;
6547
+ "stack-quality"?: number | null;
6548
+ "tests-qa"?: number | null;
6549
+ observability?: number | null;
6550
+ "api-contracts"?: number | null;
6551
+ "platform-governance"?: number | null;
6552
+ delivery?: number | null;
6553
+ };
6554
+ DimensionTargetsRepoOverrideDto: {
6555
+ /** @description Dimensions left out of this repository's score. */
6556
+ disabledDimensions?: components["schemas"]["ReadinessDimensionId"][];
6557
+ targets?: components["schemas"]["DimensionTargetPercentsDto"];
6558
+ };
6559
+ /** @description Agentic Foundation dimension settings. Empty object means every dimension is scored and the target is 100. */
6560
+ DimensionTargetsDto: {
6561
+ /** @description Dimensions left out of readiness scores for every repository in the workspace. Repository overrides may disable additional dimensions. */
6562
+ disabledDimensions?: components["schemas"]["ReadinessDimensionId"][];
6563
+ targets?: components["schemas"]["DimensionTargetPercentsDto"];
6564
+ /** @description Keys are in-scope repository ids. */
6565
+ repoOverrides?: {
6566
+ [key: string]: components["schemas"]["DimensionTargetsRepoOverrideDto"];
6567
+ };
6568
+ };
6518
6569
  AiEmailAliasEntryDto: {
6519
6570
  /**
6520
6571
  * Format: email
@@ -13315,6 +13366,9 @@ export type AiModelPolicyConfigDto = components['schemas']['AiModelPolicyConfigD
13315
13366
  export type AiModelPolicyPersonOverrideDto = components['schemas']['AiModelPolicyPersonOverrideDto'];
13316
13367
  export type AiModelPolicyDto = components['schemas']['AiModelPolicyDto'];
13317
13368
  export type ProductivityTargetsDto = components['schemas']['ProductivityTargetsDto'];
13369
+ export type DimensionTargetPercentsDto = components['schemas']['DimensionTargetPercentsDto'];
13370
+ export type DimensionTargetsRepoOverrideDto = components['schemas']['DimensionTargetsRepoOverrideDto'];
13371
+ export type DimensionTargetsDto = components['schemas']['DimensionTargetsDto'];
13318
13372
  export type AiEmailAliasEntryDto = components['schemas']['AiEmailAliasEntryDto'];
13319
13373
  export type AiEmailAliasesDto = components['schemas']['AiEmailAliasesDto'];
13320
13374
  export type TestConnectionResponseDto = components['schemas']['TestConnectionResponseDto'];
@@ -16870,6 +16924,91 @@ export interface operations {
16870
16924
  };
16871
16925
  };
16872
16926
  };
16927
+ getWorkspaceDimensionTargets: {
16928
+ parameters: {
16929
+ query?: never;
16930
+ header?: never;
16931
+ path: {
16932
+ workspaceId: components["parameters"]["WorkspaceId"];
16933
+ };
16934
+ cookie?: never;
16935
+ };
16936
+ requestBody?: never;
16937
+ responses: {
16938
+ /** @description Current targets (may be empty) */
16939
+ 200: {
16940
+ headers: {
16941
+ [name: string]: unknown;
16942
+ };
16943
+ content: {
16944
+ "application/json": components["schemas"]["DimensionTargetsDto"];
16945
+ };
16946
+ };
16947
+ 401: components["responses"]["Unauthorized"];
16948
+ 403: components["responses"]["Forbidden"];
16949
+ /** @description Workspace does not exist or malformed workspaceId */
16950
+ 404: {
16951
+ headers: {
16952
+ [name: string]: unknown;
16953
+ };
16954
+ content: {
16955
+ "application/json": components["schemas"]["ErrorMessageDto"];
16956
+ };
16957
+ };
16958
+ };
16959
+ };
16960
+ putWorkspaceDimensionTargets: {
16961
+ parameters: {
16962
+ query?: never;
16963
+ header?: never;
16964
+ path: {
16965
+ workspaceId: components["parameters"]["WorkspaceId"];
16966
+ };
16967
+ cookie?: never;
16968
+ };
16969
+ requestBody: {
16970
+ content: {
16971
+ "application/json": components["schemas"]["DimensionTargetsDto"];
16972
+ };
16973
+ };
16974
+ responses: {
16975
+ /** @description Targets persisted (or cleared). */
16976
+ 204: {
16977
+ headers: {
16978
+ [name: string]: unknown;
16979
+ };
16980
+ content?: never;
16981
+ };
16982
+ /** @description Invalid payload or repository is not in scan scope */
16983
+ 400: {
16984
+ headers: {
16985
+ [name: string]: unknown;
16986
+ };
16987
+ content: {
16988
+ "application/json": components["schemas"]["ErrorMessageDto"];
16989
+ };
16990
+ };
16991
+ 401: components["responses"]["Unauthorized"];
16992
+ /** @description Forbidden — workspace admin required */
16993
+ 403: {
16994
+ headers: {
16995
+ [name: string]: unknown;
16996
+ };
16997
+ content: {
16998
+ "application/json": components["schemas"]["ErrorMessageDto"];
16999
+ };
17000
+ };
17001
+ /** @description Workspace does not exist or malformed workspaceId */
17002
+ 404: {
17003
+ headers: {
17004
+ [name: string]: unknown;
17005
+ };
17006
+ content: {
17007
+ "application/json": components["schemas"]["ErrorMessageDto"];
17008
+ };
17009
+ };
17010
+ };
17011
+ };
16873
17012
  putTenantSources: {
16874
17013
  parameters: {
16875
17014
  query?: never;