@thinkai/tai-api-contract 2.47.0 → 2.48.0-pr.865.c7804f40

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.
@@ -194,6 +194,43 @@ export interface paths {
194
194
  patch: operations["updateTenantMemberRole"];
195
195
  trace?: never;
196
196
  };
197
+ "/workspaces/{workspaceId}/org-chart/status": {
198
+ parameters: {
199
+ query?: never;
200
+ header?: never;
201
+ path?: never;
202
+ cookie?: never;
203
+ };
204
+ /** Effective org chart status (structure + identity) */
205
+ get: operations["getWorkspaceOrgChartStatus"];
206
+ put?: never;
207
+ post?: never;
208
+ delete?: never;
209
+ options?: never;
210
+ head?: never;
211
+ patch?: never;
212
+ trace?: never;
213
+ };
214
+ "/workspaces/{workspaceId}/org-chart/structure-source": {
215
+ parameters: {
216
+ query?: never;
217
+ header?: never;
218
+ path?: never;
219
+ cookie?: never;
220
+ };
221
+ get?: never;
222
+ /**
223
+ * Switch org structure base between HRIS and uploaded file
224
+ * @description Advanced override when both HRIS and uploaded structure caches exist. Re-materializes the effective org chart and may queue productivity re-ingest.
225
+ */
226
+ put: operations["putWorkspaceOrgStructureSource"];
227
+ post?: never;
228
+ delete?: never;
229
+ options?: never;
230
+ head?: never;
231
+ patch?: never;
232
+ trace?: never;
233
+ };
197
234
  "/workspaces/{workspaceId}/org-chart": {
198
235
  parameters: {
199
236
  query?: never;
@@ -2305,11 +2342,52 @@ export interface components {
2305
2342
  OrgChartImportResultDto: {
2306
2343
  persons: components["schemas"]["OrgChartPersonDto"][];
2307
2344
  errors: string[];
2345
+ /** @description Parse-only preview of identity rows that would not match HRIS persons */
2346
+ unmatchedPreview?: components["schemas"]["OrgChartUnmatchedIdentitySampleDto"][];
2308
2347
  };
2309
2348
  OrgChartSaveResultDto: {
2310
2349
  ok: boolean;
2311
2350
  /** Format: uuid */
2312
2351
  tenantId: string;
2352
+ /** @description Identity rows that did not match HRIS persons (non-blocking) */
2353
+ unmatchedCount?: number;
2354
+ };
2355
+ OrgStructureSourceBodyDto: {
2356
+ /** @enum {string} */
2357
+ source: "hris" | "upload";
2358
+ };
2359
+ OrgChartStructureAvailabilityDto: {
2360
+ personCount: number;
2361
+ teamCount: number;
2362
+ /** @description HRIS provider when structure is from HRIS sync */
2363
+ provider?: string;
2364
+ };
2365
+ OrgChartUnmatchedIdentitySampleDto: {
2366
+ email: string;
2367
+ employeeId?: string;
2368
+ githubUsername?: string;
2369
+ };
2370
+ OrgChartStatusDto: {
2371
+ structure: {
2372
+ /** @enum {string} */
2373
+ source: "hris" | "upload";
2374
+ hris: (components["schemas"]["OrgChartStructureAvailabilityDto"] & {
2375
+ /** Format: date-time */
2376
+ lastSyncAt?: string;
2377
+ }) | null;
2378
+ uploadOverride: components["schemas"]["OrgChartStructureAvailabilityDto"] | null;
2379
+ };
2380
+ identity: {
2381
+ mappingCount: number;
2382
+ /** Format: date-time */
2383
+ updatedAt: string | null;
2384
+ unmatchedCount: number;
2385
+ unmatchedSample: components["schemas"]["OrgChartUnmatchedIdentitySampleDto"][];
2386
+ };
2387
+ effective: {
2388
+ personCount: number;
2389
+ githubMappedCount: number;
2390
+ };
2313
2391
  };
2314
2392
  TenantSourceEntryDto: {
2315
2393
  type: string;
@@ -4655,6 +4733,10 @@ export type OrgChartDto = components['schemas']['OrgChartDto'];
4655
4733
  export type OrgChartPersonDto = components['schemas']['OrgChartPersonDto'];
4656
4734
  export type OrgChartImportResultDto = components['schemas']['OrgChartImportResultDto'];
4657
4735
  export type OrgChartSaveResultDto = components['schemas']['OrgChartSaveResultDto'];
4736
+ export type OrgStructureSourceBodyDto = components['schemas']['OrgStructureSourceBodyDto'];
4737
+ export type OrgChartStructureAvailabilityDto = components['schemas']['OrgChartStructureAvailabilityDto'];
4738
+ export type OrgChartUnmatchedIdentitySampleDto = components['schemas']['OrgChartUnmatchedIdentitySampleDto'];
4739
+ export type OrgChartStatusDto = components['schemas']['OrgChartStatusDto'];
4658
4740
  export type TenantSourceEntryDto = components['schemas']['TenantSourceEntryDto'];
4659
4741
  export type CursorSourceDto = components['schemas']['CursorSourceDto'];
4660
4742
  export type CursorSourcePatchDto = components['schemas']['CursorSourcePatchDto'];
@@ -5447,6 +5529,67 @@ export interface operations {
5447
5529
  };
5448
5530
  };
5449
5531
  };
5532
+ getWorkspaceOrgChartStatus: {
5533
+ parameters: {
5534
+ query?: never;
5535
+ header?: never;
5536
+ path: {
5537
+ workspaceId: components["parameters"]["WorkspaceId"];
5538
+ };
5539
+ cookie?: never;
5540
+ };
5541
+ requestBody?: never;
5542
+ responses: {
5543
+ /** @description Structure source, identity mappings, and effective chart summary */
5544
+ 200: {
5545
+ headers: {
5546
+ [name: string]: unknown;
5547
+ };
5548
+ content: {
5549
+ "application/json": components["schemas"]["OrgChartStatusDto"];
5550
+ };
5551
+ };
5552
+ 401: components["responses"]["Unauthorized"];
5553
+ 403: components["responses"]["Forbidden"];
5554
+ };
5555
+ };
5556
+ putWorkspaceOrgStructureSource: {
5557
+ parameters: {
5558
+ query?: never;
5559
+ header?: never;
5560
+ path: {
5561
+ workspaceId: components["parameters"]["WorkspaceId"];
5562
+ };
5563
+ cookie?: never;
5564
+ };
5565
+ requestBody: {
5566
+ content: {
5567
+ "application/json": components["schemas"]["OrgStructureSourceBodyDto"];
5568
+ };
5569
+ };
5570
+ responses: {
5571
+ /** @description Updated status after re-materialization */
5572
+ 200: {
5573
+ headers: {
5574
+ [name: string]: unknown;
5575
+ };
5576
+ content: {
5577
+ "application/json": components["schemas"]["OrgChartStatusDto"];
5578
+ };
5579
+ };
5580
+ /** @description Both structure caches are not available */
5581
+ 400: {
5582
+ headers: {
5583
+ [name: string]: unknown;
5584
+ };
5585
+ content: {
5586
+ "application/json": components["schemas"]["ErrorMessageDto"];
5587
+ };
5588
+ };
5589
+ 401: components["responses"]["Unauthorized"];
5590
+ 403: components["responses"]["Forbidden"];
5591
+ };
5592
+ };
5450
5593
  getTenantOrgChart: {
5451
5594
  parameters: {
5452
5595
  query?: never;