@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
|
@@ -625,6 +625,66 @@ export interface paths {
|
|
|
625
625
|
patch?: never;
|
|
626
626
|
trace?: never;
|
|
627
627
|
};
|
|
628
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/members": {
|
|
629
|
+
parameters: {
|
|
630
|
+
query?: never;
|
|
631
|
+
header?: never;
|
|
632
|
+
path?: never;
|
|
633
|
+
cookie?: never;
|
|
634
|
+
};
|
|
635
|
+
/**
|
|
636
|
+
* AI tool integration — paginated member list with usage totals
|
|
637
|
+
* @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.
|
|
638
|
+
*/
|
|
639
|
+
get: operations["getAiToolMembers"];
|
|
640
|
+
put?: never;
|
|
641
|
+
post?: never;
|
|
642
|
+
delete?: never;
|
|
643
|
+
options?: never;
|
|
644
|
+
head?: never;
|
|
645
|
+
patch?: never;
|
|
646
|
+
trace?: never;
|
|
647
|
+
};
|
|
648
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/teams": {
|
|
649
|
+
parameters: {
|
|
650
|
+
query?: never;
|
|
651
|
+
header?: never;
|
|
652
|
+
path?: never;
|
|
653
|
+
cookie?: never;
|
|
654
|
+
};
|
|
655
|
+
/**
|
|
656
|
+
* AI tool integration — team rollups from org chart
|
|
657
|
+
* @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.
|
|
658
|
+
*/
|
|
659
|
+
get: operations["getAiToolTeams"];
|
|
660
|
+
put?: never;
|
|
661
|
+
post?: never;
|
|
662
|
+
delete?: never;
|
|
663
|
+
options?: never;
|
|
664
|
+
head?: never;
|
|
665
|
+
patch?: never;
|
|
666
|
+
trace?: never;
|
|
667
|
+
};
|
|
668
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/members/{externalId}": {
|
|
669
|
+
parameters: {
|
|
670
|
+
query?: never;
|
|
671
|
+
header?: never;
|
|
672
|
+
path?: never;
|
|
673
|
+
cookie?: never;
|
|
674
|
+
};
|
|
675
|
+
/**
|
|
676
|
+
* AI tool integration — member detail drill-down
|
|
677
|
+
* @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.
|
|
678
|
+
*/
|
|
679
|
+
get: operations["getAiToolMemberDetail"];
|
|
680
|
+
put?: never;
|
|
681
|
+
post?: never;
|
|
682
|
+
delete?: never;
|
|
683
|
+
options?: never;
|
|
684
|
+
head?: never;
|
|
685
|
+
patch?: never;
|
|
686
|
+
trace?: never;
|
|
687
|
+
};
|
|
628
688
|
"/workspaces/{workspaceId}/company-profile": {
|
|
629
689
|
parameters: {
|
|
630
690
|
query?: never;
|
|
@@ -2928,6 +2988,59 @@ export interface components {
|
|
|
2928
2988
|
generatedAt: string;
|
|
2929
2989
|
weeks: components["schemas"]["AiUsageSpendUsageTrendsWeekDto"][];
|
|
2930
2990
|
};
|
|
2991
|
+
AiToolMemberSummaryDto: {
|
|
2992
|
+
externalId: string;
|
|
2993
|
+
email: string;
|
|
2994
|
+
displayName?: string;
|
|
2995
|
+
role?: string;
|
|
2996
|
+
spendCents: number;
|
|
2997
|
+
tokenCount: number;
|
|
2998
|
+
activeDays: number;
|
|
2999
|
+
mostUsedModel?: string;
|
|
3000
|
+
};
|
|
3001
|
+
AiToolMembersListDto: {
|
|
3002
|
+
members: components["schemas"]["AiToolMemberSummaryDto"][];
|
|
3003
|
+
total: number;
|
|
3004
|
+
page: number;
|
|
3005
|
+
pageSize: number;
|
|
3006
|
+
};
|
|
3007
|
+
AiToolTeamSummaryDto: {
|
|
3008
|
+
teamId: string;
|
|
3009
|
+
teamName: string;
|
|
3010
|
+
memberCount: number;
|
|
3011
|
+
activeMembers: number;
|
|
3012
|
+
spendCents: number;
|
|
3013
|
+
tokenCount: number;
|
|
3014
|
+
};
|
|
3015
|
+
AiToolTeamsListDto: {
|
|
3016
|
+
teams: components["schemas"]["AiToolTeamSummaryDto"][];
|
|
3017
|
+
total: number;
|
|
3018
|
+
};
|
|
3019
|
+
AiToolMemberModelBreakdownItemDto: {
|
|
3020
|
+
modelName: string;
|
|
3021
|
+
spendCents: number;
|
|
3022
|
+
tokenCount: number;
|
|
3023
|
+
eventCount: number;
|
|
3024
|
+
};
|
|
3025
|
+
AiToolMemberHeatmapDayDto: {
|
|
3026
|
+
/** Format: date */
|
|
3027
|
+
day: string;
|
|
3028
|
+
isActive: boolean;
|
|
3029
|
+
tokenCount: number;
|
|
3030
|
+
};
|
|
3031
|
+
AiToolMemberDetailDto: {
|
|
3032
|
+
externalId: string;
|
|
3033
|
+
email: string;
|
|
3034
|
+
displayName?: string;
|
|
3035
|
+
role?: string;
|
|
3036
|
+
isRemoved: boolean;
|
|
3037
|
+
spendCents: number;
|
|
3038
|
+
tokenCount: number;
|
|
3039
|
+
activeDays: number;
|
|
3040
|
+
teamName?: string;
|
|
3041
|
+
modelBreakdown: components["schemas"]["AiToolMemberModelBreakdownItemDto"][];
|
|
3042
|
+
heatmap: components["schemas"]["AiToolMemberHeatmapDayDto"][];
|
|
3043
|
+
};
|
|
2931
3044
|
MeProfileDto: {
|
|
2932
3045
|
id: string;
|
|
2933
3046
|
email: string;
|
|
@@ -4509,6 +4622,13 @@ export type AiUsageSpendRoiProductivitySignalDto = components['schemas']['AiUsag
|
|
|
4509
4622
|
export type AiUsageSpendUsageTrendsProviderWeekDto = components['schemas']['AiUsageSpendUsageTrendsProviderWeekDto'];
|
|
4510
4623
|
export type AiUsageSpendUsageTrendsWeekDto = components['schemas']['AiUsageSpendUsageTrendsWeekDto'];
|
|
4511
4624
|
export type AiUsageSpendUsageTrendsDto = components['schemas']['AiUsageSpendUsageTrendsDto'];
|
|
4625
|
+
export type AiToolMemberSummaryDto = components['schemas']['AiToolMemberSummaryDto'];
|
|
4626
|
+
export type AiToolMembersListDto = components['schemas']['AiToolMembersListDto'];
|
|
4627
|
+
export type AiToolTeamSummaryDto = components['schemas']['AiToolTeamSummaryDto'];
|
|
4628
|
+
export type AiToolTeamsListDto = components['schemas']['AiToolTeamsListDto'];
|
|
4629
|
+
export type AiToolMemberModelBreakdownItemDto = components['schemas']['AiToolMemberModelBreakdownItemDto'];
|
|
4630
|
+
export type AiToolMemberHeatmapDayDto = components['schemas']['AiToolMemberHeatmapDayDto'];
|
|
4631
|
+
export type AiToolMemberDetailDto = components['schemas']['AiToolMemberDetailDto'];
|
|
4512
4632
|
export type MeProfileDto = components['schemas']['MeProfileDto'];
|
|
4513
4633
|
export type UpdateMeBodyDto = components['schemas']['UpdateMeBodyDto'];
|
|
4514
4634
|
export type WorkspaceSummaryDto = components['schemas']['WorkspaceSummaryDto'];
|
|
@@ -6314,6 +6434,154 @@ export interface operations {
|
|
|
6314
6434
|
};
|
|
6315
6435
|
};
|
|
6316
6436
|
};
|
|
6437
|
+
getAiToolMembers: {
|
|
6438
|
+
parameters: {
|
|
6439
|
+
query?: {
|
|
6440
|
+
rangeId?: "4w" | "8w" | "q";
|
|
6441
|
+
windowEnd?: string;
|
|
6442
|
+
page?: number;
|
|
6443
|
+
pageSize?: number;
|
|
6444
|
+
search?: string;
|
|
6445
|
+
sort?: "spend_cents_desc" | "active_days_desc" | "token_count_desc" | "name_asc";
|
|
6446
|
+
};
|
|
6447
|
+
header?: never;
|
|
6448
|
+
path: {
|
|
6449
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
6450
|
+
/** @description AI tool provider id (e.g. claude, cursor). */
|
|
6451
|
+
provider: string;
|
|
6452
|
+
};
|
|
6453
|
+
cookie?: never;
|
|
6454
|
+
};
|
|
6455
|
+
requestBody?: never;
|
|
6456
|
+
responses: {
|
|
6457
|
+
/** @description Paginated member list with usage totals */
|
|
6458
|
+
200: {
|
|
6459
|
+
headers: {
|
|
6460
|
+
[name: string]: unknown;
|
|
6461
|
+
};
|
|
6462
|
+
content: {
|
|
6463
|
+
"application/json": components["schemas"]["AiToolMembersListDto"];
|
|
6464
|
+
};
|
|
6465
|
+
};
|
|
6466
|
+
/** @description Invalid query parameters */
|
|
6467
|
+
400: {
|
|
6468
|
+
headers: {
|
|
6469
|
+
[name: string]: unknown;
|
|
6470
|
+
};
|
|
6471
|
+
content: {
|
|
6472
|
+
"application/json": {
|
|
6473
|
+
/** @example invalid_query */
|
|
6474
|
+
error: string;
|
|
6475
|
+
};
|
|
6476
|
+
};
|
|
6477
|
+
};
|
|
6478
|
+
401: components["responses"]["Unauthorized"];
|
|
6479
|
+
403: components["responses"]["Forbidden"];
|
|
6480
|
+
/** @description Workspace does not exist or malformed workspaceId */
|
|
6481
|
+
404: {
|
|
6482
|
+
headers: {
|
|
6483
|
+
[name: string]: unknown;
|
|
6484
|
+
};
|
|
6485
|
+
content?: never;
|
|
6486
|
+
};
|
|
6487
|
+
};
|
|
6488
|
+
};
|
|
6489
|
+
getAiToolTeams: {
|
|
6490
|
+
parameters: {
|
|
6491
|
+
query?: {
|
|
6492
|
+
rangeId?: "4w" | "8w" | "q";
|
|
6493
|
+
windowEnd?: string;
|
|
6494
|
+
};
|
|
6495
|
+
header?: never;
|
|
6496
|
+
path: {
|
|
6497
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
6498
|
+
provider: string;
|
|
6499
|
+
};
|
|
6500
|
+
cookie?: never;
|
|
6501
|
+
};
|
|
6502
|
+
requestBody?: never;
|
|
6503
|
+
responses: {
|
|
6504
|
+
/** @description Team rollup list */
|
|
6505
|
+
200: {
|
|
6506
|
+
headers: {
|
|
6507
|
+
[name: string]: unknown;
|
|
6508
|
+
};
|
|
6509
|
+
content: {
|
|
6510
|
+
"application/json": components["schemas"]["AiToolTeamsListDto"];
|
|
6511
|
+
};
|
|
6512
|
+
};
|
|
6513
|
+
/** @description Invalid query parameters */
|
|
6514
|
+
400: {
|
|
6515
|
+
headers: {
|
|
6516
|
+
[name: string]: unknown;
|
|
6517
|
+
};
|
|
6518
|
+
content: {
|
|
6519
|
+
"application/json": {
|
|
6520
|
+
/** @example invalid_query */
|
|
6521
|
+
error: string;
|
|
6522
|
+
};
|
|
6523
|
+
};
|
|
6524
|
+
};
|
|
6525
|
+
401: components["responses"]["Unauthorized"];
|
|
6526
|
+
403: components["responses"]["Forbidden"];
|
|
6527
|
+
/** @description Workspace does not exist or malformed workspaceId */
|
|
6528
|
+
404: {
|
|
6529
|
+
headers: {
|
|
6530
|
+
[name: string]: unknown;
|
|
6531
|
+
};
|
|
6532
|
+
content?: never;
|
|
6533
|
+
};
|
|
6534
|
+
};
|
|
6535
|
+
};
|
|
6536
|
+
getAiToolMemberDetail: {
|
|
6537
|
+
parameters: {
|
|
6538
|
+
query?: {
|
|
6539
|
+
rangeId?: "4w" | "8w" | "q";
|
|
6540
|
+
windowEnd?: string;
|
|
6541
|
+
};
|
|
6542
|
+
header?: never;
|
|
6543
|
+
path: {
|
|
6544
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
6545
|
+
provider: string;
|
|
6546
|
+
/** @description Provider-assigned member external id. */
|
|
6547
|
+
externalId: string;
|
|
6548
|
+
};
|
|
6549
|
+
cookie?: never;
|
|
6550
|
+
};
|
|
6551
|
+
requestBody?: never;
|
|
6552
|
+
responses: {
|
|
6553
|
+
/** @description Member detail with model breakdown and day heatmap */
|
|
6554
|
+
200: {
|
|
6555
|
+
headers: {
|
|
6556
|
+
[name: string]: unknown;
|
|
6557
|
+
};
|
|
6558
|
+
content: {
|
|
6559
|
+
"application/json": components["schemas"]["AiToolMemberDetailDto"];
|
|
6560
|
+
};
|
|
6561
|
+
};
|
|
6562
|
+
/** @description Invalid query parameters */
|
|
6563
|
+
400: {
|
|
6564
|
+
headers: {
|
|
6565
|
+
[name: string]: unknown;
|
|
6566
|
+
};
|
|
6567
|
+
content: {
|
|
6568
|
+
"application/json": {
|
|
6569
|
+
/** @example invalid_query */
|
|
6570
|
+
error: string;
|
|
6571
|
+
};
|
|
6572
|
+
};
|
|
6573
|
+
};
|
|
6574
|
+
401: components["responses"]["Unauthorized"];
|
|
6575
|
+
403: components["responses"]["Forbidden"];
|
|
6576
|
+
/** @description Workspace or member does not exist */
|
|
6577
|
+
404: {
|
|
6578
|
+
headers: {
|
|
6579
|
+
[name: string]: unknown;
|
|
6580
|
+
};
|
|
6581
|
+
content?: never;
|
|
6582
|
+
};
|
|
6583
|
+
};
|
|
6584
|
+
};
|
|
6317
6585
|
getCompanyProfile: {
|
|
6318
6586
|
parameters: {
|
|
6319
6587
|
query?: never;
|