@thinkai/tai-api-contract 2.134.0 → 2.135.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 +137 -0
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +115 -1
- package/package.json +1 -1
- package/src/generated/openapi.ts +137 -0
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.135.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}/...`.
|
|
@@ -4219,6 +4219,79 @@ paths:
|
|
|
4219
4219
|
schema:
|
|
4220
4220
|
$ref: "#/components/schemas/ErrorMessageDto"
|
|
4221
4221
|
|
|
4222
|
+
/workspaces/{workspaceId}/company-profile/logo:
|
|
4223
|
+
put:
|
|
4224
|
+
tags: [CompanyProfile]
|
|
4225
|
+
summary: Upload company logo
|
|
4226
|
+
operationId: putCompanyProfileLogo
|
|
4227
|
+
description: >
|
|
4228
|
+
Scales the uploaded PNG, JPEG, or WebP to a 128×128 WebP (the mark is fitted inside
|
|
4229
|
+
the square with transparent padding) and stores that image. Requires a saved company
|
|
4230
|
+
profile. Editor or admin only. Source images larger than 2 MB decoded are rejected.
|
|
4231
|
+
parameters:
|
|
4232
|
+
- $ref: "#/components/parameters/WorkspaceId"
|
|
4233
|
+
requestBody:
|
|
4234
|
+
required: true
|
|
4235
|
+
content:
|
|
4236
|
+
application/json:
|
|
4237
|
+
schema:
|
|
4238
|
+
$ref: "#/components/schemas/CompanyProfileLogoPutDto"
|
|
4239
|
+
responses:
|
|
4240
|
+
"200":
|
|
4241
|
+
description: Stored 128×128 WebP
|
|
4242
|
+
content:
|
|
4243
|
+
application/json:
|
|
4244
|
+
schema:
|
|
4245
|
+
$ref: "#/components/schemas/WorkspaceLogoDto"
|
|
4246
|
+
"400":
|
|
4247
|
+
description: Invalid image, unsupported type, or result still too large
|
|
4248
|
+
content:
|
|
4249
|
+
application/json:
|
|
4250
|
+
schema:
|
|
4251
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
4252
|
+
"401":
|
|
4253
|
+
$ref: "#/components/responses/Unauthorized"
|
|
4254
|
+
"403":
|
|
4255
|
+
$ref: "#/components/responses/Forbidden"
|
|
4256
|
+
"404":
|
|
4257
|
+
description: Workspace does not exist
|
|
4258
|
+
content:
|
|
4259
|
+
application/json:
|
|
4260
|
+
schema:
|
|
4261
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
4262
|
+
"409":
|
|
4263
|
+
description: No company profile saved yet (`company_profile_required`)
|
|
4264
|
+
content:
|
|
4265
|
+
application/json:
|
|
4266
|
+
schema:
|
|
4267
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
4268
|
+
delete:
|
|
4269
|
+
tags: [CompanyProfile]
|
|
4270
|
+
summary: Remove company logo
|
|
4271
|
+
operationId: deleteCompanyProfileLogo
|
|
4272
|
+
description: Clears the stored logo. Editor or admin only. Succeeds when no logo is stored.
|
|
4273
|
+
parameters:
|
|
4274
|
+
- $ref: "#/components/parameters/WorkspaceId"
|
|
4275
|
+
responses:
|
|
4276
|
+
"204":
|
|
4277
|
+
description: Logo cleared
|
|
4278
|
+
"401":
|
|
4279
|
+
$ref: "#/components/responses/Unauthorized"
|
|
4280
|
+
"403":
|
|
4281
|
+
$ref: "#/components/responses/Forbidden"
|
|
4282
|
+
"404":
|
|
4283
|
+
description: Workspace does not exist
|
|
4284
|
+
content:
|
|
4285
|
+
application/json:
|
|
4286
|
+
schema:
|
|
4287
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
4288
|
+
"409":
|
|
4289
|
+
description: No company profile saved yet (`company_profile_required`)
|
|
4290
|
+
content:
|
|
4291
|
+
application/json:
|
|
4292
|
+
schema:
|
|
4293
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
4294
|
+
|
|
4222
4295
|
/workspaces/{workspaceId}/integrations/connectors-snapshot:
|
|
4223
4296
|
get:
|
|
4224
4297
|
tags: [Integrations]
|
|
@@ -14644,6 +14717,39 @@ components:
|
|
|
14644
14717
|
type: string
|
|
14645
14718
|
enum: [admin, editor, viewer]
|
|
14646
14719
|
description: Caller's role in this workspace (from tai_workspace_members).
|
|
14720
|
+
logo:
|
|
14721
|
+
type: object
|
|
14722
|
+
nullable: true
|
|
14723
|
+
description: >
|
|
14724
|
+
Square 128px WebP for the workspace switcher. Omitted or null when no logo is stored.
|
|
14725
|
+
allOf:
|
|
14726
|
+
- $ref: "#/components/schemas/WorkspaceLogoDto"
|
|
14727
|
+
|
|
14728
|
+
WorkspaceLogoDto:
|
|
14729
|
+
type: object
|
|
14730
|
+
required: [contentType, data]
|
|
14731
|
+
properties:
|
|
14732
|
+
contentType:
|
|
14733
|
+
type: string
|
|
14734
|
+
enum: [image/webp]
|
|
14735
|
+
data:
|
|
14736
|
+
type: string
|
|
14737
|
+
minLength: 1
|
|
14738
|
+
maxLength: 48000
|
|
14739
|
+
description: Base64-encoded 128×128 WebP. No data-URL prefix.
|
|
14740
|
+
|
|
14741
|
+
CompanyProfileLogoPutDto:
|
|
14742
|
+
type: object
|
|
14743
|
+
required: [contentType, data]
|
|
14744
|
+
properties:
|
|
14745
|
+
contentType:
|
|
14746
|
+
type: string
|
|
14747
|
+
enum: [image/png, image/jpeg, image/webp]
|
|
14748
|
+
data:
|
|
14749
|
+
type: string
|
|
14750
|
+
minLength: 1
|
|
14751
|
+
maxLength: 2800000
|
|
14752
|
+
description: Base64-encoded source image, at most 2 MB after decoding.
|
|
14647
14753
|
|
|
14648
14754
|
WorkspacesForUserDto:
|
|
14649
14755
|
type: object
|
|
@@ -14680,6 +14786,14 @@ components:
|
|
|
14680
14786
|
type: string
|
|
14681
14787
|
headquarters:
|
|
14682
14788
|
type: string
|
|
14789
|
+
logo:
|
|
14790
|
+
type: object
|
|
14791
|
+
nullable: true
|
|
14792
|
+
description: >
|
|
14793
|
+
Present on GET when a logo is stored. Ignored by PUT /company-profile.
|
|
14794
|
+
Upload and delete use the /company-profile/logo routes.
|
|
14795
|
+
allOf:
|
|
14796
|
+
- $ref: "#/components/schemas/WorkspaceLogoDto"
|
|
14683
14797
|
|
|
14684
14798
|
GithubAccountDto:
|
|
14685
14799
|
type: object
|
package/package.json
CHANGED
package/src/generated/openapi.ts
CHANGED
|
@@ -1515,6 +1515,30 @@ export interface paths {
|
|
|
1515
1515
|
patch?: never;
|
|
1516
1516
|
trace?: never;
|
|
1517
1517
|
};
|
|
1518
|
+
"/workspaces/{workspaceId}/company-profile/logo": {
|
|
1519
|
+
parameters: {
|
|
1520
|
+
query?: never;
|
|
1521
|
+
header?: never;
|
|
1522
|
+
path?: never;
|
|
1523
|
+
cookie?: never;
|
|
1524
|
+
};
|
|
1525
|
+
get?: never;
|
|
1526
|
+
/**
|
|
1527
|
+
* Upload company logo
|
|
1528
|
+
* @description Scales the uploaded PNG, JPEG, or WebP to a 128×128 WebP (the mark is fitted inside the square with transparent padding) and stores that image. Requires a saved company profile. Editor or admin only. Source images larger than 2 MB decoded are rejected.
|
|
1529
|
+
*/
|
|
1530
|
+
put: operations["putCompanyProfileLogo"];
|
|
1531
|
+
post?: never;
|
|
1532
|
+
/**
|
|
1533
|
+
* Remove company logo
|
|
1534
|
+
* @description Clears the stored logo. Editor or admin only. Succeeds when no logo is stored.
|
|
1535
|
+
*/
|
|
1536
|
+
delete: operations["deleteCompanyProfileLogo"];
|
|
1537
|
+
options?: never;
|
|
1538
|
+
head?: never;
|
|
1539
|
+
patch?: never;
|
|
1540
|
+
trace?: never;
|
|
1541
|
+
};
|
|
1518
1542
|
"/workspaces/{workspaceId}/integrations/connectors-snapshot": {
|
|
1519
1543
|
parameters: {
|
|
1520
1544
|
query?: never;
|
|
@@ -6211,6 +6235,20 @@ export interface components {
|
|
|
6211
6235
|
* @enum {string}
|
|
6212
6236
|
*/
|
|
6213
6237
|
role: "admin" | "editor" | "viewer";
|
|
6238
|
+
/** @description Square 128px WebP for the workspace switcher. Omitted or null when no logo is stored. */
|
|
6239
|
+
logo?: components["schemas"]["WorkspaceLogoDto"] | null;
|
|
6240
|
+
};
|
|
6241
|
+
WorkspaceLogoDto: {
|
|
6242
|
+
/** @enum {string} */
|
|
6243
|
+
contentType: "image/webp";
|
|
6244
|
+
/** @description Base64-encoded 128×128 WebP. No data-URL prefix. */
|
|
6245
|
+
data: string;
|
|
6246
|
+
};
|
|
6247
|
+
CompanyProfileLogoPutDto: {
|
|
6248
|
+
/** @enum {string} */
|
|
6249
|
+
contentType: "image/png" | "image/jpeg" | "image/webp";
|
|
6250
|
+
/** @description Base64-encoded source image, at most 2 MB after decoding. */
|
|
6251
|
+
data: string;
|
|
6214
6252
|
};
|
|
6215
6253
|
WorkspacesForUserDto: {
|
|
6216
6254
|
workspaces: components["schemas"]["WorkspaceSummaryDto"][];
|
|
@@ -6227,6 +6265,8 @@ export interface components {
|
|
|
6227
6265
|
companySize: string;
|
|
6228
6266
|
engineeringHC: string;
|
|
6229
6267
|
headquarters: string;
|
|
6268
|
+
/** @description Present on GET when a logo is stored. Ignored by PUT /company-profile. Upload and delete use the /company-profile/logo routes. */
|
|
6269
|
+
logo?: components["schemas"]["WorkspaceLogoDto"] | null;
|
|
6230
6270
|
};
|
|
6231
6271
|
GithubAccountDto: {
|
|
6232
6272
|
login: string;
|
|
@@ -10242,6 +10282,8 @@ export type FulfillPersonErasureBodyDto = components['schemas']['FulfillPersonEr
|
|
|
10242
10282
|
export type PrivacyRequestPersonErasureResultDto = components['schemas']['PrivacyRequestPersonErasureResultDto'];
|
|
10243
10283
|
export type PrivacyRequestExportDto = components['schemas']['PrivacyRequestExportDto'];
|
|
10244
10284
|
export type WorkspaceSummaryDto = components['schemas']['WorkspaceSummaryDto'];
|
|
10285
|
+
export type WorkspaceLogoDto = components['schemas']['WorkspaceLogoDto'];
|
|
10286
|
+
export type CompanyProfileLogoPutDto = components['schemas']['CompanyProfileLogoPutDto'];
|
|
10245
10287
|
export type WorkspacesForUserDto = components['schemas']['WorkspacesForUserDto'];
|
|
10246
10288
|
export type CreateWorkspaceBodyDto = components['schemas']['CreateWorkspaceBodyDto'];
|
|
10247
10289
|
export type CompanyProfileDto = components['schemas']['CompanyProfileDto'];
|
|
@@ -14901,6 +14943,101 @@ export interface operations {
|
|
|
14901
14943
|
};
|
|
14902
14944
|
};
|
|
14903
14945
|
};
|
|
14946
|
+
putCompanyProfileLogo: {
|
|
14947
|
+
parameters: {
|
|
14948
|
+
query?: never;
|
|
14949
|
+
header?: never;
|
|
14950
|
+
path: {
|
|
14951
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
14952
|
+
};
|
|
14953
|
+
cookie?: never;
|
|
14954
|
+
};
|
|
14955
|
+
requestBody: {
|
|
14956
|
+
content: {
|
|
14957
|
+
"application/json": components["schemas"]["CompanyProfileLogoPutDto"];
|
|
14958
|
+
};
|
|
14959
|
+
};
|
|
14960
|
+
responses: {
|
|
14961
|
+
/** @description Stored 128×128 WebP */
|
|
14962
|
+
200: {
|
|
14963
|
+
headers: {
|
|
14964
|
+
[name: string]: unknown;
|
|
14965
|
+
};
|
|
14966
|
+
content: {
|
|
14967
|
+
"application/json": components["schemas"]["WorkspaceLogoDto"];
|
|
14968
|
+
};
|
|
14969
|
+
};
|
|
14970
|
+
/** @description Invalid image, unsupported type, or result still too large */
|
|
14971
|
+
400: {
|
|
14972
|
+
headers: {
|
|
14973
|
+
[name: string]: unknown;
|
|
14974
|
+
};
|
|
14975
|
+
content: {
|
|
14976
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14977
|
+
};
|
|
14978
|
+
};
|
|
14979
|
+
401: components["responses"]["Unauthorized"];
|
|
14980
|
+
403: components["responses"]["Forbidden"];
|
|
14981
|
+
/** @description Workspace does not exist */
|
|
14982
|
+
404: {
|
|
14983
|
+
headers: {
|
|
14984
|
+
[name: string]: unknown;
|
|
14985
|
+
};
|
|
14986
|
+
content: {
|
|
14987
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14988
|
+
};
|
|
14989
|
+
};
|
|
14990
|
+
/** @description No company profile saved yet (`company_profile_required`) */
|
|
14991
|
+
409: {
|
|
14992
|
+
headers: {
|
|
14993
|
+
[name: string]: unknown;
|
|
14994
|
+
};
|
|
14995
|
+
content: {
|
|
14996
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14997
|
+
};
|
|
14998
|
+
};
|
|
14999
|
+
};
|
|
15000
|
+
};
|
|
15001
|
+
deleteCompanyProfileLogo: {
|
|
15002
|
+
parameters: {
|
|
15003
|
+
query?: never;
|
|
15004
|
+
header?: never;
|
|
15005
|
+
path: {
|
|
15006
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
15007
|
+
};
|
|
15008
|
+
cookie?: never;
|
|
15009
|
+
};
|
|
15010
|
+
requestBody?: never;
|
|
15011
|
+
responses: {
|
|
15012
|
+
/** @description Logo cleared */
|
|
15013
|
+
204: {
|
|
15014
|
+
headers: {
|
|
15015
|
+
[name: string]: unknown;
|
|
15016
|
+
};
|
|
15017
|
+
content?: never;
|
|
15018
|
+
};
|
|
15019
|
+
401: components["responses"]["Unauthorized"];
|
|
15020
|
+
403: components["responses"]["Forbidden"];
|
|
15021
|
+
/** @description Workspace does not exist */
|
|
15022
|
+
404: {
|
|
15023
|
+
headers: {
|
|
15024
|
+
[name: string]: unknown;
|
|
15025
|
+
};
|
|
15026
|
+
content: {
|
|
15027
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
15028
|
+
};
|
|
15029
|
+
};
|
|
15030
|
+
/** @description No company profile saved yet (`company_profile_required`) */
|
|
15031
|
+
409: {
|
|
15032
|
+
headers: {
|
|
15033
|
+
[name: string]: unknown;
|
|
15034
|
+
};
|
|
15035
|
+
content: {
|
|
15036
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
15037
|
+
};
|
|
15038
|
+
};
|
|
15039
|
+
};
|
|
15040
|
+
};
|
|
14904
15041
|
getWorkspaceConnectorsSnapshot: {
|
|
14905
15042
|
parameters: {
|
|
14906
15043
|
query?: never;
|