@thinkai/tai-api-contract 2.118.0 → 2.120.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 +169 -1
- package/dist/generated/openapi.d.ts.map +1 -1
- package/dist/index.d.ts +99 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/openapi/openapi.yaml +320 -2
- package/package.json +1 -1
- package/src/generated/openapi.ts +169 -1
- package/src/index.ts +121 -0
|
@@ -3923,6 +3923,26 @@ export interface paths {
|
|
|
3923
3923
|
patch: operations["patchWorkspaceZenHrBranch"];
|
|
3924
3924
|
trace?: never;
|
|
3925
3925
|
};
|
|
3926
|
+
"/workspaces/{workspaceId}/ingest-coverage": {
|
|
3927
|
+
parameters: {
|
|
3928
|
+
query?: never;
|
|
3929
|
+
header?: never;
|
|
3930
|
+
path?: never;
|
|
3931
|
+
cookie?: never;
|
|
3932
|
+
};
|
|
3933
|
+
/**
|
|
3934
|
+
* Ingest / backfill data coverage
|
|
3935
|
+
* @description Read-only snapshot of historical ingest coverage for connected pipelines (productivity GitHub, AI usage/spend per provider, SDLC components, monitoring, HRIS). Aggregates existing watermarks and stored day/week evidence — does not trigger ingest or refresh. Requires workspace membership. Disconnected sources are omitted.
|
|
3936
|
+
*/
|
|
3937
|
+
get: operations["getWorkspaceIngestCoverage"];
|
|
3938
|
+
put?: never;
|
|
3939
|
+
post?: never;
|
|
3940
|
+
delete?: never;
|
|
3941
|
+
options?: never;
|
|
3942
|
+
head?: never;
|
|
3943
|
+
patch?: never;
|
|
3944
|
+
trace?: never;
|
|
3945
|
+
};
|
|
3926
3946
|
"/workspaces/{workspaceId}/hris/status": {
|
|
3927
3947
|
parameters: {
|
|
3928
3948
|
query?: never;
|
|
@@ -7650,6 +7670,119 @@ export interface components {
|
|
|
7650
7670
|
*/
|
|
7651
7671
|
syncedAt: string | null;
|
|
7652
7672
|
};
|
|
7673
|
+
IngestCoverageGapDto: {
|
|
7674
|
+
/** @description Inclusive gap start (ISO date or UTC Monday week start). */
|
|
7675
|
+
from: string;
|
|
7676
|
+
/** @description Inclusive gap end (ISO date or UTC Monday week start). */
|
|
7677
|
+
to: string;
|
|
7678
|
+
};
|
|
7679
|
+
IngestCoverageLastRunDto: {
|
|
7680
|
+
/** Format: date-time */
|
|
7681
|
+
startedAt?: string | null;
|
|
7682
|
+
/** Format: date-time */
|
|
7683
|
+
completedAt?: string | null;
|
|
7684
|
+
/** Format: int64 */
|
|
7685
|
+
durationMs?: number | null;
|
|
7686
|
+
/** @description Pipeline-specific run mode (e.g. recent, historical, refresh). */
|
|
7687
|
+
mode?: string | null;
|
|
7688
|
+
/** @enum {string|null} */
|
|
7689
|
+
outcome?: "ok" | "failed" | "in_progress" | null;
|
|
7690
|
+
};
|
|
7691
|
+
IngestCoverageProductivityRepoDto: {
|
|
7692
|
+
slug: string;
|
|
7693
|
+
/** @enum {string} */
|
|
7694
|
+
queueStatus: "pending" | "complete" | "failed" | "skipped";
|
|
7695
|
+
weeksWithData?: number | null;
|
|
7696
|
+
earliestWeek?: string | null;
|
|
7697
|
+
latestWeek?: string | null;
|
|
7698
|
+
missingWeeks?: number | null;
|
|
7699
|
+
gaps?: components["schemas"]["IngestCoverageGapDto"][];
|
|
7700
|
+
lastErrorKind?: string | null;
|
|
7701
|
+
};
|
|
7702
|
+
IngestCoverageProductivityDetailDto: {
|
|
7703
|
+
/** @enum {string|null} */
|
|
7704
|
+
phase?: "recent" | "historical" | "complete" | null;
|
|
7705
|
+
historicalWeekStart?: string | null;
|
|
7706
|
+
pendingRepoCount?: number;
|
|
7707
|
+
skippedRepoCount?: number;
|
|
7708
|
+
failedRepoCount?: number;
|
|
7709
|
+
coveragePercent?: number | null;
|
|
7710
|
+
repos?: components["schemas"]["IngestCoverageProductivityRepoDto"][];
|
|
7711
|
+
};
|
|
7712
|
+
IngestCoverageFactFamilyDto: {
|
|
7713
|
+
/** @enum {string} */
|
|
7714
|
+
id: "daily_usage" | "spend_daily" | "model_daily" | "product_daily";
|
|
7715
|
+
expectedDays?: number;
|
|
7716
|
+
daysPresent?: number;
|
|
7717
|
+
ingestedFrom?: string | null;
|
|
7718
|
+
ingestedTo?: string | null;
|
|
7719
|
+
missingDayCount?: number;
|
|
7720
|
+
gaps?: components["schemas"]["IngestCoverageGapDto"][];
|
|
7721
|
+
};
|
|
7722
|
+
IngestCoverageAiDetailDto: {
|
|
7723
|
+
factFamilies?: components["schemas"]["IngestCoverageFactFamilyDto"][];
|
|
7724
|
+
refreshInProgress?: boolean;
|
|
7725
|
+
};
|
|
7726
|
+
IngestCoverageSdlcComponentDto: {
|
|
7727
|
+
/** @enum {string} */
|
|
7728
|
+
id: "rollup" | "security_ingest" | "governance_github" | "governance_auditor" | "financial_ingest" | "cost_refresher";
|
|
7729
|
+
latestBucketDate?: string | null;
|
|
7730
|
+
lookbackDays?: number;
|
|
7731
|
+
mode?: string | null;
|
|
7732
|
+
gaps?: components["schemas"]["IngestCoverageGapDto"][];
|
|
7733
|
+
missingCount?: number | null;
|
|
7734
|
+
/** Format: date-time */
|
|
7735
|
+
lastSuccessAt?: string | null;
|
|
7736
|
+
/** Format: int64 */
|
|
7737
|
+
staleForMs?: number | null;
|
|
7738
|
+
isStale?: boolean;
|
|
7739
|
+
/** @enum {string|null} */
|
|
7740
|
+
staleReason?: "sync_age" | "data_lag" | "both" | null;
|
|
7741
|
+
};
|
|
7742
|
+
IngestCoverageSdlcDetailDto: {
|
|
7743
|
+
components?: components["schemas"]["IngestCoverageSdlcComponentDto"][];
|
|
7744
|
+
};
|
|
7745
|
+
IngestCoverageSyncDetailDto: {
|
|
7746
|
+
provider?: string;
|
|
7747
|
+
/** @enum {string} */
|
|
7748
|
+
syncStatus?: "ok" | "error" | "never";
|
|
7749
|
+
};
|
|
7750
|
+
IngestCoveragePipelineDto: {
|
|
7751
|
+
id: string;
|
|
7752
|
+
/** @enum {string} */
|
|
7753
|
+
kind: "productivity_github" | "ai_usage" | "sdlc_github" | "monitoring" | "hris";
|
|
7754
|
+
provider?: string | null;
|
|
7755
|
+
/** @enum {string} */
|
|
7756
|
+
status: "not_started" | "backfilling" | "incremental" | "complete" | "failed" | "in_progress";
|
|
7757
|
+
targetWindowDays: number;
|
|
7758
|
+
ingestedFrom?: string | null;
|
|
7759
|
+
ingestedTo?: string | null;
|
|
7760
|
+
progressPercent?: number | null;
|
|
7761
|
+
/** Format: date-time */
|
|
7762
|
+
lastSuccessAt?: string | null;
|
|
7763
|
+
/** Format: date-time */
|
|
7764
|
+
lastAttemptAt?: string | null;
|
|
7765
|
+
lastErrorKind?: string | null;
|
|
7766
|
+
lastErrorMessage?: string | null;
|
|
7767
|
+
/** Format: int64 */
|
|
7768
|
+
staleForMs?: number | null;
|
|
7769
|
+
isStale: boolean;
|
|
7770
|
+
dataLagDays?: number | null;
|
|
7771
|
+
/** @enum {string|null} */
|
|
7772
|
+
staleReason?: "sync_age" | "data_lag" | "both" | null;
|
|
7773
|
+
gaps?: components["schemas"]["IngestCoverageGapDto"][];
|
|
7774
|
+
missingCount?: number | null;
|
|
7775
|
+
lastRun?: components["schemas"]["IngestCoverageLastRunDto"];
|
|
7776
|
+
productivity?: components["schemas"]["IngestCoverageProductivityDetailDto"];
|
|
7777
|
+
ai?: components["schemas"]["IngestCoverageAiDetailDto"];
|
|
7778
|
+
sdlc?: components["schemas"]["IngestCoverageSdlcDetailDto"];
|
|
7779
|
+
sync?: components["schemas"]["IngestCoverageSyncDetailDto"];
|
|
7780
|
+
};
|
|
7781
|
+
IngestCoverageDto: {
|
|
7782
|
+
pipelines: components["schemas"]["IngestCoveragePipelineDto"][];
|
|
7783
|
+
/** Format: date-time */
|
|
7784
|
+
generatedAt?: string;
|
|
7785
|
+
};
|
|
7653
7786
|
HrisSyncStatusDto: {
|
|
7654
7787
|
/** @description Provider identifier (e.g. 'personio', 'zenhr'). */
|
|
7655
7788
|
provider: string;
|
|
@@ -7932,7 +8065,7 @@ export interface components {
|
|
|
7932
8065
|
InsightsResponseMeta: {
|
|
7933
8066
|
/**
|
|
7934
8067
|
* Format: date-time
|
|
7935
|
-
* @description ISO timestamp when numbers were computed server-side
|
|
8068
|
+
* @description ISO timestamp when numbers were computed server-side. An empty string means the workspace has no successful AI-tool refresh or productivity ingest timestamp yet.
|
|
7936
8069
|
*/
|
|
7937
8070
|
syncedAt: string;
|
|
7938
8071
|
/**
|
|
@@ -9596,6 +9729,17 @@ export type ActivityLogActorDto = components['schemas']['ActivityLogActorDto'];
|
|
|
9596
9729
|
export type ActivityLogEntryDto = components['schemas']['ActivityLogEntryDto'];
|
|
9597
9730
|
export type WorkspaceAbsenceDto = components['schemas']['WorkspaceAbsenceDto'];
|
|
9598
9731
|
export type WorkspaceAbsenceListDto = components['schemas']['WorkspaceAbsenceListDto'];
|
|
9732
|
+
export type IngestCoverageGapDto = components['schemas']['IngestCoverageGapDto'];
|
|
9733
|
+
export type IngestCoverageLastRunDto = components['schemas']['IngestCoverageLastRunDto'];
|
|
9734
|
+
export type IngestCoverageProductivityRepoDto = components['schemas']['IngestCoverageProductivityRepoDto'];
|
|
9735
|
+
export type IngestCoverageProductivityDetailDto = components['schemas']['IngestCoverageProductivityDetailDto'];
|
|
9736
|
+
export type IngestCoverageFactFamilyDto = components['schemas']['IngestCoverageFactFamilyDto'];
|
|
9737
|
+
export type IngestCoverageAiDetailDto = components['schemas']['IngestCoverageAiDetailDto'];
|
|
9738
|
+
export type IngestCoverageSdlcComponentDto = components['schemas']['IngestCoverageSdlcComponentDto'];
|
|
9739
|
+
export type IngestCoverageSdlcDetailDto = components['schemas']['IngestCoverageSdlcDetailDto'];
|
|
9740
|
+
export type IngestCoverageSyncDetailDto = components['schemas']['IngestCoverageSyncDetailDto'];
|
|
9741
|
+
export type IngestCoveragePipelineDto = components['schemas']['IngestCoveragePipelineDto'];
|
|
9742
|
+
export type IngestCoverageDto = components['schemas']['IngestCoverageDto'];
|
|
9599
9743
|
export type HrisSyncStatusDto = components['schemas']['HrisSyncStatusDto'];
|
|
9600
9744
|
export type HrisSyncStatusListDto = components['schemas']['HrisSyncStatusListDto'];
|
|
9601
9745
|
export type ZenHrReconnectResultDto = components['schemas']['ZenHrReconnectResultDto'];
|
|
@@ -19709,6 +19853,30 @@ export interface operations {
|
|
|
19709
19853
|
503: components["responses"]["ZenHrSyncInProgress"];
|
|
19710
19854
|
};
|
|
19711
19855
|
};
|
|
19856
|
+
getWorkspaceIngestCoverage: {
|
|
19857
|
+
parameters: {
|
|
19858
|
+
query?: never;
|
|
19859
|
+
header?: never;
|
|
19860
|
+
path: {
|
|
19861
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
19862
|
+
};
|
|
19863
|
+
cookie?: never;
|
|
19864
|
+
};
|
|
19865
|
+
requestBody?: never;
|
|
19866
|
+
responses: {
|
|
19867
|
+
/** @description Ingest coverage for connected pipelines */
|
|
19868
|
+
200: {
|
|
19869
|
+
headers: {
|
|
19870
|
+
[name: string]: unknown;
|
|
19871
|
+
};
|
|
19872
|
+
content: {
|
|
19873
|
+
"application/json": components["schemas"]["IngestCoverageDto"];
|
|
19874
|
+
};
|
|
19875
|
+
};
|
|
19876
|
+
401: components["responses"]["Unauthorized"];
|
|
19877
|
+
403: components["responses"]["Forbidden"];
|
|
19878
|
+
};
|
|
19879
|
+
};
|
|
19712
19880
|
getHrisSyncStatus: {
|
|
19713
19881
|
parameters: {
|
|
19714
19882
|
query?: never;
|