@thinkai/tai-api-contract 2.42.0 → 2.44.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 +112 -2
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +123 -2
- package/package.json +1 -1
- package/src/generated/openapi.ts +112 -2
|
@@ -445,6 +445,26 @@ export interface paths {
|
|
|
445
445
|
patch?: never;
|
|
446
446
|
trace?: never;
|
|
447
447
|
};
|
|
448
|
+
"/workspaces/{workspaceId}/insights/persons/{personId}/erase": {
|
|
449
|
+
parameters: {
|
|
450
|
+
query?: never;
|
|
451
|
+
header?: never;
|
|
452
|
+
path?: never;
|
|
453
|
+
cookie?: never;
|
|
454
|
+
};
|
|
455
|
+
get?: never;
|
|
456
|
+
put?: never;
|
|
457
|
+
/**
|
|
458
|
+
* Erase person-level insights data (workspace admin)
|
|
459
|
+
* @description Workspace admin only. Deletes or anonymizes a person's developer-insights rows for the workspace: org-chart node, person-scope dashboard metrics, AI-tool fact rows, HRIS absences, and readiness run requester linkage. Granular categories default to all enabled when the body is omitted. `personId` is the org-chart `person_id` (typically work email); URL-encode the path segment (e.g. `alice%40example.com`).
|
|
460
|
+
*/
|
|
461
|
+
post: operations["eraseInsightsPerson"];
|
|
462
|
+
delete?: never;
|
|
463
|
+
options?: never;
|
|
464
|
+
head?: never;
|
|
465
|
+
patch?: never;
|
|
466
|
+
trace?: never;
|
|
467
|
+
};
|
|
448
468
|
"/workspaces/{workspaceId}/insights/ai-usage-spend/aggregated-teams": {
|
|
449
469
|
parameters: {
|
|
450
470
|
query?: never;
|
|
@@ -821,7 +841,7 @@ export interface paths {
|
|
|
821
841
|
put?: never;
|
|
822
842
|
/**
|
|
823
843
|
* Refresh AI tool integration snapshots
|
|
824
|
-
* @description Provider-agnostic refresh. Returns 409 when an advisory-lock refresh is already in progress. On upstream auth/rate/network failures, returns `200` with `{ ok:false, error }` so the SPA can render inline error.
|
|
844
|
+
* @description Provider-agnostic refresh. Returns 409 when an advisory-lock refresh is already in progress. On upstream auth/rate/network failures, returns `200` with `{ ok:false, error }` so the SPA can render inline error. Pass `full=true` to force a full re-sync that ignores the incremental daily-usage watermark and re-pulls the full initial window (six calendar months for Claude Enterprise) — used to backfill historical months after an ingestion-granularity change. Omitted/false performs a normal incremental refresh.
|
|
825
845
|
*/
|
|
826
846
|
post: operations["refreshWorkspaceAiTool"];
|
|
827
847
|
delete?: never;
|
|
@@ -2204,6 +2224,27 @@ export interface components {
|
|
|
2204
2224
|
/** @enum {string} */
|
|
2205
2225
|
role: "admin" | "editor" | "viewer";
|
|
2206
2226
|
};
|
|
2227
|
+
/** @description Granular person erasure categories. All default to true when omitted. */
|
|
2228
|
+
EraseInsightsPersonBodyDto: {
|
|
2229
|
+
/** @description Remove the person node from `tai_workspace_config.org_chart`. */
|
|
2230
|
+
orgChart?: boolean;
|
|
2231
|
+
/** @description Delete person-scope rows in `tai_workspace_dashboard_metrics`. */
|
|
2232
|
+
dashboardMetrics?: boolean;
|
|
2233
|
+
/** @description Delete AI-tool seats and fact rows keyed to the person. */
|
|
2234
|
+
aiToolData?: boolean;
|
|
2235
|
+
/** @description Delete HRIS absence rows for the person's email. */
|
|
2236
|
+
absences?: boolean;
|
|
2237
|
+
/** @description Clear `requested_by_user_id` on readiness runs for matching app users. */
|
|
2238
|
+
readinessAnonymize?: boolean;
|
|
2239
|
+
};
|
|
2240
|
+
EraseInsightsPersonResultDto: {
|
|
2241
|
+
/** @enum {boolean} */
|
|
2242
|
+
deleted: true;
|
|
2243
|
+
aiToolRowsDeleted: number;
|
|
2244
|
+
absencesDeleted: number;
|
|
2245
|
+
readinessRunsAnonymized: number;
|
|
2246
|
+
auditEntriesAnonymized: number;
|
|
2247
|
+
};
|
|
2207
2248
|
OrgChartNodeDto: {
|
|
2208
2249
|
id: string;
|
|
2209
2250
|
name: string;
|
|
@@ -4058,6 +4099,11 @@ export interface components {
|
|
|
4058
4099
|
} | unknown | unknown;
|
|
4059
4100
|
/** @enum {string} */
|
|
4060
4101
|
ThemePreference: "light" | "dark" | "system";
|
|
4102
|
+
/**
|
|
4103
|
+
* @description User-configured dashboard background refresh cadence.
|
|
4104
|
+
* @enum {string}
|
|
4105
|
+
*/
|
|
4106
|
+
DataRefreshInterval: "off" | "1m" | "5m" | "10m";
|
|
4061
4107
|
NotificationPreferencesDto: {
|
|
4062
4108
|
/** @description Sync/health status notifications. */
|
|
4063
4109
|
status: boolean;
|
|
@@ -4073,6 +4119,7 @@ export interface components {
|
|
|
4073
4119
|
sidebarCollapsed: boolean;
|
|
4074
4120
|
/** @description IANA timezone name */
|
|
4075
4121
|
timezone: string;
|
|
4122
|
+
dataRefreshInterval: components["schemas"]["DataRefreshInterval"];
|
|
4076
4123
|
notifications: components["schemas"]["NotificationPreferencesDto"];
|
|
4077
4124
|
};
|
|
4078
4125
|
ValidationIssueDto: {
|
|
@@ -4561,6 +4608,8 @@ export type TeamMemberDto = components['schemas']['TeamMemberDto'];
|
|
|
4561
4608
|
export type TeamMemberListDto = components['schemas']['TeamMemberListDto'];
|
|
4562
4609
|
export type InviteTeamMemberBodyDto = components['schemas']['InviteTeamMemberBodyDto'];
|
|
4563
4610
|
export type UpdateTeamMemberRoleBodyDto = components['schemas']['UpdateTeamMemberRoleBodyDto'];
|
|
4611
|
+
export type EraseInsightsPersonBodyDto = components['schemas']['EraseInsightsPersonBodyDto'];
|
|
4612
|
+
export type EraseInsightsPersonResultDto = components['schemas']['EraseInsightsPersonResultDto'];
|
|
4564
4613
|
export type OrgChartNodeDto = components['schemas']['OrgChartNodeDto'];
|
|
4565
4614
|
export type OrgChartTreeNodeDto = components['schemas']['OrgChartTreeNodeDto'];
|
|
4566
4615
|
export type ScoringOrgChartDto = components['schemas']['ScoringOrgChartDto'];
|
|
@@ -4739,6 +4788,7 @@ export type JourneyStepId = components['schemas']['JourneyStepId'];
|
|
|
4739
4788
|
export type JourneyProgressDto = components['schemas']['JourneyProgressDto'];
|
|
4740
4789
|
export type JourneyProgressUpdateDto = components['schemas']['JourneyProgressUpdateDto'];
|
|
4741
4790
|
export type ThemePreference = components['schemas']['ThemePreference'];
|
|
4791
|
+
export type DataRefreshInterval = components['schemas']['DataRefreshInterval'];
|
|
4742
4792
|
export type NotificationPreferencesDto = components['schemas']['NotificationPreferencesDto'];
|
|
4743
4793
|
export type PreferencesDto = components['schemas']['PreferencesDto'];
|
|
4744
4794
|
export type ValidationIssueDto = components['schemas']['ValidationIssueDto'];
|
|
@@ -5976,6 +6026,63 @@ export interface operations {
|
|
|
5976
6026
|
};
|
|
5977
6027
|
};
|
|
5978
6028
|
};
|
|
6029
|
+
eraseInsightsPerson: {
|
|
6030
|
+
parameters: {
|
|
6031
|
+
query?: never;
|
|
6032
|
+
header?: never;
|
|
6033
|
+
path: {
|
|
6034
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
6035
|
+
/** @description Org-chart person_id (URL-encoded when it contains `@`). */
|
|
6036
|
+
personId: string;
|
|
6037
|
+
};
|
|
6038
|
+
cookie?: never;
|
|
6039
|
+
};
|
|
6040
|
+
requestBody?: {
|
|
6041
|
+
content: {
|
|
6042
|
+
/**
|
|
6043
|
+
* @example {
|
|
6044
|
+
* "orgChart": true,
|
|
6045
|
+
* "dashboardMetrics": true,
|
|
6046
|
+
* "aiToolData": true,
|
|
6047
|
+
* "absences": true,
|
|
6048
|
+
* "readinessAnonymize": true
|
|
6049
|
+
* }
|
|
6050
|
+
*/
|
|
6051
|
+
"application/json": components["schemas"]["EraseInsightsPersonBodyDto"];
|
|
6052
|
+
};
|
|
6053
|
+
};
|
|
6054
|
+
responses: {
|
|
6055
|
+
/** @description Person data erased or anonymized */
|
|
6056
|
+
200: {
|
|
6057
|
+
headers: {
|
|
6058
|
+
[name: string]: unknown;
|
|
6059
|
+
};
|
|
6060
|
+
content: {
|
|
6061
|
+
"application/json": components["schemas"]["EraseInsightsPersonResultDto"];
|
|
6062
|
+
};
|
|
6063
|
+
};
|
|
6064
|
+
/** @description Invalid body or personId */
|
|
6065
|
+
400: {
|
|
6066
|
+
headers: {
|
|
6067
|
+
[name: string]: unknown;
|
|
6068
|
+
};
|
|
6069
|
+
content: {
|
|
6070
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
6071
|
+
};
|
|
6072
|
+
};
|
|
6073
|
+
401: components["responses"]["Unauthorized"];
|
|
6074
|
+
403: components["responses"]["Forbidden"];
|
|
6075
|
+
/** @description Workspace not found, malformed workspaceId, or person not in org chart */
|
|
6076
|
+
404: {
|
|
6077
|
+
headers: {
|
|
6078
|
+
[name: string]: unknown;
|
|
6079
|
+
};
|
|
6080
|
+
content: {
|
|
6081
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
6082
|
+
};
|
|
6083
|
+
};
|
|
6084
|
+
};
|
|
6085
|
+
};
|
|
5979
6086
|
getAiUsageSpendAggregatedTeams: {
|
|
5980
6087
|
parameters: {
|
|
5981
6088
|
query?: {
|
|
@@ -6976,7 +7083,10 @@ export interface operations {
|
|
|
6976
7083
|
};
|
|
6977
7084
|
refreshWorkspaceAiTool: {
|
|
6978
7085
|
parameters: {
|
|
6979
|
-
query?:
|
|
7086
|
+
query?: {
|
|
7087
|
+
/** @description Force a full re-sync (ignore the daily-usage watermark, re-pull the full initial window). Truthy only for `true` or `1`. */
|
|
7088
|
+
full?: "true" | "1";
|
|
7089
|
+
};
|
|
6980
7090
|
header?: never;
|
|
6981
7091
|
path: {
|
|
6982
7092
|
workspaceId: components["parameters"]["WorkspaceId"];
|