Skip to content

Commit cf75253

Browse files
committed
TTS API endpoints
1 parent 7b5c00d commit cf75253

File tree

4 files changed

+140
-48
lines changed

4 files changed

+140
-48
lines changed

model/equaliq.smithy

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ service EqualIQ {
2727
GetContractSignatures
2828
UpdateSignatureStatus
2929
DeleteContractSignature
30+
GetTextToSpeech
3031
]
3132

3233
}
@@ -698,3 +699,22 @@ structure DeleteContractSignatureOutput {
698699
message: String
699700
}
700701

702+
@idempotent
703+
@http(method: "POST", uri: "/getTextToSpeech")
704+
operation GetTextToSpeech {
705+
input: GetTextToSpeechInput
706+
output: GetTextToSpeechOutput
707+
errors: [
708+
AuthenticationError,
709+
ResourceNotFoundError,
710+
InternalServerError
711+
]
712+
}
713+
structure GetTextToSpeechInput {
714+
@required
715+
text: String
716+
}
717+
structure GetTextToSpeechOutput {
718+
@required
719+
audioUrl: String
720+
}

python/api_model/types/models.py

Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# generated by datamodel-codegen:
22
# filename: api.json
3-
# timestamp: 2025-05-26T18:04:34+00:00
3+
# timestamp: 2025-06-09T23:34:37+00:00
44

55
from __future__ import annotations
66

@@ -53,6 +53,10 @@ class DeleteContractResponseContent(BaseModel):
5353
success: bool
5454

5555

56+
class DeleteContractSignatureRequestContent(BaseModel):
57+
contractId: str
58+
59+
5660
class FixedTermValue(BaseModel):
5761
unit: str
5862
value: str
@@ -66,10 +70,6 @@ class FixedValueTermInference(BaseModel):
6670
subterms: Optional[List[FixedTermValue]] = None
6771

6872

69-
class DeleteContractSignatureRequestContent(BaseModel):
70-
contractId: str
71-
72-
7373
class GetContractReadURLRequestContent(BaseModel):
7474
contractId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
7575

@@ -98,6 +98,14 @@ class GetProfileRequestContent(BaseModel):
9898
userId: Optional[str] = Field(None, pattern='^[A-Za-z0-9-]+$')
9999

100100

101+
class GetTextToSpeechRequestContent(BaseModel):
102+
text: str
103+
104+
105+
class GetTextToSpeechResponseContent(BaseModel):
106+
audioUrl: str
107+
108+
101109
class GetUploadURLRequestContent(BaseModel):
102110
name: str
103111

@@ -145,14 +153,6 @@ class SharedUserDetails(BaseModel):
145153
sharedTime: float
146154

147155

148-
class Term(BaseModel):
149-
name: str
150-
definition: str
151-
unitType: str
152-
citation: Optional[str] = None
153-
fixedValues: Optional[FixedValueTermInference] = None
154-
155-
156156
class SignContractResult(Enum):
157157
SUCCESS = 'SUCCESS'
158158
FAILURE = 'FAILURE'
@@ -164,6 +164,14 @@ class SignatureStatus(Enum):
164164
pending = 'pending'
165165

166166

167+
class Term(BaseModel):
168+
name: str
169+
definition: str
170+
unitType: str
171+
citation: Optional[str] = None
172+
fixedValues: Optional[FixedValueTermInference] = None
173+
174+
167175
class UpdateContractRequestContent(BaseModel):
168176
contractId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
169177
name: str
@@ -242,6 +250,11 @@ class ContractSummaryItem(BaseModel):
242250
sharedEmails: Optional[List[str]] = None
243251

244252

253+
class DeleteContractSignatureResponseContent(BaseModel):
254+
result: Optional[SignContractResult] = None
255+
message: Optional[str] = None
256+
257+
245258
class ExposeTypesResponseContent(BaseModel):
246259
QASectionsList: Optional[List[QASection]] = None
247260

@@ -257,11 +270,6 @@ class GetContractResponseContent(BaseModel):
257270
sharedWith: List[SharedWithItem]
258271

259272

260-
class DeleteContractSignatureResponseContent(BaseModel):
261-
result: Optional[SignContractResult] = None
262-
message: Optional[str] = None
263-
264-
265273
class GetContractSignaturesResponseContent(BaseModel):
266274
contractId: Optional[str] = None
267275
signatures: Optional[List[ContractSignature]] = None
@@ -298,14 +306,3 @@ class SignContractRequestContent(BaseModel):
298306
class SignContractResponseContent(BaseModel):
299307
result: SignContractResult
300308
message: Optional[str] = None
301-
302-
303-
class GetContractResponseContent(BaseModel):
304-
contractId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
305-
name: str
306-
type: ContractType
307-
terms: Any
308-
iq_qa: QASections
309-
isOwner: bool
310-
ownerId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
311-
sharedWith: List[SharedWithItem]

typescript/src/index.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ export type ContractSummaryItem = ExtractSchema<'ContractSummaryItem'>
1919
export type ContractType = ExtractSchema<'ContractType'>
2020
export type DeleteContractRequestContent = ExtractSchema<'DeleteContractRequestContent'>
2121
export type DeleteContractResponseContent = ExtractSchema<'DeleteContractResponseContent'>
22+
export type DeleteContractSignatureRequestContent = ExtractSchema<'DeleteContractSignatureRequestContent'>
23+
export type DeleteContractSignatureResponseContent = ExtractSchema<'DeleteContractSignatureResponseContent'>
2224
export type ExposeTypesResponseContent = ExtractSchema<'ExposeTypesResponseContent'>
2325
export type FixedTermValue = ExtractSchema<'FixedTermValue'>
2426
export type FixedValueTermInference = ExtractSchema<'FixedValueTermInference'>
25-
export type DeleteContractSignatureRequestContent = ExtractSchema<'DeleteContractSignatureRequestContent'>
26-
export type DeleteContractSignatureResponseContent = ExtractSchema<'DeleteContractSignatureResponseContent'>
2727
export type GetContractReadURLRequestContent = ExtractSchema<'GetContractReadURLRequestContent'>
2828
export type GetContractReadURLResponseContent = ExtractSchema<'GetContractReadURLResponseContent'>
2929
export type GetContractRequestContent = ExtractSchema<'GetContractRequestContent'>
@@ -34,6 +34,8 @@ export type GetProfilePictureRequestContent = ExtractSchema<'GetProfilePictureRe
3434
export type GetProfilePictureResponseContent = ExtractSchema<'GetProfilePictureResponseContent'>
3535
export type GetProfileRequestContent = ExtractSchema<'GetProfileRequestContent'>
3636
export type GetProfileResponseContent = ExtractSchema<'GetProfileResponseContent'>
37+
export type GetTextToSpeechRequestContent = ExtractSchema<'GetTextToSpeechRequestContent'>
38+
export type GetTextToSpeechResponseContent = ExtractSchema<'GetTextToSpeechResponseContent'>
3739
export type GetUploadURLRequestContent = ExtractSchema<'GetUploadURLRequestContent'>
3840
export type GetUploadURLResponseContent = ExtractSchema<'GetUploadURLResponseContent'>
3941
export type InternalServerErrorResponseContent = ExtractSchema<'InternalServerErrorResponseContent'>
@@ -47,11 +49,11 @@ export type ResourceNotFoundErrorResponseContent = ExtractSchema<'ResourceNotFou
4749
export type ShareContractRequestContent = ExtractSchema<'ShareContractRequestContent'>
4850
export type ShareContractResponseContent = ExtractSchema<'ShareContractResponseContent'>
4951
export type SharedUserDetails = ExtractSchema<'SharedUserDetails'>
50-
export type Term = ExtractSchema<'Term'>
5152
export type SignContractRequestContent = ExtractSchema<'SignContractRequestContent'>
5253
export type SignContractResponseContent = ExtractSchema<'SignContractResponseContent'>
5354
export type SignContractResult = ExtractSchema<'SignContractResult'>
5455
export type SignatureStatus = ExtractSchema<'SignatureStatus'>
56+
export type Term = ExtractSchema<'Term'>
5557
export type UpdateContractRequestContent = ExtractSchema<'UpdateContractRequestContent'>
5658
export type UpdateContractResponseContent = ExtractSchema<'UpdateContractResponseContent'>
5759
export type UpdateProfileRequestContent = ExtractSchema<'UpdateProfileRequestContent'>

typescript/src/models.ts

Lines changed: 89 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,22 @@ export interface paths {
116116
patch?: never;
117117
trace?: never;
118118
};
119+
"/getTextToSpeech": {
120+
parameters: {
121+
query?: never;
122+
header?: never;
123+
path?: never;
124+
cookie?: never;
125+
};
126+
get?: never;
127+
put?: never;
128+
post: operations["GetTextToSpeech"];
129+
delete?: never;
130+
options?: never;
131+
head?: never;
132+
patch?: never;
133+
trace?: never;
134+
};
119135
"/listContracts": {
120136
parameters: {
121137
query?: never;
@@ -314,6 +330,13 @@ export interface components {
314330
DeleteContractResponseContent: {
315331
success: boolean;
316332
};
333+
DeleteContractSignatureRequestContent: {
334+
contractId: string;
335+
};
336+
DeleteContractSignatureResponseContent: {
337+
result?: components["schemas"]["SignContractResult"];
338+
message?: string;
339+
};
317340
ExposeTypesResponseContent: {
318341
QASectionsList?: components["schemas"]["QASection"][];
319342
};
@@ -329,13 +352,6 @@ export interface components {
329352
primary: components["schemas"]["FixedTermValue"];
330353
subterms?: components["schemas"]["FixedTermValue"][];
331354
};
332-
DeleteContractSignatureRequestContent: {
333-
contractId: string;
334-
};
335-
DeleteContractSignatureResponseContent: {
336-
result?: components["schemas"]["SignContractResult"];
337-
message?: string;
338-
};
339355
GetContractReadURLRequestContent: {
340356
contractId: string;
341357
};
@@ -375,6 +391,12 @@ export interface components {
375391
userId: string;
376392
profile: components["schemas"]["UserProfile"];
377393
};
394+
GetTextToSpeechRequestContent: {
395+
text: string;
396+
};
397+
GetTextToSpeechResponseContent: {
398+
audioUrl: string;
399+
};
378400
GetUploadURLRequestContent: {
379401
name: string;
380402
};
@@ -428,13 +450,6 @@ export interface components {
428450
/** Format: double */
429451
sharedTime: number;
430452
};
431-
Term: {
432-
name: string;
433-
definition: string;
434-
unitType: string;
435-
citation?: string;
436-
fixedValues?: components["schemas"]["FixedValueTermInference"];
437-
};
438453
SignContractRequestContent: {
439454
contractId: string;
440455
status: components["schemas"]["SignatureStatus"];
@@ -444,9 +459,16 @@ export interface components {
444459
message?: string;
445460
};
446461
/** @enum {string} */
447-
SignContractResult: "SUCCESS" | "FAILURE";
462+
SignContractResult: SignContractResult;
448463
/** @enum {string} */
449-
SignatureStatus: "signed" | "declined" | "pending";
464+
SignatureStatus: SignatureStatus;
465+
Term: {
466+
name: string;
467+
definition: string;
468+
unitType: string;
469+
citation?: string;
470+
fixedValues?: components["schemas"]["FixedValueTermInference"];
471+
};
450472
UpdateContractRequestContent: {
451473
contractId: string;
452474
name: string;
@@ -799,6 +821,48 @@ export interface operations {
799821
};
800822
};
801823
};
824+
GetTextToSpeech: {
825+
parameters: {
826+
query?: never;
827+
header?: never;
828+
path?: never;
829+
cookie?: never;
830+
};
831+
requestBody: {
832+
content: {
833+
"application/json": components["schemas"]["GetTextToSpeechRequestContent"];
834+
};
835+
};
836+
responses: {
837+
/** @description GetTextToSpeech 200 response */
838+
200: {
839+
headers: {
840+
[name: string]: unknown;
841+
};
842+
content: {
843+
"application/json": components["schemas"]["GetTextToSpeechResponseContent"];
844+
};
845+
};
846+
/** @description ResourceNotFoundError 400 response */
847+
400: {
848+
headers: {
849+
[name: string]: unknown;
850+
};
851+
content: {
852+
"application/json": components["schemas"]["ResourceNotFoundErrorResponseContent"];
853+
};
854+
};
855+
/** @description InternalServerError 500 response */
856+
500: {
857+
headers: {
858+
[name: string]: unknown;
859+
};
860+
content: {
861+
"application/json": components["schemas"]["InternalServerErrorResponseContent"];
862+
};
863+
};
864+
};
865+
};
802866
ListContracts: {
803867
parameters: {
804868
query?: never;
@@ -1192,3 +1256,12 @@ export enum ContractType {
11921256
producer = "producer",
11931257
tbd = "tbd"
11941258
}
1259+
export enum SignContractResult {
1260+
SUCCESS = "SUCCESS",
1261+
FAILURE = "FAILURE"
1262+
}
1263+
export enum SignatureStatus {
1264+
signed = "signed",
1265+
declined = "declined",
1266+
pending = "pending"
1267+
}

0 commit comments

Comments
 (0)