@thinkai/tai-api-contract 2.65.0 → 2.67.0-pr.934.5215788b
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 +135 -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 +182 -4
- package/package.json +2 -2
- package/src/generated/openapi.ts +135 -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;
|
|
@@ -4744,6 +4764,15 @@ export interface components {
|
|
|
4744
4764
|
*/
|
|
4745
4765
|
error: "github_permissions_check_failed";
|
|
4746
4766
|
};
|
|
4767
|
+
/**
|
|
4768
|
+
* @description Whether a GitHub Code security product is enabled and readable for sampled repos. `partial` means mixed enablement across the sample; `unknown` when not probed or grants missing.
|
|
4769
|
+
* @enum {string}
|
|
4770
|
+
*/
|
|
4771
|
+
GithubProductSettingStatus: "ok" | "not_enabled" | "partial" | "forbidden" | "unknown";
|
|
4772
|
+
GithubProductSettingsDto: {
|
|
4773
|
+
dependabotAlerts: components["schemas"]["GithubProductSettingStatus"];
|
|
4774
|
+
secretScanning: components["schemas"]["GithubProductSettingStatus"];
|
|
4775
|
+
};
|
|
4747
4776
|
GithubInstallationSummaryDto: {
|
|
4748
4777
|
installationId: string;
|
|
4749
4778
|
account: components["schemas"]["GithubAccountDto"];
|
|
@@ -4757,6 +4786,20 @@ export interface components {
|
|
|
4757
4786
|
permissionsUpgradeRequired: boolean;
|
|
4758
4787
|
/** @description True when installation grants read permissions for repository analysis (contents, metadata, pull requests, and members for org installs). */
|
|
4759
4788
|
corePermissionsOk: boolean;
|
|
4789
|
+
/** @description True when installation grants Vulnerability alerts and Secret scanning alerts read for SDLC security metrics. */
|
|
4790
|
+
securityPermissionsOk: boolean;
|
|
4791
|
+
/** @description True when installation grants financial/operational SDLC metric permissions (Actions, Deployments, and org Administration / Copilot seat reads for organization installs). */
|
|
4792
|
+
financialPermissionsOk: boolean;
|
|
4793
|
+
/** @description Security alert permissions still needed for SDLC security metrics. */
|
|
4794
|
+
missingSecurityPermissions?: components["schemas"]["GithubMissingPermissionDto"][];
|
|
4795
|
+
/** @description Financial/operational permissions still needed for SDLC financial metrics. */
|
|
4796
|
+
missingFinancialPermissions?: components["schemas"]["GithubMissingPermissionDto"][];
|
|
4797
|
+
/** @description Human-readable summary when security App permissions are missing. */
|
|
4798
|
+
securityUpgradeMessage?: string | null;
|
|
4799
|
+
/** @description Human-readable summary when financial App permissions are missing. */
|
|
4800
|
+
financialUpgradeMessage?: string | null;
|
|
4801
|
+
/** @description Dependabot alerts and secret scanning enablement on sampled repos (throttled probe). Omitted when security App grants are missing or the probe has not run. */
|
|
4802
|
+
githubProductSettings?: components["schemas"]["GithubProductSettingsDto"] | null;
|
|
4760
4803
|
/** @description True when automated fixes are enabled and the linked Automations (write) installation grants write permissions required for fix PRs. */
|
|
4761
4804
|
writePermissionsOk: boolean;
|
|
4762
4805
|
/** @description Alias for `!writePermissionsOk`. */
|
|
@@ -4941,6 +4984,20 @@ export interface components {
|
|
|
4941
4984
|
permissionsUpgradeRequired: boolean;
|
|
4942
4985
|
/** @description True when every connected installation grants core read permissions. */
|
|
4943
4986
|
corePermissionsOk: boolean;
|
|
4987
|
+
/** @description True when every connected installation grants security alert read permissions. */
|
|
4988
|
+
securityPermissionsOk: boolean;
|
|
4989
|
+
/** @description True when every connected installation grants financial/operational read permissions. */
|
|
4990
|
+
financialPermissionsOk: boolean;
|
|
4991
|
+
/** @description Aggregated security permissions missing on installations with security gaps. */
|
|
4992
|
+
missingSecurityPermissions?: components["schemas"]["GithubMissingPermissionDto"][];
|
|
4993
|
+
/** @description Aggregated financial permissions missing on installations with financial gaps. */
|
|
4994
|
+
missingFinancialPermissions?: components["schemas"]["GithubMissingPermissionDto"][];
|
|
4995
|
+
/** @description Human-readable summary when security App permissions are missing. */
|
|
4996
|
+
securityUpgradeMessage?: string | null;
|
|
4997
|
+
/** @description Human-readable summary when financial App permissions are missing. */
|
|
4998
|
+
financialUpgradeMessage?: string | null;
|
|
4999
|
+
/** @description Workspace-wide Code security product status reduced from installations. */
|
|
5000
|
+
githubProductSettings?: components["schemas"]["GithubProductSettingsDto"] | null;
|
|
4944
5001
|
/** @description True when every connected installation grants write permissions for automated fixes. */
|
|
4945
5002
|
writePermissionsOk: boolean;
|
|
4946
5003
|
/** @description True when any connected installation lacks write permissions for automated fixes. */
|
|
@@ -6524,6 +6581,19 @@ export interface components {
|
|
|
6524
6581
|
items: components["schemas"]["InsightsRecommendationDto"][];
|
|
6525
6582
|
_meta: components["schemas"]["InsightsResponseMeta"];
|
|
6526
6583
|
};
|
|
6584
|
+
InsightsRecommendationsPageBundleRecommendations: {
|
|
6585
|
+
items: components["schemas"]["InsightsRecommendationDto"][];
|
|
6586
|
+
};
|
|
6587
|
+
InsightsRecommendationsPageBundleResponse: {
|
|
6588
|
+
verdictSummary: components["schemas"]["InsightsRecommendationsVerdictSummary"];
|
|
6589
|
+
roiQuadrant: components["schemas"]["InsightsRecommendationsRoiQuadrant"];
|
|
6590
|
+
velocityQuality: components["schemas"]["InsightsRecommendationsVelocityQuality"];
|
|
6591
|
+
reviewPipeline: components["schemas"]["InsightsRecommendationsReviewPipeline"];
|
|
6592
|
+
costPerPr: components["schemas"]["InsightsRecommendationsCostPerPr"];
|
|
6593
|
+
adoptionGap: components["schemas"]["InsightsRecommendationsAdoptionGap"];
|
|
6594
|
+
recommendations: components["schemas"]["InsightsRecommendationsPageBundleRecommendations"];
|
|
6595
|
+
_meta: components["schemas"]["InsightsResponseMeta"];
|
|
6596
|
+
};
|
|
6527
6597
|
};
|
|
6528
6598
|
responses: {
|
|
6529
6599
|
/** @description Missing or invalid bearer token */
|
|
@@ -6777,6 +6847,8 @@ export type RepoEligibilityLimitsDto = components['schemas']['RepoEligibilityLim
|
|
|
6777
6847
|
export type GithubMissingPermissionDto = components['schemas']['GithubMissingPermissionDto'];
|
|
6778
6848
|
export type GithubWritePermissionsRequiredErrorDto = components['schemas']['GithubWritePermissionsRequiredErrorDto'];
|
|
6779
6849
|
export type GithubPermissionsCheckFailedErrorDto = components['schemas']['GithubPermissionsCheckFailedErrorDto'];
|
|
6850
|
+
export type GithubProductSettingStatus = components['schemas']['GithubProductSettingStatus'];
|
|
6851
|
+
export type GithubProductSettingsDto = components['schemas']['GithubProductSettingsDto'];
|
|
6780
6852
|
export type GithubInstallationSummaryDto = components['schemas']['GithubInstallationSummaryDto'];
|
|
6781
6853
|
export type GithubPendingApprovalDto = components['schemas']['GithubPendingApprovalDto'];
|
|
6782
6854
|
export type GithubSetupInProgressDto = components['schemas']['GithubSetupInProgressDto'];
|
|
@@ -6960,6 +7032,8 @@ export type InsightsEvidenceChip = components['schemas']['InsightsEvidenceChip']
|
|
|
6960
7032
|
export type InsightsRecommendationEvidenceGroup = components['schemas']['InsightsRecommendationEvidenceGroup'];
|
|
6961
7033
|
export type InsightsRecommendationDto = components['schemas']['InsightsRecommendationDto'];
|
|
6962
7034
|
export type InsightsRecommendationsListResponse = components['schemas']['InsightsRecommendationsListResponse'];
|
|
7035
|
+
export type InsightsRecommendationsPageBundleRecommendations = components['schemas']['InsightsRecommendationsPageBundleRecommendations'];
|
|
7036
|
+
export type InsightsRecommendationsPageBundleResponse = components['schemas']['InsightsRecommendationsPageBundleResponse'];
|
|
6963
7037
|
export type ResponseUnauthorized = components['responses']['Unauthorized'];
|
|
6964
7038
|
export type ResponseForbidden = components['responses']['Forbidden'];
|
|
6965
7039
|
export type ResponseZenHrSyncInProgress = components['responses']['ZenHrSyncInProgress'];
|
|
@@ -9680,6 +9754,64 @@ export interface operations {
|
|
|
9680
9754
|
};
|
|
9681
9755
|
};
|
|
9682
9756
|
};
|
|
9757
|
+
getInsightsRecommendationsPageBundle: {
|
|
9758
|
+
parameters: {
|
|
9759
|
+
query: {
|
|
9760
|
+
/** @description Org-chart department ids (repeat param or comma-separated). Empty/omitted = all departments. */
|
|
9761
|
+
departments?: components["parameters"]["InsightsRecommendationsDepartments"];
|
|
9762
|
+
/** @description Org-chart team ids (repeat param or comma-separated). Empty/omitted = all teams in department scope. */
|
|
9763
|
+
teams?: components["parameters"]["InsightsRecommendationsTeams"];
|
|
9764
|
+
/** @description Inclusive window start (`YYYY-MM-DD`). Required with `dateTo`. Maps to Measure day-mode custom range (`from`/`to`). Max span 180 days. */
|
|
9765
|
+
dateFrom: components["parameters"]["InsightsRecommendationsDateFrom"];
|
|
9766
|
+
/** @description Inclusive window end (`YYYY-MM-DD`). Required with `dateFrom`. */
|
|
9767
|
+
dateTo: components["parameters"]["InsightsRecommendationsDateTo"];
|
|
9768
|
+
/** @description AI provider ids (e.g. `cursor`, `copilot`). Empty/omitted = all configured providers. */
|
|
9769
|
+
provider?: components["parameters"]["InsightsRecommendationsProvider"];
|
|
9770
|
+
/** @description Include contributors / AI rows not mapped to a team. */
|
|
9771
|
+
includeUnmapped?: components["parameters"]["InsightsRecommendationsIncludeUnmapped"];
|
|
9772
|
+
/** @description Include bot accounts in PR/CI stats. */
|
|
9773
|
+
includeBots?: components["parameters"]["InsightsRecommendationsIncludeBots"];
|
|
9774
|
+
};
|
|
9775
|
+
header?: never;
|
|
9776
|
+
path: {
|
|
9777
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
9778
|
+
};
|
|
9779
|
+
cookie?: never;
|
|
9780
|
+
};
|
|
9781
|
+
requestBody?: never;
|
|
9782
|
+
responses: {
|
|
9783
|
+
/** @description All recommendations-page sections with shared `_meta.isMock=false` */
|
|
9784
|
+
200: {
|
|
9785
|
+
headers: {
|
|
9786
|
+
[name: string]: unknown;
|
|
9787
|
+
};
|
|
9788
|
+
content: {
|
|
9789
|
+
"application/json": components["schemas"]["InsightsRecommendationsPageBundleResponse"];
|
|
9790
|
+
};
|
|
9791
|
+
};
|
|
9792
|
+
/** @description Invalid filter or date range */
|
|
9793
|
+
400: {
|
|
9794
|
+
headers: {
|
|
9795
|
+
[name: string]: unknown;
|
|
9796
|
+
};
|
|
9797
|
+
content: {
|
|
9798
|
+
"application/json": {
|
|
9799
|
+
/** @example invalid_query */
|
|
9800
|
+
error: string;
|
|
9801
|
+
};
|
|
9802
|
+
};
|
|
9803
|
+
};
|
|
9804
|
+
401: components["responses"]["Unauthorized"];
|
|
9805
|
+
403: components["responses"]["Forbidden"];
|
|
9806
|
+
/** @description Workspace does not exist or malformed workspaceId */
|
|
9807
|
+
404: {
|
|
9808
|
+
headers: {
|
|
9809
|
+
[name: string]: unknown;
|
|
9810
|
+
};
|
|
9811
|
+
content?: never;
|
|
9812
|
+
};
|
|
9813
|
+
};
|
|
9814
|
+
};
|
|
9683
9815
|
getInsightsRecommendationsVerdictSummary: {
|
|
9684
9816
|
parameters: {
|
|
9685
9817
|
query: {
|
|
@@ -10337,8 +10469,10 @@ export interface operations {
|
|
|
10337
10469
|
query?: {
|
|
10338
10470
|
/** @description When true, bypass `tai_workspace_vcs_repos_cache` and re-fetch from GitHub. When productivity backfill phase is `complete`, also triggers inline `on_demand` ingest for the current UTC week (gap-fill only when metrics are missing). Response includes `productivityRefreshInProgress` while the workspace advisory lock is held. */
|
|
10339
10471
|
refresh?: boolean;
|
|
10340
|
-
/** @description When true, re-fetch GitHub App and installation permission metadata (used by the login permission gate after the user approves on GitHub). */
|
|
10472
|
+
/** @description When true, re-fetch GitHub App and installation permission metadata (used by the login permission gate after the user approves on GitHub). Clears App-permission and product-settings caches so the next `productSettingsRefresh` re-probes. Does not itself call alert-list APIs; use `productSettingsRefresh` for that. */
|
|
10341
10473
|
permissionsRefresh?: boolean;
|
|
10474
|
+
/** @description When true, probe Dependabot alerts and secret scanning enablement on a small sample of connected repositories (only when security App grants are present). Without this flag, status returns previously cached `githubProductSettings` only (no live probe). Results are cached server-side for several minutes. */
|
|
10475
|
+
productSettingsRefresh?: boolean;
|
|
10342
10476
|
/** @description Page size for the nested installation repo list (default 25, max 100). */
|
|
10343
10477
|
repoLimit?: components["parameters"]["GithubRepoLimit"];
|
|
10344
10478
|
/** @description Zero-based offset into the merged installation repo list. */
|