@thinkai/tai-api-contract 2.64.0 → 2.66.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 +102 -1
- package/dist/generated/openapi.d.ts.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/openapi/openapi.yaml +107 -3
- package/package.json +2 -2
- package/src/generated/openapi.ts +102 -1
- package/src/index.ts +17 -0
|
@@ -962,6 +962,26 @@ export interface paths {
|
|
|
962
962
|
patch?: never;
|
|
963
963
|
trace?: never;
|
|
964
964
|
};
|
|
965
|
+
"/workspaces/{workspaceId}/insights/recommendations-page/bundle": {
|
|
966
|
+
parameters: {
|
|
967
|
+
query?: never;
|
|
968
|
+
header?: never;
|
|
969
|
+
path?: never;
|
|
970
|
+
cookie?: never;
|
|
971
|
+
};
|
|
972
|
+
/**
|
|
973
|
+
* Insights recommendations — full page bundle
|
|
974
|
+
* @description Single HTTP round-trip for `/insights-recommendations`. Returns the same section payloads as the seven per-resource GETs (`verdict-summary` through `recommendations`) nested under one response with a shared `_meta` envelope. Section objects omit per-resource `_meta`; use the top-level `_meta.syncedAt` for the page.
|
|
975
|
+
*/
|
|
976
|
+
get: operations["getInsightsRecommendationsPageBundle"];
|
|
977
|
+
put?: never;
|
|
978
|
+
post?: never;
|
|
979
|
+
delete?: never;
|
|
980
|
+
options?: never;
|
|
981
|
+
head?: never;
|
|
982
|
+
patch?: never;
|
|
983
|
+
trace?: never;
|
|
984
|
+
};
|
|
965
985
|
"/workspaces/{workspaceId}/insights/recommendations-page/verdict-summary": {
|
|
966
986
|
parameters: {
|
|
967
987
|
query?: never;
|
|
@@ -4978,6 +4998,14 @@ export interface components {
|
|
|
4978
4998
|
productivityLastIngestAt?: string | null;
|
|
4979
4999
|
/** @description True while another session holds the workspace productivity ingest advisory lock. */
|
|
4980
5000
|
productivityRefreshInProgress?: boolean;
|
|
5001
|
+
/** @description Repos remaining in the staged backfill queue. */
|
|
5002
|
+
productivityIngestPendingRepoCount?: number | null;
|
|
5003
|
+
/** @description Repos benign-skipped or quarantined during backfill. */
|
|
5004
|
+
productivityIngestSkippedRepoCount?: number | null;
|
|
5005
|
+
/** @description Repos with transient failures awaiting retry in the current phase. */
|
|
5006
|
+
productivityIngestFailedRepoCount?: number | null;
|
|
5007
|
+
/** @description Percent of eligible repos with merged-PR productivity data (excludes skipped/quarantined). */
|
|
5008
|
+
productivityIngestCoveragePercent?: number | null;
|
|
4981
5009
|
};
|
|
4982
5010
|
GithubInstallUrlRequestDto: {
|
|
4983
5011
|
returnPath?: string;
|
|
@@ -6046,7 +6074,7 @@ export interface components {
|
|
|
6046
6074
|
* @description Type of workspace lifecycle event.
|
|
6047
6075
|
* @enum {string}
|
|
6048
6076
|
*/
|
|
6049
|
-
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" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed";
|
|
6077
|
+
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" | "productivity.ingest.repo_skipped" | "productivity.ingest.coverage_gap_detected" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed";
|
|
6050
6078
|
ActivityLogActorDto: {
|
|
6051
6079
|
/** Format: uuid */
|
|
6052
6080
|
userId: string;
|
|
@@ -6516,6 +6544,19 @@ export interface components {
|
|
|
6516
6544
|
items: components["schemas"]["InsightsRecommendationDto"][];
|
|
6517
6545
|
_meta: components["schemas"]["InsightsResponseMeta"];
|
|
6518
6546
|
};
|
|
6547
|
+
InsightsRecommendationsPageBundleRecommendations: {
|
|
6548
|
+
items: components["schemas"]["InsightsRecommendationDto"][];
|
|
6549
|
+
};
|
|
6550
|
+
InsightsRecommendationsPageBundleResponse: {
|
|
6551
|
+
verdictSummary: components["schemas"]["InsightsRecommendationsVerdictSummary"];
|
|
6552
|
+
roiQuadrant: components["schemas"]["InsightsRecommendationsRoiQuadrant"];
|
|
6553
|
+
velocityQuality: components["schemas"]["InsightsRecommendationsVelocityQuality"];
|
|
6554
|
+
reviewPipeline: components["schemas"]["InsightsRecommendationsReviewPipeline"];
|
|
6555
|
+
costPerPr: components["schemas"]["InsightsRecommendationsCostPerPr"];
|
|
6556
|
+
adoptionGap: components["schemas"]["InsightsRecommendationsAdoptionGap"];
|
|
6557
|
+
recommendations: components["schemas"]["InsightsRecommendationsPageBundleRecommendations"];
|
|
6558
|
+
_meta: components["schemas"]["InsightsResponseMeta"];
|
|
6559
|
+
};
|
|
6519
6560
|
};
|
|
6520
6561
|
responses: {
|
|
6521
6562
|
/** @description Missing or invalid bearer token */
|
|
@@ -6952,6 +6993,8 @@ export type InsightsEvidenceChip = components['schemas']['InsightsEvidenceChip']
|
|
|
6952
6993
|
export type InsightsRecommendationEvidenceGroup = components['schemas']['InsightsRecommendationEvidenceGroup'];
|
|
6953
6994
|
export type InsightsRecommendationDto = components['schemas']['InsightsRecommendationDto'];
|
|
6954
6995
|
export type InsightsRecommendationsListResponse = components['schemas']['InsightsRecommendationsListResponse'];
|
|
6996
|
+
export type InsightsRecommendationsPageBundleRecommendations = components['schemas']['InsightsRecommendationsPageBundleRecommendations'];
|
|
6997
|
+
export type InsightsRecommendationsPageBundleResponse = components['schemas']['InsightsRecommendationsPageBundleResponse'];
|
|
6955
6998
|
export type ResponseUnauthorized = components['responses']['Unauthorized'];
|
|
6956
6999
|
export type ResponseForbidden = components['responses']['Forbidden'];
|
|
6957
7000
|
export type ResponseZenHrSyncInProgress = components['responses']['ZenHrSyncInProgress'];
|
|
@@ -9672,6 +9715,64 @@ export interface operations {
|
|
|
9672
9715
|
};
|
|
9673
9716
|
};
|
|
9674
9717
|
};
|
|
9718
|
+
getInsightsRecommendationsPageBundle: {
|
|
9719
|
+
parameters: {
|
|
9720
|
+
query: {
|
|
9721
|
+
/** @description Org-chart department ids (repeat param or comma-separated). Empty/omitted = all departments. */
|
|
9722
|
+
departments?: components["parameters"]["InsightsRecommendationsDepartments"];
|
|
9723
|
+
/** @description Org-chart team ids (repeat param or comma-separated). Empty/omitted = all teams in department scope. */
|
|
9724
|
+
teams?: components["parameters"]["InsightsRecommendationsTeams"];
|
|
9725
|
+
/** @description Inclusive window start (`YYYY-MM-DD`). Required with `dateTo`. Maps to Measure day-mode custom range (`from`/`to`). Max span 180 days. */
|
|
9726
|
+
dateFrom: components["parameters"]["InsightsRecommendationsDateFrom"];
|
|
9727
|
+
/** @description Inclusive window end (`YYYY-MM-DD`). Required with `dateFrom`. */
|
|
9728
|
+
dateTo: components["parameters"]["InsightsRecommendationsDateTo"];
|
|
9729
|
+
/** @description AI provider ids (e.g. `cursor`, `copilot`). Empty/omitted = all configured providers. */
|
|
9730
|
+
provider?: components["parameters"]["InsightsRecommendationsProvider"];
|
|
9731
|
+
/** @description Include contributors / AI rows not mapped to a team. */
|
|
9732
|
+
includeUnmapped?: components["parameters"]["InsightsRecommendationsIncludeUnmapped"];
|
|
9733
|
+
/** @description Include bot accounts in PR/CI stats. */
|
|
9734
|
+
includeBots?: components["parameters"]["InsightsRecommendationsIncludeBots"];
|
|
9735
|
+
};
|
|
9736
|
+
header?: never;
|
|
9737
|
+
path: {
|
|
9738
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
9739
|
+
};
|
|
9740
|
+
cookie?: never;
|
|
9741
|
+
};
|
|
9742
|
+
requestBody?: never;
|
|
9743
|
+
responses: {
|
|
9744
|
+
/** @description All recommendations-page sections with shared `_meta.isMock=false` */
|
|
9745
|
+
200: {
|
|
9746
|
+
headers: {
|
|
9747
|
+
[name: string]: unknown;
|
|
9748
|
+
};
|
|
9749
|
+
content: {
|
|
9750
|
+
"application/json": components["schemas"]["InsightsRecommendationsPageBundleResponse"];
|
|
9751
|
+
};
|
|
9752
|
+
};
|
|
9753
|
+
/** @description Invalid filter or date range */
|
|
9754
|
+
400: {
|
|
9755
|
+
headers: {
|
|
9756
|
+
[name: string]: unknown;
|
|
9757
|
+
};
|
|
9758
|
+
content: {
|
|
9759
|
+
"application/json": {
|
|
9760
|
+
/** @example invalid_query */
|
|
9761
|
+
error: string;
|
|
9762
|
+
};
|
|
9763
|
+
};
|
|
9764
|
+
};
|
|
9765
|
+
401: components["responses"]["Unauthorized"];
|
|
9766
|
+
403: components["responses"]["Forbidden"];
|
|
9767
|
+
/** @description Workspace does not exist or malformed workspaceId */
|
|
9768
|
+
404: {
|
|
9769
|
+
headers: {
|
|
9770
|
+
[name: string]: unknown;
|
|
9771
|
+
};
|
|
9772
|
+
content?: never;
|
|
9773
|
+
};
|
|
9774
|
+
};
|
|
9775
|
+
};
|
|
9675
9776
|
getInsightsRecommendationsVerdictSummary: {
|
|
9676
9777
|
parameters: {
|
|
9677
9778
|
query: {
|