@thinkai/tai-api-contract 2.55.0 → 2.57.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.
- package/dist/generated/openapi.d.ts +315 -3
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +277 -4
- package/package.json +1 -1
- package/src/generated/openapi.ts +315 -3
package/openapi/openapi.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
openapi: 3.0.3
|
|
2
2
|
info:
|
|
3
3
|
title: ThinkAI API
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.57.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}/...`.
|
|
@@ -64,6 +64,8 @@ tags:
|
|
|
64
64
|
description: >
|
|
65
65
|
Data subject access / erasure / portability request intake and privacy-ops management (DSAR, issue #611).
|
|
66
66
|
Public and authenticated submission; platform-admin queue, export, and fulfillment.
|
|
67
|
+
- name: Platform
|
|
68
|
+
description: Platform-wide banner surfaces (global outage/maintenance banner, issue #284).
|
|
67
69
|
|
|
68
70
|
paths:
|
|
69
71
|
/admin/users/{userId}:
|
|
@@ -694,6 +696,98 @@ paths:
|
|
|
694
696
|
schema:
|
|
695
697
|
$ref: "#/components/schemas/ErrorMessageDto"
|
|
696
698
|
|
|
699
|
+
/platform/banner:
|
|
700
|
+
get:
|
|
701
|
+
tags: [Platform]
|
|
702
|
+
summary: Global platform banner
|
|
703
|
+
operationId: getPlatformBanner
|
|
704
|
+
security: []
|
|
705
|
+
description: >
|
|
706
|
+
Returns the active global outage or maintenance banner for the platform shell, if any.
|
|
707
|
+
No authentication required so signed-in users can see incident messaging during partial outages.
|
|
708
|
+
When both a database-managed banner and a runtime-config fallback exist, the database value wins.
|
|
709
|
+
responses:
|
|
710
|
+
"200":
|
|
711
|
+
description: Active platform banner (if any)
|
|
712
|
+
content:
|
|
713
|
+
application/json:
|
|
714
|
+
schema:
|
|
715
|
+
$ref: "#/components/schemas/PlatformBannerViewDto"
|
|
716
|
+
|
|
717
|
+
/admin/platform/banner:
|
|
718
|
+
get:
|
|
719
|
+
tags: [PlatformAdmin]
|
|
720
|
+
summary: Read stored and effective global platform banner
|
|
721
|
+
operationId: adminGetPlatformBanner
|
|
722
|
+
description: >
|
|
723
|
+
Platform admins only. Returns the database-stored banner (`stored`) for editing and the
|
|
724
|
+
merged banner users see (`effective`, DB wins over runtime-config fallback). Requires Bearer
|
|
725
|
+
JWT from an email on `PLATFORM_ADMIN_EMAILS`.
|
|
726
|
+
responses:
|
|
727
|
+
"200":
|
|
728
|
+
description: Admin platform banner view
|
|
729
|
+
content:
|
|
730
|
+
application/json:
|
|
731
|
+
schema:
|
|
732
|
+
$ref: "#/components/schemas/PlatformAdminBannerDto"
|
|
733
|
+
"401":
|
|
734
|
+
$ref: "#/components/responses/Unauthorized"
|
|
735
|
+
"403":
|
|
736
|
+
description: Caller is not a platform admin.
|
|
737
|
+
content:
|
|
738
|
+
application/json:
|
|
739
|
+
schema:
|
|
740
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
741
|
+
"503":
|
|
742
|
+
description: Platform banner persistence unavailable.
|
|
743
|
+
content:
|
|
744
|
+
application/json:
|
|
745
|
+
schema:
|
|
746
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
747
|
+
put:
|
|
748
|
+
tags: [PlatformAdmin]
|
|
749
|
+
summary: Set or clear global platform banner
|
|
750
|
+
operationId: adminUpsertPlatformBanner
|
|
751
|
+
description: >
|
|
752
|
+
Platform admins may activate, update, or clear (`banner: null`) the global outage/maintenance banner
|
|
753
|
+
shown in the authenticated SPA shell. Requires Bearer JWT from an email on `PLATFORM_ADMIN_EMAILS`.
|
|
754
|
+
requestBody:
|
|
755
|
+
required: true
|
|
756
|
+
content:
|
|
757
|
+
application/json:
|
|
758
|
+
schema:
|
|
759
|
+
$ref: "#/components/schemas/PlatformBannerUpsertDto"
|
|
760
|
+
responses:
|
|
761
|
+
"200":
|
|
762
|
+
description: Updated platform banner
|
|
763
|
+
content:
|
|
764
|
+
application/json:
|
|
765
|
+
schema:
|
|
766
|
+
$ref: "#/components/schemas/PlatformBannerViewDto"
|
|
767
|
+
"400":
|
|
768
|
+
description: Invalid banner payload
|
|
769
|
+
content:
|
|
770
|
+
application/json:
|
|
771
|
+
schema:
|
|
772
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
773
|
+
"401":
|
|
774
|
+
$ref: "#/components/responses/Unauthorized"
|
|
775
|
+
"403":
|
|
776
|
+
description: Caller is not a platform admin.
|
|
777
|
+
content:
|
|
778
|
+
application/json:
|
|
779
|
+
schema:
|
|
780
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
781
|
+
example:
|
|
782
|
+
error: Forbidden
|
|
783
|
+
code: forbidden
|
|
784
|
+
"503":
|
|
785
|
+
description: Platform banner persistence unavailable.
|
|
786
|
+
content:
|
|
787
|
+
application/json:
|
|
788
|
+
schema:
|
|
789
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
790
|
+
|
|
697
791
|
/me:
|
|
698
792
|
get:
|
|
699
793
|
tags: [Me]
|
|
@@ -4666,6 +4760,53 @@ paths:
|
|
|
4666
4760
|
schema:
|
|
4667
4761
|
$ref: "#/components/schemas/ErrorMessageDto"
|
|
4668
4762
|
|
|
4763
|
+
/workspaces/{workspaceId}/agentic-foundation/repo-scope:
|
|
4764
|
+
put:
|
|
4765
|
+
tags: [AgenticFoundation]
|
|
4766
|
+
summary: Update Agentic Foundation repository scope
|
|
4767
|
+
description: >
|
|
4768
|
+
Bulk include/exclude materialized repos from Agentic Foundation by toggling the existing
|
|
4769
|
+
`user_removed` archive state. Excluded repos remain integrated for productivity metrics.
|
|
4770
|
+
Only workspace admins may call this endpoint. Partial failures are reported per repo.
|
|
4771
|
+
operationId: putAgenticFoundationRepoScope
|
|
4772
|
+
parameters:
|
|
4773
|
+
- $ref: "#/components/parameters/WorkspaceId"
|
|
4774
|
+
requestBody:
|
|
4775
|
+
required: true
|
|
4776
|
+
content:
|
|
4777
|
+
application/json:
|
|
4778
|
+
schema:
|
|
4779
|
+
$ref: "#/components/schemas/PutAgenticFoundationRepoScopeBodyDto"
|
|
4780
|
+
example:
|
|
4781
|
+
changes:
|
|
4782
|
+
- repoId: 00000000-0000-0000-0000-000000000101
|
|
4783
|
+
included: false
|
|
4784
|
+
- repoId: 00000000-0000-0000-0000-000000000102
|
|
4785
|
+
included: true
|
|
4786
|
+
responses:
|
|
4787
|
+
"200":
|
|
4788
|
+
description: Scope changes applied (possibly with per-repo failures)
|
|
4789
|
+
content:
|
|
4790
|
+
application/json:
|
|
4791
|
+
schema:
|
|
4792
|
+
$ref: "#/components/schemas/PutAgenticFoundationRepoScopeResponseDto"
|
|
4793
|
+
"400":
|
|
4794
|
+
description: Invalid request body
|
|
4795
|
+
content:
|
|
4796
|
+
application/json:
|
|
4797
|
+
schema:
|
|
4798
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
4799
|
+
"401":
|
|
4800
|
+
$ref: "#/components/responses/Unauthorized"
|
|
4801
|
+
"403":
|
|
4802
|
+
$ref: "#/components/responses/Forbidden"
|
|
4803
|
+
"404":
|
|
4804
|
+
description: Workspace does not exist
|
|
4805
|
+
content:
|
|
4806
|
+
application/json:
|
|
4807
|
+
schema:
|
|
4808
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
4809
|
+
|
|
4669
4810
|
/workspaces/{workspaceId}/agentic-foundation/dashboard:
|
|
4670
4811
|
get:
|
|
4671
4812
|
tags: [AgenticFoundation]
|
|
@@ -11129,8 +11270,8 @@ components:
|
|
|
11129
11270
|
archivedReason:
|
|
11130
11271
|
type: string
|
|
11131
11272
|
nullable: true
|
|
11132
|
-
enum: [github_removed, installation_disconnected, installation_replaced, superseded]
|
|
11133
|
-
description: Why the repo was archived. Only present when `archivedAt` is set.
|
|
11273
|
+
enum: [github_removed, installation_disconnected, installation_replaced, superseded, user_removed]
|
|
11274
|
+
description: Why the repo was archived. `user_removed` means excluded from Agentic Foundation scope only. Only present when `archivedAt` is set.
|
|
11134
11275
|
eligibilityStatus:
|
|
11135
11276
|
type: string
|
|
11136
11277
|
enum: [eligible, ineligible]
|
|
@@ -11273,7 +11414,7 @@ components:
|
|
|
11273
11414
|
archivedReason:
|
|
11274
11415
|
type: string
|
|
11275
11416
|
nullable: true
|
|
11276
|
-
enum: [github_removed, installation_disconnected, installation_replaced, superseded]
|
|
11417
|
+
enum: [github_removed, installation_disconnected, installation_replaced, superseded, user_removed]
|
|
11277
11418
|
eligibilityStatus:
|
|
11278
11419
|
type: string
|
|
11279
11420
|
enum: [eligible, ineligible]
|
|
@@ -11883,6 +12024,67 @@ components:
|
|
|
11883
12024
|
type: string
|
|
11884
12025
|
format: date-time
|
|
11885
12026
|
|
|
12027
|
+
PlatformBannerDto:
|
|
12028
|
+
type: object
|
|
12029
|
+
required: [id, kind, title, message, dismissible]
|
|
12030
|
+
properties:
|
|
12031
|
+
id:
|
|
12032
|
+
type: string
|
|
12033
|
+
description: Stable identifier used for dismiss persistence in the SPA.
|
|
12034
|
+
kind:
|
|
12035
|
+
type: string
|
|
12036
|
+
enum: [maintenance, outage, info]
|
|
12037
|
+
title:
|
|
12038
|
+
type: string
|
|
12039
|
+
message:
|
|
12040
|
+
type: string
|
|
12041
|
+
dismissible:
|
|
12042
|
+
type: boolean
|
|
12043
|
+
statusPageUrl:
|
|
12044
|
+
type: string
|
|
12045
|
+
description: Optional link to the public status page (status.aidrivensdlc.com).
|
|
12046
|
+
startsAt:
|
|
12047
|
+
type: string
|
|
12048
|
+
format: date-time
|
|
12049
|
+
description: When set, the banner is hidden before this instant (UTC).
|
|
12050
|
+
endsAt:
|
|
12051
|
+
type: string
|
|
12052
|
+
format: date-time
|
|
12053
|
+
description: When set, the banner is hidden after this instant (UTC).
|
|
12054
|
+
|
|
12055
|
+
PlatformBannerViewDto:
|
|
12056
|
+
type: object
|
|
12057
|
+
required: [banner]
|
|
12058
|
+
properties:
|
|
12059
|
+
banner:
|
|
12060
|
+
allOf:
|
|
12061
|
+
- $ref: "#/components/schemas/PlatformBannerDto"
|
|
12062
|
+
nullable: true
|
|
12063
|
+
|
|
12064
|
+
PlatformBannerUpsertDto:
|
|
12065
|
+
type: object
|
|
12066
|
+
required: [banner]
|
|
12067
|
+
properties:
|
|
12068
|
+
banner:
|
|
12069
|
+
allOf:
|
|
12070
|
+
- $ref: "#/components/schemas/PlatformBannerDto"
|
|
12071
|
+
nullable: true
|
|
12072
|
+
description: Pass null to clear the active database-managed banner.
|
|
12073
|
+
|
|
12074
|
+
PlatformAdminBannerDto:
|
|
12075
|
+
type: object
|
|
12076
|
+
required: [stored, effective]
|
|
12077
|
+
properties:
|
|
12078
|
+
stored:
|
|
12079
|
+
allOf:
|
|
12080
|
+
- $ref: "#/components/schemas/PlatformBannerDto"
|
|
12081
|
+
nullable: true
|
|
12082
|
+
description: Banner persisted in the database (editable via PUT).
|
|
12083
|
+
effective:
|
|
12084
|
+
allOf:
|
|
12085
|
+
- $ref: "#/components/schemas/PlatformBannerViewDto"
|
|
12086
|
+
description: Merged banner shown in the SPA (stored wins over runtime-config fallback).
|
|
12087
|
+
|
|
11886
12088
|
NotificationDto:
|
|
11887
12089
|
type: object
|
|
11888
12090
|
required: [id, type, title, message, read, createdAt]
|
|
@@ -12453,6 +12655,77 @@ components:
|
|
|
12453
12655
|
nullable: true
|
|
12454
12656
|
description: ID of the freshly enqueued readiness scan run (only present on re-add).
|
|
12455
12657
|
|
|
12658
|
+
PutAgenticFoundationRepoScopeChangeDto:
|
|
12659
|
+
type: object
|
|
12660
|
+
required: [repoId, included]
|
|
12661
|
+
properties:
|
|
12662
|
+
repoId:
|
|
12663
|
+
type: string
|
|
12664
|
+
format: uuid
|
|
12665
|
+
included:
|
|
12666
|
+
type: boolean
|
|
12667
|
+
description: >
|
|
12668
|
+
`true` to include in Agentic Foundation scope (unarchive user_removed).
|
|
12669
|
+
`false` to exclude (soft-archive with archived_reason user_removed).
|
|
12670
|
+
|
|
12671
|
+
PutAgenticFoundationRepoScopeBodyDto:
|
|
12672
|
+
type: object
|
|
12673
|
+
required: [changes]
|
|
12674
|
+
properties:
|
|
12675
|
+
changes:
|
|
12676
|
+
type: array
|
|
12677
|
+
minItems: 1
|
|
12678
|
+
maxItems: 200
|
|
12679
|
+
items:
|
|
12680
|
+
$ref: "#/components/schemas/PutAgenticFoundationRepoScopeChangeDto"
|
|
12681
|
+
|
|
12682
|
+
PutAgenticFoundationRepoScopeAppliedDto:
|
|
12683
|
+
type: object
|
|
12684
|
+
required: [repoId, status]
|
|
12685
|
+
properties:
|
|
12686
|
+
repoId:
|
|
12687
|
+
type: string
|
|
12688
|
+
format: uuid
|
|
12689
|
+
status:
|
|
12690
|
+
type: string
|
|
12691
|
+
enum: [Active, Inactive]
|
|
12692
|
+
runId:
|
|
12693
|
+
type: string
|
|
12694
|
+
format: uuid
|
|
12695
|
+
nullable: true
|
|
12696
|
+
|
|
12697
|
+
PutAgenticFoundationRepoScopeFailureDto:
|
|
12698
|
+
type: object
|
|
12699
|
+
required: [repoId, code, message]
|
|
12700
|
+
properties:
|
|
12701
|
+
repoId:
|
|
12702
|
+
type: string
|
|
12703
|
+
format: uuid
|
|
12704
|
+
code:
|
|
12705
|
+
type: string
|
|
12706
|
+
enum:
|
|
12707
|
+
- not_found
|
|
12708
|
+
- scan_in_progress
|
|
12709
|
+
- not_archived
|
|
12710
|
+
- already_active
|
|
12711
|
+
- system_archived
|
|
12712
|
+
- forbidden
|
|
12713
|
+
message:
|
|
12714
|
+
type: string
|
|
12715
|
+
|
|
12716
|
+
PutAgenticFoundationRepoScopeResponseDto:
|
|
12717
|
+
type: object
|
|
12718
|
+
required: [applied, failures]
|
|
12719
|
+
properties:
|
|
12720
|
+
applied:
|
|
12721
|
+
type: array
|
|
12722
|
+
items:
|
|
12723
|
+
$ref: "#/components/schemas/PutAgenticFoundationRepoScopeAppliedDto"
|
|
12724
|
+
failures:
|
|
12725
|
+
type: array
|
|
12726
|
+
items:
|
|
12727
|
+
$ref: "#/components/schemas/PutAgenticFoundationRepoScopeFailureDto"
|
|
12728
|
+
|
|
12456
12729
|
ActivityLogEventTypeDto:
|
|
12457
12730
|
type: string
|
|
12458
12731
|
description: Type of workspace lifecycle event.
|