@thinkai/tai-api-contract 2.11.1 → 2.12.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.
@@ -1,7 +1,7 @@
1
1
  openapi: 3.0.3
2
2
  info:
3
3
  title: ThinkAI API
4
- version: 2.11.1
4
+ version: 2.12.0
5
5
  description: >
6
6
  Contract surface for the AI Driven SDLC backend used by ThinkAI.
7
7
  Workspace-scoped routes use `/workspaces/{workspaceId}/...`.
@@ -52,6 +52,8 @@ tags:
52
52
  description: Agentic Foundation pillars (epic #278); reads stored repository readiness snapshots
53
53
  - name: YourAiJourney
54
54
  description: Your AI Journey dashboard aggregators (epic #267); composes readiness, metrics, and AI-spend data for the /dashboard page
55
+ - name: WorkspaceActivity
56
+ description: Workspace-wide lifecycle activity log — repo add/remove/re-add and integration lifecycle events (issue #515).
55
57
  - name: PlatformAdmin
56
58
  description: Platform-admin operations restricted to PLATFORM_ADMIN_EMAILS. Callers must present a valid JWT from an email on that allowlist; all other callers receive 403.
57
59
 
@@ -2282,6 +2284,12 @@ paths:
2282
2284
  - $ref: "#/components/parameters/PaginationOrder"
2283
2285
  - $ref: "#/components/parameters/ReadinessRepoSearch"
2284
2286
  - $ref: "#/components/parameters/ReadinessRepoLanguage"
2287
+ - name: includeArchived
2288
+ in: query
2289
+ description: When `true`, includes Inactive (user-removed) repos alongside Active ones. Default is `false` (active only).
2290
+ schema:
2291
+ type: boolean
2292
+ default: false
2285
2293
  responses:
2286
2294
  "200":
2287
2295
  description: Paginated repositories analyzed
@@ -2462,6 +2470,62 @@ paths:
2462
2470
  application/json:
2463
2471
  schema:
2464
2472
  $ref: "#/components/schemas/ErrorMessageDto"
2473
+ patch:
2474
+ tags: [RepositoryReadiness]
2475
+ summary: Archive (remove) or restore (re-add) a repository
2476
+ description: >
2477
+ Set `archived: true` to soft-remove the repo (Inactive). Set `archived: false` to re-add a
2478
+ previously Inactive repo (Active). Re-add reuses the same `repo_id` row so historical scan
2479
+ foreign keys remain intact, and automatically enqueues a fresh readiness scan.
2480
+
2481
+ Returns `409` with `code: repo_scan_in_progress` if a scan is queued or running when archiving.
2482
+ Returns `409` with `code: repo_already_active` if re-adding a repo that is already Active.
2483
+ operationId: patchReadinessRepo
2484
+ parameters:
2485
+ - $ref: "#/components/parameters/WorkspaceId"
2486
+ - $ref: "#/components/parameters/RepoId"
2487
+ requestBody:
2488
+ required: true
2489
+ content:
2490
+ application/json:
2491
+ schema:
2492
+ $ref: "#/components/schemas/PatchRepoArchiveBodyDto"
2493
+ examples:
2494
+ archive:
2495
+ value:
2496
+ archived: true
2497
+ restore:
2498
+ value:
2499
+ archived: false
2500
+ responses:
2501
+ "200":
2502
+ description: Repo status updated
2503
+ content:
2504
+ application/json:
2505
+ schema:
2506
+ $ref: "#/components/schemas/PatchRepoArchiveResponseDto"
2507
+ "400":
2508
+ description: Malformed request body or repoId
2509
+ content:
2510
+ application/json:
2511
+ schema:
2512
+ $ref: "#/components/schemas/ErrorMessageDto"
2513
+ "401":
2514
+ $ref: "#/components/responses/Unauthorized"
2515
+ "403":
2516
+ $ref: "#/components/responses/Forbidden"
2517
+ "404":
2518
+ description: Workspace or repository not found
2519
+ content:
2520
+ application/json:
2521
+ schema:
2522
+ $ref: "#/components/schemas/ErrorMessageDto"
2523
+ "409":
2524
+ description: Conflict — scan in progress or repo already in the requested state
2525
+ content:
2526
+ application/json:
2527
+ schema:
2528
+ $ref: "#/components/schemas/ErrorMessageDto"
2465
2529
 
2466
2530
  /workspaces/{workspaceId}/readiness/repos/{repoId}/runs:
2467
2531
  get:
@@ -2603,6 +2667,83 @@ paths:
2603
2667
  schema:
2604
2668
  $ref: "#/components/schemas/ErrorMessageDto"
2605
2669
 
2670
+ /workspaces/{workspaceId}/activity:
2671
+ get:
2672
+ tags: [WorkspaceActivity]
2673
+ summary: Workspace activity log (paginated)
2674
+ operationId: listWorkspaceActivity
2675
+ description: >
2676
+ Paginated, chronological feed of workspace-scoped lifecycle events: repository add/remove/re-add
2677
+ and GitHub integration add/remove. Inactive repos remain visible in this log.
2678
+ Filter by `eventType`, `actorUserId`, or date range (`since`/`until`).
2679
+ parameters:
2680
+ - $ref: "#/components/parameters/WorkspaceId"
2681
+ - $ref: "#/components/parameters/PaginationLimit"
2682
+ - $ref: "#/components/parameters/PaginationOffset"
2683
+ - $ref: "#/components/parameters/PaginationOrder"
2684
+ - name: eventType
2685
+ in: query
2686
+ description: Filter to a specific event type.
2687
+ schema:
2688
+ $ref: "#/components/schemas/ActivityLogEventTypeDto"
2689
+ - name: actorUserId
2690
+ in: query
2691
+ description: Filter to events performed by a specific user (UUID).
2692
+ schema:
2693
+ type: string
2694
+ format: uuid
2695
+ - name: since
2696
+ in: query
2697
+ description: ISO-8601 lower bound on `occurredAt` (inclusive).
2698
+ schema:
2699
+ type: string
2700
+ format: date-time
2701
+ - name: until
2702
+ in: query
2703
+ description: ISO-8601 upper bound on `occurredAt` (inclusive).
2704
+ schema:
2705
+ type: string
2706
+ format: date-time
2707
+ - name: eventCategory
2708
+ in: query
2709
+ required: false
2710
+ description: >
2711
+ Filter by event namespace prefix (e.g. "fix", "repo", "integration", "readiness", "config", "member").
2712
+ schema:
2713
+ type: string
2714
+ - name: search
2715
+ in: query
2716
+ required: false
2717
+ description: >
2718
+ Case-insensitive substring filter applied across repo name,
2719
+ integration type, actor email, and actor display name.
2720
+ schema:
2721
+ type: string
2722
+ maxLength: 200
2723
+ responses:
2724
+ "200":
2725
+ description: Paginated activity log entries
2726
+ content:
2727
+ application/json:
2728
+ schema:
2729
+ $ref: "#/components/schemas/ActivityLogPageDto"
2730
+ "400":
2731
+ description: Invalid query parameters
2732
+ content:
2733
+ application/json:
2734
+ schema:
2735
+ $ref: "#/components/schemas/ErrorMessageDto"
2736
+ "401":
2737
+ $ref: "#/components/responses/Unauthorized"
2738
+ "403":
2739
+ $ref: "#/components/responses/Forbidden"
2740
+ "404":
2741
+ description: Workspace does not exist
2742
+ content:
2743
+ application/json:
2744
+ schema:
2745
+ $ref: "#/components/schemas/ErrorMessageDto"
2746
+
2606
2747
  /workspaces/{workspaceId}/readiness/score-history:
2607
2748
  get:
2608
2749
  tags: [RepositoryReadiness]
@@ -7363,3 +7504,148 @@ components:
7363
7504
  type: integer
7364
7505
  activeUsers:
7365
7506
  type: integer
7507
+
7508
+ PatchRepoArchiveBodyDto:
7509
+ type: object
7510
+ required: [archived]
7511
+ properties:
7512
+ archived:
7513
+ type: boolean
7514
+ description: >
7515
+ `true` to soft-remove (Inactive). `false` to restore a previously Inactive repo (Active),
7516
+ which also enqueues a fresh readiness scan.
7517
+
7518
+ PatchRepoArchiveResponseDto:
7519
+ type: object
7520
+ required: [repoId, status]
7521
+ properties:
7522
+ repoId:
7523
+ type: string
7524
+ format: uuid
7525
+ status:
7526
+ type: string
7527
+ enum: [Active, Inactive]
7528
+ description: Current lifecycle status of the repository after the operation.
7529
+ runId:
7530
+ type: string
7531
+ format: uuid
7532
+ nullable: true
7533
+ description: ID of the freshly enqueued readiness scan run (only present on re-add).
7534
+
7535
+ ActivityLogEventTypeDto:
7536
+ type: string
7537
+ description: Type of workspace lifecycle event.
7538
+ enum:
7539
+ - repo.added
7540
+ - repo.removed
7541
+ - repo.readded
7542
+ - integration.github.added
7543
+ - integration.github.updated
7544
+ - integration.github.removed
7545
+ - integration.github.permissions_changed
7546
+ - integration.github.repo_added
7547
+ - integration.github.repo_removed
7548
+ - fix.requested
7549
+ - fix.generating
7550
+ - fix.pr_created
7551
+ - fix.merged
7552
+ - fix.failed
7553
+ - readiness.scan_started
7554
+ - readiness.scan_completed
7555
+ - readiness.scan_failed
7556
+ - readiness.scan_partial
7557
+ - config.cursor.added
7558
+ - config.cursor.updated
7559
+ - config.cursor.removed
7560
+ - config.cursor.platform_key_enabled
7561
+ - config.cursor.platform_key_disabled
7562
+ - config.claude.added
7563
+ - config.claude.updated
7564
+ - config.claude.removed
7565
+ - member.invited
7566
+ - member.role_changed
7567
+ - member.removed
7568
+
7569
+ ActivityLogActorDto:
7570
+ type: object
7571
+ required: [userId]
7572
+ properties:
7573
+ userId:
7574
+ type: string
7575
+ format: uuid
7576
+ email:
7577
+ type: string
7578
+ format: email
7579
+ nullable: true
7580
+ name:
7581
+ type: string
7582
+ nullable: true
7583
+
7584
+ ActivityLogEntryDto:
7585
+ type: object
7586
+ required: [id, eventType, eventCategory, occurredAt, actorType]
7587
+ properties:
7588
+ id:
7589
+ type: string
7590
+ format: uuid
7591
+ eventType:
7592
+ $ref: "#/components/schemas/ActivityLogEventTypeDto"
7593
+ eventCategory:
7594
+ type: string
7595
+ description: Namespace prefix derived from event_type (e.g. "fix", "repo", "config").
7596
+ occurredAt:
7597
+ type: string
7598
+ format: date-time
7599
+ actorType:
7600
+ type: string
7601
+ enum: [user, system, webhook]
7602
+ description: Whether the event was triggered by a human user, a batch/system process, or a webhook.
7603
+ actor:
7604
+ nullable: true
7605
+ allOf:
7606
+ - $ref: "#/components/schemas/ActivityLogActorDto"
7607
+ repoId:
7608
+ type: string
7609
+ format: uuid
7610
+ nullable: true
7611
+ repoName:
7612
+ type: string
7613
+ nullable: true
7614
+ integrationId:
7615
+ type: string
7616
+ format: uuid
7617
+ nullable: true
7618
+ integrationType:
7619
+ type: string
7620
+ nullable: true
7621
+ fixRequestId:
7622
+ type: string
7623
+ format: uuid
7624
+ nullable: true
7625
+ description: ID of the related fix request (fix.* events).
7626
+ issueId:
7627
+ type: string
7628
+ format: uuid
7629
+ nullable: true
7630
+ description: ID of the related readiness issue (fix.* events).
7631
+ readinessRunId:
7632
+ type: string
7633
+ format: uuid
7634
+ nullable: true
7635
+ description: ID of the related readiness run (readiness.* events).
7636
+ metadata:
7637
+ type: object
7638
+ additionalProperties: true
7639
+ nullable: true
7640
+ description: Event-specific supplementary data (before/after state, installation IDs, etc.).
7641
+
7642
+ ActivityLogPageDto:
7643
+ allOf:
7644
+ - $ref: "#/components/schemas/PageMetaDto"
7645
+ - type: object
7646
+ required: [items]
7647
+ properties:
7648
+ items:
7649
+ type: array
7650
+ items:
7651
+ $ref: "#/components/schemas/ActivityLogEntryDto"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkai/tai-api-contract",
3
- "version": "2.11.1",
3
+ "version": "2.12.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -21,6 +21,7 @@
21
21
  "dependencies": {},
22
22
  "devDependencies": {
23
23
  "@stoplight/spectral-cli": "^6.15.1",
24
+ "jsonpath-plus": "^10.3.0",
24
25
  "openapi-typescript": "^7.13.0",
25
26
  "typescript": "~5.3.0"
26
27
  },
@@ -949,7 +949,12 @@ export interface paths {
949
949
  delete?: never;
950
950
  options?: never;
951
951
  head?: never;
952
- patch?: never;
952
+ /**
953
+ * Archive (remove) or restore (re-add) a repository
954
+ * @description Set `archived: true` to soft-remove the repo (Inactive). Set `archived: false` to re-add a previously Inactive repo (Active). Re-add reuses the same `repo_id` row so historical scan foreign keys remain intact, and automatically enqueues a fresh readiness scan.
955
+ * Returns `409` with `code: repo_scan_in_progress` if a scan is queued or running when archiving. Returns `409` with `code: repo_already_active` if re-adding a repo that is already Active.
956
+ */
957
+ patch: operations["patchReadinessRepo"];
953
958
  trace?: never;
954
959
  };
955
960
  "/workspaces/{workspaceId}/readiness/repos/{repoId}/runs": {
@@ -992,6 +997,26 @@ export interface paths {
992
997
  patch?: never;
993
998
  trace?: never;
994
999
  };
1000
+ "/workspaces/{workspaceId}/activity": {
1001
+ parameters: {
1002
+ query?: never;
1003
+ header?: never;
1004
+ path?: never;
1005
+ cookie?: never;
1006
+ };
1007
+ /**
1008
+ * Workspace activity log (paginated)
1009
+ * @description Paginated, chronological feed of workspace-scoped lifecycle events: repository add/remove/re-add and GitHub integration add/remove. Inactive repos remain visible in this log. Filter by `eventType`, `actorUserId`, or date range (`since`/`until`).
1010
+ */
1011
+ get: operations["listWorkspaceActivity"];
1012
+ put?: never;
1013
+ post?: never;
1014
+ delete?: never;
1015
+ options?: never;
1016
+ head?: never;
1017
+ patch?: never;
1018
+ trace?: never;
1019
+ };
995
1020
  "/workspaces/{workspaceId}/readiness/score-history": {
996
1021
  parameters: {
997
1022
  query?: never;
@@ -3120,6 +3145,79 @@ export interface components {
3120
3145
  activeUsers: number;
3121
3146
  }[];
3122
3147
  };
3148
+ PatchRepoArchiveBodyDto: {
3149
+ /** @description `true` to soft-remove (Inactive). `false` to restore a previously Inactive repo (Active), which also enqueues a fresh readiness scan. */
3150
+ archived: boolean;
3151
+ };
3152
+ PatchRepoArchiveResponseDto: {
3153
+ /** Format: uuid */
3154
+ repoId: string;
3155
+ /**
3156
+ * @description Current lifecycle status of the repository after the operation.
3157
+ * @enum {string}
3158
+ */
3159
+ status: "Active" | "Inactive";
3160
+ /**
3161
+ * Format: uuid
3162
+ * @description ID of the freshly enqueued readiness scan run (only present on re-add).
3163
+ */
3164
+ runId?: string | null;
3165
+ };
3166
+ /**
3167
+ * @description Type of workspace lifecycle event.
3168
+ * @enum {string}
3169
+ */
3170
+ 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" | "member.invited" | "member.role_changed" | "member.removed";
3171
+ ActivityLogActorDto: {
3172
+ /** Format: uuid */
3173
+ userId: string;
3174
+ /** Format: email */
3175
+ email?: string | null;
3176
+ name?: string | null;
3177
+ };
3178
+ ActivityLogEntryDto: {
3179
+ /** Format: uuid */
3180
+ id: string;
3181
+ eventType: components["schemas"]["ActivityLogEventTypeDto"];
3182
+ /** @description Namespace prefix derived from event_type (e.g. "fix", "repo", "config"). */
3183
+ eventCategory: string;
3184
+ /** Format: date-time */
3185
+ occurredAt: string;
3186
+ /**
3187
+ * @description Whether the event was triggered by a human user, a batch/system process, or a webhook.
3188
+ * @enum {string}
3189
+ */
3190
+ actorType: "user" | "system" | "webhook";
3191
+ actor?: components["schemas"]["ActivityLogActorDto"] | null;
3192
+ /** Format: uuid */
3193
+ repoId?: string | null;
3194
+ repoName?: string | null;
3195
+ /** Format: uuid */
3196
+ integrationId?: string | null;
3197
+ integrationType?: string | null;
3198
+ /**
3199
+ * Format: uuid
3200
+ * @description ID of the related fix request (fix.* events).
3201
+ */
3202
+ fixRequestId?: string | null;
3203
+ /**
3204
+ * Format: uuid
3205
+ * @description ID of the related readiness issue (fix.* events).
3206
+ */
3207
+ issueId?: string | null;
3208
+ /**
3209
+ * Format: uuid
3210
+ * @description ID of the related readiness run (readiness.* events).
3211
+ */
3212
+ readinessRunId?: string | null;
3213
+ /** @description Event-specific supplementary data (before/after state, installation IDs, etc.). */
3214
+ metadata?: {
3215
+ [key: string]: unknown;
3216
+ } | null;
3217
+ };
3218
+ ActivityLogPageDto: components["schemas"]["PageMetaDto"] & {
3219
+ items: components["schemas"]["ActivityLogEntryDto"][];
3220
+ };
3123
3221
  };
3124
3222
  responses: {
3125
3223
  /** @description Missing or invalid bearer token */
@@ -3341,6 +3439,12 @@ export type YourAiJourneyReadinessAggregateDto = components['schemas']['YourAiJo
3341
3439
  export type YourAiJourneyAnalyticsDto = components['schemas']['YourAiJourneyAnalyticsDto'];
3342
3440
  export type YourAiJourneyAiSpendWeekDto = components['schemas']['YourAiJourneyAiSpendWeekDto'];
3343
3441
  export type YourAiJourneyAiSpendDto = components['schemas']['YourAiJourneyAiSpendDto'];
3442
+ export type PatchRepoArchiveBodyDto = components['schemas']['PatchRepoArchiveBodyDto'];
3443
+ export type PatchRepoArchiveResponseDto = components['schemas']['PatchRepoArchiveResponseDto'];
3444
+ export type ActivityLogEventTypeDto = components['schemas']['ActivityLogEventTypeDto'];
3445
+ export type ActivityLogActorDto = components['schemas']['ActivityLogActorDto'];
3446
+ export type ActivityLogEntryDto = components['schemas']['ActivityLogEntryDto'];
3447
+ export type ActivityLogPageDto = components['schemas']['ActivityLogPageDto'];
3344
3448
  export type ResponseUnauthorized = components['responses']['Unauthorized'];
3345
3449
  export type ResponseForbidden = components['responses']['Forbidden'];
3346
3450
  export type ParameterWorkspaceId = components['parameters']['WorkspaceId'];
@@ -5537,6 +5641,8 @@ export interface operations {
5537
5641
  search?: components["parameters"]["ReadinessRepoSearch"];
5538
5642
  /** @description Exact language filter (e.g. `typescript`). */
5539
5643
  language?: components["parameters"]["ReadinessRepoLanguage"];
5644
+ /** @description When `true`, includes Inactive (user-removed) repos alongside Active ones. Default is `false` (active only). */
5645
+ includeArchived?: boolean;
5540
5646
  };
5541
5647
  header?: never;
5542
5648
  path: {
@@ -5751,6 +5857,62 @@ export interface operations {
5751
5857
  };
5752
5858
  };
5753
5859
  };
5860
+ patchReadinessRepo: {
5861
+ parameters: {
5862
+ query?: never;
5863
+ header?: never;
5864
+ path: {
5865
+ workspaceId: components["parameters"]["WorkspaceId"];
5866
+ repoId: components["parameters"]["RepoId"];
5867
+ };
5868
+ cookie?: never;
5869
+ };
5870
+ requestBody: {
5871
+ content: {
5872
+ "application/json": components["schemas"]["PatchRepoArchiveBodyDto"];
5873
+ };
5874
+ };
5875
+ responses: {
5876
+ /** @description Repo status updated */
5877
+ 200: {
5878
+ headers: {
5879
+ [name: string]: unknown;
5880
+ };
5881
+ content: {
5882
+ "application/json": components["schemas"]["PatchRepoArchiveResponseDto"];
5883
+ };
5884
+ };
5885
+ /** @description Malformed request body or repoId */
5886
+ 400: {
5887
+ headers: {
5888
+ [name: string]: unknown;
5889
+ };
5890
+ content: {
5891
+ "application/json": components["schemas"]["ErrorMessageDto"];
5892
+ };
5893
+ };
5894
+ 401: components["responses"]["Unauthorized"];
5895
+ 403: components["responses"]["Forbidden"];
5896
+ /** @description Workspace or repository not found */
5897
+ 404: {
5898
+ headers: {
5899
+ [name: string]: unknown;
5900
+ };
5901
+ content: {
5902
+ "application/json": components["schemas"]["ErrorMessageDto"];
5903
+ };
5904
+ };
5905
+ /** @description Conflict — scan in progress or repo already in the requested state */
5906
+ 409: {
5907
+ headers: {
5908
+ [name: string]: unknown;
5909
+ };
5910
+ content: {
5911
+ "application/json": components["schemas"]["ErrorMessageDto"];
5912
+ };
5913
+ };
5914
+ };
5915
+ };
5754
5916
  listReadinessRepoRuns: {
5755
5917
  parameters: {
5756
5918
  query?: {
@@ -5854,6 +6016,67 @@ export interface operations {
5854
6016
  };
5855
6017
  };
5856
6018
  };
6019
+ listWorkspaceActivity: {
6020
+ parameters: {
6021
+ query?: {
6022
+ /** @description Page size (default 25, max 100). */
6023
+ limit?: components["parameters"]["PaginationLimit"];
6024
+ /** @description Zero-based row offset into the filtered, sorted result set. */
6025
+ offset?: components["parameters"]["PaginationOffset"];
6026
+ /** @description Sort direction. */
6027
+ order?: components["parameters"]["PaginationOrder"];
6028
+ /** @description Filter to a specific event type. */
6029
+ eventType?: components["schemas"]["ActivityLogEventTypeDto"];
6030
+ /** @description Filter to events performed by a specific user (UUID). */
6031
+ actorUserId?: string;
6032
+ /** @description ISO-8601 lower bound on `occurredAt` (inclusive). */
6033
+ since?: string;
6034
+ /** @description ISO-8601 upper bound on `occurredAt` (inclusive). */
6035
+ until?: string;
6036
+ /** @description Filter by event namespace prefix (e.g. "fix", "repo", "integration", "readiness", "config", "member"). */
6037
+ eventCategory?: string;
6038
+ /** @description Case-insensitive substring filter applied across repo name, integration type, actor email, and actor display name. */
6039
+ search?: string;
6040
+ };
6041
+ header?: never;
6042
+ path: {
6043
+ workspaceId: components["parameters"]["WorkspaceId"];
6044
+ };
6045
+ cookie?: never;
6046
+ };
6047
+ requestBody?: never;
6048
+ responses: {
6049
+ /** @description Paginated activity log entries */
6050
+ 200: {
6051
+ headers: {
6052
+ [name: string]: unknown;
6053
+ };
6054
+ content: {
6055
+ "application/json": components["schemas"]["ActivityLogPageDto"];
6056
+ };
6057
+ };
6058
+ /** @description Invalid query parameters */
6059
+ 400: {
6060
+ headers: {
6061
+ [name: string]: unknown;
6062
+ };
6063
+ content: {
6064
+ "application/json": components["schemas"]["ErrorMessageDto"];
6065
+ };
6066
+ };
6067
+ 401: components["responses"]["Unauthorized"];
6068
+ 403: components["responses"]["Forbidden"];
6069
+ /** @description Workspace does not exist */
6070
+ 404: {
6071
+ headers: {
6072
+ [name: string]: unknown;
6073
+ };
6074
+ content: {
6075
+ "application/json": components["schemas"]["ErrorMessageDto"];
6076
+ };
6077
+ };
6078
+ };
6079
+ };
5857
6080
  getReadinessScoreHistory: {
5858
6081
  parameters: {
5859
6082
  query?: {