@thinkai/tai-api-contract 2.61.0 → 2.62.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.
@@ -1038,7 +1038,7 @@ export interface paths {
1038
1038
  put?: never;
1039
1039
  /**
1040
1040
  * Create GitHub App installation URL
1041
- * @description Creates a GitHub App installation URL scoped to the workspace and caller. Body is optional; when omitted, defaults to `/onboarding/integrations` return path. Optional `pickerSession` (from user OAuth org picker) recovers `returnPath` from the server-side picker snapshot when the multi-hop authorize→install flow should return to the page where OAuth started.
1041
+ * @description Creates a GitHub App installation URL scoped to the workspace and caller. Default intent `connect` installs ThinkAI Platform Insights (read). Intent `enable_fixes` installs ThinkAI Platform Automations (write) for the Insights installation identified by `installationId`. Body is optional; when omitted, defaults to `/onboarding/integrations` return path. Optional `pickerSession` (from user OAuth org picker) recovers `returnPath` from the server-side picker snapshot when the multi-hop authorize→install flow should return to the page where OAuth started.
1042
1042
  */
1043
1043
  post: operations["postGithubInstallUrl"];
1044
1044
  delete?: never;
@@ -1047,6 +1047,46 @@ export interface paths {
1047
1047
  patch?: never;
1048
1048
  trace?: never;
1049
1049
  };
1050
+ "/workspaces/{workspaceId}/integrations/github/installations/{installationId}/automated-fixes/enable": {
1051
+ parameters: {
1052
+ query?: never;
1053
+ header?: never;
1054
+ path?: never;
1055
+ cookie?: never;
1056
+ };
1057
+ get?: never;
1058
+ put?: never;
1059
+ /**
1060
+ * Enable automated fixes for a GitHub installation
1061
+ * @description Workspace-level enable for automated fixes on an Insights (read) installation. If an Automations (write) installation is already linked, flips `automatedFixesEnabled` without reinstalling. Otherwise returns `outcome: needs_install` so the client can call install-url with intent=enable_fixes.
1062
+ */
1063
+ post: operations["postGithubAutomatedFixesEnable"];
1064
+ delete?: never;
1065
+ options?: never;
1066
+ head?: never;
1067
+ patch?: never;
1068
+ trace?: never;
1069
+ };
1070
+ "/workspaces/{workspaceId}/integrations/github/installations/{installationId}/automated-fixes": {
1071
+ parameters: {
1072
+ query?: never;
1073
+ header?: never;
1074
+ path?: never;
1075
+ cookie?: never;
1076
+ };
1077
+ get?: never;
1078
+ put?: never;
1079
+ post?: never;
1080
+ /**
1081
+ * Disable automated fixes for a GitHub installation
1082
+ * @description Workspace-level disable. Clears `automatedFixesEnabled` but keeps the linked Automations write installation id so re-enable does not require reinstall. Does not uninstall the Automations app from GitHub.
1083
+ */
1084
+ delete: operations["deleteGithubAutomatedFixes"];
1085
+ options?: never;
1086
+ head?: never;
1087
+ patch?: never;
1088
+ trace?: never;
1089
+ };
1050
1090
  "/workspaces/{workspaceId}/integrations/github/user-authorize-url": {
1051
1091
  parameters: {
1052
1092
  query?: never;
@@ -2465,6 +2505,26 @@ export interface paths {
2465
2505
  patch?: never;
2466
2506
  trace?: never;
2467
2507
  };
2508
+ "/workspaces/{workspaceId}/your-ai-journey/hero": {
2509
+ parameters: {
2510
+ query?: never;
2511
+ header?: never;
2512
+ path?: never;
2513
+ cookie?: never;
2514
+ };
2515
+ /**
2516
+ * First-paint hero payload for the /dashboard page
2517
+ * @description Returns analytics and productivity in one response so the dashboard hero can paint with a single RTT (auth + membership checked once). Nested payloads match the dedicated analytics and productivity routes and reuse those routes' 60s caches (there is no separate hero-level cache). `generatedAt` on the hero envelope and both nested payloads is set to the same assembly timestamp.
2518
+ */
2519
+ get: operations["getYourAiJourneyHero"];
2520
+ put?: never;
2521
+ post?: never;
2522
+ delete?: never;
2523
+ options?: never;
2524
+ head?: never;
2525
+ patch?: never;
2526
+ trace?: never;
2527
+ };
2468
2528
  "/workspaces/{workspaceId}/your-ai-journey/analytics": {
2469
2529
  parameters: {
2470
2530
  query?: never;
@@ -4488,6 +4548,22 @@ export interface components {
4488
4548
  */
4489
4549
  granted?: "read" | "write" | "admin" | null;
4490
4550
  };
4551
+ GithubWritePermissionsRequiredErrorDto: {
4552
+ /** @enum {string} */
4553
+ error: "github_write_permissions_required";
4554
+ missingPermissions: components["schemas"]["GithubMissingPermissionDto"][];
4555
+ /** @description GitHub installation settings URL to approve write permissions. */
4556
+ manageUrl?: string | null;
4557
+ /** @description Human-readable summary of the write permission upgrade. */
4558
+ writeUpgradeMessage?: string | null;
4559
+ };
4560
+ GithubPermissionsCheckFailedErrorDto: {
4561
+ /**
4562
+ * @description GitHub installation permissions could not be verified (transient upstream failure).
4563
+ * @enum {string}
4564
+ */
4565
+ error: "github_permissions_check_failed";
4566
+ };
4491
4567
  GithubInstallationSummaryDto: {
4492
4568
  installationId: string;
4493
4569
  account: components["schemas"]["GithubAccountDto"];
@@ -4497,11 +4573,35 @@ export interface components {
4497
4573
  manageUrl?: string | null;
4498
4574
  /** Format: date-time */
4499
4575
  lastSyncedAt?: string | null;
4500
- /** @description True when this installation's granted permissions are below what the ThinkAI GitHub App currently requests. */
4576
+ /** @description True when this installation lacks core read permissions required for connect and analysis. Alias for `!corePermissionsOk`. */
4501
4577
  permissionsUpgradeRequired: boolean;
4578
+ /** @description True when installation grants read permissions for repository analysis (contents, metadata, pull requests, and members for org installs). */
4579
+ corePermissionsOk: boolean;
4580
+ /** @description True when automated fixes are enabled and the linked Automations (write) installation grants write permissions required for fix PRs. */
4581
+ writePermissionsOk: boolean;
4582
+ /** @description Alias for `!writePermissionsOk`. */
4583
+ writePermissionsUpgradeRequired: boolean;
4584
+ /** @description Core read permissions still needed for connect and analysis. */
4502
4585
  missingPermissions?: components["schemas"]["GithubMissingPermissionDto"][];
4503
- /** @description Human-readable summary for UI when permissionsUpgradeRequired is true. */
4586
+ /** @description Write permissions still needed for automated fix PRs. */
4587
+ missingWritePermissions?: components["schemas"]["GithubMissingPermissionDto"][];
4588
+ /** @description Human-readable summary for UI when core permissions are missing. */
4504
4589
  upgradeMessage?: string | null;
4590
+ /** @description Human-readable summary for UI when write permissions are missing. */
4591
+ writeUpgradeMessage?: string | null;
4592
+ /** @description True when this workspace has enabled automated fixes for this Insights (read) installation and linked a ThinkAI Platform Automations (write) installation. */
4593
+ automatedFixesEnabled: boolean;
4594
+ /** @description True when an Automations (write) GitHub App installation is linked. */
4595
+ writeAppInstalled: boolean;
4596
+ /** @description GitHub installation id for the Automations (write) app, when linked. */
4597
+ writeInstallationId?: string | null;
4598
+ /**
4599
+ * Format: uri
4600
+ * @description GitHub settings URL for the Automations (write) installation.
4601
+ */
4602
+ writeManageUrl?: string | null;
4603
+ /** @description True when the Automations app is configured and automated fixes are not yet enabled for this installation (UI may show Enable automated fixes). */
4604
+ canEnableAutomatedFixes: boolean;
4505
4605
  };
4506
4606
  GithubPendingApprovalDto: {
4507
4607
  /**
@@ -4657,8 +4757,18 @@ export interface components {
4657
4757
  GithubInstallationStatusDto: {
4658
4758
  installed: boolean;
4659
4759
  installations: components["schemas"]["GithubInstallationSummaryDto"][];
4660
- /** @description True if any connected installation is under-permissioned. */
4760
+ /** @description True if any connected installation lacks core read permissions. Alias for `!corePermissionsOk`. */
4661
4761
  permissionsUpgradeRequired: boolean;
4762
+ /** @description True when every connected installation grants core read permissions. */
4763
+ corePermissionsOk: boolean;
4764
+ /** @description True when every connected installation grants write permissions for automated fixes. */
4765
+ writePermissionsOk: boolean;
4766
+ /** @description True when any connected installation lacks write permissions for automated fixes. */
4767
+ writePermissionsUpgradeRequired: boolean;
4768
+ /** @description Aggregated write permissions missing on installations that lack write access. */
4769
+ missingWritePermissions?: components["schemas"]["GithubMissingPermissionDto"][];
4770
+ /** @description Human-readable summary when write permissions are missing. */
4771
+ writeUpgradeMessage?: string | null;
4662
4772
  /** @description Present when an org admin must approve the GitHub App install request. */
4663
4773
  pendingApproval?: components["schemas"]["GithubPendingApprovalDto"] | null;
4664
4774
  /** @description Present when GitHub connect was started but not completed (install OAuth state or account-picker session still active). Omitted when pendingApproval is set. */
@@ -4698,12 +4808,28 @@ export interface components {
4698
4808
  * @description SPA origin to redirect back to after OAuth; must match server spaOrigins allowlist.
4699
4809
  */
4700
4810
  spaOrigin?: string;
4811
+ /**
4812
+ * @description connect installs ThinkAI Platform Insights (read). enable_fixes installs ThinkAI Platform Automations (write) for the Insights installation identified by installationId.
4813
+ * @enum {string}
4814
+ */
4815
+ intent?: "connect" | "enable_fixes";
4816
+ /** @description Insights (read) installation id required when intent is enable_fixes. */
4817
+ installationId?: string;
4701
4818
  };
4702
4819
  GithubInstallUrlResponseDto: {
4703
4820
  /** Format: uri */
4704
4821
  url: string;
4705
4822
  state: string;
4706
4823
  };
4824
+ GithubAutomatedFixesEnableResponseDto: {
4825
+ /**
4826
+ * @description enabled — write app already linked and flag flipped; needs_install — client should call install-url with intent=enable_fixes.
4827
+ * @enum {string}
4828
+ */
4829
+ outcome: "enabled" | "needs_install";
4830
+ /** @description Present when outcome is enabled. */
4831
+ status?: components["schemas"]["GithubInstallationStatusDto"];
4832
+ };
4707
4833
  GithubUserAuthorizeUrlRequestDto: {
4708
4834
  returnPath?: string;
4709
4835
  /**
@@ -5616,6 +5742,17 @@ export interface components {
5616
5742
  totalFixedIssues: number;
5617
5743
  };
5618
5744
  };
5745
+ YourAiJourneyHeroDto: {
5746
+ /** Format: uuid */
5747
+ workspaceId: string;
5748
+ /**
5749
+ * Format: date-time
5750
+ * @description Assembly timestamp for this hero response; also written onto analytics.generatedAt and productivity.generatedAt so all three match.
5751
+ */
5752
+ generatedAt: string;
5753
+ analytics: components["schemas"]["YourAiJourneyAnalyticsDto"];
5754
+ productivity: components["schemas"]["DashboardProductivityDto"];
5755
+ };
5619
5756
  YourAiJourneyAnalyticsDto: {
5620
5757
  /** Format: uuid */
5621
5758
  workspaceId: string;
@@ -6213,6 +6350,8 @@ export type RepoEligibilityOverridesDto = components['schemas']['RepoEligibility
6213
6350
  export type WorkspaceRepoEligibilityDto = components['schemas']['WorkspaceRepoEligibilityDto'];
6214
6351
  export type RepoEligibilityLimitsDto = components['schemas']['RepoEligibilityLimitsDto'];
6215
6352
  export type GithubMissingPermissionDto = components['schemas']['GithubMissingPermissionDto'];
6353
+ export type GithubWritePermissionsRequiredErrorDto = components['schemas']['GithubWritePermissionsRequiredErrorDto'];
6354
+ export type GithubPermissionsCheckFailedErrorDto = components['schemas']['GithubPermissionsCheckFailedErrorDto'];
6216
6355
  export type GithubInstallationSummaryDto = components['schemas']['GithubInstallationSummaryDto'];
6217
6356
  export type GithubPendingApprovalDto = components['schemas']['GithubPendingApprovalDto'];
6218
6357
  export type GithubSetupInProgressDto = components['schemas']['GithubSetupInProgressDto'];
@@ -6228,6 +6367,7 @@ export type GithubActionsEnableResponseDto = components['schemas']['GithubAction
6228
6367
  export type GithubInstallationStatusDto = components['schemas']['GithubInstallationStatusDto'];
6229
6368
  export type GithubInstallUrlRequestDto = components['schemas']['GithubInstallUrlRequestDto'];
6230
6369
  export type GithubInstallUrlResponseDto = components['schemas']['GithubInstallUrlResponseDto'];
6370
+ export type GithubAutomatedFixesEnableResponseDto = components['schemas']['GithubAutomatedFixesEnableResponseDto'];
6231
6371
  export type GithubUserAuthorizeUrlRequestDto = components['schemas']['GithubUserAuthorizeUrlRequestDto'];
6232
6372
  export type GithubUserAuthorizeUrlResponseDto = components['schemas']['GithubUserAuthorizeUrlResponseDto'];
6233
6373
  export type GithubConnectableAccountDto = components['schemas']['GithubConnectableAccountDto'];
@@ -6326,6 +6466,7 @@ export type YourAiJourneyPrSignalsWeekDto = components['schemas']['YourAiJourney
6326
6466
  export type YourAiJourneyPrSignalsDto = components['schemas']['YourAiJourneyPrSignalsDto'];
6327
6467
  export type YourAiJourneyReadinessDimensionDto = components['schemas']['YourAiJourneyReadinessDimensionDto'];
6328
6468
  export type YourAiJourneyReadinessAggregateDto = components['schemas']['YourAiJourneyReadinessAggregateDto'];
6469
+ export type YourAiJourneyHeroDto = components['schemas']['YourAiJourneyHeroDto'];
6329
6470
  export type YourAiJourneyAnalyticsDto = components['schemas']['YourAiJourneyAnalyticsDto'];
6330
6471
  export type YourAiJourneyAiSpendWeekDto = components['schemas']['YourAiJourneyAiSpendWeekDto'];
6331
6472
  export type YourAiJourneyAiSpendDto = components['schemas']['YourAiJourneyAiSpendDto'];
@@ -9331,6 +9472,90 @@ export interface operations {
9331
9472
  "application/json": components["schemas"]["ErrorMessageDto"];
9332
9473
  };
9333
9474
  };
9475
+ /** @description Requested GitHub App is not configured */
9476
+ 503: {
9477
+ headers: {
9478
+ [name: string]: unknown;
9479
+ };
9480
+ content: {
9481
+ "application/json": components["schemas"]["ErrorMessageDto"];
9482
+ };
9483
+ };
9484
+ };
9485
+ };
9486
+ postGithubAutomatedFixesEnable: {
9487
+ parameters: {
9488
+ query?: never;
9489
+ header?: never;
9490
+ path: {
9491
+ workspaceId: components["parameters"]["WorkspaceId"];
9492
+ installationId: string;
9493
+ };
9494
+ cookie?: never;
9495
+ };
9496
+ requestBody?: never;
9497
+ responses: {
9498
+ /** @description Enable result */
9499
+ 200: {
9500
+ headers: {
9501
+ [name: string]: unknown;
9502
+ };
9503
+ content: {
9504
+ "application/json": components["schemas"]["GithubAutomatedFixesEnableResponseDto"];
9505
+ };
9506
+ };
9507
+ 401: components["responses"]["Unauthorized"];
9508
+ 403: components["responses"]["Forbidden"];
9509
+ /** @description Workspace or installation not found */
9510
+ 404: {
9511
+ headers: {
9512
+ [name: string]: unknown;
9513
+ };
9514
+ content: {
9515
+ "application/json": components["schemas"]["ErrorMessageDto"];
9516
+ };
9517
+ };
9518
+ /** @description Automations GitHub App not configured */
9519
+ 503: {
9520
+ headers: {
9521
+ [name: string]: unknown;
9522
+ };
9523
+ content: {
9524
+ "application/json": components["schemas"]["ErrorMessageDto"];
9525
+ };
9526
+ };
9527
+ };
9528
+ };
9529
+ deleteGithubAutomatedFixes: {
9530
+ parameters: {
9531
+ query?: never;
9532
+ header?: never;
9533
+ path: {
9534
+ workspaceId: components["parameters"]["WorkspaceId"];
9535
+ installationId: string;
9536
+ };
9537
+ cookie?: never;
9538
+ };
9539
+ requestBody?: never;
9540
+ responses: {
9541
+ /** @description Automated fixes disabled (or already disabled) */
9542
+ 204: {
9543
+ headers: {
9544
+ [name: string]: unknown;
9545
+ };
9546
+ content?: never;
9547
+ };
9548
+ 401: components["responses"]["Unauthorized"];
9549
+ 403: components["responses"]["Forbidden"];
9550
+ /** @description Workspace or installation not found */
9551
+ 404: {
9552
+ headers: {
9553
+ [name: string]: unknown;
9554
+ };
9555
+ content: {
9556
+ "application/json": components["schemas"]["ErrorMessageDto"];
9557
+ };
9558
+ };
9334
9559
  };
9335
9560
  };
9336
9561
  postGithubUserAuthorizeUrl: {
@@ -11987,6 +12212,24 @@ export interface operations {
11987
12212
  "application/json": components["schemas"]["ErrorMessageDto"];
11988
12213
  };
11989
12214
  };
12215
+ /** @description GitHub installation lacks write permissions required for automated fix PRs */
12216
+ 422: {
12217
+ headers: {
12218
+ [name: string]: unknown;
12219
+ };
12220
+ content: {
12221
+ "application/json": components["schemas"]["GithubWritePermissionsRequiredErrorDto"];
12222
+ };
12223
+ };
12224
+ /** @description GitHub installation permissions could not be verified */
12225
+ 503: {
12226
+ headers: {
12227
+ [name: string]: unknown;
12228
+ };
12229
+ content: {
12230
+ "application/json": components["schemas"]["GithubPermissionsCheckFailedErrorDto"];
12231
+ };
12232
+ };
11990
12233
  };
11991
12234
  };
11992
12235
  postReadinessFixRetrigger: {
@@ -12030,6 +12273,24 @@ export interface operations {
12030
12273
  "application/json": components["schemas"]["ErrorMessageDto"];
12031
12274
  };
12032
12275
  };
12276
+ /** @description GitHub installation lacks write permissions required for automated fix PRs */
12277
+ 422: {
12278
+ headers: {
12279
+ [name: string]: unknown;
12280
+ };
12281
+ content: {
12282
+ "application/json": components["schemas"]["GithubWritePermissionsRequiredErrorDto"];
12283
+ };
12284
+ };
12285
+ /** @description GitHub installation permissions could not be verified */
12286
+ 503: {
12287
+ headers: {
12288
+ [name: string]: unknown;
12289
+ };
12290
+ content: {
12291
+ "application/json": components["schemas"]["GithubPermissionsCheckFailedErrorDto"];
12292
+ };
12293
+ };
12033
12294
  };
12034
12295
  };
12035
12296
  putCursorPlatformKeyConsent: {
@@ -12773,6 +13034,39 @@ export interface operations {
12773
13034
  };
12774
13035
  };
12775
13036
  };
13037
+ getYourAiJourneyHero: {
13038
+ parameters: {
13039
+ query?: never;
13040
+ header?: never;
13041
+ path: {
13042
+ workspaceId: components["parameters"]["WorkspaceId"];
13043
+ };
13044
+ cookie?: never;
13045
+ };
13046
+ requestBody?: never;
13047
+ responses: {
13048
+ /** @description Hero bootstrap payload */
13049
+ 200: {
13050
+ headers: {
13051
+ [name: string]: unknown;
13052
+ };
13053
+ content: {
13054
+ "application/json": components["schemas"]["YourAiJourneyHeroDto"];
13055
+ };
13056
+ };
13057
+ 401: components["responses"]["Unauthorized"];
13058
+ 403: components["responses"]["Forbidden"];
13059
+ /** @description Workspace does not exist */
13060
+ 404: {
13061
+ headers: {
13062
+ [name: string]: unknown;
13063
+ };
13064
+ content: {
13065
+ "application/json": components["schemas"]["ErrorMessageDto"];
13066
+ };
13067
+ };
13068
+ };
13069
+ };
12776
13070
  getYourAiJourneyAnalytics: {
12777
13071
  parameters: {
12778
13072
  query?: never;