@thinkai/tai-api-contract 2.53.0 → 2.54.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 +301 -1
- package/dist/generated/openapi.d.ts.map +1 -1
- package/dist/index.d.ts +84 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/openapi/openapi.yaml +460 -2
- package/package.json +1 -1
- package/src/generated/openapi.ts +301 -1
- package/src/index.ts +81 -0
|
@@ -1131,6 +1131,66 @@ export interface paths {
|
|
|
1131
1131
|
patch?: never;
|
|
1132
1132
|
trace?: never;
|
|
1133
1133
|
};
|
|
1134
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/summary": {
|
|
1135
|
+
parameters: {
|
|
1136
|
+
query?: never;
|
|
1137
|
+
header?: never;
|
|
1138
|
+
path?: never;
|
|
1139
|
+
cookie?: never;
|
|
1140
|
+
};
|
|
1141
|
+
/**
|
|
1142
|
+
* AI-tool provider summary for a date window
|
|
1143
|
+
* @description Pre-aggregated spend, token, and active-user totals plus weekly buckets for the AI Usage & Spend overview. Replaces downloading the full `/snapshot` payload for KPI cards and sparklines.
|
|
1144
|
+
*/
|
|
1145
|
+
get: operations["getWorkspaceAiToolProviderSummary"];
|
|
1146
|
+
put?: never;
|
|
1147
|
+
post?: never;
|
|
1148
|
+
delete?: never;
|
|
1149
|
+
options?: never;
|
|
1150
|
+
head?: never;
|
|
1151
|
+
patch?: never;
|
|
1152
|
+
trace?: never;
|
|
1153
|
+
};
|
|
1154
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/daily-series": {
|
|
1155
|
+
parameters: {
|
|
1156
|
+
query?: never;
|
|
1157
|
+
header?: never;
|
|
1158
|
+
path?: never;
|
|
1159
|
+
cookie?: never;
|
|
1160
|
+
};
|
|
1161
|
+
/**
|
|
1162
|
+
* AI-tool daily spend and usage series for charts
|
|
1163
|
+
* @description Daily chart points (spend and tokens) with optional product/model breakdown. Scoped to the requested date window; intended for the overview trend chart.
|
|
1164
|
+
*/
|
|
1165
|
+
get: operations["getWorkspaceAiToolProviderDailySeries"];
|
|
1166
|
+
put?: never;
|
|
1167
|
+
post?: never;
|
|
1168
|
+
delete?: never;
|
|
1169
|
+
options?: never;
|
|
1170
|
+
head?: never;
|
|
1171
|
+
patch?: never;
|
|
1172
|
+
trace?: never;
|
|
1173
|
+
};
|
|
1174
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/model-breakdown": {
|
|
1175
|
+
parameters: {
|
|
1176
|
+
query?: never;
|
|
1177
|
+
header?: never;
|
|
1178
|
+
path?: never;
|
|
1179
|
+
cookie?: never;
|
|
1180
|
+
};
|
|
1181
|
+
/**
|
|
1182
|
+
* AI-tool model spend rollup for a date window
|
|
1183
|
+
* @description Aggregated spend and token totals per LLM model for the Costs by LLM Model page and team drill-downs. Optionally scoped to specific member external IDs.
|
|
1184
|
+
*/
|
|
1185
|
+
get: operations["getWorkspaceAiToolProviderModelBreakdown"];
|
|
1186
|
+
put?: never;
|
|
1187
|
+
post?: never;
|
|
1188
|
+
delete?: never;
|
|
1189
|
+
options?: never;
|
|
1190
|
+
head?: never;
|
|
1191
|
+
patch?: never;
|
|
1192
|
+
trace?: never;
|
|
1193
|
+
};
|
|
1134
1194
|
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/status": {
|
|
1135
1195
|
parameters: {
|
|
1136
1196
|
query?: never;
|
|
@@ -3578,6 +3638,97 @@ export interface components {
|
|
|
3578
3638
|
days?: components["schemas"]["AiUsageSpendUsageTrendsDayDto"][];
|
|
3579
3639
|
weeks?: components["schemas"]["AiUsageSpendUsageTrendsWeekDto"][];
|
|
3580
3640
|
};
|
|
3641
|
+
AiToolProviderSummaryWeekBucketDto: {
|
|
3642
|
+
weekLabel: string;
|
|
3643
|
+
spendCents: number;
|
|
3644
|
+
tokenCount: number;
|
|
3645
|
+
activeUsers: number;
|
|
3646
|
+
};
|
|
3647
|
+
AiToolProviderSummaryTopMoverDto: {
|
|
3648
|
+
externalId: string;
|
|
3649
|
+
label: string;
|
|
3650
|
+
deltaSpendCents: number;
|
|
3651
|
+
currentSpendCents: number;
|
|
3652
|
+
};
|
|
3653
|
+
AiToolProviderSummaryDto: {
|
|
3654
|
+
provider: string;
|
|
3655
|
+
/** Format: date */
|
|
3656
|
+
from: string;
|
|
3657
|
+
/** Format: date */
|
|
3658
|
+
to: string;
|
|
3659
|
+
status?: components["schemas"]["AiToolRefreshStatusDto"];
|
|
3660
|
+
seatCounts: {
|
|
3661
|
+
total: number;
|
|
3662
|
+
active: number;
|
|
3663
|
+
removed: number;
|
|
3664
|
+
};
|
|
3665
|
+
totals: {
|
|
3666
|
+
spendCents: number;
|
|
3667
|
+
tokenCount: number;
|
|
3668
|
+
activeUsers: number;
|
|
3669
|
+
totalEngineers: number;
|
|
3670
|
+
};
|
|
3671
|
+
weekBuckets: components["schemas"]["AiToolProviderSummaryWeekBucketDto"][];
|
|
3672
|
+
topMovers?: components["schemas"]["AiToolProviderSummaryTopMoverDto"][];
|
|
3673
|
+
hasTokenMetrics?: boolean;
|
|
3674
|
+
/** Format: date-time */
|
|
3675
|
+
generatedAt: string;
|
|
3676
|
+
};
|
|
3677
|
+
AiToolDailySeriesPointDto: {
|
|
3678
|
+
/** Format: date */
|
|
3679
|
+
day: string;
|
|
3680
|
+
label: string;
|
|
3681
|
+
spendCents: number;
|
|
3682
|
+
tokenCount: number;
|
|
3683
|
+
/** @description Spend cents by product label. */
|
|
3684
|
+
products: {
|
|
3685
|
+
[key: string]: number;
|
|
3686
|
+
};
|
|
3687
|
+
/** @description Spend cents by model name. */
|
|
3688
|
+
models: {
|
|
3689
|
+
[key: string]: number;
|
|
3690
|
+
};
|
|
3691
|
+
};
|
|
3692
|
+
AiToolDailySeriesDto: {
|
|
3693
|
+
provider: string;
|
|
3694
|
+
/** Format: date */
|
|
3695
|
+
from: string;
|
|
3696
|
+
/** Format: date */
|
|
3697
|
+
to: string;
|
|
3698
|
+
points: components["schemas"]["AiToolDailySeriesPointDto"][];
|
|
3699
|
+
productKeys: string[];
|
|
3700
|
+
modelKeys: string[];
|
|
3701
|
+
totals: {
|
|
3702
|
+
spendCents: number;
|
|
3703
|
+
tokenCount: number;
|
|
3704
|
+
};
|
|
3705
|
+
hasProductBreakdown?: boolean;
|
|
3706
|
+
hasModelBreakdown?: boolean;
|
|
3707
|
+
hasSpend?: boolean;
|
|
3708
|
+
hasTokens?: boolean;
|
|
3709
|
+
/** Format: date-time */
|
|
3710
|
+
generatedAt: string;
|
|
3711
|
+
};
|
|
3712
|
+
AiToolModelBreakdownItemDto: {
|
|
3713
|
+
modelName: string;
|
|
3714
|
+
spendCents: number;
|
|
3715
|
+
tokenCount: number;
|
|
3716
|
+
activeUsers: number;
|
|
3717
|
+
};
|
|
3718
|
+
AiToolModelBreakdownDto: {
|
|
3719
|
+
provider: string;
|
|
3720
|
+
/** Format: date */
|
|
3721
|
+
from: string;
|
|
3722
|
+
/** Format: date */
|
|
3723
|
+
to: string;
|
|
3724
|
+
models: components["schemas"]["AiToolModelBreakdownItemDto"][];
|
|
3725
|
+
totals: {
|
|
3726
|
+
spendCents: number;
|
|
3727
|
+
tokenCount: number;
|
|
3728
|
+
};
|
|
3729
|
+
/** Format: date-time */
|
|
3730
|
+
generatedAt: string;
|
|
3731
|
+
};
|
|
3581
3732
|
AiToolMemberSummaryDto: {
|
|
3582
3733
|
externalId: string;
|
|
3583
3734
|
email: string;
|
|
@@ -3587,6 +3738,10 @@ export interface components {
|
|
|
3587
3738
|
tokenCount: number;
|
|
3588
3739
|
activeDays: number;
|
|
3589
3740
|
mostUsedModel?: string;
|
|
3741
|
+
/** @description Per-product spend in cents for the requested window (Claude Enterprise). Omitted when no product-level daily rows exist for the member. */
|
|
3742
|
+
productBreakdownCents?: {
|
|
3743
|
+
[key: string]: number;
|
|
3744
|
+
};
|
|
3590
3745
|
};
|
|
3591
3746
|
AiToolMembersListDto: {
|
|
3592
3747
|
members: components["schemas"]["AiToolMemberSummaryDto"][];
|
|
@@ -5476,6 +5631,13 @@ export type AiUsageSpendUsageTrendsProviderWeekDto = components['schemas']['AiUs
|
|
|
5476
5631
|
export type AiUsageSpendUsageTrendsDayDto = components['schemas']['AiUsageSpendUsageTrendsDayDto'];
|
|
5477
5632
|
export type AiUsageSpendUsageTrendsWeekDto = components['schemas']['AiUsageSpendUsageTrendsWeekDto'];
|
|
5478
5633
|
export type AiUsageSpendUsageTrendsDto = components['schemas']['AiUsageSpendUsageTrendsDto'];
|
|
5634
|
+
export type AiToolProviderSummaryWeekBucketDto = components['schemas']['AiToolProviderSummaryWeekBucketDto'];
|
|
5635
|
+
export type AiToolProviderSummaryTopMoverDto = components['schemas']['AiToolProviderSummaryTopMoverDto'];
|
|
5636
|
+
export type AiToolProviderSummaryDto = components['schemas']['AiToolProviderSummaryDto'];
|
|
5637
|
+
export type AiToolDailySeriesPointDto = components['schemas']['AiToolDailySeriesPointDto'];
|
|
5638
|
+
export type AiToolDailySeriesDto = components['schemas']['AiToolDailySeriesDto'];
|
|
5639
|
+
export type AiToolModelBreakdownItemDto = components['schemas']['AiToolModelBreakdownItemDto'];
|
|
5640
|
+
export type AiToolModelBreakdownDto = components['schemas']['AiToolModelBreakdownDto'];
|
|
5479
5641
|
export type AiToolMemberSummaryDto = components['schemas']['AiToolMemberSummaryDto'];
|
|
5480
5642
|
export type AiToolMembersListDto = components['schemas']['AiToolMembersListDto'];
|
|
5481
5643
|
export type AiToolTeamSummaryDto = components['schemas']['AiToolTeamSummaryDto'];
|
|
@@ -7807,8 +7969,10 @@ export interface operations {
|
|
|
7807
7969
|
windowEnd?: string;
|
|
7808
7970
|
/** @description When set, aggregate engagement metrics for a single AI-tool member (user detail pages). Mutually exclusive with `scopeTeamId`. */
|
|
7809
7971
|
memberExternalId?: string;
|
|
7810
|
-
/** @description Org-chart team id — aggregate engagement for members mapped to that team (team detail pages). Mutually exclusive with `memberExternalId`. */
|
|
7972
|
+
/** @description Org-chart team id — aggregate engagement for members mapped to that team (team detail pages). Mutually exclusive with `memberExternalId` and `scopeExternalIds`. */
|
|
7811
7973
|
scopeTeamId?: string;
|
|
7974
|
+
/** @description Comma-separated AI-tool member external IDs — aggregate engagement for exactly those seats (team detail when scoped via slim reads). Mutually exclusive with `memberExternalId` and `scopeTeamId`. */
|
|
7975
|
+
scopeExternalIds?: string;
|
|
7812
7976
|
/** @description Optional provider id filter (`cursor`, `claude`) for detail pages. */
|
|
7813
7977
|
provider?: "cursor" | "claude";
|
|
7814
7978
|
};
|
|
@@ -8080,6 +8244,10 @@ export interface operations {
|
|
|
8080
8244
|
parameters: {
|
|
8081
8245
|
query?: {
|
|
8082
8246
|
rangeId?: "4w" | "8w" | "q";
|
|
8247
|
+
/** @description Inclusive start day (YYYY-MM-DD). When set with `to`, overrides `rangeId` calendar buckets for the aggregation window. */
|
|
8248
|
+
from?: string;
|
|
8249
|
+
/** @description Inclusive end day (YYYY-MM-DD). Requires `from`. */
|
|
8250
|
+
to?: string;
|
|
8083
8251
|
windowEnd?: string;
|
|
8084
8252
|
page?: number;
|
|
8085
8253
|
pageSize?: number;
|
|
@@ -8132,6 +8300,10 @@ export interface operations {
|
|
|
8132
8300
|
parameters: {
|
|
8133
8301
|
query?: {
|
|
8134
8302
|
rangeId?: "4w" | "8w" | "q";
|
|
8303
|
+
/** @description Inclusive start day (YYYY-MM-DD). When set with `to`, overrides `rangeId`. */
|
|
8304
|
+
from?: string;
|
|
8305
|
+
/** @description Inclusive end day (YYYY-MM-DD). Requires `from`. */
|
|
8306
|
+
to?: string;
|
|
8135
8307
|
windowEnd?: string;
|
|
8136
8308
|
};
|
|
8137
8309
|
header?: never;
|
|
@@ -8179,6 +8351,10 @@ export interface operations {
|
|
|
8179
8351
|
parameters: {
|
|
8180
8352
|
query?: {
|
|
8181
8353
|
rangeId?: "4w" | "8w" | "q";
|
|
8354
|
+
/** @description Inclusive start day (YYYY-MM-DD). When set with `to`, overrides `rangeId`. */
|
|
8355
|
+
from?: string;
|
|
8356
|
+
/** @description Inclusive end day (YYYY-MM-DD). Requires `from`. */
|
|
8357
|
+
to?: string;
|
|
8182
8358
|
windowEnd?: string;
|
|
8183
8359
|
};
|
|
8184
8360
|
header?: never;
|
|
@@ -8782,6 +8958,130 @@ export interface operations {
|
|
|
8782
8958
|
403: components["responses"]["Forbidden"];
|
|
8783
8959
|
};
|
|
8784
8960
|
};
|
|
8961
|
+
getWorkspaceAiToolProviderSummary: {
|
|
8962
|
+
parameters: {
|
|
8963
|
+
query: {
|
|
8964
|
+
from: string;
|
|
8965
|
+
to: string;
|
|
8966
|
+
};
|
|
8967
|
+
header?: never;
|
|
8968
|
+
path: {
|
|
8969
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
8970
|
+
provider: "cursor" | "claude";
|
|
8971
|
+
};
|
|
8972
|
+
cookie?: never;
|
|
8973
|
+
};
|
|
8974
|
+
requestBody?: never;
|
|
8975
|
+
responses: {
|
|
8976
|
+
/** @description Provider summary */
|
|
8977
|
+
200: {
|
|
8978
|
+
headers: {
|
|
8979
|
+
[name: string]: unknown;
|
|
8980
|
+
};
|
|
8981
|
+
content: {
|
|
8982
|
+
"application/json": components["schemas"]["AiToolProviderSummaryDto"];
|
|
8983
|
+
};
|
|
8984
|
+
};
|
|
8985
|
+
/** @description Invalid query */
|
|
8986
|
+
400: {
|
|
8987
|
+
headers: {
|
|
8988
|
+
[name: string]: unknown;
|
|
8989
|
+
};
|
|
8990
|
+
content: {
|
|
8991
|
+
"application/json": {
|
|
8992
|
+
/** @example invalid_query */
|
|
8993
|
+
error: string;
|
|
8994
|
+
};
|
|
8995
|
+
};
|
|
8996
|
+
};
|
|
8997
|
+
401: components["responses"]["Unauthorized"];
|
|
8998
|
+
403: components["responses"]["Forbidden"];
|
|
8999
|
+
};
|
|
9000
|
+
};
|
|
9001
|
+
getWorkspaceAiToolProviderDailySeries: {
|
|
9002
|
+
parameters: {
|
|
9003
|
+
query: {
|
|
9004
|
+
from: string;
|
|
9005
|
+
to: string;
|
|
9006
|
+
/** @description Optional member external IDs. When set, the series includes only those members (team drill-down, user detail). Repeat the parameter or pass comma-separated values. */
|
|
9007
|
+
externalId?: string[];
|
|
9008
|
+
};
|
|
9009
|
+
header?: never;
|
|
9010
|
+
path: {
|
|
9011
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
9012
|
+
provider: "cursor" | "claude";
|
|
9013
|
+
};
|
|
9014
|
+
cookie?: never;
|
|
9015
|
+
};
|
|
9016
|
+
requestBody?: never;
|
|
9017
|
+
responses: {
|
|
9018
|
+
/** @description Daily series */
|
|
9019
|
+
200: {
|
|
9020
|
+
headers: {
|
|
9021
|
+
[name: string]: unknown;
|
|
9022
|
+
};
|
|
9023
|
+
content: {
|
|
9024
|
+
"application/json": components["schemas"]["AiToolDailySeriesDto"];
|
|
9025
|
+
};
|
|
9026
|
+
};
|
|
9027
|
+
/** @description Invalid query */
|
|
9028
|
+
400: {
|
|
9029
|
+
headers: {
|
|
9030
|
+
[name: string]: unknown;
|
|
9031
|
+
};
|
|
9032
|
+
content: {
|
|
9033
|
+
"application/json": {
|
|
9034
|
+
/** @example invalid_query */
|
|
9035
|
+
error: string;
|
|
9036
|
+
};
|
|
9037
|
+
};
|
|
9038
|
+
};
|
|
9039
|
+
401: components["responses"]["Unauthorized"];
|
|
9040
|
+
403: components["responses"]["Forbidden"];
|
|
9041
|
+
};
|
|
9042
|
+
};
|
|
9043
|
+
getWorkspaceAiToolProviderModelBreakdown: {
|
|
9044
|
+
parameters: {
|
|
9045
|
+
query: {
|
|
9046
|
+
from: string;
|
|
9047
|
+
to: string;
|
|
9048
|
+
/** @description Optional member external IDs to scope the rollup (org/team filter). */
|
|
9049
|
+
externalId?: string[];
|
|
9050
|
+
};
|
|
9051
|
+
header?: never;
|
|
9052
|
+
path: {
|
|
9053
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
9054
|
+
provider: "cursor" | "claude";
|
|
9055
|
+
};
|
|
9056
|
+
cookie?: never;
|
|
9057
|
+
};
|
|
9058
|
+
requestBody?: never;
|
|
9059
|
+
responses: {
|
|
9060
|
+
/** @description Model breakdown */
|
|
9061
|
+
200: {
|
|
9062
|
+
headers: {
|
|
9063
|
+
[name: string]: unknown;
|
|
9064
|
+
};
|
|
9065
|
+
content: {
|
|
9066
|
+
"application/json": components["schemas"]["AiToolModelBreakdownDto"];
|
|
9067
|
+
};
|
|
9068
|
+
};
|
|
9069
|
+
/** @description Invalid query */
|
|
9070
|
+
400: {
|
|
9071
|
+
headers: {
|
|
9072
|
+
[name: string]: unknown;
|
|
9073
|
+
};
|
|
9074
|
+
content: {
|
|
9075
|
+
"application/json": {
|
|
9076
|
+
/** @example invalid_query */
|
|
9077
|
+
error: string;
|
|
9078
|
+
};
|
|
9079
|
+
};
|
|
9080
|
+
};
|
|
9081
|
+
401: components["responses"]["Unauthorized"];
|
|
9082
|
+
403: components["responses"]["Forbidden"];
|
|
9083
|
+
};
|
|
9084
|
+
};
|
|
8785
9085
|
getWorkspaceAiToolRefreshStatus: {
|
|
8786
9086
|
parameters: {
|
|
8787
9087
|
query?: never;
|