@thinkai/tai-api-contract 2.33.1-pr.731.7 → 2.34.0-pr.810.2
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 +141 -168
- package/dist/generated/openapi.d.ts.map +1 -1
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -1
- package/openapi/openapi.yaml +157 -258
- package/package.json +1 -1
- package/src/generated/openapi.ts +141 -168
- package/src/index.ts +23 -0
package/src/generated/openapi.ts
CHANGED
|
@@ -1550,30 +1550,6 @@ export interface paths {
|
|
|
1550
1550
|
patch?: never;
|
|
1551
1551
|
trace?: never;
|
|
1552
1552
|
};
|
|
1553
|
-
"/workspaces/{workspaceId}/repo-eligibility": {
|
|
1554
|
-
parameters: {
|
|
1555
|
-
query?: never;
|
|
1556
|
-
header?: never;
|
|
1557
|
-
path?: never;
|
|
1558
|
-
cookie?: never;
|
|
1559
|
-
};
|
|
1560
|
-
/**
|
|
1561
|
-
* Get repo-sync eligibility gate (defaults + per-workspace overrides)
|
|
1562
|
-
* @description Returns the effective repo-sync eligibility gate (archived / fork / size / count) for the workspace: the global `defaults`, any per-workspace `overrides`, the merged `effective` values, and whether the caller can edit without platform-admin (`canEditUnrestricted`). Member-level read access.
|
|
1563
|
-
*/
|
|
1564
|
-
get: operations["getWorkspaceRepoEligibility"];
|
|
1565
|
-
/**
|
|
1566
|
-
* Set per-workspace repo-sync eligibility overrides
|
|
1567
|
-
* @description Set (or clear, with an empty `overrides`) the per-workspace repo-sync eligibility overrides. **Platform admins** may set any value (raise caps, `0` = unlimited, include archived/forks). **Workspace admins** may only make the gate *more restrictive* than the platform defaults (lower caps, exclude archived/forks) — exceeding a platform limit returns `403` (`repo_eligibility_bound_exceeded`). Requires workspace admin or platform admin.
|
|
1568
|
-
*/
|
|
1569
|
-
put: operations["putWorkspaceRepoEligibility"];
|
|
1570
|
-
post?: never;
|
|
1571
|
-
delete?: never;
|
|
1572
|
-
options?: never;
|
|
1573
|
-
head?: never;
|
|
1574
|
-
patch?: never;
|
|
1575
|
-
trace?: never;
|
|
1576
|
-
};
|
|
1577
1553
|
"/workspaces/{workspaceId}/readiness/cursor-key-usage": {
|
|
1578
1554
|
parameters: {
|
|
1579
1555
|
query?: never;
|
|
@@ -1754,6 +1730,24 @@ export interface paths {
|
|
|
1754
1730
|
patch?: never;
|
|
1755
1731
|
trace?: never;
|
|
1756
1732
|
};
|
|
1733
|
+
"/me/consent": {
|
|
1734
|
+
parameters: {
|
|
1735
|
+
query?: never;
|
|
1736
|
+
header?: never;
|
|
1737
|
+
path?: never;
|
|
1738
|
+
cookie?: never;
|
|
1739
|
+
};
|
|
1740
|
+
/** Get cookie/storage consent for current user */
|
|
1741
|
+
get: operations["getMyConsent"];
|
|
1742
|
+
/** Upsert cookie/storage consent */
|
|
1743
|
+
put: operations["putMyConsent"];
|
|
1744
|
+
post?: never;
|
|
1745
|
+
delete?: never;
|
|
1746
|
+
options?: never;
|
|
1747
|
+
head?: never;
|
|
1748
|
+
patch?: never;
|
|
1749
|
+
trace?: never;
|
|
1750
|
+
};
|
|
1757
1751
|
"/workspaces/{workspaceId}/org-chart/import": {
|
|
1758
1752
|
parameters: {
|
|
1759
1753
|
query?: never;
|
|
@@ -2316,7 +2310,12 @@ export interface components {
|
|
|
2316
2310
|
/** @description Short label for the week column (MM/DD), aligned with Measure charts. */
|
|
2317
2311
|
weekLabel?: string;
|
|
2318
2312
|
mergedPrCount: number;
|
|
2313
|
+
/** @description DORA change failure rate (deployments/incidents), not CI build failures. */
|
|
2319
2314
|
failRatePercent: number;
|
|
2315
|
+
/** @description GitHub Actions / Checks CI build failure rate for the week bucket (failed runs / (failed + passed) * 100). Zero when GitHub Actions CI is disabled. */
|
|
2316
|
+
ciFailRatePercent?: number;
|
|
2317
|
+
/** @description Count of build.failed events in the week bucket when CI ingest is enabled. */
|
|
2318
|
+
ciBuildFailuresCount?: number;
|
|
2320
2319
|
/** @description Mean hours from PR creation to first review in this week bucket. */
|
|
2321
2320
|
avgReviewWaitHours?: number;
|
|
2322
2321
|
/** @description Mean hours from first review to first approval in this week bucket. */
|
|
@@ -2349,6 +2348,8 @@ export interface components {
|
|
|
2349
2348
|
scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
|
|
2350
2349
|
/** Format: date-time */
|
|
2351
2350
|
generatedAt: string;
|
|
2351
|
+
/** @description True when the workspace has opted in to GitHub Actions CI ingest. */
|
|
2352
|
+
githubActionsCiEnabled?: boolean;
|
|
2352
2353
|
teams: components["schemas"]["ProductivityInsightsAggregatedTeamRowDto"][];
|
|
2353
2354
|
};
|
|
2354
2355
|
ProductivityInsightsMergedPrTrendWeekDto: {
|
|
@@ -2393,11 +2394,16 @@ export interface components {
|
|
|
2393
2394
|
periodAvgMergedPrs: number;
|
|
2394
2395
|
/** @description Average change failure rate over the range when available. */
|
|
2395
2396
|
avgFailRatePercent?: number;
|
|
2397
|
+
/** @description Average GitHub Actions CI build failure rate over the range when CI ingest is enabled. */
|
|
2398
|
+
avgCiFailRatePercent?: number;
|
|
2396
2399
|
};
|
|
2397
2400
|
ProductivityInsightsTeamSummaryDto: {
|
|
2398
2401
|
totalMergedPrs: number;
|
|
2399
2402
|
avgMergedPrsPerWeek: number;
|
|
2403
|
+
/** @description Average DORA change failure rate over the range when available. */
|
|
2400
2404
|
avgFailRatePercent: number;
|
|
2405
|
+
/** @description Average GitHub Actions CI build failure rate over the range when CI ingest is enabled. */
|
|
2406
|
+
avgCiFailRatePercent?: number;
|
|
2401
2407
|
headcount: number;
|
|
2402
2408
|
};
|
|
2403
2409
|
ProductivityInsightsTeamDetailDto: {
|
|
@@ -2424,6 +2430,8 @@ export interface components {
|
|
|
2424
2430
|
scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
|
|
2425
2431
|
/** Format: date-time */
|
|
2426
2432
|
generatedAt: string;
|
|
2433
|
+
/** @description True when the workspace has opted in to GitHub Actions CI ingest. */
|
|
2434
|
+
githubActionsCiEnabled?: boolean;
|
|
2427
2435
|
/** @description Present when `teamId` query is omitted — top-ranked teams. */
|
|
2428
2436
|
items?: components["schemas"]["ProductivityInsightsTeamLeaderItemDto"][];
|
|
2429
2437
|
/** @description Present when `teamId` query is set — single-team drilldown. */
|
|
@@ -2471,11 +2479,16 @@ export interface components {
|
|
|
2471
2479
|
totalMergedPrs: number;
|
|
2472
2480
|
avgMergedPrsPerWeek: number;
|
|
2473
2481
|
totalAbsenceDays: number;
|
|
2482
|
+
/** @description Average DORA change failure rate over the range when available. */
|
|
2474
2483
|
avgFailRate: number;
|
|
2484
|
+
/** @description Average GitHub Actions CI build failure rate over the range when CI ingest is enabled. */
|
|
2485
|
+
avgCiFailRate?: number;
|
|
2475
2486
|
mergedPrDelta: number;
|
|
2476
2487
|
avgMergedPrsPerWeekDelta: number;
|
|
2477
2488
|
totalAbsenceDaysDelta: number;
|
|
2478
2489
|
avgFailRateDelta: number;
|
|
2490
|
+
/** @description Change in average CI build failure rate vs the prior comparison window. */
|
|
2491
|
+
avgCiFailRateDelta?: number;
|
|
2479
2492
|
};
|
|
2480
2493
|
ProductivityInsightsContributorDetailDto: {
|
|
2481
2494
|
/** Format: uuid */
|
|
@@ -2487,6 +2500,8 @@ export interface components {
|
|
|
2487
2500
|
scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
|
|
2488
2501
|
/** Format: date-time */
|
|
2489
2502
|
generatedAt: string;
|
|
2503
|
+
/** @description True when the workspace has opted in to GitHub Actions CI ingest. */
|
|
2504
|
+
githubActionsCiEnabled?: boolean;
|
|
2490
2505
|
contributor: components["schemas"]["ProductivityInsightsContributorProfileDto"];
|
|
2491
2506
|
weeks: components["schemas"]["ProductivityInsightsContributorActivityWeekDto"][];
|
|
2492
2507
|
summary: components["schemas"]["ProductivityInsightsContributorActivitySummaryDto"];
|
|
@@ -2505,6 +2520,8 @@ export interface components {
|
|
|
2505
2520
|
periodAvgMergedPrs: number;
|
|
2506
2521
|
/** @description Mean weekly change-failure rate when available. */
|
|
2507
2522
|
avgFailRatePercent?: number;
|
|
2523
|
+
/** @description Mean weekly GitHub Actions CI build failure rate when CI ingest is enabled. */
|
|
2524
|
+
avgCiFailRatePercent?: number;
|
|
2508
2525
|
};
|
|
2509
2526
|
ProductivityInsightsNeedsAttentionDto: {
|
|
2510
2527
|
/** Format: uuid */
|
|
@@ -2515,6 +2532,8 @@ export interface components {
|
|
|
2515
2532
|
entityType: "teams" | "contributors";
|
|
2516
2533
|
/** Format: date-time */
|
|
2517
2534
|
generatedAt: string;
|
|
2535
|
+
/** @description True when GitHub Actions CI ingest is enabled for this workspace. */
|
|
2536
|
+
githubActionsCiEnabled?: boolean;
|
|
2518
2537
|
items: components["schemas"]["ProductivityInsightsNeedsAttentionItemDto"][];
|
|
2519
2538
|
};
|
|
2520
2539
|
AiUsageSpendAggregatedTeamWeekDto: {
|
|
@@ -2783,54 +2802,6 @@ export interface components {
|
|
|
2783
2802
|
* @description Last push or metadata update from GitHub when available.
|
|
2784
2803
|
*/
|
|
2785
2804
|
updatedAt?: string | null;
|
|
2786
|
-
/** @description True when the repository is archived (read-only on GitHub). */
|
|
2787
|
-
archived?: boolean | null;
|
|
2788
|
-
/** @description True when the repository is a fork of another repository. */
|
|
2789
|
-
fork?: boolean | null;
|
|
2790
|
-
/** @description True when the repository is disabled on GitHub. */
|
|
2791
|
-
disabled?: boolean | null;
|
|
2792
|
-
/** @description Repository size in KB as reported by GitHub. */
|
|
2793
|
-
size?: number | null;
|
|
2794
|
-
/** @description All reasons this repo was skipped during sync or is ineligible for analysis. Each entry is a human-readable explanation (e.g. "This repo is archived"). Empty or absent means the repo passed all checks. */
|
|
2795
|
-
ineligibleReasons?: string[] | null;
|
|
2796
|
-
/**
|
|
2797
|
-
* @description Language-based eligibility for Agentic-Foundation readiness analysis (issue #44). `ineligible` repos (no supported stack) render read-only/orange in the AF list with no analyze/score/fix actions. Mixed monorepos with a supported secondary stack are `eligible`. Distinct from `ineligibleReasons`, which reflects structural sync gates.
|
|
2798
|
-
* @enum {string|null}
|
|
2799
|
-
*/
|
|
2800
|
-
eligibilityStatus?: "eligible" | "ineligible" | null;
|
|
2801
|
-
/** @description Human-readable explanation when `eligibilityStatus` is `ineligible` (e.g. "This repository's primary language (Python) is not supported in v1"). */
|
|
2802
|
-
eligibilityReason?: string | null;
|
|
2803
|
-
/** @description Dominant supported stack (by GitHub language bytes), one of backend_jvm | ios_app | web_spa | backend_go | backend_python. Null for ineligible repos. */
|
|
2804
|
-
primaryStack?: string | null;
|
|
2805
|
-
/** @description Second supported stack for a multi-stack repo, or null. */
|
|
2806
|
-
secondaryStack?: string | null;
|
|
2807
|
-
/** @description All supported stacks detected for the repo (ordered, primary first). Empty/null when no supported stack is present. Drives multi-stack scanning and the orange mixed-monorepo box in the AF UI. */
|
|
2808
|
-
supportedStacks?: string[] | null;
|
|
2809
|
-
};
|
|
2810
|
-
/** @description Resolved repo-sync eligibility gate (defaults or effective). All fields present. */
|
|
2811
|
-
RepoEligibilityConfigDto: {
|
|
2812
|
-
/** @description Skip archived repos during GitHub repo sync. */
|
|
2813
|
-
excludeArchived: boolean;
|
|
2814
|
-
/** @description Skip forked repos. Forks are included by default. */
|
|
2815
|
-
excludeForks: boolean;
|
|
2816
|
-
/** @description Max repo size in KB (GitHub-reported). 0 = no limit. */
|
|
2817
|
-
maxRepoSizeKb: number;
|
|
2818
|
-
/** @description Max repos materialized per workspace per sync. 0 = no limit. */
|
|
2819
|
-
maxReposPerWorkspace: number;
|
|
2820
|
-
};
|
|
2821
|
-
/** @description Per-workspace overrides for the repo-sync eligibility gate. Any field present wins over the global default; omit a field to inherit the default. An empty object clears all overrides. */
|
|
2822
|
-
RepoEligibilityOverridesDto: {
|
|
2823
|
-
excludeArchived?: boolean | null;
|
|
2824
|
-
excludeForks?: boolean | null;
|
|
2825
|
-
maxRepoSizeKb?: number | null;
|
|
2826
|
-
maxReposPerWorkspace?: number | null;
|
|
2827
|
-
};
|
|
2828
|
-
WorkspaceRepoEligibilityDto: {
|
|
2829
|
-
defaults: components["schemas"]["RepoEligibilityConfigDto"];
|
|
2830
|
-
overrides: components["schemas"]["RepoEligibilityOverridesDto"];
|
|
2831
|
-
effective: components["schemas"]["RepoEligibilityConfigDto"];
|
|
2832
|
-
/** @description True when the caller is a platform admin (may set any value, incl. raising caps). */
|
|
2833
|
-
canEditUnrestricted: boolean;
|
|
2834
2805
|
};
|
|
2835
2806
|
GithubMissingPermissionDto: {
|
|
2836
2807
|
/** @description GitHub App permission key (e.g. contents, pull_requests). */
|
|
@@ -3229,7 +3200,7 @@ export interface components {
|
|
|
3229
3200
|
scorePercent?: number;
|
|
3230
3201
|
/** @description Per-criterion status counts from the latest successful scan */
|
|
3231
3202
|
criteriaSummary?: components["schemas"]["ReadinessCriteriaSummaryDto"] | null;
|
|
3232
|
-
/** @description Individual rubric criterion outcomes from the latest successful scan. Always present on the single-repo detail endpoint
|
|
3203
|
+
/** @description Individual rubric criterion outcomes from the latest successful scan. Always present on the single-repo detail endpoint. When the repo has a succeeded scan but a dimension was not evaluated (e.g. Section I on older runs), the API returns full rubric placeholders with status `blocked`. Empty array only when the repo has no succeeded scan yet. */
|
|
3233
3204
|
criteriaDetails: components["schemas"]["CriterionDetailDto"][];
|
|
3234
3205
|
issues: components["schemas"]["ReadinessIssueDto"][];
|
|
3235
3206
|
};
|
|
@@ -3323,19 +3294,6 @@ export interface components {
|
|
|
3323
3294
|
* @enum {string|null}
|
|
3324
3295
|
*/
|
|
3325
3296
|
archivedReason?: "github_removed" | "installation_disconnected" | "installation_replaced" | "superseded" | null;
|
|
3326
|
-
/**
|
|
3327
|
-
* @description Language-based eligibility for Agentic-Foundation analysis (#44). `ineligible` repos (no v1-supported stack) render read-only/orange in the AF list with no analyze/score/fix actions; the server also rejects analyze requests for them. Null until the first sync/scan computes it.
|
|
3328
|
-
* @enum {string|null}
|
|
3329
|
-
*/
|
|
3330
|
-
eligibilityStatus?: "eligible" | "ineligible" | null;
|
|
3331
|
-
/** @description Human-readable explanation when `eligibilityStatus` is `ineligible`. */
|
|
3332
|
-
eligibilityReason?: string | null;
|
|
3333
|
-
/** @description Dominant supported stack — backend_jvm | ios_app | web_spa | backend_go | backend_python. Null when ineligible/uncomputed. */
|
|
3334
|
-
primaryStack?: string | null;
|
|
3335
|
-
/** @description Second supported stack for a multi-stack repo, or null. */
|
|
3336
|
-
secondaryStack?: string | null;
|
|
3337
|
-
/** @description All supported stacks detected (ordered, primary first). Empty/null when none. */
|
|
3338
|
-
supportedStacks?: string[] | null;
|
|
3339
3297
|
};
|
|
3340
3298
|
/** @description Single-repo detail response. Identical to RepoReadinessScoreDto except dimensions use DimensionScoreDetailDto (criteriaDetails required per dimension). */
|
|
3341
3299
|
RepoReadinessScoreDetailDto: {
|
|
@@ -3662,6 +3620,34 @@ export interface components {
|
|
|
3662
3620
|
/** @description Temporary backward-compatibility alias (e.g. "Invalid timezone"). */
|
|
3663
3621
|
legacyError?: string | null;
|
|
3664
3622
|
};
|
|
3623
|
+
ConsentCategoriesDto: {
|
|
3624
|
+
/** @description Functional storage (preferences, onboarding, UI state). */
|
|
3625
|
+
functional: boolean;
|
|
3626
|
+
/** @description Analytics and product telemetry in the browser. */
|
|
3627
|
+
analytics: boolean;
|
|
3628
|
+
/** @description Advertising and remarketing tags. */
|
|
3629
|
+
marketing: boolean;
|
|
3630
|
+
};
|
|
3631
|
+
PutConsentBodyDto: {
|
|
3632
|
+
/** @description Cookie policy version the user consented to. */
|
|
3633
|
+
policyVersion: string;
|
|
3634
|
+
categories: components["schemas"]["ConsentCategoriesDto"];
|
|
3635
|
+
};
|
|
3636
|
+
ConsentRecordDto: {
|
|
3637
|
+
policyVersion: string;
|
|
3638
|
+
categories: components["schemas"]["ConsentCategoriesDto"];
|
|
3639
|
+
/**
|
|
3640
|
+
* Format: date-time
|
|
3641
|
+
* @description When consent was last recorded (UTC).
|
|
3642
|
+
*/
|
|
3643
|
+
recordedAt: string;
|
|
3644
|
+
};
|
|
3645
|
+
ConsentValidationErrorDto: {
|
|
3646
|
+
/** @enum {string} */
|
|
3647
|
+
error: "ValidationError";
|
|
3648
|
+
issues: components["schemas"]["ValidationIssueDto"][];
|
|
3649
|
+
legacyError?: string | null;
|
|
3650
|
+
};
|
|
3665
3651
|
OrgChartImportBodyDto: {
|
|
3666
3652
|
/** @description Path in `org-charts` bucket after Supabase upload */
|
|
3667
3653
|
storagePath: string;
|
|
@@ -3797,7 +3783,7 @@ export interface components {
|
|
|
3797
3783
|
* @description Type of workspace lifecycle event.
|
|
3798
3784
|
* @enum {string}
|
|
3799
3785
|
*/
|
|
3800
|
-
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" | "
|
|
3786
|
+
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" | "config.cursor.added" | "config.cursor.updated" | "config.cursor.removed" | "config.cursor.platform_key_enabled" | "config.cursor.platform_key_disabled" | "config.claude.added" | "config.claude.updated" | "config.claude.removed" | "config.agent_execution.provider_changed" | "member.invited" | "member.role_changed" | "member.removed";
|
|
3801
3787
|
ActivityLogActorDto: {
|
|
3802
3788
|
/** Format: uuid */
|
|
3803
3789
|
userId: string;
|
|
@@ -4168,9 +4154,6 @@ export type CreateWorkspaceBodyDto = components['schemas']['CreateWorkspaceBodyD
|
|
|
4168
4154
|
export type CompanyProfileDto = components['schemas']['CompanyProfileDto'];
|
|
4169
4155
|
export type GithubAccountDto = components['schemas']['GithubAccountDto'];
|
|
4170
4156
|
export type GithubInstalledRepoDto = components['schemas']['GithubInstalledRepoDto'];
|
|
4171
|
-
export type RepoEligibilityConfigDto = components['schemas']['RepoEligibilityConfigDto'];
|
|
4172
|
-
export type RepoEligibilityOverridesDto = components['schemas']['RepoEligibilityOverridesDto'];
|
|
4173
|
-
export type WorkspaceRepoEligibilityDto = components['schemas']['WorkspaceRepoEligibilityDto'];
|
|
4174
4157
|
export type GithubMissingPermissionDto = components['schemas']['GithubMissingPermissionDto'];
|
|
4175
4158
|
export type GithubInstallationSummaryDto = components['schemas']['GithubInstallationSummaryDto'];
|
|
4176
4159
|
export type GithubPendingApprovalDto = components['schemas']['GithubPendingApprovalDto'];
|
|
@@ -4261,6 +4244,10 @@ export type NotificationPreferencesDto = components['schemas']['NotificationPref
|
|
|
4261
4244
|
export type PreferencesDto = components['schemas']['PreferencesDto'];
|
|
4262
4245
|
export type ValidationIssueDto = components['schemas']['ValidationIssueDto'];
|
|
4263
4246
|
export type PreferencesValidationErrorDto = components['schemas']['PreferencesValidationErrorDto'];
|
|
4247
|
+
export type ConsentCategoriesDto = components['schemas']['ConsentCategoriesDto'];
|
|
4248
|
+
export type PutConsentBodyDto = components['schemas']['PutConsentBodyDto'];
|
|
4249
|
+
export type ConsentRecordDto = components['schemas']['ConsentRecordDto'];
|
|
4250
|
+
export type ConsentValidationErrorDto = components['schemas']['ConsentValidationErrorDto'];
|
|
4264
4251
|
export type OrgChartImportBodyDto = components['schemas']['OrgChartImportBodyDto'];
|
|
4265
4252
|
export type YourAiJourneyPrSignalsWeekDto = components['schemas']['YourAiJourneyPrSignalsWeekDto'];
|
|
4266
4253
|
export type YourAiJourneyPrSignalsDto = components['schemas']['YourAiJourneyPrSignalsDto'];
|
|
@@ -7356,10 +7343,6 @@ export interface operations {
|
|
|
7356
7343
|
offset?: components["parameters"]["PaginationOffset"];
|
|
7357
7344
|
/** @description Sort direction. */
|
|
7358
7345
|
order?: components["parameters"]["PaginationOrder"];
|
|
7359
|
-
/** @description Server-side sort column (the activity "5 W's"). Combined with `order` (asc/desc). Defaults to `when` (occurredAt). `occurredAt`/`id` is always the tiebreaker. */
|
|
7360
|
-
sort?: "when" | "who" | "what" | "why" | "where";
|
|
7361
|
-
/** @description Coarse product-area grouping filter (#156). `integration` = GitHub + AI-tool key events; `agentic_foundation` = repos, readiness scans, fixes; `workspace_team` = members + HRIS; `productivity` = productivity ingest lifecycle events. Omit (or pass `all`) for every area. */
|
|
7362
|
-
productArea?: "integration" | "agentic_foundation" | "workspace_team" | "productivity" | "all";
|
|
7363
7346
|
/** @description Filter to a specific event type. */
|
|
7364
7347
|
eventType?: components["schemas"]["ActivityLogEventTypeDto"];
|
|
7365
7348
|
/** @description Filter to events performed by a specific user (UUID). */
|
|
@@ -8303,80 +8286,6 @@ export interface operations {
|
|
|
8303
8286
|
403: components["responses"]["Forbidden"];
|
|
8304
8287
|
};
|
|
8305
8288
|
};
|
|
8306
|
-
getWorkspaceRepoEligibility: {
|
|
8307
|
-
parameters: {
|
|
8308
|
-
query?: never;
|
|
8309
|
-
header?: never;
|
|
8310
|
-
path: {
|
|
8311
|
-
workspaceId: components["parameters"]["WorkspaceId"];
|
|
8312
|
-
};
|
|
8313
|
-
cookie?: never;
|
|
8314
|
-
};
|
|
8315
|
-
requestBody?: never;
|
|
8316
|
-
responses: {
|
|
8317
|
-
/** @description Effective repo-eligibility configuration */
|
|
8318
|
-
200: {
|
|
8319
|
-
headers: {
|
|
8320
|
-
[name: string]: unknown;
|
|
8321
|
-
};
|
|
8322
|
-
content: {
|
|
8323
|
-
"application/json": components["schemas"]["WorkspaceRepoEligibilityDto"];
|
|
8324
|
-
};
|
|
8325
|
-
};
|
|
8326
|
-
401: components["responses"]["Unauthorized"];
|
|
8327
|
-
403: components["responses"]["Forbidden"];
|
|
8328
|
-
};
|
|
8329
|
-
};
|
|
8330
|
-
putWorkspaceRepoEligibility: {
|
|
8331
|
-
parameters: {
|
|
8332
|
-
query?: never;
|
|
8333
|
-
header?: never;
|
|
8334
|
-
path: {
|
|
8335
|
-
workspaceId: components["parameters"]["WorkspaceId"];
|
|
8336
|
-
};
|
|
8337
|
-
cookie?: never;
|
|
8338
|
-
};
|
|
8339
|
-
requestBody: {
|
|
8340
|
-
content: {
|
|
8341
|
-
"application/json": {
|
|
8342
|
-
overrides: components["schemas"]["RepoEligibilityOverridesDto"];
|
|
8343
|
-
};
|
|
8344
|
-
};
|
|
8345
|
-
};
|
|
8346
|
-
responses: {
|
|
8347
|
-
/** @description Overrides saved */
|
|
8348
|
-
200: {
|
|
8349
|
-
headers: {
|
|
8350
|
-
[name: string]: unknown;
|
|
8351
|
-
};
|
|
8352
|
-
content: {
|
|
8353
|
-
"application/json": {
|
|
8354
|
-
overrides: components["schemas"]["RepoEligibilityOverridesDto"];
|
|
8355
|
-
effective: components["schemas"]["RepoEligibilityConfigDto"];
|
|
8356
|
-
};
|
|
8357
|
-
};
|
|
8358
|
-
};
|
|
8359
|
-
/** @description Invalid request body */
|
|
8360
|
-
400: {
|
|
8361
|
-
headers: {
|
|
8362
|
-
[name: string]: unknown;
|
|
8363
|
-
};
|
|
8364
|
-
content: {
|
|
8365
|
-
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
8366
|
-
};
|
|
8367
|
-
};
|
|
8368
|
-
401: components["responses"]["Unauthorized"];
|
|
8369
|
-
/** @description Forbidden, or a workspace-admin value exceeds a platform limit (`repo_eligibility_bound_exceeded`) */
|
|
8370
|
-
403: {
|
|
8371
|
-
headers: {
|
|
8372
|
-
[name: string]: unknown;
|
|
8373
|
-
};
|
|
8374
|
-
content: {
|
|
8375
|
-
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
8376
|
-
};
|
|
8377
|
-
};
|
|
8378
|
-
};
|
|
8379
|
-
};
|
|
8380
8289
|
getCursorKeyUsage: {
|
|
8381
8290
|
parameters: {
|
|
8382
8291
|
query?: never;
|
|
@@ -8766,6 +8675,70 @@ export interface operations {
|
|
|
8766
8675
|
401: components["responses"]["Unauthorized"];
|
|
8767
8676
|
};
|
|
8768
8677
|
};
|
|
8678
|
+
getMyConsent: {
|
|
8679
|
+
parameters: {
|
|
8680
|
+
query?: never;
|
|
8681
|
+
header?: never;
|
|
8682
|
+
path?: never;
|
|
8683
|
+
cookie?: never;
|
|
8684
|
+
};
|
|
8685
|
+
requestBody?: never;
|
|
8686
|
+
responses: {
|
|
8687
|
+
/** @description Consent record */
|
|
8688
|
+
200: {
|
|
8689
|
+
headers: {
|
|
8690
|
+
[name: string]: unknown;
|
|
8691
|
+
};
|
|
8692
|
+
content: {
|
|
8693
|
+
"application/json": components["schemas"]["ConsentRecordDto"];
|
|
8694
|
+
};
|
|
8695
|
+
};
|
|
8696
|
+
401: components["responses"]["Unauthorized"];
|
|
8697
|
+
/** @description No consent record stored yet */
|
|
8698
|
+
404: {
|
|
8699
|
+
headers: {
|
|
8700
|
+
[name: string]: unknown;
|
|
8701
|
+
};
|
|
8702
|
+
content: {
|
|
8703
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
8704
|
+
};
|
|
8705
|
+
};
|
|
8706
|
+
};
|
|
8707
|
+
};
|
|
8708
|
+
putMyConsent: {
|
|
8709
|
+
parameters: {
|
|
8710
|
+
query?: never;
|
|
8711
|
+
header?: never;
|
|
8712
|
+
path?: never;
|
|
8713
|
+
cookie?: never;
|
|
8714
|
+
};
|
|
8715
|
+
requestBody: {
|
|
8716
|
+
content: {
|
|
8717
|
+
"application/json": components["schemas"]["PutConsentBodyDto"];
|
|
8718
|
+
};
|
|
8719
|
+
};
|
|
8720
|
+
responses: {
|
|
8721
|
+
/** @description Saved consent record */
|
|
8722
|
+
200: {
|
|
8723
|
+
headers: {
|
|
8724
|
+
[name: string]: unknown;
|
|
8725
|
+
};
|
|
8726
|
+
content: {
|
|
8727
|
+
"application/json": components["schemas"]["ConsentRecordDto"];
|
|
8728
|
+
};
|
|
8729
|
+
};
|
|
8730
|
+
/** @description Validation failed */
|
|
8731
|
+
400: {
|
|
8732
|
+
headers: {
|
|
8733
|
+
[name: string]: unknown;
|
|
8734
|
+
};
|
|
8735
|
+
content: {
|
|
8736
|
+
"application/json": components["schemas"]["ConsentValidationErrorDto"];
|
|
8737
|
+
};
|
|
8738
|
+
};
|
|
8739
|
+
401: components["responses"]["Unauthorized"];
|
|
8740
|
+
};
|
|
8741
|
+
};
|
|
8769
8742
|
postOrgChartImport: {
|
|
8770
8743
|
parameters: {
|
|
8771
8744
|
query?: never;
|
package/src/index.ts
CHANGED
|
@@ -302,6 +302,10 @@ export interface DashboardProductivityMetricsDto {
|
|
|
302
302
|
quality?: {
|
|
303
303
|
codeReviewHoursPerWeek?: number;
|
|
304
304
|
buildFailuresPerWeek?: number;
|
|
305
|
+
/** Share of completed CI runs that failed (GitHub Actions / Checks). */
|
|
306
|
+
ciBuildFailRatePercent?: number;
|
|
307
|
+
/** Count of build.failed events in the bucket window. */
|
|
308
|
+
ciBuildFailuresCount?: number;
|
|
305
309
|
avgTimeToFixBuildHours?: number;
|
|
306
310
|
testCoveragePercent?: number;
|
|
307
311
|
escapedBugsCount?: number;
|
|
@@ -460,6 +464,10 @@ export interface ProductivityInsightsAggregatedTeamWeekDto {
|
|
|
460
464
|
weekLabel?: string;
|
|
461
465
|
mergedPrCount: number;
|
|
462
466
|
failRatePercent: number;
|
|
467
|
+
/** GitHub Actions CI build failure rate (failed / (failed + passed) * 100). */
|
|
468
|
+
ciFailRatePercent?: number;
|
|
469
|
+
/** Count of build.failed events in the bucket when CI ingest is enabled. */
|
|
470
|
+
ciBuildFailuresCount?: number;
|
|
463
471
|
avgReviewWaitHours?: number;
|
|
464
472
|
avgApprovalHours?: number;
|
|
465
473
|
avgTimeToMergeHours?: number;
|
|
@@ -484,6 +492,8 @@ export interface ProductivityInsightsAggregatedTeamsDto {
|
|
|
484
492
|
range: "4w" | "8w" | "q" | "12w" | "16w";
|
|
485
493
|
scope: ProductivityInsightsAggregatedTeamsScopeDto;
|
|
486
494
|
generatedAt: string;
|
|
495
|
+
/** True when the workspace has opted in to GitHub Actions CI ingest. */
|
|
496
|
+
githubActionsCiEnabled?: boolean;
|
|
487
497
|
teams: ProductivityInsightsAggregatedTeamRowDto[];
|
|
488
498
|
}
|
|
489
499
|
|
|
@@ -525,6 +535,7 @@ export interface ProductivityInsightsTeamLeaderItemDto {
|
|
|
525
535
|
subtitle?: string;
|
|
526
536
|
periodAvgMergedPrs: number;
|
|
527
537
|
avgFailRatePercent?: number;
|
|
538
|
+
avgCiFailRatePercent?: number;
|
|
528
539
|
}
|
|
529
540
|
|
|
530
541
|
/** Period summary for a single-team drilldown. */
|
|
@@ -532,6 +543,8 @@ export interface ProductivityInsightsTeamSummaryDto {
|
|
|
532
543
|
totalMergedPrs: number;
|
|
533
544
|
avgMergedPrsPerWeek: number;
|
|
534
545
|
avgFailRatePercent: number;
|
|
546
|
+
/** Average GitHub Actions CI build failure rate over the range when CI ingest is enabled. */
|
|
547
|
+
avgCiFailRatePercent?: number;
|
|
535
548
|
headcount: number;
|
|
536
549
|
}
|
|
537
550
|
|
|
@@ -560,6 +573,8 @@ export interface ProductivityInsightsTeamsResponseDto {
|
|
|
560
573
|
year?: number;
|
|
561
574
|
scope: ProductivityInsightsAggregatedTeamsScopeDto;
|
|
562
575
|
generatedAt: string;
|
|
576
|
+
/** True when the workspace has opted in to GitHub Actions CI ingest. */
|
|
577
|
+
githubActionsCiEnabled?: boolean;
|
|
563
578
|
/** Top-ranked teams when `teamId` query is omitted. */
|
|
564
579
|
items?: ProductivityInsightsTeamLeaderItemDto[];
|
|
565
580
|
/** Single-team drilldown when `teamId` query is set. */
|
|
@@ -613,10 +628,14 @@ export interface ProductivityInsightsContributorActivitySummaryDto {
|
|
|
613
628
|
avgMergedPrsPerWeek: number;
|
|
614
629
|
totalAbsenceDays: number;
|
|
615
630
|
avgFailRate: number;
|
|
631
|
+
/** Average GitHub Actions CI build failure rate over the range when CI ingest is enabled. */
|
|
632
|
+
avgCiFailRate?: number;
|
|
616
633
|
mergedPrDelta: number;
|
|
617
634
|
avgMergedPrsPerWeekDelta: number;
|
|
618
635
|
totalAbsenceDaysDelta: number;
|
|
619
636
|
avgFailRateDelta: number;
|
|
637
|
+
/** Change in average CI build failure rate vs the prior comparison window. */
|
|
638
|
+
avgCiFailRateDelta?: number;
|
|
620
639
|
}
|
|
621
640
|
|
|
622
641
|
/** Response for GET /workspaces/:workspaceId/insights/productivity-insights/contributors/:contributorId */
|
|
@@ -628,6 +647,8 @@ export interface ProductivityInsightsContributorDetailDto {
|
|
|
628
647
|
year?: number;
|
|
629
648
|
scope: ProductivityInsightsAggregatedTeamsScopeDto;
|
|
630
649
|
generatedAt: string;
|
|
650
|
+
/** True when the workspace has opted in to GitHub Actions CI ingest. */
|
|
651
|
+
githubActionsCiEnabled?: boolean;
|
|
631
652
|
contributor: ProductivityInsightsContributorProfileDto;
|
|
632
653
|
weeks: ProductivityInsightsContributorActivityWeekDto[];
|
|
633
654
|
summary: ProductivityInsightsContributorActivitySummaryDto;
|
|
@@ -642,6 +663,7 @@ export interface ProductivityInsightsNeedsAttentionItemDto {
|
|
|
642
663
|
subtitle?: string;
|
|
643
664
|
periodAvgMergedPrs: number;
|
|
644
665
|
avgFailRatePercent?: number;
|
|
666
|
+
avgCiFailRatePercent?: number;
|
|
645
667
|
}
|
|
646
668
|
|
|
647
669
|
/** Response for GET /workspaces/:workspaceId/insights/productivity-insights/needs-attention */
|
|
@@ -651,6 +673,7 @@ export interface ProductivityInsightsNeedsAttentionDto {
|
|
|
651
673
|
scope: ProductivityInsightsAggregatedTeamsScopeDto;
|
|
652
674
|
entityType: "teams" | "contributors";
|
|
653
675
|
generatedAt: string;
|
|
676
|
+
githubActionsCiEnabled?: boolean;
|
|
654
677
|
items: ProductivityInsightsNeedsAttentionItemDto[];
|
|
655
678
|
}
|
|
656
679
|
|