@thinkai/tai-api-contract 2.40.0 → 2.41.0-pr.841.238652fb
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 +268 -0
- package/dist/generated/openapi.d.ts.map +1 -1
- package/dist/index.d.ts +59 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/openapi/openapi.yaml +327 -1
- package/package.json +1 -1
- package/src/generated/openapi.ts +268 -0
- package/src/index.ts +66 -0
package/src/generated/openapi.ts
CHANGED
|
@@ -626,6 +626,66 @@ export interface paths {
|
|
|
626
626
|
patch?: never;
|
|
627
627
|
trace?: never;
|
|
628
628
|
};
|
|
629
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/members": {
|
|
630
|
+
parameters: {
|
|
631
|
+
query?: never;
|
|
632
|
+
header?: never;
|
|
633
|
+
path?: never;
|
|
634
|
+
cookie?: never;
|
|
635
|
+
};
|
|
636
|
+
/**
|
|
637
|
+
* AI tool integration — paginated member list with usage totals
|
|
638
|
+
* @description Paginated list of active AI-tool seats enriched with spend, token, and active-day totals for the selected time range. Supports search (by email / display name) and sort (spend_cents_desc, active_days_desc, token_count_desc, name_asc). Useful for the **Members** tab of the AI tool integration detail page.
|
|
639
|
+
*/
|
|
640
|
+
get: operations["getAiToolMembers"];
|
|
641
|
+
put?: never;
|
|
642
|
+
post?: never;
|
|
643
|
+
delete?: never;
|
|
644
|
+
options?: never;
|
|
645
|
+
head?: never;
|
|
646
|
+
patch?: never;
|
|
647
|
+
trace?: never;
|
|
648
|
+
};
|
|
649
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/teams": {
|
|
650
|
+
parameters: {
|
|
651
|
+
query?: never;
|
|
652
|
+
header?: never;
|
|
653
|
+
path?: never;
|
|
654
|
+
cookie?: never;
|
|
655
|
+
};
|
|
656
|
+
/**
|
|
657
|
+
* AI tool integration — team rollups from org chart
|
|
658
|
+
* @description Team-level AI tool usage aggregated from org-chart membership (SPA org chart snapshot). Returns spend, token, active member counts per team for the selected range. Members not mapped to any team are excluded.
|
|
659
|
+
*/
|
|
660
|
+
get: operations["getAiToolTeams"];
|
|
661
|
+
put?: never;
|
|
662
|
+
post?: never;
|
|
663
|
+
delete?: never;
|
|
664
|
+
options?: never;
|
|
665
|
+
head?: never;
|
|
666
|
+
patch?: never;
|
|
667
|
+
trace?: never;
|
|
668
|
+
};
|
|
669
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/members/{externalId}": {
|
|
670
|
+
parameters: {
|
|
671
|
+
query?: never;
|
|
672
|
+
header?: never;
|
|
673
|
+
path?: never;
|
|
674
|
+
cookie?: never;
|
|
675
|
+
};
|
|
676
|
+
/**
|
|
677
|
+
* AI tool integration — member detail drill-down
|
|
678
|
+
* @description Individual member detail: total spend, tokens, active days, per-model spend breakdown, and per-day activity heatmap for the selected range. The member's team (from org chart) is returned when available.
|
|
679
|
+
*/
|
|
680
|
+
get: operations["getAiToolMemberDetail"];
|
|
681
|
+
put?: never;
|
|
682
|
+
post?: never;
|
|
683
|
+
delete?: never;
|
|
684
|
+
options?: never;
|
|
685
|
+
head?: never;
|
|
686
|
+
patch?: never;
|
|
687
|
+
trace?: never;
|
|
688
|
+
};
|
|
629
689
|
"/workspaces/{workspaceId}/company-profile": {
|
|
630
690
|
parameters: {
|
|
631
691
|
query?: never;
|
|
@@ -2929,6 +2989,59 @@ export interface components {
|
|
|
2929
2989
|
generatedAt: string;
|
|
2930
2990
|
weeks: components["schemas"]["AiUsageSpendUsageTrendsWeekDto"][];
|
|
2931
2991
|
};
|
|
2992
|
+
AiToolMemberSummaryDto: {
|
|
2993
|
+
externalId: string;
|
|
2994
|
+
email: string;
|
|
2995
|
+
displayName?: string;
|
|
2996
|
+
role?: string;
|
|
2997
|
+
spendCents: number;
|
|
2998
|
+
tokenCount: number;
|
|
2999
|
+
activeDays: number;
|
|
3000
|
+
mostUsedModel?: string;
|
|
3001
|
+
};
|
|
3002
|
+
AiToolMembersListDto: {
|
|
3003
|
+
members: components["schemas"]["AiToolMemberSummaryDto"][];
|
|
3004
|
+
total: number;
|
|
3005
|
+
page: number;
|
|
3006
|
+
pageSize: number;
|
|
3007
|
+
};
|
|
3008
|
+
AiToolTeamSummaryDto: {
|
|
3009
|
+
teamId: string;
|
|
3010
|
+
teamName: string;
|
|
3011
|
+
memberCount: number;
|
|
3012
|
+
activeMembers: number;
|
|
3013
|
+
spendCents: number;
|
|
3014
|
+
tokenCount: number;
|
|
3015
|
+
};
|
|
3016
|
+
AiToolTeamsListDto: {
|
|
3017
|
+
teams: components["schemas"]["AiToolTeamSummaryDto"][];
|
|
3018
|
+
total: number;
|
|
3019
|
+
};
|
|
3020
|
+
AiToolMemberModelBreakdownItemDto: {
|
|
3021
|
+
modelName: string;
|
|
3022
|
+
spendCents: number;
|
|
3023
|
+
tokenCount: number;
|
|
3024
|
+
eventCount: number;
|
|
3025
|
+
};
|
|
3026
|
+
AiToolMemberHeatmapDayDto: {
|
|
3027
|
+
/** Format: date */
|
|
3028
|
+
day: string;
|
|
3029
|
+
isActive: boolean;
|
|
3030
|
+
tokenCount: number;
|
|
3031
|
+
};
|
|
3032
|
+
AiToolMemberDetailDto: {
|
|
3033
|
+
externalId: string;
|
|
3034
|
+
email: string;
|
|
3035
|
+
displayName?: string;
|
|
3036
|
+
role?: string;
|
|
3037
|
+
isRemoved: boolean;
|
|
3038
|
+
spendCents: number;
|
|
3039
|
+
tokenCount: number;
|
|
3040
|
+
activeDays: number;
|
|
3041
|
+
teamName?: string;
|
|
3042
|
+
modelBreakdown: components["schemas"]["AiToolMemberModelBreakdownItemDto"][];
|
|
3043
|
+
heatmap: components["schemas"]["AiToolMemberHeatmapDayDto"][];
|
|
3044
|
+
};
|
|
2932
3045
|
MeProfileDto: {
|
|
2933
3046
|
id: string;
|
|
2934
3047
|
email: string;
|
|
@@ -4510,6 +4623,13 @@ export type AiUsageSpendRoiProductivitySignalDto = components['schemas']['AiUsag
|
|
|
4510
4623
|
export type AiUsageSpendUsageTrendsProviderWeekDto = components['schemas']['AiUsageSpendUsageTrendsProviderWeekDto'];
|
|
4511
4624
|
export type AiUsageSpendUsageTrendsWeekDto = components['schemas']['AiUsageSpendUsageTrendsWeekDto'];
|
|
4512
4625
|
export type AiUsageSpendUsageTrendsDto = components['schemas']['AiUsageSpendUsageTrendsDto'];
|
|
4626
|
+
export type AiToolMemberSummaryDto = components['schemas']['AiToolMemberSummaryDto'];
|
|
4627
|
+
export type AiToolMembersListDto = components['schemas']['AiToolMembersListDto'];
|
|
4628
|
+
export type AiToolTeamSummaryDto = components['schemas']['AiToolTeamSummaryDto'];
|
|
4629
|
+
export type AiToolTeamsListDto = components['schemas']['AiToolTeamsListDto'];
|
|
4630
|
+
export type AiToolMemberModelBreakdownItemDto = components['schemas']['AiToolMemberModelBreakdownItemDto'];
|
|
4631
|
+
export type AiToolMemberHeatmapDayDto = components['schemas']['AiToolMemberHeatmapDayDto'];
|
|
4632
|
+
export type AiToolMemberDetailDto = components['schemas']['AiToolMemberDetailDto'];
|
|
4513
4633
|
export type MeProfileDto = components['schemas']['MeProfileDto'];
|
|
4514
4634
|
export type UpdateMeBodyDto = components['schemas']['UpdateMeBodyDto'];
|
|
4515
4635
|
export type WorkspaceSummaryDto = components['schemas']['WorkspaceSummaryDto'];
|
|
@@ -6315,6 +6435,154 @@ export interface operations {
|
|
|
6315
6435
|
};
|
|
6316
6436
|
};
|
|
6317
6437
|
};
|
|
6438
|
+
getAiToolMembers: {
|
|
6439
|
+
parameters: {
|
|
6440
|
+
query?: {
|
|
6441
|
+
rangeId?: "4w" | "8w" | "q";
|
|
6442
|
+
windowEnd?: string;
|
|
6443
|
+
page?: number;
|
|
6444
|
+
pageSize?: number;
|
|
6445
|
+
search?: string;
|
|
6446
|
+
sort?: "spend_cents_desc" | "active_days_desc" | "token_count_desc" | "name_asc";
|
|
6447
|
+
};
|
|
6448
|
+
header?: never;
|
|
6449
|
+
path: {
|
|
6450
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
6451
|
+
/** @description AI tool provider id (e.g. claude, cursor). */
|
|
6452
|
+
provider: string;
|
|
6453
|
+
};
|
|
6454
|
+
cookie?: never;
|
|
6455
|
+
};
|
|
6456
|
+
requestBody?: never;
|
|
6457
|
+
responses: {
|
|
6458
|
+
/** @description Paginated member list with usage totals */
|
|
6459
|
+
200: {
|
|
6460
|
+
headers: {
|
|
6461
|
+
[name: string]: unknown;
|
|
6462
|
+
};
|
|
6463
|
+
content: {
|
|
6464
|
+
"application/json": components["schemas"]["AiToolMembersListDto"];
|
|
6465
|
+
};
|
|
6466
|
+
};
|
|
6467
|
+
/** @description Invalid query parameters */
|
|
6468
|
+
400: {
|
|
6469
|
+
headers: {
|
|
6470
|
+
[name: string]: unknown;
|
|
6471
|
+
};
|
|
6472
|
+
content: {
|
|
6473
|
+
"application/json": {
|
|
6474
|
+
/** @example invalid_query */
|
|
6475
|
+
error: string;
|
|
6476
|
+
};
|
|
6477
|
+
};
|
|
6478
|
+
};
|
|
6479
|
+
401: components["responses"]["Unauthorized"];
|
|
6480
|
+
403: components["responses"]["Forbidden"];
|
|
6481
|
+
/** @description Workspace does not exist or malformed workspaceId */
|
|
6482
|
+
404: {
|
|
6483
|
+
headers: {
|
|
6484
|
+
[name: string]: unknown;
|
|
6485
|
+
};
|
|
6486
|
+
content?: never;
|
|
6487
|
+
};
|
|
6488
|
+
};
|
|
6489
|
+
};
|
|
6490
|
+
getAiToolTeams: {
|
|
6491
|
+
parameters: {
|
|
6492
|
+
query?: {
|
|
6493
|
+
rangeId?: "4w" | "8w" | "q";
|
|
6494
|
+
windowEnd?: string;
|
|
6495
|
+
};
|
|
6496
|
+
header?: never;
|
|
6497
|
+
path: {
|
|
6498
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
6499
|
+
provider: string;
|
|
6500
|
+
};
|
|
6501
|
+
cookie?: never;
|
|
6502
|
+
};
|
|
6503
|
+
requestBody?: never;
|
|
6504
|
+
responses: {
|
|
6505
|
+
/** @description Team rollup list */
|
|
6506
|
+
200: {
|
|
6507
|
+
headers: {
|
|
6508
|
+
[name: string]: unknown;
|
|
6509
|
+
};
|
|
6510
|
+
content: {
|
|
6511
|
+
"application/json": components["schemas"]["AiToolTeamsListDto"];
|
|
6512
|
+
};
|
|
6513
|
+
};
|
|
6514
|
+
/** @description Invalid query parameters */
|
|
6515
|
+
400: {
|
|
6516
|
+
headers: {
|
|
6517
|
+
[name: string]: unknown;
|
|
6518
|
+
};
|
|
6519
|
+
content: {
|
|
6520
|
+
"application/json": {
|
|
6521
|
+
/** @example invalid_query */
|
|
6522
|
+
error: string;
|
|
6523
|
+
};
|
|
6524
|
+
};
|
|
6525
|
+
};
|
|
6526
|
+
401: components["responses"]["Unauthorized"];
|
|
6527
|
+
403: components["responses"]["Forbidden"];
|
|
6528
|
+
/** @description Workspace does not exist or malformed workspaceId */
|
|
6529
|
+
404: {
|
|
6530
|
+
headers: {
|
|
6531
|
+
[name: string]: unknown;
|
|
6532
|
+
};
|
|
6533
|
+
content?: never;
|
|
6534
|
+
};
|
|
6535
|
+
};
|
|
6536
|
+
};
|
|
6537
|
+
getAiToolMemberDetail: {
|
|
6538
|
+
parameters: {
|
|
6539
|
+
query?: {
|
|
6540
|
+
rangeId?: "4w" | "8w" | "q";
|
|
6541
|
+
windowEnd?: string;
|
|
6542
|
+
};
|
|
6543
|
+
header?: never;
|
|
6544
|
+
path: {
|
|
6545
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
6546
|
+
provider: string;
|
|
6547
|
+
/** @description Provider-assigned member external id. */
|
|
6548
|
+
externalId: string;
|
|
6549
|
+
};
|
|
6550
|
+
cookie?: never;
|
|
6551
|
+
};
|
|
6552
|
+
requestBody?: never;
|
|
6553
|
+
responses: {
|
|
6554
|
+
/** @description Member detail with model breakdown and day heatmap */
|
|
6555
|
+
200: {
|
|
6556
|
+
headers: {
|
|
6557
|
+
[name: string]: unknown;
|
|
6558
|
+
};
|
|
6559
|
+
content: {
|
|
6560
|
+
"application/json": components["schemas"]["AiToolMemberDetailDto"];
|
|
6561
|
+
};
|
|
6562
|
+
};
|
|
6563
|
+
/** @description Invalid query parameters */
|
|
6564
|
+
400: {
|
|
6565
|
+
headers: {
|
|
6566
|
+
[name: string]: unknown;
|
|
6567
|
+
};
|
|
6568
|
+
content: {
|
|
6569
|
+
"application/json": {
|
|
6570
|
+
/** @example invalid_query */
|
|
6571
|
+
error: string;
|
|
6572
|
+
};
|
|
6573
|
+
};
|
|
6574
|
+
};
|
|
6575
|
+
401: components["responses"]["Unauthorized"];
|
|
6576
|
+
403: components["responses"]["Forbidden"];
|
|
6577
|
+
/** @description Workspace or member does not exist */
|
|
6578
|
+
404: {
|
|
6579
|
+
headers: {
|
|
6580
|
+
[name: string]: unknown;
|
|
6581
|
+
};
|
|
6582
|
+
content?: never;
|
|
6583
|
+
};
|
|
6584
|
+
};
|
|
6585
|
+
};
|
|
6318
6586
|
getCompanyProfile: {
|
|
6319
6587
|
parameters: {
|
|
6320
6588
|
query?: never;
|
package/src/index.ts
CHANGED
|
@@ -1174,6 +1174,72 @@ export interface HrisTriggerSyncResultDto {
|
|
|
1174
1174
|
providers?: HrisProviderSyncResultDto[];
|
|
1175
1175
|
}
|
|
1176
1176
|
|
|
1177
|
+
/** Single AI-tool seat with usage totals for a time range. */
|
|
1178
|
+
export interface AiToolMemberSummaryDto {
|
|
1179
|
+
externalId: string;
|
|
1180
|
+
email: string;
|
|
1181
|
+
displayName?: string;
|
|
1182
|
+
role?: string;
|
|
1183
|
+
spendCents: number;
|
|
1184
|
+
tokenCount: number;
|
|
1185
|
+
activeDays: number;
|
|
1186
|
+
mostUsedModel?: string;
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
/** Paginated response for GET .../integrations/ai-tool/:provider/members */
|
|
1190
|
+
export interface AiToolMembersListDto {
|
|
1191
|
+
members: AiToolMemberSummaryDto[];
|
|
1192
|
+
total: number;
|
|
1193
|
+
page: number;
|
|
1194
|
+
pageSize: number;
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
/** Team-level AI tool usage aggregated from org-chart membership. */
|
|
1198
|
+
export interface AiToolTeamSummaryDto {
|
|
1199
|
+
teamId: string;
|
|
1200
|
+
teamName: string;
|
|
1201
|
+
memberCount: number;
|
|
1202
|
+
activeMembers: number;
|
|
1203
|
+
spendCents: number;
|
|
1204
|
+
tokenCount: number;
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
/** Response for GET .../integrations/ai-tool/:provider/teams */
|
|
1208
|
+
export interface AiToolTeamsListDto {
|
|
1209
|
+
teams: AiToolTeamSummaryDto[];
|
|
1210
|
+
total: number;
|
|
1211
|
+
}
|
|
1212
|
+
|
|
1213
|
+
/** Per-model spend and token breakdown for a member in a time range. */
|
|
1214
|
+
export interface AiToolMemberModelBreakdownItemDto {
|
|
1215
|
+
modelName: string;
|
|
1216
|
+
spendCents: number;
|
|
1217
|
+
tokenCount: number;
|
|
1218
|
+
eventCount: number;
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
/** Per-day activity entry in the member detail heatmap. */
|
|
1222
|
+
export interface AiToolMemberHeatmapDayDto {
|
|
1223
|
+
day: string;
|
|
1224
|
+
isActive: boolean;
|
|
1225
|
+
tokenCount: number;
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
/** Response for GET .../integrations/ai-tool/:provider/members/:externalId */
|
|
1229
|
+
export interface AiToolMemberDetailDto {
|
|
1230
|
+
externalId: string;
|
|
1231
|
+
email: string;
|
|
1232
|
+
displayName?: string;
|
|
1233
|
+
role?: string;
|
|
1234
|
+
isRemoved: boolean;
|
|
1235
|
+
spendCents: number;
|
|
1236
|
+
tokenCount: number;
|
|
1237
|
+
activeDays: number;
|
|
1238
|
+
teamName?: string;
|
|
1239
|
+
modelBreakdown: AiToolMemberModelBreakdownItemDto[];
|
|
1240
|
+
heatmap: AiToolMemberHeatmapDayDto[];
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1177
1243
|
export {
|
|
1178
1244
|
JOURNEY_STEP_IDS,
|
|
1179
1245
|
JOURNEY_STEP_REGISTRY,
|