@thinkai/tai-api-contract 2.5.17 → 2.7.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.
@@ -824,7 +824,10 @@ export interface paths {
824
824
  path?: never;
825
825
  cookie?: never;
826
826
  };
827
- /** List repo readiness scores */
827
+ /**
828
+ * List repo readiness scores (paginated)
829
+ * @description Returns a page of repository readiness scorecards. Use `GET .../readiness/repos/{repoId}` for a single repo. Summary aggregates on the Agentic Foundation dashboard use separate aggregate queries over the full workspace (#403).
830
+ */
828
831
  get: operations["listReadinessRepos"];
829
832
  put?: never;
830
833
  post?: never;
@@ -899,8 +902,8 @@ export interface paths {
899
902
  cookie?: never;
900
903
  };
901
904
  /**
902
- * Agentic Foundation dashboard
903
- * @description Returns stored repository readiness scorecards plus a flattened issue queue for the Agentic Foundation dashboard surfaces. This is read-only and does not run scoring on the request path (issue #279). Field `generatedAt` is the server timestamp when this JSON payload was assembled; it is not the same as per-repo `lastAnalyzed` on `RepoReadinessScoreDto`.
905
+ * Agentic Foundation dashboard summary
906
+ * @description Returns workspace-level readiness summary, per-dimension aggregate bars, and fix status counts for Agentic Foundation dashboard surfaces. Repository and issue lists are paginated on `GET .../readiness/repos` and related segment routes (#403). Read-only; does not run scoring on the request path (issue #279). Field `generatedAt` is the server timestamp when this JSON payload was assembled.
904
907
  */
905
908
  get: operations["getAgenticFoundationDashboard"];
906
909
  put?: never;
@@ -1119,8 +1122,8 @@ export interface paths {
1119
1122
  cookie?: never;
1120
1123
  };
1121
1124
  /**
1122
- * List fix requests
1123
- * @description Returns persisted fix-queue rows for the workspace (newest first). Empty array when none exist.
1125
+ * List fix requests (paginated)
1126
+ * @description Returns a page of persisted fix-queue rows for the workspace (default newest first).
1124
1127
  */
1125
1128
  get: operations["listReadinessFixes"];
1126
1129
  put?: never;
@@ -1335,6 +1338,150 @@ export interface paths {
1335
1338
  patch?: never;
1336
1339
  trace?: never;
1337
1340
  };
1341
+ "/workspaces/{workspaceId}/your-ai-journey/analytics": {
1342
+ parameters: {
1343
+ query?: never;
1344
+ header?: never;
1345
+ path?: never;
1346
+ cookie?: never;
1347
+ };
1348
+ /**
1349
+ * Combined analytics summary for the /dashboard page
1350
+ * @description Returns a single aggregated payload combining journey step progress, readiness summary, and PR-signal headline metrics. Covers issue #268. Results are cached for 60 seconds.
1351
+ */
1352
+ get: operations["getYourAiJourneyAnalytics"];
1353
+ put?: never;
1354
+ post?: never;
1355
+ delete?: never;
1356
+ options?: never;
1357
+ head?: never;
1358
+ patch?: never;
1359
+ trace?: never;
1360
+ };
1361
+ "/workspaces/{workspaceId}/your-ai-journey/pr-signals": {
1362
+ parameters: {
1363
+ query?: never;
1364
+ header?: never;
1365
+ path?: never;
1366
+ cookie?: never;
1367
+ };
1368
+ /**
1369
+ * Weekly PR velocity and change-failure-rate time series
1370
+ * @description Returns a per-week time series of PR throughput and DORA change-failure-rate metrics, sourced from stored dashboard metrics. Covers issue #269. Results are cached for 60 seconds.
1371
+ */
1372
+ get: operations["getYourAiJourneyPrSignals"];
1373
+ put?: never;
1374
+ post?: never;
1375
+ delete?: never;
1376
+ options?: never;
1377
+ head?: never;
1378
+ patch?: never;
1379
+ trace?: never;
1380
+ };
1381
+ "/workspaces/{workspaceId}/your-ai-journey/readiness/aggregate": {
1382
+ parameters: {
1383
+ query?: never;
1384
+ header?: never;
1385
+ path?: never;
1386
+ cookie?: never;
1387
+ };
1388
+ /**
1389
+ * Per-dimension readiness aggregate across all repos
1390
+ * @description Aggregates stored readiness scores across all workspace repos by dimension. Covers issue #270. Results are cached for 60 seconds.
1391
+ */
1392
+ get: operations["getYourAiJourneyReadinessAggregate"];
1393
+ put?: never;
1394
+ post?: never;
1395
+ delete?: never;
1396
+ options?: never;
1397
+ head?: never;
1398
+ patch?: never;
1399
+ trace?: never;
1400
+ };
1401
+ "/workspaces/{workspaceId}/your-ai-journey/journey/progress": {
1402
+ parameters: {
1403
+ query?: never;
1404
+ header?: never;
1405
+ path?: never;
1406
+ cookie?: never;
1407
+ };
1408
+ /**
1409
+ * Workspace journey step completion
1410
+ * @description Returns the workspace-scoped journey progress state. Returns an empty `completedSteps` list with a synthetic `updatedAt` if no row exists yet. Covers issue #271.
1411
+ */
1412
+ get: operations["getYourAiJourneyProgress"];
1413
+ /**
1414
+ * Replace workspace journey completed steps
1415
+ * @description Idempotent replace-all of completed route strings for the workspace journey. Requires editor role. Covers issue #271.
1416
+ */
1417
+ put: operations["putYourAiJourneyProgress"];
1418
+ post?: never;
1419
+ delete?: never;
1420
+ options?: never;
1421
+ head?: never;
1422
+ patch?: never;
1423
+ trace?: never;
1424
+ };
1425
+ "/workspaces/{workspaceId}/your-ai-journey/agentic-foundation": {
1426
+ parameters: {
1427
+ query?: never;
1428
+ header?: never;
1429
+ path?: never;
1430
+ cookie?: never;
1431
+ };
1432
+ /**
1433
+ * Agentic foundation dashboard slice for /dashboard
1434
+ * @description Returns the same `AgenticFoundationDashboardDto` payload as `GET /agentic-foundation/dashboard`, scoped to the /dashboard page context. Covers issue #272. Results are cached for 60 seconds.
1435
+ */
1436
+ get: operations["getYourAiJourneyAgenticFoundation"];
1437
+ put?: never;
1438
+ post?: never;
1439
+ delete?: never;
1440
+ options?: never;
1441
+ head?: never;
1442
+ patch?: never;
1443
+ trace?: never;
1444
+ };
1445
+ "/workspaces/{workspaceId}/your-ai-journey/productivity": {
1446
+ parameters: {
1447
+ query?: never;
1448
+ header?: never;
1449
+ path?: never;
1450
+ cookie?: never;
1451
+ };
1452
+ /**
1453
+ * Workspace productivity metrics for /dashboard
1454
+ * @description Returns the most recent stored dashboard productivity metrics snapshot that overlaps the requested window (defaults to the trailing 7 days). Same schema as `GET /dashboard/productivity`. Covers issue #273. Results are cached for 60 seconds.
1455
+ */
1456
+ get: operations["getYourAiJourneyProductivity"];
1457
+ put?: never;
1458
+ post?: never;
1459
+ delete?: never;
1460
+ options?: never;
1461
+ head?: never;
1462
+ patch?: never;
1463
+ trace?: never;
1464
+ };
1465
+ "/workspaces/{workspaceId}/your-ai-journey/ai-spend": {
1466
+ parameters: {
1467
+ query?: never;
1468
+ header?: never;
1469
+ path?: never;
1470
+ cookie?: never;
1471
+ };
1472
+ /**
1473
+ * AI tool spend and usage aggregated by week and provider
1474
+ * @description Returns token usage and spend aggregated from connected AI tool sources (e.g. Cursor) over the requested range, broken down by week and provider. Covers issue #274. Results are cached for 60 seconds.
1475
+ */
1476
+ get: operations["getYourAiJourneyAiSpend"];
1477
+ put?: never;
1478
+ post?: never;
1479
+ delete?: never;
1480
+ options?: never;
1481
+ head?: never;
1482
+ patch?: never;
1483
+ trace?: never;
1484
+ };
1338
1485
  }
1339
1486
  export type webhooks = Record<string, never>;
1340
1487
  export interface components {
@@ -1580,6 +1727,10 @@ export interface components {
1580
1727
  personId: string;
1581
1728
  personName: string;
1582
1729
  teamName?: string;
1730
+ /** @description True when the contributor GitHub login is not mapped in the org chart. */
1731
+ notInOrgChart?: boolean;
1732
+ /** @description GitHub login for unattributed contributors (when notInOrgChart is true). */
1733
+ githubLogin?: string;
1583
1734
  weeks: components["schemas"]["ProductivityInsightsMergedPrTrendWeekDto"][];
1584
1735
  };
1585
1736
  ProductivityInsightsMergedPrTrendsDto: {
@@ -1590,7 +1741,7 @@ export interface components {
1590
1741
  scope: components["schemas"]["ProductivityInsightsAggregatedTeamsScopeDto"];
1591
1742
  /** Format: date-time */
1592
1743
  generatedAt: string;
1593
- /** @description Portfolio aggregate merged PR counts (sum of filtered contributors per week). */
1744
+ /** @description Portfolio aggregate merged PR counts from org-scope metrics (all merged PRs in window). */
1594
1745
  weeks: components["schemas"]["ProductivityInsightsMergedPrTrendWeekDto"][];
1595
1746
  contributors: components["schemas"]["ProductivityInsightsMergedPrContributorRowDto"][];
1596
1747
  };
@@ -1960,6 +2111,11 @@ export interface components {
1960
2111
  fullName?: string | null;
1961
2112
  language?: string | null;
1962
2113
  private?: boolean | null;
2114
+ /**
2115
+ * Format: date-time
2116
+ * @description Last push or metadata update from GitHub when available.
2117
+ */
2118
+ updatedAt?: string | null;
1963
2119
  };
1964
2120
  GithubMissingPermissionDto: {
1965
2121
  /** @description GitHub App permission key (e.g. contents, pull_requests). */
@@ -1975,7 +2131,8 @@ export interface components {
1975
2131
  GithubInstallationSummaryDto: {
1976
2132
  installationId: string;
1977
2133
  account: components["schemas"]["GithubAccountDto"];
1978
- repos: components["schemas"]["GithubInstalledRepoDto"][];
2134
+ /** @description Paginated repositories granted on this installation (same repoLimit/repoOffset as top-level repos). */
2135
+ repos: components["schemas"]["GithubInstalledRepoListDto"];
1979
2136
  /** Format: uri */
1980
2137
  manageUrl?: string | null;
1981
2138
  /** Format: date-time */
@@ -1993,7 +2150,8 @@ export interface components {
1993
2150
  permissionsUpgradeRequired: boolean;
1994
2151
  installationId?: string | null;
1995
2152
  account?: components["schemas"]["GithubAccountDto"] | null;
1996
- repos?: components["schemas"]["GithubInstalledRepoDto"][] | null;
2153
+ /** @description Paginated merged installation repositories when `installed` is true. */
2154
+ repos?: components["schemas"]["GithubInstalledRepoListDto"] | null;
1997
2155
  /**
1998
2156
  * Format: uri
1999
2157
  * @description User accounts: github.com/settings/installations/<id>. Organizations: github.com/organizations/<login>/settings/installations/<id>.
@@ -2233,14 +2391,46 @@ export interface components {
2233
2391
  /** @enum {string} */
2234
2392
  fixStatus: "open" | "pr-pending" | "fixed";
2235
2393
  };
2394
+ PageMetaDto: {
2395
+ /** @description Total rows matching filters (full workspace, not just this page). */
2396
+ total: number;
2397
+ limit: number;
2398
+ offset: number;
2399
+ };
2400
+ ReadinessRepoListDto: components["schemas"]["PageMetaDto"] & {
2401
+ items: components["schemas"]["RepoReadinessScoreDto"][];
2402
+ };
2403
+ ReadinessFixListDto: components["schemas"]["PageMetaDto"] & {
2404
+ items: components["schemas"]["FixRequestDto"][];
2405
+ };
2406
+ AgenticFoundationDimensionAggregateDto: {
2407
+ dimensionId: components["schemas"]["ReadinessDimensionId"];
2408
+ /** @description Mean dimension score percent across repos with maxScore > 0. */
2409
+ averageScorePercent: number;
2410
+ /** @description Repositories with a scored row for this dimension. */
2411
+ repoCount: number;
2412
+ };
2413
+ ReadinessFixStatusSummaryDto: {
2414
+ queued: number;
2415
+ generating: number;
2416
+ /** @description Count of fixes with status `pr-created`. */
2417
+ prCreated: number;
2418
+ merged: number;
2419
+ failed: number;
2420
+ total: number;
2421
+ };
2422
+ GithubInstalledRepoListDto: components["schemas"]["PageMetaDto"] & {
2423
+ items: components["schemas"]["GithubInstalledRepoDto"][];
2424
+ };
2236
2425
  AgenticFoundationDashboardDto: {
2237
2426
  /** Format: uuid */
2238
2427
  workspaceId: string;
2239
2428
  /** Format: date-time */
2240
2429
  generatedAt: string;
2241
2430
  summary: components["schemas"]["AgenticFoundationDashboardSummaryDto"];
2242
- repos: components["schemas"]["RepoReadinessScoreDto"][];
2243
- issueQueue: components["schemas"]["AgenticFoundationDashboardIssueDto"][];
2431
+ /** @description Per-dimension average score bars for overview UI (full workspace aggregates). */
2432
+ dimensionAggregates: components["schemas"]["AgenticFoundationDimensionAggregateDto"][];
2433
+ fixStatusSummary: components["schemas"]["ReadinessFixStatusSummaryDto"];
2244
2434
  };
2245
2435
  FixRequestDto: {
2246
2436
  id: string;
@@ -2438,6 +2628,115 @@ export interface components {
2438
2628
  /** @description Path in `org-charts` bucket after Supabase upload */
2439
2629
  storagePath: string;
2440
2630
  };
2631
+ YourAiJourneyPrSignalsWeekDto: {
2632
+ /** Format: date-time */
2633
+ bucketStart: string;
2634
+ /** Format: date-time */
2635
+ bucketEnd: string;
2636
+ /** @description Display label in MM/DD format. */
2637
+ weekLabel: string;
2638
+ prsPerDeveloperPerWeek: number;
2639
+ changeFailureRatePercent: number;
2640
+ };
2641
+ YourAiJourneyPrSignalsDto: {
2642
+ /** Format: uuid */
2643
+ workspaceId: string;
2644
+ /** Format: date-time */
2645
+ generatedAt: string;
2646
+ /** Format: date-time */
2647
+ windowStart: string;
2648
+ /** Format: date-time */
2649
+ windowEnd: string;
2650
+ weeks: components["schemas"]["YourAiJourneyPrSignalsWeekDto"][];
2651
+ summary: {
2652
+ avgPrsPerDeveloperPerWeek: number;
2653
+ avgFailureRatePercent: number;
2654
+ prVelocityDeltaPercent: number;
2655
+ };
2656
+ };
2657
+ YourAiJourneyReadinessDimensionDto: {
2658
+ dimensionId: string;
2659
+ name: string;
2660
+ totalScore: number;
2661
+ maxScore: number;
2662
+ /** @description Rounded percentage 0–100. */
2663
+ percent: number;
2664
+ };
2665
+ YourAiJourneyReadinessAggregateDto: {
2666
+ /** Format: uuid */
2667
+ workspaceId: string;
2668
+ /** Format: date-time */
2669
+ generatedAt: string;
2670
+ dimensions: components["schemas"]["YourAiJourneyReadinessDimensionDto"][];
2671
+ summary: {
2672
+ avgScore: number;
2673
+ repoCount: number;
2674
+ fixRate: number;
2675
+ totalOpenIssues: number;
2676
+ totalFixedIssues: number;
2677
+ };
2678
+ };
2679
+ YourAiJourneyAnalyticsDto: {
2680
+ /** Format: uuid */
2681
+ workspaceId: string;
2682
+ /** Format: date-time */
2683
+ generatedAt: string;
2684
+ /** Format: date-time */
2685
+ windowStart: string;
2686
+ /** Format: date-time */
2687
+ windowEnd: string;
2688
+ journey: {
2689
+ completedSteps: string[];
2690
+ /** Format: date-time */
2691
+ updatedAt: string | null;
2692
+ };
2693
+ readiness: {
2694
+ avgScore: number;
2695
+ repoCount: number;
2696
+ fixRate: number;
2697
+ totalOpenIssues: number;
2698
+ totalFixedIssues: number;
2699
+ };
2700
+ prSignals: {
2701
+ avgPrsPerDeveloperPerWeek: number;
2702
+ prVelocityDeltaPercent: number;
2703
+ avgFailureRatePercent: number;
2704
+ };
2705
+ };
2706
+ YourAiJourneyAiSpendWeekDto: {
2707
+ /** Format: date-time */
2708
+ bucketStart: string;
2709
+ /** Format: date-time */
2710
+ bucketEnd: string;
2711
+ weekLabel: string;
2712
+ mergedPrCount: number;
2713
+ tokenCount: number;
2714
+ };
2715
+ YourAiJourneyAiSpendDto: {
2716
+ /** Format: uuid */
2717
+ workspaceId: string;
2718
+ /** Format: date-time */
2719
+ generatedAt: string;
2720
+ /** Format: date-time */
2721
+ windowStart: string;
2722
+ /** Format: date-time */
2723
+ windowEnd: string;
2724
+ totalSpendCents: number;
2725
+ totalTokenCount: number;
2726
+ activeUsers: number;
2727
+ /** @description Fraction 0–1 of PRs that are AI-assisted. */
2728
+ aiAssistedPrRatio: number;
2729
+ prThroughputDeltaPercent: number;
2730
+ usageDeltaPercent: number;
2731
+ weeks: components["schemas"]["YourAiJourneyAiSpendWeekDto"][];
2732
+ providers: {
2733
+ providerId: string;
2734
+ providerName: string;
2735
+ tokenCount: number;
2736
+ spendCents: number;
2737
+ activeUsers: number;
2738
+ }[];
2739
+ };
2441
2740
  };
2442
2741
  responses: {
2443
2742
  /** @description Missing or invalid bearer token */
@@ -2469,6 +2768,34 @@ export interface components {
2469
2768
  FixId: string;
2470
2769
  /** @description Department filter; send `All departments` to include every department. Scoped using imported `thinkai_org_structure` members when present, otherwise SPA org chart `department` nodes and their descendant teams. When neither source defines the requested department, insights return no scoped teams or contributors (not org-wide data). */
2471
2770
  InsightsDepartmentFilter: string;
2771
+ /** @description Page size (default 25, max 100). */
2772
+ PaginationLimit: number;
2773
+ /** @description Zero-based row offset into the filtered, sorted result set. */
2774
+ PaginationOffset: number;
2775
+ /** @description Sort direction. */
2776
+ PaginationOrder: "asc" | "desc";
2777
+ /** @description Allowlisted repository sort field. */
2778
+ ReadinessRepoSort: "repoName" | "overallScore" | "lastAnalyzed" | "language";
2779
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
2780
+ ReadinessRepoSearch: string;
2781
+ /** @description Exact language filter (e.g. `typescript`). */
2782
+ ReadinessRepoLanguage: string;
2783
+ /** @description Allowlisted fix-queue sort field. */
2784
+ ReadinessFixSort: "createdAt" | "repoName" | "severity" | "status";
2785
+ /** @description Filter fixes by workflow status. */
2786
+ ReadinessFixStatusFilter: "queued" | "generating" | "pr-created" | "merged" | "failed";
2787
+ /** @description Filter fixes to a single workspace repository id. */
2788
+ ReadinessFixRepoIdFilter: string;
2789
+ /** @description Case-insensitive filter on repo name, issue title, label, or description. */
2790
+ ReadinessFixSearch: string;
2791
+ /** @description Page size for the nested installation repo list (default 25, max 100). */
2792
+ GithubRepoLimit: number;
2793
+ /** @description Zero-based offset into the merged installation repo list. */
2794
+ GithubRepoOffset: number;
2795
+ /** @description Allowlisted GitHub repo sort field. */
2796
+ GithubRepoSort: "name" | "updatedAt";
2797
+ /** @description Sort direction for the nested installation repo list. */
2798
+ GithubRepoOrder: "asc" | "desc";
2472
2799
  };
2473
2800
  requestBodies: never;
2474
2801
  headers: never;
@@ -2572,6 +2899,12 @@ export type DimensionScoreDto = components['schemas']['DimensionScoreDto'];
2572
2899
  export type RepoReadinessScoreDto = components['schemas']['RepoReadinessScoreDto'];
2573
2900
  export type AgenticFoundationDashboardSummaryDto = components['schemas']['AgenticFoundationDashboardSummaryDto'];
2574
2901
  export type AgenticFoundationDashboardIssueDto = components['schemas']['AgenticFoundationDashboardIssueDto'];
2902
+ export type PageMetaDto = components['schemas']['PageMetaDto'];
2903
+ export type ReadinessRepoListDto = components['schemas']['ReadinessRepoListDto'];
2904
+ export type ReadinessFixListDto = components['schemas']['ReadinessFixListDto'];
2905
+ export type AgenticFoundationDimensionAggregateDto = components['schemas']['AgenticFoundationDimensionAggregateDto'];
2906
+ export type ReadinessFixStatusSummaryDto = components['schemas']['ReadinessFixStatusSummaryDto'];
2907
+ export type GithubInstalledRepoListDto = components['schemas']['GithubInstalledRepoListDto'];
2575
2908
  export type AgenticFoundationDashboardDto = components['schemas']['AgenticFoundationDashboardDto'];
2576
2909
  export type FixRequestDto = components['schemas']['FixRequestDto'];
2577
2910
  export type FixRetryableErrorCode = components['schemas']['FixRetryableErrorCode'];
@@ -2600,6 +2933,13 @@ export type PreferencesDto = components['schemas']['PreferencesDto'];
2600
2933
  export type ValidationIssueDto = components['schemas']['ValidationIssueDto'];
2601
2934
  export type PreferencesValidationErrorDto = components['schemas']['PreferencesValidationErrorDto'];
2602
2935
  export type OrgChartImportBodyDto = components['schemas']['OrgChartImportBodyDto'];
2936
+ export type YourAiJourneyPrSignalsWeekDto = components['schemas']['YourAiJourneyPrSignalsWeekDto'];
2937
+ export type YourAiJourneyPrSignalsDto = components['schemas']['YourAiJourneyPrSignalsDto'];
2938
+ export type YourAiJourneyReadinessDimensionDto = components['schemas']['YourAiJourneyReadinessDimensionDto'];
2939
+ export type YourAiJourneyReadinessAggregateDto = components['schemas']['YourAiJourneyReadinessAggregateDto'];
2940
+ export type YourAiJourneyAnalyticsDto = components['schemas']['YourAiJourneyAnalyticsDto'];
2941
+ export type YourAiJourneyAiSpendWeekDto = components['schemas']['YourAiJourneyAiSpendWeekDto'];
2942
+ export type YourAiJourneyAiSpendDto = components['schemas']['YourAiJourneyAiSpendDto'];
2603
2943
  export type ResponseUnauthorized = components['responses']['Unauthorized'];
2604
2944
  export type ResponseForbidden = components['responses']['Forbidden'];
2605
2945
  export type ParameterWorkspaceId = components['parameters']['WorkspaceId'];
@@ -2609,6 +2949,20 @@ export type ParameterNotificationId = components['parameters']['NotificationId']
2609
2949
  export type ParameterWorkspaceMemberId = components['parameters']['WorkspaceMemberId'];
2610
2950
  export type ParameterFixId = components['parameters']['FixId'];
2611
2951
  export type ParameterInsightsDepartmentFilter = components['parameters']['InsightsDepartmentFilter'];
2952
+ export type ParameterPaginationLimit = components['parameters']['PaginationLimit'];
2953
+ export type ParameterPaginationOffset = components['parameters']['PaginationOffset'];
2954
+ export type ParameterPaginationOrder = components['parameters']['PaginationOrder'];
2955
+ export type ParameterReadinessRepoSort = components['parameters']['ReadinessRepoSort'];
2956
+ export type ParameterReadinessRepoSearch = components['parameters']['ReadinessRepoSearch'];
2957
+ export type ParameterReadinessRepoLanguage = components['parameters']['ReadinessRepoLanguage'];
2958
+ export type ParameterReadinessFixSort = components['parameters']['ReadinessFixSort'];
2959
+ export type ParameterReadinessFixStatusFilter = components['parameters']['ReadinessFixStatusFilter'];
2960
+ export type ParameterReadinessFixRepoIdFilter = components['parameters']['ReadinessFixRepoIdFilter'];
2961
+ export type ParameterReadinessFixSearch = components['parameters']['ReadinessFixSearch'];
2962
+ export type ParameterGithubRepoLimit = components['parameters']['GithubRepoLimit'];
2963
+ export type ParameterGithubRepoOffset = components['parameters']['GithubRepoOffset'];
2964
+ export type ParameterGithubRepoSort = components['parameters']['GithubRepoSort'];
2965
+ export type ParameterGithubRepoOrder = components['parameters']['GithubRepoOrder'];
2612
2966
  export type $defs = Record<string, never>;
2613
2967
  export interface operations {
2614
2968
  getMe: {
@@ -3986,6 +4340,14 @@ export interface operations {
3986
4340
  refresh?: boolean;
3987
4341
  /** @description When true, re-fetch GitHub App and installation permission metadata (used by the login permission gate after the user approves on GitHub). */
3988
4342
  permissionsRefresh?: boolean;
4343
+ /** @description Page size for the nested installation repo list (default 25, max 100). */
4344
+ repoLimit?: components["parameters"]["GithubRepoLimit"];
4345
+ /** @description Zero-based offset into the merged installation repo list. */
4346
+ repoOffset?: components["parameters"]["GithubRepoOffset"];
4347
+ /** @description Allowlisted GitHub repo sort field. */
4348
+ repoSort?: components["parameters"]["GithubRepoSort"];
4349
+ /** @description Sort direction for the nested installation repo list. */
4350
+ repoOrder?: components["parameters"]["GithubRepoOrder"];
3989
4351
  };
3990
4352
  header?: never;
3991
4353
  path: {
@@ -4651,7 +5013,20 @@ export interface operations {
4651
5013
  };
4652
5014
  listReadinessRepos: {
4653
5015
  parameters: {
4654
- query?: never;
5016
+ query?: {
5017
+ /** @description Page size (default 25, max 100). */
5018
+ limit?: components["parameters"]["PaginationLimit"];
5019
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5020
+ offset?: components["parameters"]["PaginationOffset"];
5021
+ /** @description Allowlisted repository sort field. */
5022
+ sort?: components["parameters"]["ReadinessRepoSort"];
5023
+ /** @description Sort direction. */
5024
+ order?: components["parameters"]["PaginationOrder"];
5025
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5026
+ search?: components["parameters"]["ReadinessRepoSearch"];
5027
+ /** @description Exact language filter (e.g. `typescript`). */
5028
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5029
+ };
4655
5030
  header?: never;
4656
5031
  path: {
4657
5032
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -4660,13 +5035,22 @@ export interface operations {
4660
5035
  };
4661
5036
  requestBody?: never;
4662
5037
  responses: {
4663
- /** @description Repositories analyzed */
5038
+ /** @description Paginated repositories analyzed */
4664
5039
  200: {
4665
5040
  headers: {
4666
5041
  [name: string]: unknown;
4667
5042
  };
4668
5043
  content: {
4669
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5044
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5045
+ };
5046
+ };
5047
+ /** @description Invalid pagination or sort query */
5048
+ 400: {
5049
+ headers: {
5050
+ [name: string]: unknown;
5051
+ };
5052
+ content: {
5053
+ "application/json": components["schemas"]["ErrorMessageDto"];
4670
5054
  };
4671
5055
  };
4672
5056
  401: components["responses"]["Unauthorized"];
@@ -4825,7 +5209,7 @@ export interface operations {
4825
5209
  };
4826
5210
  requestBody?: never;
4827
5211
  responses: {
4828
- /** @description Dashboard scorecards and issue queue */
5212
+ /** @description Dashboard summary and aggregates */
4829
5213
  200: {
4830
5214
  headers: {
4831
5215
  [name: string]: unknown;
@@ -4849,7 +5233,20 @@ export interface operations {
4849
5233
  };
4850
5234
  getAgenticFoundationAgenticReadiness: {
4851
5235
  parameters: {
4852
- query?: never;
5236
+ query?: {
5237
+ /** @description Page size (default 25, max 100). */
5238
+ limit?: components["parameters"]["PaginationLimit"];
5239
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5240
+ offset?: components["parameters"]["PaginationOffset"];
5241
+ /** @description Allowlisted repository sort field. */
5242
+ sort?: components["parameters"]["ReadinessRepoSort"];
5243
+ /** @description Sort direction. */
5244
+ order?: components["parameters"]["PaginationOrder"];
5245
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5246
+ search?: components["parameters"]["ReadinessRepoSearch"];
5247
+ /** @description Exact language filter (e.g. `typescript`). */
5248
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5249
+ };
4853
5250
  header?: never;
4854
5251
  path: {
4855
5252
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -4858,13 +5255,22 @@ export interface operations {
4858
5255
  };
4859
5256
  requestBody?: never;
4860
5257
  responses: {
4861
- /** @description Repositories with ai-agent-readiness slice */
5258
+ /** @description Paginated repositories with ai-agent-readiness slice */
4862
5259
  200: {
4863
5260
  headers: {
4864
5261
  [name: string]: unknown;
4865
5262
  };
4866
5263
  content: {
4867
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5264
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5265
+ };
5266
+ };
5267
+ /** @description Invalid pagination or sort query */
5268
+ 400: {
5269
+ headers: {
5270
+ [name: string]: unknown;
5271
+ };
5272
+ content: {
5273
+ "application/json": components["schemas"]["ErrorMessageDto"];
4868
5274
  };
4869
5275
  };
4870
5276
  401: components["responses"]["Unauthorized"];
@@ -4882,7 +5288,20 @@ export interface operations {
4882
5288
  };
4883
5289
  getAgenticFoundationRepositoryHealth: {
4884
5290
  parameters: {
4885
- query?: never;
5291
+ query?: {
5292
+ /** @description Page size (default 25, max 100). */
5293
+ limit?: components["parameters"]["PaginationLimit"];
5294
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5295
+ offset?: components["parameters"]["PaginationOffset"];
5296
+ /** @description Allowlisted repository sort field. */
5297
+ sort?: components["parameters"]["ReadinessRepoSort"];
5298
+ /** @description Sort direction. */
5299
+ order?: components["parameters"]["PaginationOrder"];
5300
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5301
+ search?: components["parameters"]["ReadinessRepoSearch"];
5302
+ /** @description Exact language filter (e.g. `typescript`). */
5303
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5304
+ };
4886
5305
  header?: never;
4887
5306
  path: {
4888
5307
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -4891,13 +5310,22 @@ export interface operations {
4891
5310
  };
4892
5311
  requestBody?: never;
4893
5312
  responses: {
4894
- /** @description Repositories with repo-hygiene slice */
5313
+ /** @description Paginated repositories with repo-hygiene slice */
4895
5314
  200: {
4896
5315
  headers: {
4897
5316
  [name: string]: unknown;
4898
5317
  };
4899
5318
  content: {
4900
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5319
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5320
+ };
5321
+ };
5322
+ /** @description Invalid pagination or sort query */
5323
+ 400: {
5324
+ headers: {
5325
+ [name: string]: unknown;
5326
+ };
5327
+ content: {
5328
+ "application/json": components["schemas"]["ErrorMessageDto"];
4901
5329
  };
4902
5330
  };
4903
5331
  401: components["responses"]["Unauthorized"];
@@ -4915,7 +5343,20 @@ export interface operations {
4915
5343
  };
4916
5344
  getAgenticFoundationCodebaseQuality: {
4917
5345
  parameters: {
4918
- query?: never;
5346
+ query?: {
5347
+ /** @description Page size (default 25, max 100). */
5348
+ limit?: components["parameters"]["PaginationLimit"];
5349
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5350
+ offset?: components["parameters"]["PaginationOffset"];
5351
+ /** @description Allowlisted repository sort field. */
5352
+ sort?: components["parameters"]["ReadinessRepoSort"];
5353
+ /** @description Sort direction. */
5354
+ order?: components["parameters"]["PaginationOrder"];
5355
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5356
+ search?: components["parameters"]["ReadinessRepoSearch"];
5357
+ /** @description Exact language filter (e.g. `typescript`). */
5358
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5359
+ };
4919
5360
  header?: never;
4920
5361
  path: {
4921
5362
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -4924,13 +5365,22 @@ export interface operations {
4924
5365
  };
4925
5366
  requestBody?: never;
4926
5367
  responses: {
4927
- /** @description Repositories with stack-quality slice */
5368
+ /** @description Paginated repositories with stack-quality slice */
4928
5369
  200: {
4929
5370
  headers: {
4930
5371
  [name: string]: unknown;
4931
5372
  };
4932
5373
  content: {
4933
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5374
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5375
+ };
5376
+ };
5377
+ /** @description Invalid pagination or sort query */
5378
+ 400: {
5379
+ headers: {
5380
+ [name: string]: unknown;
5381
+ };
5382
+ content: {
5383
+ "application/json": components["schemas"]["ErrorMessageDto"];
4934
5384
  };
4935
5385
  };
4936
5386
  401: components["responses"]["Unauthorized"];
@@ -4948,7 +5398,20 @@ export interface operations {
4948
5398
  };
4949
5399
  getAgenticFoundationTestQa: {
4950
5400
  parameters: {
4951
- query?: never;
5401
+ query?: {
5402
+ /** @description Page size (default 25, max 100). */
5403
+ limit?: components["parameters"]["PaginationLimit"];
5404
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5405
+ offset?: components["parameters"]["PaginationOffset"];
5406
+ /** @description Allowlisted repository sort field. */
5407
+ sort?: components["parameters"]["ReadinessRepoSort"];
5408
+ /** @description Sort direction. */
5409
+ order?: components["parameters"]["PaginationOrder"];
5410
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5411
+ search?: components["parameters"]["ReadinessRepoSearch"];
5412
+ /** @description Exact language filter (e.g. `typescript`). */
5413
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5414
+ };
4952
5415
  header?: never;
4953
5416
  path: {
4954
5417
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -4957,13 +5420,22 @@ export interface operations {
4957
5420
  };
4958
5421
  requestBody?: never;
4959
5422
  responses: {
4960
- /** @description Repositories with tests-qa slice */
5423
+ /** @description Paginated repositories with tests-qa slice */
4961
5424
  200: {
4962
5425
  headers: {
4963
5426
  [name: string]: unknown;
4964
5427
  };
4965
5428
  content: {
4966
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5429
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5430
+ };
5431
+ };
5432
+ /** @description Invalid pagination or sort query */
5433
+ 400: {
5434
+ headers: {
5435
+ [name: string]: unknown;
5436
+ };
5437
+ content: {
5438
+ "application/json": components["schemas"]["ErrorMessageDto"];
4967
5439
  };
4968
5440
  };
4969
5441
  401: components["responses"]["Unauthorized"];
@@ -4981,7 +5453,20 @@ export interface operations {
4981
5453
  };
4982
5454
  getAgenticFoundationObservability: {
4983
5455
  parameters: {
4984
- query?: never;
5456
+ query?: {
5457
+ /** @description Page size (default 25, max 100). */
5458
+ limit?: components["parameters"]["PaginationLimit"];
5459
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5460
+ offset?: components["parameters"]["PaginationOffset"];
5461
+ /** @description Allowlisted repository sort field. */
5462
+ sort?: components["parameters"]["ReadinessRepoSort"];
5463
+ /** @description Sort direction. */
5464
+ order?: components["parameters"]["PaginationOrder"];
5465
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5466
+ search?: components["parameters"]["ReadinessRepoSearch"];
5467
+ /** @description Exact language filter (e.g. `typescript`). */
5468
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5469
+ };
4985
5470
  header?: never;
4986
5471
  path: {
4987
5472
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -4990,13 +5475,22 @@ export interface operations {
4990
5475
  };
4991
5476
  requestBody?: never;
4992
5477
  responses: {
4993
- /** @description Repositories with observability slice */
5478
+ /** @description Paginated repositories with observability slice */
4994
5479
  200: {
4995
5480
  headers: {
4996
5481
  [name: string]: unknown;
4997
5482
  };
4998
5483
  content: {
4999
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5484
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5485
+ };
5486
+ };
5487
+ /** @description Invalid pagination or sort query */
5488
+ 400: {
5489
+ headers: {
5490
+ [name: string]: unknown;
5491
+ };
5492
+ content: {
5493
+ "application/json": components["schemas"]["ErrorMessageDto"];
5000
5494
  };
5001
5495
  };
5002
5496
  401: components["responses"]["Unauthorized"];
@@ -5014,7 +5508,20 @@ export interface operations {
5014
5508
  };
5015
5509
  getAgenticFoundationApiContract: {
5016
5510
  parameters: {
5017
- query?: never;
5511
+ query?: {
5512
+ /** @description Page size (default 25, max 100). */
5513
+ limit?: components["parameters"]["PaginationLimit"];
5514
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5515
+ offset?: components["parameters"]["PaginationOffset"];
5516
+ /** @description Allowlisted repository sort field. */
5517
+ sort?: components["parameters"]["ReadinessRepoSort"];
5518
+ /** @description Sort direction. */
5519
+ order?: components["parameters"]["PaginationOrder"];
5520
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5521
+ search?: components["parameters"]["ReadinessRepoSearch"];
5522
+ /** @description Exact language filter (e.g. `typescript`). */
5523
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5524
+ };
5018
5525
  header?: never;
5019
5526
  path: {
5020
5527
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5023,13 +5530,22 @@ export interface operations {
5023
5530
  };
5024
5531
  requestBody?: never;
5025
5532
  responses: {
5026
- /** @description Repositories with api-contracts slice */
5533
+ /** @description Paginated repositories with api-contracts slice */
5027
5534
  200: {
5028
5535
  headers: {
5029
5536
  [name: string]: unknown;
5030
5537
  };
5031
5538
  content: {
5032
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5539
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5540
+ };
5541
+ };
5542
+ /** @description Invalid pagination or sort query */
5543
+ 400: {
5544
+ headers: {
5545
+ [name: string]: unknown;
5546
+ };
5547
+ content: {
5548
+ "application/json": components["schemas"]["ErrorMessageDto"];
5033
5549
  };
5034
5550
  };
5035
5551
  401: components["responses"]["Unauthorized"];
@@ -5047,7 +5563,20 @@ export interface operations {
5047
5563
  };
5048
5564
  getAgenticFoundationPlatformGovernance: {
5049
5565
  parameters: {
5050
- query?: never;
5566
+ query?: {
5567
+ /** @description Page size (default 25, max 100). */
5568
+ limit?: components["parameters"]["PaginationLimit"];
5569
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5570
+ offset?: components["parameters"]["PaginationOffset"];
5571
+ /** @description Allowlisted repository sort field. */
5572
+ sort?: components["parameters"]["ReadinessRepoSort"];
5573
+ /** @description Sort direction. */
5574
+ order?: components["parameters"]["PaginationOrder"];
5575
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5576
+ search?: components["parameters"]["ReadinessRepoSearch"];
5577
+ /** @description Exact language filter (e.g. `typescript`). */
5578
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5579
+ };
5051
5580
  header?: never;
5052
5581
  path: {
5053
5582
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5056,13 +5585,22 @@ export interface operations {
5056
5585
  };
5057
5586
  requestBody?: never;
5058
5587
  responses: {
5059
- /** @description Repositories with platform-governance slice */
5588
+ /** @description Paginated repositories with platform-governance slice */
5060
5589
  200: {
5061
5590
  headers: {
5062
5591
  [name: string]: unknown;
5063
5592
  };
5064
5593
  content: {
5065
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5594
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5595
+ };
5596
+ };
5597
+ /** @description Invalid pagination or sort query */
5598
+ 400: {
5599
+ headers: {
5600
+ [name: string]: unknown;
5601
+ };
5602
+ content: {
5603
+ "application/json": components["schemas"]["ErrorMessageDto"];
5066
5604
  };
5067
5605
  };
5068
5606
  401: components["responses"]["Unauthorized"];
@@ -5080,7 +5618,20 @@ export interface operations {
5080
5618
  };
5081
5619
  getAgenticFoundationDeliveryGovernance: {
5082
5620
  parameters: {
5083
- query?: never;
5621
+ query?: {
5622
+ /** @description Page size (default 25, max 100). */
5623
+ limit?: components["parameters"]["PaginationLimit"];
5624
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5625
+ offset?: components["parameters"]["PaginationOffset"];
5626
+ /** @description Allowlisted repository sort field. */
5627
+ sort?: components["parameters"]["ReadinessRepoSort"];
5628
+ /** @description Sort direction. */
5629
+ order?: components["parameters"]["PaginationOrder"];
5630
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5631
+ search?: components["parameters"]["ReadinessRepoSearch"];
5632
+ /** @description Exact language filter (e.g. `typescript`). */
5633
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5634
+ };
5084
5635
  header?: never;
5085
5636
  path: {
5086
5637
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5089,13 +5640,22 @@ export interface operations {
5089
5640
  };
5090
5641
  requestBody?: never;
5091
5642
  responses: {
5092
- /** @description Repositories with delivery slice */
5643
+ /** @description Paginated repositories with delivery slice */
5093
5644
  200: {
5094
5645
  headers: {
5095
5646
  [name: string]: unknown;
5096
5647
  };
5097
5648
  content: {
5098
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5649
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5650
+ };
5651
+ };
5652
+ /** @description Invalid pagination or sort query */
5653
+ 400: {
5654
+ headers: {
5655
+ [name: string]: unknown;
5656
+ };
5657
+ content: {
5658
+ "application/json": components["schemas"]["ErrorMessageDto"];
5099
5659
  };
5100
5660
  };
5101
5661
  401: components["responses"]["Unauthorized"];
@@ -5113,7 +5673,20 @@ export interface operations {
5113
5673
  };
5114
5674
  getAgenticFoundationAiResolutionHub: {
5115
5675
  parameters: {
5116
- query?: never;
5676
+ query?: {
5677
+ /** @description Page size (default 25, max 100). */
5678
+ limit?: components["parameters"]["PaginationLimit"];
5679
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5680
+ offset?: components["parameters"]["PaginationOffset"];
5681
+ /** @description Allowlisted repository sort field. */
5682
+ sort?: components["parameters"]["ReadinessRepoSort"];
5683
+ /** @description Sort direction. */
5684
+ order?: components["parameters"]["PaginationOrder"];
5685
+ /** @description Case-insensitive filter on repository name, language, or provider slug. */
5686
+ search?: components["parameters"]["ReadinessRepoSearch"];
5687
+ /** @description Exact language filter (e.g. `typescript`). */
5688
+ language?: components["parameters"]["ReadinessRepoLanguage"];
5689
+ };
5117
5690
  header?: never;
5118
5691
  path: {
5119
5692
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5128,7 +5701,16 @@ export interface operations {
5128
5701
  [name: string]: unknown;
5129
5702
  };
5130
5703
  content: {
5131
- "application/json": components["schemas"]["RepoReadinessScoreDto"][];
5704
+ "application/json": components["schemas"]["ReadinessRepoListDto"];
5705
+ };
5706
+ };
5707
+ /** @description Invalid pagination or sort query */
5708
+ 400: {
5709
+ headers: {
5710
+ [name: string]: unknown;
5711
+ };
5712
+ content: {
5713
+ "application/json": components["schemas"]["ErrorMessageDto"];
5132
5714
  };
5133
5715
  };
5134
5716
  401: components["responses"]["Unauthorized"];
@@ -5179,7 +5761,22 @@ export interface operations {
5179
5761
  };
5180
5762
  listReadinessFixes: {
5181
5763
  parameters: {
5182
- query?: never;
5764
+ query?: {
5765
+ /** @description Page size (default 25, max 100). */
5766
+ limit?: components["parameters"]["PaginationLimit"];
5767
+ /** @description Zero-based row offset into the filtered, sorted result set. */
5768
+ offset?: components["parameters"]["PaginationOffset"];
5769
+ /** @description Allowlisted fix-queue sort field. */
5770
+ sort?: components["parameters"]["ReadinessFixSort"];
5771
+ /** @description Sort direction. */
5772
+ order?: components["parameters"]["PaginationOrder"];
5773
+ /** @description Case-insensitive filter on repo name, issue title, label, or description. */
5774
+ search?: components["parameters"]["ReadinessFixSearch"];
5775
+ /** @description Filter fixes by workflow status. */
5776
+ status?: components["parameters"]["ReadinessFixStatusFilter"];
5777
+ /** @description Filter fixes to a single workspace repository id. */
5778
+ repoId?: components["parameters"]["ReadinessFixRepoIdFilter"];
5779
+ };
5183
5780
  header?: never;
5184
5781
  path: {
5185
5782
  workspaceId: components["parameters"]["WorkspaceId"];
@@ -5188,13 +5785,22 @@ export interface operations {
5188
5785
  };
5189
5786
  requestBody?: never;
5190
5787
  responses: {
5191
- /** @description Fix queue */
5788
+ /** @description Paginated fix queue */
5192
5789
  200: {
5193
5790
  headers: {
5194
5791
  [name: string]: unknown;
5195
5792
  };
5196
5793
  content: {
5197
- "application/json": components["schemas"]["FixRequestDto"][];
5794
+ "application/json": components["schemas"]["ReadinessFixListDto"];
5795
+ };
5796
+ };
5797
+ /** @description Invalid pagination or sort query */
5798
+ 400: {
5799
+ headers: {
5800
+ [name: string]: unknown;
5801
+ };
5802
+ content: {
5803
+ "application/json": components["schemas"]["ErrorMessageDto"];
5198
5804
  };
5199
5805
  };
5200
5806
  401: components["responses"]["Unauthorized"];
@@ -5728,4 +6334,299 @@ export interface operations {
5728
6334
  };
5729
6335
  };
5730
6336
  };
6337
+ getYourAiJourneyAnalytics: {
6338
+ parameters: {
6339
+ query?: never;
6340
+ header?: never;
6341
+ path: {
6342
+ workspaceId: components["parameters"]["WorkspaceId"];
6343
+ };
6344
+ cookie?: never;
6345
+ };
6346
+ requestBody?: never;
6347
+ responses: {
6348
+ /** @description Analytics summary */
6349
+ 200: {
6350
+ headers: {
6351
+ [name: string]: unknown;
6352
+ };
6353
+ content: {
6354
+ "application/json": components["schemas"]["YourAiJourneyAnalyticsDto"];
6355
+ };
6356
+ };
6357
+ 401: components["responses"]["Unauthorized"];
6358
+ 403: components["responses"]["Forbidden"];
6359
+ /** @description Workspace does not exist */
6360
+ 404: {
6361
+ headers: {
6362
+ [name: string]: unknown;
6363
+ };
6364
+ content: {
6365
+ "application/json": components["schemas"]["ErrorMessageDto"];
6366
+ };
6367
+ };
6368
+ };
6369
+ };
6370
+ getYourAiJourneyPrSignals: {
6371
+ parameters: {
6372
+ query?: {
6373
+ /** @description Number of weekly buckets to return (1–52; default 8). */
6374
+ limit?: number;
6375
+ };
6376
+ header?: never;
6377
+ path: {
6378
+ workspaceId: components["parameters"]["WorkspaceId"];
6379
+ };
6380
+ cookie?: never;
6381
+ };
6382
+ requestBody?: never;
6383
+ responses: {
6384
+ /** @description Weekly PR signals */
6385
+ 200: {
6386
+ headers: {
6387
+ [name: string]: unknown;
6388
+ };
6389
+ content: {
6390
+ "application/json": components["schemas"]["YourAiJourneyPrSignalsDto"];
6391
+ };
6392
+ };
6393
+ /** @description Invalid query parameter (limit out of range) */
6394
+ 400: {
6395
+ headers: {
6396
+ [name: string]: unknown;
6397
+ };
6398
+ content: {
6399
+ "application/json": components["schemas"]["ErrorMessageDto"];
6400
+ };
6401
+ };
6402
+ 401: components["responses"]["Unauthorized"];
6403
+ 403: components["responses"]["Forbidden"];
6404
+ /** @description Workspace does not exist */
6405
+ 404: {
6406
+ headers: {
6407
+ [name: string]: unknown;
6408
+ };
6409
+ content: {
6410
+ "application/json": components["schemas"]["ErrorMessageDto"];
6411
+ };
6412
+ };
6413
+ };
6414
+ };
6415
+ getYourAiJourneyReadinessAggregate: {
6416
+ parameters: {
6417
+ query?: never;
6418
+ header?: never;
6419
+ path: {
6420
+ workspaceId: components["parameters"]["WorkspaceId"];
6421
+ };
6422
+ cookie?: never;
6423
+ };
6424
+ requestBody?: never;
6425
+ responses: {
6426
+ /** @description Readiness aggregate */
6427
+ 200: {
6428
+ headers: {
6429
+ [name: string]: unknown;
6430
+ };
6431
+ content: {
6432
+ "application/json": components["schemas"]["YourAiJourneyReadinessAggregateDto"];
6433
+ };
6434
+ };
6435
+ 401: components["responses"]["Unauthorized"];
6436
+ 403: components["responses"]["Forbidden"];
6437
+ /** @description Workspace does not exist */
6438
+ 404: {
6439
+ headers: {
6440
+ [name: string]: unknown;
6441
+ };
6442
+ content: {
6443
+ "application/json": components["schemas"]["ErrorMessageDto"];
6444
+ };
6445
+ };
6446
+ };
6447
+ };
6448
+ getYourAiJourneyProgress: {
6449
+ parameters: {
6450
+ query?: never;
6451
+ header?: never;
6452
+ path: {
6453
+ workspaceId: components["parameters"]["WorkspaceId"];
6454
+ };
6455
+ cookie?: never;
6456
+ };
6457
+ requestBody?: never;
6458
+ responses: {
6459
+ /** @description Journey progress */
6460
+ 200: {
6461
+ headers: {
6462
+ [name: string]: unknown;
6463
+ };
6464
+ content: {
6465
+ "application/json": components["schemas"]["JourneyProgressDto"];
6466
+ };
6467
+ };
6468
+ 401: components["responses"]["Unauthorized"];
6469
+ 403: components["responses"]["Forbidden"];
6470
+ /** @description Workspace does not exist */
6471
+ 404: {
6472
+ headers: {
6473
+ [name: string]: unknown;
6474
+ };
6475
+ content: {
6476
+ "application/json": components["schemas"]["ErrorMessageDto"];
6477
+ };
6478
+ };
6479
+ };
6480
+ };
6481
+ putYourAiJourneyProgress: {
6482
+ parameters: {
6483
+ query?: never;
6484
+ header?: never;
6485
+ path: {
6486
+ workspaceId: components["parameters"]["WorkspaceId"];
6487
+ };
6488
+ cookie?: never;
6489
+ };
6490
+ requestBody: {
6491
+ content: {
6492
+ "application/json": components["schemas"]["JourneyProgressUpdateDto"];
6493
+ };
6494
+ };
6495
+ responses: {
6496
+ /** @description Saved progress */
6497
+ 200: {
6498
+ headers: {
6499
+ [name: string]: unknown;
6500
+ };
6501
+ content: {
6502
+ "application/json": components["schemas"]["JourneyProgressDto"];
6503
+ };
6504
+ };
6505
+ /** @description Body fails validation (non-array, invalid entries, too many steps) */
6506
+ 400: {
6507
+ headers: {
6508
+ [name: string]: unknown;
6509
+ };
6510
+ content: {
6511
+ "application/json": components["schemas"]["ErrorMessageDto"];
6512
+ };
6513
+ };
6514
+ 401: components["responses"]["Unauthorized"];
6515
+ 403: components["responses"]["Forbidden"];
6516
+ /** @description Workspace does not exist */
6517
+ 404: {
6518
+ headers: {
6519
+ [name: string]: unknown;
6520
+ };
6521
+ content: {
6522
+ "application/json": components["schemas"]["ErrorMessageDto"];
6523
+ };
6524
+ };
6525
+ };
6526
+ };
6527
+ getYourAiJourneyAgenticFoundation: {
6528
+ parameters: {
6529
+ query?: never;
6530
+ header?: never;
6531
+ path: {
6532
+ workspaceId: components["parameters"]["WorkspaceId"];
6533
+ };
6534
+ cookie?: never;
6535
+ };
6536
+ requestBody?: never;
6537
+ responses: {
6538
+ /** @description Agentic foundation dashboard */
6539
+ 200: {
6540
+ headers: {
6541
+ [name: string]: unknown;
6542
+ };
6543
+ content: {
6544
+ "application/json": components["schemas"]["AgenticFoundationDashboardDto"];
6545
+ };
6546
+ };
6547
+ 401: components["responses"]["Unauthorized"];
6548
+ 403: components["responses"]["Forbidden"];
6549
+ /** @description Workspace does not exist */
6550
+ 404: {
6551
+ headers: {
6552
+ [name: string]: unknown;
6553
+ };
6554
+ content: {
6555
+ "application/json": components["schemas"]["ErrorMessageDto"];
6556
+ };
6557
+ };
6558
+ };
6559
+ };
6560
+ getYourAiJourneyProductivity: {
6561
+ parameters: {
6562
+ query?: {
6563
+ /** @description Upper bound of the requested window (ISO 8601; defaults to now). */
6564
+ windowEnd?: string;
6565
+ };
6566
+ header?: never;
6567
+ path: {
6568
+ workspaceId: components["parameters"]["WorkspaceId"];
6569
+ };
6570
+ cookie?: never;
6571
+ };
6572
+ requestBody?: never;
6573
+ responses: {
6574
+ /** @description Productivity metrics snapshot */
6575
+ 200: {
6576
+ headers: {
6577
+ [name: string]: unknown;
6578
+ };
6579
+ content: {
6580
+ "application/json": components["schemas"]["DashboardProductivityDto"];
6581
+ };
6582
+ };
6583
+ 401: components["responses"]["Unauthorized"];
6584
+ 403: components["responses"]["Forbidden"];
6585
+ /** @description Workspace does not exist */
6586
+ 404: {
6587
+ headers: {
6588
+ [name: string]: unknown;
6589
+ };
6590
+ content: {
6591
+ "application/json": components["schemas"]["ErrorMessageDto"];
6592
+ };
6593
+ };
6594
+ };
6595
+ };
6596
+ getYourAiJourneyAiSpend: {
6597
+ parameters: {
6598
+ query?: {
6599
+ /** @description Time range — `4w` (4 weeks), `8w` (8 weeks), or `q` (quarter, 12 weeks). */
6600
+ rangeId?: "4w" | "8w" | "q";
6601
+ };
6602
+ header?: never;
6603
+ path: {
6604
+ workspaceId: components["parameters"]["WorkspaceId"];
6605
+ };
6606
+ cookie?: never;
6607
+ };
6608
+ requestBody?: never;
6609
+ responses: {
6610
+ /** @description AI spend aggregation */
6611
+ 200: {
6612
+ headers: {
6613
+ [name: string]: unknown;
6614
+ };
6615
+ content: {
6616
+ "application/json": components["schemas"]["YourAiJourneyAiSpendDto"];
6617
+ };
6618
+ };
6619
+ 401: components["responses"]["Unauthorized"];
6620
+ 403: components["responses"]["Forbidden"];
6621
+ /** @description Workspace does not exist */
6622
+ 404: {
6623
+ headers: {
6624
+ [name: string]: unknown;
6625
+ };
6626
+ content: {
6627
+ "application/json": components["schemas"]["ErrorMessageDto"];
6628
+ };
6629
+ };
6630
+ };
6631
+ };
5731
6632
  }