@thinkai/tai-api-contract 2.52.0 → 2.54.0-pr.886.9036266a
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 +349 -2
- 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 +494 -2
- package/package.json +1 -1
- package/src/generated/openapi.ts +349 -2
- package/src/index.ts +81 -0
package/src/generated/openapi.ts
CHANGED
|
@@ -1132,6 +1132,66 @@ export interface paths {
|
|
|
1132
1132
|
patch?: never;
|
|
1133
1133
|
trace?: never;
|
|
1134
1134
|
};
|
|
1135
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/summary": {
|
|
1136
|
+
parameters: {
|
|
1137
|
+
query?: never;
|
|
1138
|
+
header?: never;
|
|
1139
|
+
path?: never;
|
|
1140
|
+
cookie?: never;
|
|
1141
|
+
};
|
|
1142
|
+
/**
|
|
1143
|
+
* AI-tool provider summary for a date window
|
|
1144
|
+
* @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.
|
|
1145
|
+
*/
|
|
1146
|
+
get: operations["getWorkspaceAiToolProviderSummary"];
|
|
1147
|
+
put?: never;
|
|
1148
|
+
post?: never;
|
|
1149
|
+
delete?: never;
|
|
1150
|
+
options?: never;
|
|
1151
|
+
head?: never;
|
|
1152
|
+
patch?: never;
|
|
1153
|
+
trace?: never;
|
|
1154
|
+
};
|
|
1155
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/daily-series": {
|
|
1156
|
+
parameters: {
|
|
1157
|
+
query?: never;
|
|
1158
|
+
header?: never;
|
|
1159
|
+
path?: never;
|
|
1160
|
+
cookie?: never;
|
|
1161
|
+
};
|
|
1162
|
+
/**
|
|
1163
|
+
* AI-tool daily spend and usage series for charts
|
|
1164
|
+
* @description Daily chart points (spend and tokens) with optional product/model breakdown. Scoped to the requested date window; intended for the overview trend chart.
|
|
1165
|
+
*/
|
|
1166
|
+
get: operations["getWorkspaceAiToolProviderDailySeries"];
|
|
1167
|
+
put?: never;
|
|
1168
|
+
post?: never;
|
|
1169
|
+
delete?: never;
|
|
1170
|
+
options?: never;
|
|
1171
|
+
head?: never;
|
|
1172
|
+
patch?: never;
|
|
1173
|
+
trace?: never;
|
|
1174
|
+
};
|
|
1175
|
+
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/model-breakdown": {
|
|
1176
|
+
parameters: {
|
|
1177
|
+
query?: never;
|
|
1178
|
+
header?: never;
|
|
1179
|
+
path?: never;
|
|
1180
|
+
cookie?: never;
|
|
1181
|
+
};
|
|
1182
|
+
/**
|
|
1183
|
+
* AI-tool model spend rollup for a date window
|
|
1184
|
+
* @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.
|
|
1185
|
+
*/
|
|
1186
|
+
get: operations["getWorkspaceAiToolProviderModelBreakdown"];
|
|
1187
|
+
put?: never;
|
|
1188
|
+
post?: never;
|
|
1189
|
+
delete?: never;
|
|
1190
|
+
options?: never;
|
|
1191
|
+
head?: never;
|
|
1192
|
+
patch?: never;
|
|
1193
|
+
trace?: never;
|
|
1194
|
+
};
|
|
1135
1195
|
"/workspaces/{workspaceId}/integrations/ai-tool/{provider}/status": {
|
|
1136
1196
|
parameters: {
|
|
1137
1197
|
query?: never;
|
|
@@ -2057,6 +2117,23 @@ export interface paths {
|
|
|
2057
2117
|
patch?: never;
|
|
2058
2118
|
trace?: never;
|
|
2059
2119
|
};
|
|
2120
|
+
"/workspaces/{workspaceId}/notifications/unread-count": {
|
|
2121
|
+
parameters: {
|
|
2122
|
+
query?: never;
|
|
2123
|
+
header?: never;
|
|
2124
|
+
path?: never;
|
|
2125
|
+
cookie?: never;
|
|
2126
|
+
};
|
|
2127
|
+
/** Unread notification count */
|
|
2128
|
+
get: operations["getNotificationUnreadCount"];
|
|
2129
|
+
put?: never;
|
|
2130
|
+
post?: never;
|
|
2131
|
+
delete?: never;
|
|
2132
|
+
options?: never;
|
|
2133
|
+
head?: never;
|
|
2134
|
+
patch?: never;
|
|
2135
|
+
trace?: never;
|
|
2136
|
+
};
|
|
2060
2137
|
"/workspaces/{workspaceId}/notifications/{id}/read": {
|
|
2061
2138
|
parameters: {
|
|
2062
2139
|
query?: never;
|
|
@@ -3562,6 +3639,97 @@ export interface components {
|
|
|
3562
3639
|
days?: components["schemas"]["AiUsageSpendUsageTrendsDayDto"][];
|
|
3563
3640
|
weeks?: components["schemas"]["AiUsageSpendUsageTrendsWeekDto"][];
|
|
3564
3641
|
};
|
|
3642
|
+
AiToolProviderSummaryWeekBucketDto: {
|
|
3643
|
+
weekLabel: string;
|
|
3644
|
+
spendCents: number;
|
|
3645
|
+
tokenCount: number;
|
|
3646
|
+
activeUsers: number;
|
|
3647
|
+
};
|
|
3648
|
+
AiToolProviderSummaryTopMoverDto: {
|
|
3649
|
+
externalId: string;
|
|
3650
|
+
label: string;
|
|
3651
|
+
deltaSpendCents: number;
|
|
3652
|
+
currentSpendCents: number;
|
|
3653
|
+
};
|
|
3654
|
+
AiToolProviderSummaryDto: {
|
|
3655
|
+
provider: string;
|
|
3656
|
+
/** Format: date */
|
|
3657
|
+
from: string;
|
|
3658
|
+
/** Format: date */
|
|
3659
|
+
to: string;
|
|
3660
|
+
status?: components["schemas"]["AiToolRefreshStatusDto"];
|
|
3661
|
+
seatCounts: {
|
|
3662
|
+
total: number;
|
|
3663
|
+
active: number;
|
|
3664
|
+
removed: number;
|
|
3665
|
+
};
|
|
3666
|
+
totals: {
|
|
3667
|
+
spendCents: number;
|
|
3668
|
+
tokenCount: number;
|
|
3669
|
+
activeUsers: number;
|
|
3670
|
+
totalEngineers: number;
|
|
3671
|
+
};
|
|
3672
|
+
weekBuckets: components["schemas"]["AiToolProviderSummaryWeekBucketDto"][];
|
|
3673
|
+
topMovers?: components["schemas"]["AiToolProviderSummaryTopMoverDto"][];
|
|
3674
|
+
hasTokenMetrics?: boolean;
|
|
3675
|
+
/** Format: date-time */
|
|
3676
|
+
generatedAt: string;
|
|
3677
|
+
};
|
|
3678
|
+
AiToolDailySeriesPointDto: {
|
|
3679
|
+
/** Format: date */
|
|
3680
|
+
day: string;
|
|
3681
|
+
label: string;
|
|
3682
|
+
spendCents: number;
|
|
3683
|
+
tokenCount: number;
|
|
3684
|
+
/** @description Spend cents by product label. */
|
|
3685
|
+
products: {
|
|
3686
|
+
[key: string]: number;
|
|
3687
|
+
};
|
|
3688
|
+
/** @description Spend cents by model name. */
|
|
3689
|
+
models: {
|
|
3690
|
+
[key: string]: number;
|
|
3691
|
+
};
|
|
3692
|
+
};
|
|
3693
|
+
AiToolDailySeriesDto: {
|
|
3694
|
+
provider: string;
|
|
3695
|
+
/** Format: date */
|
|
3696
|
+
from: string;
|
|
3697
|
+
/** Format: date */
|
|
3698
|
+
to: string;
|
|
3699
|
+
points: components["schemas"]["AiToolDailySeriesPointDto"][];
|
|
3700
|
+
productKeys: string[];
|
|
3701
|
+
modelKeys: string[];
|
|
3702
|
+
totals: {
|
|
3703
|
+
spendCents: number;
|
|
3704
|
+
tokenCount: number;
|
|
3705
|
+
};
|
|
3706
|
+
hasProductBreakdown?: boolean;
|
|
3707
|
+
hasModelBreakdown?: boolean;
|
|
3708
|
+
hasSpend?: boolean;
|
|
3709
|
+
hasTokens?: boolean;
|
|
3710
|
+
/** Format: date-time */
|
|
3711
|
+
generatedAt: string;
|
|
3712
|
+
};
|
|
3713
|
+
AiToolModelBreakdownItemDto: {
|
|
3714
|
+
modelName: string;
|
|
3715
|
+
spendCents: number;
|
|
3716
|
+
tokenCount: number;
|
|
3717
|
+
activeUsers: number;
|
|
3718
|
+
};
|
|
3719
|
+
AiToolModelBreakdownDto: {
|
|
3720
|
+
provider: string;
|
|
3721
|
+
/** Format: date */
|
|
3722
|
+
from: string;
|
|
3723
|
+
/** Format: date */
|
|
3724
|
+
to: string;
|
|
3725
|
+
models: components["schemas"]["AiToolModelBreakdownItemDto"][];
|
|
3726
|
+
totals: {
|
|
3727
|
+
spendCents: number;
|
|
3728
|
+
tokenCount: number;
|
|
3729
|
+
};
|
|
3730
|
+
/** Format: date-time */
|
|
3731
|
+
generatedAt: string;
|
|
3732
|
+
};
|
|
3565
3733
|
AiToolMemberSummaryDto: {
|
|
3566
3734
|
externalId: string;
|
|
3567
3735
|
email: string;
|
|
@@ -3571,6 +3739,10 @@ export interface components {
|
|
|
3571
3739
|
tokenCount: number;
|
|
3572
3740
|
activeDays: number;
|
|
3573
3741
|
mostUsedModel?: string;
|
|
3742
|
+
/** @description Per-product spend in cents for the requested window (Claude Enterprise). Omitted when no product-level daily rows exist for the member. */
|
|
3743
|
+
productBreakdownCents?: {
|
|
3744
|
+
[key: string]: number;
|
|
3745
|
+
};
|
|
3574
3746
|
};
|
|
3575
3747
|
AiToolMembersListDto: {
|
|
3576
3748
|
members: components["schemas"]["AiToolMemberSummaryDto"][];
|
|
@@ -4784,11 +4956,17 @@ export interface components {
|
|
|
4784
4956
|
/** Format: date-time */
|
|
4785
4957
|
createdAt: string;
|
|
4786
4958
|
route?: string;
|
|
4959
|
+
/** @enum {string} */
|
|
4960
|
+
severity?: "success" | "warning" | "destructive" | "muted" | "neutral";
|
|
4961
|
+
triggeredBy?: string | null;
|
|
4787
4962
|
};
|
|
4788
4963
|
NotificationListDto: {
|
|
4789
4964
|
items: components["schemas"]["NotificationDto"][];
|
|
4790
4965
|
total: number;
|
|
4791
4966
|
};
|
|
4967
|
+
NotificationUnreadCountDto: {
|
|
4968
|
+
count: number;
|
|
4969
|
+
};
|
|
4792
4970
|
EffectiveTaskRowDto: {
|
|
4793
4971
|
id: string;
|
|
4794
4972
|
name: string;
|
|
@@ -5050,7 +5228,7 @@ export interface components {
|
|
|
5050
5228
|
* @description Type of workspace lifecycle event.
|
|
5051
5229
|
* @enum {string}
|
|
5052
5230
|
*/
|
|
5053
|
-
ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped";
|
|
5231
|
+
ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped";
|
|
5054
5232
|
ActivityLogActorDto: {
|
|
5055
5233
|
/** Format: uuid */
|
|
5056
5234
|
userId: string;
|
|
@@ -5454,6 +5632,13 @@ export type AiUsageSpendUsageTrendsProviderWeekDto = components['schemas']['AiUs
|
|
|
5454
5632
|
export type AiUsageSpendUsageTrendsDayDto = components['schemas']['AiUsageSpendUsageTrendsDayDto'];
|
|
5455
5633
|
export type AiUsageSpendUsageTrendsWeekDto = components['schemas']['AiUsageSpendUsageTrendsWeekDto'];
|
|
5456
5634
|
export type AiUsageSpendUsageTrendsDto = components['schemas']['AiUsageSpendUsageTrendsDto'];
|
|
5635
|
+
export type AiToolProviderSummaryWeekBucketDto = components['schemas']['AiToolProviderSummaryWeekBucketDto'];
|
|
5636
|
+
export type AiToolProviderSummaryTopMoverDto = components['schemas']['AiToolProviderSummaryTopMoverDto'];
|
|
5637
|
+
export type AiToolProviderSummaryDto = components['schemas']['AiToolProviderSummaryDto'];
|
|
5638
|
+
export type AiToolDailySeriesPointDto = components['schemas']['AiToolDailySeriesPointDto'];
|
|
5639
|
+
export type AiToolDailySeriesDto = components['schemas']['AiToolDailySeriesDto'];
|
|
5640
|
+
export type AiToolModelBreakdownItemDto = components['schemas']['AiToolModelBreakdownItemDto'];
|
|
5641
|
+
export type AiToolModelBreakdownDto = components['schemas']['AiToolModelBreakdownDto'];
|
|
5457
5642
|
export type AiToolMemberSummaryDto = components['schemas']['AiToolMemberSummaryDto'];
|
|
5458
5643
|
export type AiToolMembersListDto = components['schemas']['AiToolMembersListDto'];
|
|
5459
5644
|
export type AiToolTeamSummaryDto = components['schemas']['AiToolTeamSummaryDto'];
|
|
@@ -5571,6 +5756,7 @@ export type ProjectDto = components['schemas']['ProjectDto'];
|
|
|
5571
5756
|
export type ProjectPatchDto = components['schemas']['ProjectPatchDto'];
|
|
5572
5757
|
export type NotificationDto = components['schemas']['NotificationDto'];
|
|
5573
5758
|
export type NotificationListDto = components['schemas']['NotificationListDto'];
|
|
5759
|
+
export type NotificationUnreadCountDto = components['schemas']['NotificationUnreadCountDto'];
|
|
5574
5760
|
export type EffectiveTaskRowDto = components['schemas']['EffectiveTaskRowDto'];
|
|
5575
5761
|
export type EffectivePhaseTasksBlockDto = components['schemas']['EffectivePhaseTasksBlockDto'];
|
|
5576
5762
|
export type AiStrategyRecommendBodyDto = components['schemas']['AiStrategyRecommendBodyDto'];
|
|
@@ -7784,8 +7970,10 @@ export interface operations {
|
|
|
7784
7970
|
windowEnd?: string;
|
|
7785
7971
|
/** @description When set, aggregate engagement metrics for a single AI-tool member (user detail pages). Mutually exclusive with `scopeTeamId`. */
|
|
7786
7972
|
memberExternalId?: string;
|
|
7787
|
-
/** @description Org-chart team id — aggregate engagement for members mapped to that team (team detail pages). Mutually exclusive with `memberExternalId`. */
|
|
7973
|
+
/** @description Org-chart team id — aggregate engagement for members mapped to that team (team detail pages). Mutually exclusive with `memberExternalId` and `scopeExternalIds`. */
|
|
7788
7974
|
scopeTeamId?: string;
|
|
7975
|
+
/** @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`. */
|
|
7976
|
+
scopeExternalIds?: string;
|
|
7789
7977
|
/** @description Optional provider id filter (`cursor`, `claude`) for detail pages. */
|
|
7790
7978
|
provider?: "cursor" | "claude";
|
|
7791
7979
|
};
|
|
@@ -8057,6 +8245,10 @@ export interface operations {
|
|
|
8057
8245
|
parameters: {
|
|
8058
8246
|
query?: {
|
|
8059
8247
|
rangeId?: "4w" | "8w" | "q";
|
|
8248
|
+
/** @description Inclusive start day (YYYY-MM-DD). When set with `to`, overrides `rangeId` calendar buckets for the aggregation window. */
|
|
8249
|
+
from?: string;
|
|
8250
|
+
/** @description Inclusive end day (YYYY-MM-DD). Requires `from`. */
|
|
8251
|
+
to?: string;
|
|
8060
8252
|
windowEnd?: string;
|
|
8061
8253
|
page?: number;
|
|
8062
8254
|
pageSize?: number;
|
|
@@ -8109,6 +8301,10 @@ export interface operations {
|
|
|
8109
8301
|
parameters: {
|
|
8110
8302
|
query?: {
|
|
8111
8303
|
rangeId?: "4w" | "8w" | "q";
|
|
8304
|
+
/** @description Inclusive start day (YYYY-MM-DD). When set with `to`, overrides `rangeId`. */
|
|
8305
|
+
from?: string;
|
|
8306
|
+
/** @description Inclusive end day (YYYY-MM-DD). Requires `from`. */
|
|
8307
|
+
to?: string;
|
|
8112
8308
|
windowEnd?: string;
|
|
8113
8309
|
};
|
|
8114
8310
|
header?: never;
|
|
@@ -8156,6 +8352,10 @@ export interface operations {
|
|
|
8156
8352
|
parameters: {
|
|
8157
8353
|
query?: {
|
|
8158
8354
|
rangeId?: "4w" | "8w" | "q";
|
|
8355
|
+
/** @description Inclusive start day (YYYY-MM-DD). When set with `to`, overrides `rangeId`. */
|
|
8356
|
+
from?: string;
|
|
8357
|
+
/** @description Inclusive end day (YYYY-MM-DD). Requires `from`. */
|
|
8358
|
+
to?: string;
|
|
8159
8359
|
windowEnd?: string;
|
|
8160
8360
|
};
|
|
8161
8361
|
header?: never;
|
|
@@ -8759,6 +8959,130 @@ export interface operations {
|
|
|
8759
8959
|
403: components["responses"]["Forbidden"];
|
|
8760
8960
|
};
|
|
8761
8961
|
};
|
|
8962
|
+
getWorkspaceAiToolProviderSummary: {
|
|
8963
|
+
parameters: {
|
|
8964
|
+
query: {
|
|
8965
|
+
from: string;
|
|
8966
|
+
to: string;
|
|
8967
|
+
};
|
|
8968
|
+
header?: never;
|
|
8969
|
+
path: {
|
|
8970
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
8971
|
+
provider: "cursor" | "claude";
|
|
8972
|
+
};
|
|
8973
|
+
cookie?: never;
|
|
8974
|
+
};
|
|
8975
|
+
requestBody?: never;
|
|
8976
|
+
responses: {
|
|
8977
|
+
/** @description Provider summary */
|
|
8978
|
+
200: {
|
|
8979
|
+
headers: {
|
|
8980
|
+
[name: string]: unknown;
|
|
8981
|
+
};
|
|
8982
|
+
content: {
|
|
8983
|
+
"application/json": components["schemas"]["AiToolProviderSummaryDto"];
|
|
8984
|
+
};
|
|
8985
|
+
};
|
|
8986
|
+
/** @description Invalid query */
|
|
8987
|
+
400: {
|
|
8988
|
+
headers: {
|
|
8989
|
+
[name: string]: unknown;
|
|
8990
|
+
};
|
|
8991
|
+
content: {
|
|
8992
|
+
"application/json": {
|
|
8993
|
+
/** @example invalid_query */
|
|
8994
|
+
error: string;
|
|
8995
|
+
};
|
|
8996
|
+
};
|
|
8997
|
+
};
|
|
8998
|
+
401: components["responses"]["Unauthorized"];
|
|
8999
|
+
403: components["responses"]["Forbidden"];
|
|
9000
|
+
};
|
|
9001
|
+
};
|
|
9002
|
+
getWorkspaceAiToolProviderDailySeries: {
|
|
9003
|
+
parameters: {
|
|
9004
|
+
query: {
|
|
9005
|
+
from: string;
|
|
9006
|
+
to: string;
|
|
9007
|
+
/** @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. */
|
|
9008
|
+
externalId?: string[];
|
|
9009
|
+
};
|
|
9010
|
+
header?: never;
|
|
9011
|
+
path: {
|
|
9012
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
9013
|
+
provider: "cursor" | "claude";
|
|
9014
|
+
};
|
|
9015
|
+
cookie?: never;
|
|
9016
|
+
};
|
|
9017
|
+
requestBody?: never;
|
|
9018
|
+
responses: {
|
|
9019
|
+
/** @description Daily series */
|
|
9020
|
+
200: {
|
|
9021
|
+
headers: {
|
|
9022
|
+
[name: string]: unknown;
|
|
9023
|
+
};
|
|
9024
|
+
content: {
|
|
9025
|
+
"application/json": components["schemas"]["AiToolDailySeriesDto"];
|
|
9026
|
+
};
|
|
9027
|
+
};
|
|
9028
|
+
/** @description Invalid query */
|
|
9029
|
+
400: {
|
|
9030
|
+
headers: {
|
|
9031
|
+
[name: string]: unknown;
|
|
9032
|
+
};
|
|
9033
|
+
content: {
|
|
9034
|
+
"application/json": {
|
|
9035
|
+
/** @example invalid_query */
|
|
9036
|
+
error: string;
|
|
9037
|
+
};
|
|
9038
|
+
};
|
|
9039
|
+
};
|
|
9040
|
+
401: components["responses"]["Unauthorized"];
|
|
9041
|
+
403: components["responses"]["Forbidden"];
|
|
9042
|
+
};
|
|
9043
|
+
};
|
|
9044
|
+
getWorkspaceAiToolProviderModelBreakdown: {
|
|
9045
|
+
parameters: {
|
|
9046
|
+
query: {
|
|
9047
|
+
from: string;
|
|
9048
|
+
to: string;
|
|
9049
|
+
/** @description Optional member external IDs to scope the rollup (org/team filter). */
|
|
9050
|
+
externalId?: string[];
|
|
9051
|
+
};
|
|
9052
|
+
header?: never;
|
|
9053
|
+
path: {
|
|
9054
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
9055
|
+
provider: "cursor" | "claude";
|
|
9056
|
+
};
|
|
9057
|
+
cookie?: never;
|
|
9058
|
+
};
|
|
9059
|
+
requestBody?: never;
|
|
9060
|
+
responses: {
|
|
9061
|
+
/** @description Model breakdown */
|
|
9062
|
+
200: {
|
|
9063
|
+
headers: {
|
|
9064
|
+
[name: string]: unknown;
|
|
9065
|
+
};
|
|
9066
|
+
content: {
|
|
9067
|
+
"application/json": components["schemas"]["AiToolModelBreakdownDto"];
|
|
9068
|
+
};
|
|
9069
|
+
};
|
|
9070
|
+
/** @description Invalid query */
|
|
9071
|
+
400: {
|
|
9072
|
+
headers: {
|
|
9073
|
+
[name: string]: unknown;
|
|
9074
|
+
};
|
|
9075
|
+
content: {
|
|
9076
|
+
"application/json": {
|
|
9077
|
+
/** @example invalid_query */
|
|
9078
|
+
error: string;
|
|
9079
|
+
};
|
|
9080
|
+
};
|
|
9081
|
+
};
|
|
9082
|
+
401: components["responses"]["Unauthorized"];
|
|
9083
|
+
403: components["responses"]["Forbidden"];
|
|
9084
|
+
};
|
|
9085
|
+
};
|
|
8762
9086
|
getWorkspaceAiToolRefreshStatus: {
|
|
8763
9087
|
parameters: {
|
|
8764
9088
|
query?: never;
|
|
@@ -11055,6 +11379,29 @@ export interface operations {
|
|
|
11055
11379
|
401: components["responses"]["Unauthorized"];
|
|
11056
11380
|
};
|
|
11057
11381
|
};
|
|
11382
|
+
getNotificationUnreadCount: {
|
|
11383
|
+
parameters: {
|
|
11384
|
+
query?: never;
|
|
11385
|
+
header?: never;
|
|
11386
|
+
path: {
|
|
11387
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
11388
|
+
};
|
|
11389
|
+
cookie?: never;
|
|
11390
|
+
};
|
|
11391
|
+
requestBody?: never;
|
|
11392
|
+
responses: {
|
|
11393
|
+
/** @description Unread count for the current user in this workspace (respecting notification preferences) */
|
|
11394
|
+
200: {
|
|
11395
|
+
headers: {
|
|
11396
|
+
[name: string]: unknown;
|
|
11397
|
+
};
|
|
11398
|
+
content: {
|
|
11399
|
+
"application/json": components["schemas"]["NotificationUnreadCountDto"];
|
|
11400
|
+
};
|
|
11401
|
+
};
|
|
11402
|
+
401: components["responses"]["Unauthorized"];
|
|
11403
|
+
};
|
|
11404
|
+
};
|
|
11058
11405
|
postNotificationRead: {
|
|
11059
11406
|
parameters: {
|
|
11060
11407
|
query?: never;
|
package/src/index.ts
CHANGED
|
@@ -1254,6 +1254,85 @@ export interface HrisTriggerSyncResultDto {
|
|
|
1254
1254
|
providers?: HrisProviderSyncResultDto[];
|
|
1255
1255
|
}
|
|
1256
1256
|
|
|
1257
|
+
/** Weekly bucket in GET .../integrations/ai-tool/:provider/summary */
|
|
1258
|
+
export interface AiToolProviderSummaryWeekBucketDto {
|
|
1259
|
+
weekLabel: string;
|
|
1260
|
+
spendCents: number;
|
|
1261
|
+
tokenCount: number;
|
|
1262
|
+
activeUsers: number;
|
|
1263
|
+
}
|
|
1264
|
+
|
|
1265
|
+
/** Top spend mover between first and second half of the summary window. */
|
|
1266
|
+
export interface AiToolProviderSummaryTopMoverDto {
|
|
1267
|
+
externalId: string;
|
|
1268
|
+
label: string;
|
|
1269
|
+
deltaSpendCents: number;
|
|
1270
|
+
currentSpendCents: number;
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
/** Response for GET .../integrations/ai-tool/:provider/summary */
|
|
1274
|
+
export interface AiToolProviderSummaryDto {
|
|
1275
|
+
provider: string;
|
|
1276
|
+
from: string;
|
|
1277
|
+
to: string;
|
|
1278
|
+
status?: import("./generated/openapi.js").components["schemas"]["AiToolRefreshStatusDto"];
|
|
1279
|
+
seatCounts: { total: number; active: number; removed: number };
|
|
1280
|
+
totals: {
|
|
1281
|
+
spendCents: number;
|
|
1282
|
+
tokenCount: number;
|
|
1283
|
+
activeUsers: number;
|
|
1284
|
+
totalEngineers: number;
|
|
1285
|
+
};
|
|
1286
|
+
weekBuckets: AiToolProviderSummaryWeekBucketDto[];
|
|
1287
|
+
topMovers?: AiToolProviderSummaryTopMoverDto[];
|
|
1288
|
+
hasTokenMetrics?: boolean;
|
|
1289
|
+
generatedAt: string;
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
/** One day in GET .../integrations/ai-tool/:provider/daily-series */
|
|
1293
|
+
export interface AiToolDailySeriesPointDto {
|
|
1294
|
+
day: string;
|
|
1295
|
+
label: string;
|
|
1296
|
+
spendCents: number;
|
|
1297
|
+
tokenCount: number;
|
|
1298
|
+
products: Record<string, number>;
|
|
1299
|
+
models: Record<string, number>;
|
|
1300
|
+
}
|
|
1301
|
+
|
|
1302
|
+
/** Response for GET .../integrations/ai-tool/:provider/daily-series */
|
|
1303
|
+
export interface AiToolDailySeriesDto {
|
|
1304
|
+
provider: string;
|
|
1305
|
+
from: string;
|
|
1306
|
+
to: string;
|
|
1307
|
+
points: AiToolDailySeriesPointDto[];
|
|
1308
|
+
productKeys: string[];
|
|
1309
|
+
modelKeys: string[];
|
|
1310
|
+
totals: { spendCents: number; tokenCount: number };
|
|
1311
|
+
hasProductBreakdown?: boolean;
|
|
1312
|
+
hasModelBreakdown?: boolean;
|
|
1313
|
+
hasSpend?: boolean;
|
|
1314
|
+
hasTokens?: boolean;
|
|
1315
|
+
generatedAt: string;
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
/** One model row in GET .../integrations/ai-tool/:provider/model-breakdown */
|
|
1319
|
+
export interface AiToolModelBreakdownItemDto {
|
|
1320
|
+
modelName: string;
|
|
1321
|
+
spendCents: number;
|
|
1322
|
+
tokenCount: number;
|
|
1323
|
+
activeUsers: number;
|
|
1324
|
+
}
|
|
1325
|
+
|
|
1326
|
+
/** Response for GET .../integrations/ai-tool/:provider/model-breakdown */
|
|
1327
|
+
export interface AiToolModelBreakdownDto {
|
|
1328
|
+
provider: string;
|
|
1329
|
+
from: string;
|
|
1330
|
+
to: string;
|
|
1331
|
+
models: AiToolModelBreakdownItemDto[];
|
|
1332
|
+
totals: { spendCents: number; tokenCount: number };
|
|
1333
|
+
generatedAt: string;
|
|
1334
|
+
}
|
|
1335
|
+
|
|
1257
1336
|
/** Single AI-tool seat with usage totals for a time range. */
|
|
1258
1337
|
export interface AiToolMemberSummaryDto {
|
|
1259
1338
|
externalId: string;
|
|
@@ -1264,6 +1343,8 @@ export interface AiToolMemberSummaryDto {
|
|
|
1264
1343
|
tokenCount: number;
|
|
1265
1344
|
activeDays: number;
|
|
1266
1345
|
mostUsedModel?: string;
|
|
1346
|
+
/** Per-product spend in cents for the window (Claude Enterprise). */
|
|
1347
|
+
productBreakdownCents?: Record<string, number>;
|
|
1267
1348
|
}
|
|
1268
1349
|
|
|
1269
1350
|
/** Paginated response for GET .../integrations/ai-tool/:provider/members */
|