@thinkai/tai-api-contract 2.204.0 → 2.205.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.
@@ -1,7 +1,7 @@
1
1
  openapi: 3.0.3
2
2
  info:
3
3
  title: ThinkAI API
4
- version: 2.204.0
4
+ version: 2.205.0
5
5
  description: >
6
6
  Contract surface for the AI Driven SDLC backend used by ThinkAI.
7
7
  Workspace-scoped routes use `/workspaces/{workspaceId}/...`.
@@ -2391,12 +2391,18 @@ paths:
2391
2391
  get:
2392
2392
  tags: [Workspace]
2393
2393
  summary: Effective org chart status (structure + identity)
2394
+ description: >
2395
+ Returns structure source, HRIS identity mismatch samples, effective chart summary,
2396
+ and inactive-VCS identity samples (roster handles with no matching productivity
2397
+ contributor activity in the lookback). When the workspace has zero known VCS
2398
+ actors in the lookback, `identity.inactiveVcs.waitingForProductivitySync` is true
2399
+ and samples stay empty (no mass false positives).
2394
2400
  operationId: getWorkspaceOrgChartStatus
2395
2401
  parameters:
2396
2402
  - $ref: "#/components/parameters/WorkspaceId"
2397
2403
  responses:
2398
2404
  "200":
2399
- description: Structure source, identity mappings, and effective chart summary
2405
+ description: Structure source, identity mappings, inactive-VCS samples, and effective chart summary
2400
2406
  content:
2401
2407
  application/json:
2402
2408
  schema:
@@ -15555,6 +15561,91 @@ components:
15555
15561
  githubUsername:
15556
15562
  type: string
15557
15563
 
15564
+ OrgChartInactiveVcsProviderDto:
15565
+ type: string
15566
+ enum: [github, bitbucket, gitlab]
15567
+ description: Connected VCS provider family for an inactive handle sample.
15568
+
15569
+ OrgChartInactiveVcsFieldDto:
15570
+ type: string
15571
+ enum: [githubUsername, gitlabUsername, bitbucketNickname, bitbucketUuid]
15572
+ description: Roster identity field that did not match productivity actors in the lookback.
15573
+
15574
+ OrgChartInactiveVcsIdentitySampleDto:
15575
+ type: object
15576
+ additionalProperties: false
15577
+ required: [personId, provider, field, handle]
15578
+ description: >
15579
+ One roster VCS handle with no case-insensitive match against known productivity /
15580
+ contributor actors in the lookback. Severity is warning; does not block Save.
15581
+ properties:
15582
+ personId:
15583
+ type: string
15584
+ description: Org-chart person id (typically work email).
15585
+ email:
15586
+ type: string
15587
+ description: Primary work email when known.
15588
+ displayName:
15589
+ type: string
15590
+ description: Person display name from the org chart when known.
15591
+ provider:
15592
+ $ref: "#/components/schemas/OrgChartInactiveVcsProviderDto"
15593
+ field:
15594
+ $ref: "#/components/schemas/OrgChartInactiveVcsFieldDto"
15595
+ handle:
15596
+ type: string
15597
+ description: The roster handle value that did not match (trimmed, as stored).
15598
+
15599
+ OrgChartInactiveVcsIdentityDto:
15600
+ type: object
15601
+ additionalProperties: false
15602
+ required:
15603
+ [
15604
+ waitingForProductivitySync,
15605
+ lookbackDays,
15606
+ lookbackFrom,
15607
+ lookbackTo,
15608
+ actorCount,
15609
+ inactiveVcsCount,
15610
+ inactiveVcsSample,
15611
+ ]
15612
+ description: >
15613
+ Inactive-VCS identity quality for the org-structure page. Lookback prefers the
15614
+ workspace productivity ingest coverage window when productivity ingest has started;
15615
+ otherwise the last 90 days. When `actorCount` is 0, `waitingForProductivitySync`
15616
+ is true and samples stay empty.
15617
+ properties:
15618
+ waitingForProductivitySync:
15619
+ type: boolean
15620
+ description: >
15621
+ True when no known VCS actors exist in the lookback (informational empty state;
15622
+ do not treat every roster handle as inactive).
15623
+ lookbackDays:
15624
+ type: integer
15625
+ minimum: 1
15626
+ lookbackFrom:
15627
+ type: string
15628
+ format: date
15629
+ description: Inclusive lookback start (UTC calendar day, YYYY-MM-DD).
15630
+ lookbackTo:
15631
+ type: string
15632
+ format: date
15633
+ description: Inclusive lookback end (UTC calendar day, YYYY-MM-DD).
15634
+ actorCount:
15635
+ type: integer
15636
+ minimum: 0
15637
+ description: Distinct known VCS actor handles observed in the lookback.
15638
+ inactiveVcsCount:
15639
+ type: integer
15640
+ minimum: 0
15641
+ description: Full count of inactive roster handles (not capped).
15642
+ inactiveVcsSample:
15643
+ type: array
15644
+ maxItems: 25
15645
+ description: Sample of inactive handles (cap ≥ unmatchedSample; at least 25).
15646
+ items:
15647
+ $ref: "#/components/schemas/OrgChartInactiveVcsIdentitySampleDto"
15648
+
15558
15649
  OrgChartStatusDto:
15559
15650
  type: object
15560
15651
  additionalProperties: false
@@ -15584,7 +15675,7 @@ components:
15584
15675
  identity:
15585
15676
  type: object
15586
15677
  additionalProperties: false
15587
- required: [mappingCount, updatedAt, unmatchedCount, unmatchedSample]
15678
+ required: [mappingCount, updatedAt, unmatchedCount, unmatchedSample, inactiveVcs]
15588
15679
  properties:
15589
15680
  mappingCount:
15590
15681
  type: integer
@@ -15600,6 +15691,8 @@ components:
15600
15691
  type: array
15601
15692
  items:
15602
15693
  $ref: "#/components/schemas/OrgChartUnmatchedIdentitySampleDto"
15694
+ inactiveVcs:
15695
+ $ref: "#/components/schemas/OrgChartInactiveVcsIdentityDto"
15603
15696
  effective:
15604
15697
  type: object
15605
15698
  additionalProperties: false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkai/tai-api-contract",
3
- "version": "2.204.0",
3
+ "version": "2.205.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -725,7 +725,10 @@ export interface paths {
725
725
  path?: never;
726
726
  cookie?: never;
727
727
  };
728
- /** Effective org chart status (structure + identity) */
728
+ /**
729
+ * Effective org chart status (structure + identity)
730
+ * @description Returns structure source, HRIS identity mismatch samples, effective chart summary, and inactive-VCS identity samples (roster handles with no matching productivity contributor activity in the lookback). When the workspace has zero known VCS actors in the lookback, `identity.inactiveVcs.waitingForProductivitySync` is true and samples stay empty (no mass false positives).
731
+ */
729
732
  get: operations["getWorkspaceOrgChartStatus"];
730
733
  put?: never;
731
734
  post?: never;
@@ -5925,6 +5928,51 @@ export interface components {
5925
5928
  employeeId?: string;
5926
5929
  githubUsername?: string;
5927
5930
  };
5931
+ /**
5932
+ * @description Connected VCS provider family for an inactive handle sample.
5933
+ * @enum {string}
5934
+ */
5935
+ OrgChartInactiveVcsProviderDto: "github" | "bitbucket" | "gitlab";
5936
+ /**
5937
+ * @description Roster identity field that did not match productivity actors in the lookback.
5938
+ * @enum {string}
5939
+ */
5940
+ OrgChartInactiveVcsFieldDto: "githubUsername" | "gitlabUsername" | "bitbucketNickname" | "bitbucketUuid";
5941
+ /** @description One roster VCS handle with no case-insensitive match against known productivity / contributor actors in the lookback. Severity is warning; does not block Save. */
5942
+ OrgChartInactiveVcsIdentitySampleDto: {
5943
+ /** @description Org-chart person id (typically work email). */
5944
+ personId: string;
5945
+ /** @description Primary work email when known. */
5946
+ email?: string;
5947
+ /** @description Person display name from the org chart when known. */
5948
+ displayName?: string;
5949
+ provider: components["schemas"]["OrgChartInactiveVcsProviderDto"];
5950
+ field: components["schemas"]["OrgChartInactiveVcsFieldDto"];
5951
+ /** @description The roster handle value that did not match (trimmed, as stored). */
5952
+ handle: string;
5953
+ };
5954
+ /** @description Inactive-VCS identity quality for the org-structure page. Lookback prefers the workspace productivity ingest coverage window when productivity ingest has started; otherwise the last 90 days. When `actorCount` is 0, `waitingForProductivitySync` is true and samples stay empty. */
5955
+ OrgChartInactiveVcsIdentityDto: {
5956
+ /** @description True when no known VCS actors exist in the lookback (informational empty state; do not treat every roster handle as inactive). */
5957
+ waitingForProductivitySync: boolean;
5958
+ lookbackDays: number;
5959
+ /**
5960
+ * Format: date
5961
+ * @description Inclusive lookback start (UTC calendar day, YYYY-MM-DD).
5962
+ */
5963
+ lookbackFrom: string;
5964
+ /**
5965
+ * Format: date
5966
+ * @description Inclusive lookback end (UTC calendar day, YYYY-MM-DD).
5967
+ */
5968
+ lookbackTo: string;
5969
+ /** @description Distinct known VCS actor handles observed in the lookback. */
5970
+ actorCount: number;
5971
+ /** @description Full count of inactive roster handles (not capped). */
5972
+ inactiveVcsCount: number;
5973
+ /** @description Sample of inactive handles (cap ≥ unmatchedSample; at least 25). */
5974
+ inactiveVcsSample: components["schemas"]["OrgChartInactiveVcsIdentitySampleDto"][];
5975
+ };
5928
5976
  OrgChartStatusDto: {
5929
5977
  structure: {
5930
5978
  /** @enum {string} */
@@ -5941,6 +5989,7 @@ export interface components {
5941
5989
  updatedAt: string | null;
5942
5990
  unmatchedCount: number;
5943
5991
  unmatchedSample: components["schemas"]["OrgChartUnmatchedIdentitySampleDto"][];
5992
+ inactiveVcs: components["schemas"]["OrgChartInactiveVcsIdentityDto"];
5944
5993
  };
5945
5994
  effective: {
5946
5995
  personCount: number;
@@ -13324,6 +13373,10 @@ export type OrgChartSaveResultDto = components['schemas']['OrgChartSaveResultDto
13324
13373
  export type OrgStructureSourceBodyDto = components['schemas']['OrgStructureSourceBodyDto'];
13325
13374
  export type OrgChartStructureAvailabilityDto = components['schemas']['OrgChartStructureAvailabilityDto'];
13326
13375
  export type OrgChartUnmatchedIdentitySampleDto = components['schemas']['OrgChartUnmatchedIdentitySampleDto'];
13376
+ export type OrgChartInactiveVcsProviderDto = components['schemas']['OrgChartInactiveVcsProviderDto'];
13377
+ export type OrgChartInactiveVcsFieldDto = components['schemas']['OrgChartInactiveVcsFieldDto'];
13378
+ export type OrgChartInactiveVcsIdentitySampleDto = components['schemas']['OrgChartInactiveVcsIdentitySampleDto'];
13379
+ export type OrgChartInactiveVcsIdentityDto = components['schemas']['OrgChartInactiveVcsIdentityDto'];
13327
13380
  export type OrgChartStatusDto = components['schemas']['OrgChartStatusDto'];
13328
13381
  export type TenantSourceEntryDto = components['schemas']['TenantSourceEntryDto'];
13329
13382
  export type CursorSourceDto = components['schemas']['CursorSourceDto'];
@@ -16349,7 +16402,7 @@ export interface operations {
16349
16402
  };
16350
16403
  requestBody?: never;
16351
16404
  responses: {
16352
- /** @description Structure source, identity mappings, and effective chart summary */
16405
+ /** @description Structure source, identity mappings, inactive-VCS samples, and effective chart summary */
16353
16406
  200: {
16354
16407
  headers: {
16355
16408
  [name: string]: unknown;