-
Notifications
You must be signed in to change notification settings - Fork 118
/
smartCompose.ts
73 lines (69 loc) · 1.95 KB
/
smartCompose.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import { Resource } from './resource.js';
import {
ComposeMessageRequest,
ComposeMessageResponse,
} from '../models/smartCompose.js';
import { Overrides } from '../config.js';
import { NylasResponse } from '../models/response.js';
/**
* The parameters for the {@link SmartCompose.composeMessage} method
* @property identifier The identifier of the grant to act upon
* @property requestBody The prompt that smart compose will use to generate a message suggestion
*/
export interface ComposeMessageParams {
identifier: string;
requestBody: ComposeMessageRequest;
}
/**
* The parameters for the {@link SmartCompose.composeMessageReply} method
* @property identifier The identifier of the grant to act upon
* @property messageId The id of the message to reply to
* @property requestBody The prompt that smart compose will use to generate a reply suggestion
*/
export interface ComposeMessageReplyParams {
identifier: string;
messageId: string;
requestBody: ComposeMessageRequest;
}
/**
* A collection of Smart Compose related API endpoints.
*
* These endpoints allow for the generation of message suggestions.
*/
export class SmartCompose extends Resource {
/**
* Compose a message
* @return The generated message
*/
public composeMessage({
identifier,
requestBody,
overrides,
}: ComposeMessageParams & Overrides): Promise<
NylasResponse<ComposeMessageResponse>
> {
return super._create({
path: `/v3/grants/${identifier}/messages/smart-compose`,
requestBody,
overrides,
});
}
/**
* Compose a message reply
* @return The generated message reply
*/
public composeMessageReply({
identifier,
messageId,
requestBody,
overrides,
}: ComposeMessageReplyParams & Overrides): Promise<
NylasResponse<ComposeMessageResponse>
> {
return super._create({
path: `/v3/grants/${identifier}/messages/${messageId}/smart-compose`,
requestBody,
overrides,
});
}
}