@zavudev/sdk 0.17.0 → 0.18.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.
Files changed (185) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/client.d.mts +11 -5
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +11 -5
  5. package/client.d.ts.map +1 -1
  6. package/client.js +7 -1
  7. package/client.js.map +1 -1
  8. package/client.mjs +7 -1
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/addresses.d.mts +104 -0
  12. package/resources/addresses.d.mts.map +1 -0
  13. package/resources/addresses.d.ts +104 -0
  14. package/resources/addresses.d.ts.map +1 -0
  15. package/resources/addresses.js +72 -0
  16. package/resources/addresses.js.map +1 -0
  17. package/resources/addresses.mjs +68 -0
  18. package/resources/addresses.mjs.map +1 -0
  19. package/resources/broadcasts/broadcasts.d.mts +23 -1
  20. package/resources/broadcasts/broadcasts.d.mts.map +1 -1
  21. package/resources/broadcasts/broadcasts.d.ts +23 -1
  22. package/resources/broadcasts/broadcasts.d.ts.map +1 -1
  23. package/resources/broadcasts/broadcasts.js +15 -0
  24. package/resources/broadcasts/broadcasts.js.map +1 -1
  25. package/resources/broadcasts/broadcasts.mjs +15 -0
  26. package/resources/broadcasts/broadcasts.mjs.map +1 -1
  27. package/resources/broadcasts/index.d.mts +1 -1
  28. package/resources/broadcasts/index.d.mts.map +1 -1
  29. package/resources/broadcasts/index.d.ts +1 -1
  30. package/resources/broadcasts/index.d.ts.map +1 -1
  31. package/resources/broadcasts/index.js.map +1 -1
  32. package/resources/broadcasts/index.mjs.map +1 -1
  33. package/resources/index.d.mts +5 -3
  34. package/resources/index.d.mts.map +1 -1
  35. package/resources/index.d.ts +5 -3
  36. package/resources/index.d.ts.map +1 -1
  37. package/resources/index.js +6 -2
  38. package/resources/index.js.map +1 -1
  39. package/resources/index.mjs +3 -1
  40. package/resources/index.mjs.map +1 -1
  41. package/resources/phone-numbers.d.mts +67 -1
  42. package/resources/phone-numbers.d.mts.map +1 -1
  43. package/resources/phone-numbers.d.ts +67 -1
  44. package/resources/phone-numbers.d.ts.map +1 -1
  45. package/resources/phone-numbers.js +15 -0
  46. package/resources/phone-numbers.js.map +1 -1
  47. package/resources/phone-numbers.mjs +15 -0
  48. package/resources/phone-numbers.mjs.map +1 -1
  49. package/resources/regulatory-documents.d.mts +114 -0
  50. package/resources/regulatory-documents.d.mts.map +1 -0
  51. package/resources/regulatory-documents.d.ts +114 -0
  52. package/resources/regulatory-documents.d.ts.map +1 -0
  53. package/resources/regulatory-documents.js +84 -0
  54. package/resources/regulatory-documents.js.map +1 -0
  55. package/resources/regulatory-documents.mjs +80 -0
  56. package/resources/regulatory-documents.mjs.map +1 -0
  57. package/resources/senders/agent/agent.d.mts +230 -0
  58. package/resources/senders/agent/agent.d.mts.map +1 -0
  59. package/resources/senders/agent/agent.d.ts +230 -0
  60. package/resources/senders/agent/agent.d.ts.map +1 -0
  61. package/resources/senders/agent/agent.js +105 -0
  62. package/resources/senders/agent/agent.js.map +1 -0
  63. package/resources/senders/agent/agent.mjs +100 -0
  64. package/resources/senders/agent/agent.mjs.map +1 -0
  65. package/resources/senders/agent/executions.d.mts +32 -0
  66. package/resources/senders/agent/executions.d.mts.map +1 -0
  67. package/resources/senders/agent/executions.d.ts +32 -0
  68. package/resources/senders/agent/executions.d.ts.map +1 -0
  69. package/resources/senders/agent/executions.js +27 -0
  70. package/resources/senders/agent/executions.js.map +1 -0
  71. package/resources/senders/agent/executions.mjs +23 -0
  72. package/resources/senders/agent/executions.mjs.map +1 -0
  73. package/resources/senders/agent/flows.d.mts +301 -0
  74. package/resources/senders/agent/flows.d.mts.map +1 -0
  75. package/resources/senders/agent/flows.d.ts +301 -0
  76. package/resources/senders/agent/flows.d.ts.map +1 -0
  77. package/resources/senders/agent/flows.js +135 -0
  78. package/resources/senders/agent/flows.js.map +1 -0
  79. package/resources/senders/agent/flows.mjs +131 -0
  80. package/resources/senders/agent/flows.mjs.map +1 -0
  81. package/resources/senders/agent/index.d.mts +6 -0
  82. package/resources/senders/agent/index.d.mts.map +1 -0
  83. package/resources/senders/agent/index.d.ts +6 -0
  84. package/resources/senders/agent/index.d.ts.map +1 -0
  85. package/resources/senders/agent/index.js +15 -0
  86. package/resources/senders/agent/index.js.map +1 -0
  87. package/resources/senders/agent/index.mjs +7 -0
  88. package/resources/senders/agent/index.mjs.map +1 -0
  89. package/resources/senders/agent/knowledge-bases/documents.d.mts +86 -0
  90. package/resources/senders/agent/knowledge-bases/documents.d.mts.map +1 -0
  91. package/resources/senders/agent/knowledge-bases/documents.d.ts +86 -0
  92. package/resources/senders/agent/knowledge-bases/documents.d.ts.map +1 -0
  93. package/resources/senders/agent/knowledge-bases/documents.js +70 -0
  94. package/resources/senders/agent/knowledge-bases/documents.js.map +1 -0
  95. package/resources/senders/agent/knowledge-bases/documents.mjs +66 -0
  96. package/resources/senders/agent/knowledge-bases/documents.mjs.map +1 -0
  97. package/resources/senders/agent/knowledge-bases/index.d.mts +3 -0
  98. package/resources/senders/agent/knowledge-bases/index.d.mts.map +1 -0
  99. package/resources/senders/agent/knowledge-bases/index.d.ts +3 -0
  100. package/resources/senders/agent/knowledge-bases/index.d.ts.map +1 -0
  101. package/resources/senders/agent/knowledge-bases/index.js +9 -0
  102. package/resources/senders/agent/knowledge-bases/index.js.map +1 -0
  103. package/resources/senders/agent/knowledge-bases/index.mjs +4 -0
  104. package/resources/senders/agent/knowledge-bases/index.mjs.map +1 -0
  105. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.mts +147 -0
  106. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.mts.map +1 -0
  107. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.ts +147 -0
  108. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.ts.map +1 -0
  109. package/resources/senders/agent/knowledge-bases/knowledge-bases.js +106 -0
  110. package/resources/senders/agent/knowledge-bases/knowledge-bases.js.map +1 -0
  111. package/resources/senders/agent/knowledge-bases/knowledge-bases.mjs +101 -0
  112. package/resources/senders/agent/knowledge-bases/knowledge-bases.mjs.map +1 -0
  113. package/resources/senders/agent/knowledge-bases.d.mts +2 -0
  114. package/resources/senders/agent/knowledge-bases.d.mts.map +1 -0
  115. package/resources/senders/agent/knowledge-bases.d.ts +2 -0
  116. package/resources/senders/agent/knowledge-bases.d.ts.map +1 -0
  117. package/resources/senders/agent/knowledge-bases.js +6 -0
  118. package/resources/senders/agent/knowledge-bases.js.map +1 -0
  119. package/resources/senders/agent/knowledge-bases.mjs +3 -0
  120. package/resources/senders/agent/knowledge-bases.mjs.map +1 -0
  121. package/resources/senders/agent/tools.d.mts +242 -0
  122. package/resources/senders/agent/tools.d.mts.map +1 -0
  123. package/resources/senders/agent/tools.d.ts +242 -0
  124. package/resources/senders/agent/tools.d.ts.map +1 -0
  125. package/resources/senders/agent/tools.js +126 -0
  126. package/resources/senders/agent/tools.js.map +1 -0
  127. package/resources/senders/agent/tools.mjs +122 -0
  128. package/resources/senders/agent/tools.mjs.map +1 -0
  129. package/resources/senders/agent.d.mts +2 -0
  130. package/resources/senders/agent.d.mts.map +1 -0
  131. package/resources/senders/agent.d.ts +2 -0
  132. package/resources/senders/agent.d.ts.map +1 -0
  133. package/resources/senders/agent.js +6 -0
  134. package/resources/senders/agent.js.map +1 -0
  135. package/resources/senders/agent.mjs +3 -0
  136. package/resources/senders/agent.mjs.map +1 -0
  137. package/resources/senders/index.d.mts +3 -0
  138. package/resources/senders/index.d.mts.map +1 -0
  139. package/resources/senders/index.d.ts +3 -0
  140. package/resources/senders/index.d.ts.map +1 -0
  141. package/resources/senders/index.js +9 -0
  142. package/resources/senders/index.js.map +1 -0
  143. package/resources/senders/index.mjs +4 -0
  144. package/resources/senders/index.mjs.map +1 -0
  145. package/resources/senders/senders.d.mts +342 -0
  146. package/resources/senders/senders.d.mts.map +1 -0
  147. package/resources/senders/senders.d.ts +342 -0
  148. package/resources/senders/senders.d.ts.map +1 -0
  149. package/resources/senders/senders.js +150 -0
  150. package/resources/senders/senders.js.map +1 -0
  151. package/resources/senders/senders.mjs +145 -0
  152. package/resources/senders/senders.mjs.map +1 -0
  153. package/resources/senders.d.mts +1 -337
  154. package/resources/senders.d.mts.map +1 -1
  155. package/resources/senders.d.ts +1 -337
  156. package/resources/senders.d.ts.map +1 -1
  157. package/resources/senders.js +2 -138
  158. package/resources/senders.js.map +1 -1
  159. package/resources/senders.mjs +1 -136
  160. package/resources/senders.mjs.map +1 -1
  161. package/src/client.ts +79 -17
  162. package/src/resources/addresses.ts +160 -0
  163. package/src/resources/broadcasts/broadcasts.ts +33 -0
  164. package/src/resources/broadcasts/index.ts +2 -0
  165. package/src/resources/index.ts +29 -1
  166. package/src/resources/phone-numbers.ts +97 -0
  167. package/src/resources/regulatory-documents.ts +184 -0
  168. package/src/resources/senders/agent/agent.ts +417 -0
  169. package/src/resources/senders/agent/executions.ts +48 -0
  170. package/src/resources/senders/agent/flows.ts +409 -0
  171. package/src/resources/senders/agent/index.ts +60 -0
  172. package/src/resources/senders/agent/knowledge-bases/documents.ts +133 -0
  173. package/src/resources/senders/agent/knowledge-bases/index.ts +24 -0
  174. package/src/resources/senders/agent/knowledge-bases/knowledge-bases.ts +251 -0
  175. package/src/resources/senders/agent/knowledge-bases.ts +3 -0
  176. package/src/resources/senders/agent/tools.ts +334 -0
  177. package/src/resources/senders/agent.ts +3 -0
  178. package/src/resources/senders/index.ts +32 -0
  179. package/src/resources/senders/senders.ts +506 -0
  180. package/src/resources/senders.ts +1 -476
  181. package/src/version.ts +1 -1
  182. package/version.d.mts +1 -1
  183. package/version.d.ts +1 -1
  184. package/version.js +1 -1
  185. package/version.mjs +1 -1
@@ -0,0 +1,251 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../../core/resource';
4
+ import * as DocumentsAPI from './documents';
5
+ import {
6
+ DocumentCreateParams,
7
+ DocumentCreateResponse,
8
+ DocumentDeleteParams,
9
+ DocumentListParams,
10
+ Documents,
11
+ } from './documents';
12
+ import { APIPromise } from '../../../../core/api-promise';
13
+ import { Cursor, type CursorParams, PagePromise } from '../../../../core/pagination';
14
+ import { buildHeaders } from '../../../../internal/headers';
15
+ import { RequestOptions } from '../../../../internal/request-options';
16
+ import { path } from '../../../../internal/utils/path';
17
+
18
+ export class KnowledgeBases extends APIResource {
19
+ documents: DocumentsAPI.Documents = new DocumentsAPI.Documents(this._client);
20
+
21
+ /**
22
+ * Create a new knowledge base for an agent.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const knowledgeBase =
27
+ * await client.senders.agent.knowledgeBases.create(
28
+ * 'senderId',
29
+ * {
30
+ * name: 'Product FAQ',
31
+ * description:
32
+ * 'Frequently asked questions about our products',
33
+ * },
34
+ * );
35
+ * ```
36
+ */
37
+ create(
38
+ senderID: string,
39
+ body: KnowledgeBaseCreateParams,
40
+ options?: RequestOptions,
41
+ ): APIPromise<KnowledgeBaseCreateResponse> {
42
+ return this._client.post(path`/v1/senders/${senderID}/agent/knowledge-bases`, { body, ...options });
43
+ }
44
+
45
+ /**
46
+ * Get a specific knowledge base.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * const knowledgeBase =
51
+ * await client.senders.agent.knowledgeBases.retrieve(
52
+ * 'kbId',
53
+ * { senderId: 'senderId' },
54
+ * );
55
+ * ```
56
+ */
57
+ retrieve(
58
+ kbID: string,
59
+ params: KnowledgeBaseRetrieveParams,
60
+ options?: RequestOptions,
61
+ ): APIPromise<KnowledgeBaseRetrieveResponse> {
62
+ const { senderId } = params;
63
+ return this._client.get(path`/v1/senders/${senderId}/agent/knowledge-bases/${kbID}`, options);
64
+ }
65
+
66
+ /**
67
+ * Update a knowledge base.
68
+ *
69
+ * @example
70
+ * ```ts
71
+ * const knowledgeBase =
72
+ * await client.senders.agent.knowledgeBases.update('kbId', {
73
+ * senderId: 'senderId',
74
+ * });
75
+ * ```
76
+ */
77
+ update(
78
+ kbID: string,
79
+ params: KnowledgeBaseUpdateParams,
80
+ options?: RequestOptions,
81
+ ): APIPromise<KnowledgeBaseUpdateResponse> {
82
+ const { senderId, ...body } = params;
83
+ return this._client.patch(path`/v1/senders/${senderId}/agent/knowledge-bases/${kbID}`, {
84
+ body,
85
+ ...options,
86
+ });
87
+ }
88
+
89
+ /**
90
+ * List knowledge bases for an agent.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * // Automatically fetches more pages as needed.
95
+ * for await (const agentKnowledgeBase of client.senders.agent.knowledgeBases.list(
96
+ * 'senderId',
97
+ * )) {
98
+ * // ...
99
+ * }
100
+ * ```
101
+ */
102
+ list(
103
+ senderID: string,
104
+ query: KnowledgeBaseListParams | null | undefined = {},
105
+ options?: RequestOptions,
106
+ ): PagePromise<AgentKnowledgeBasesCursor, AgentKnowledgeBase> {
107
+ return this._client.getAPIList(
108
+ path`/v1/senders/${senderID}/agent/knowledge-bases`,
109
+ Cursor<AgentKnowledgeBase>,
110
+ { query, ...options },
111
+ );
112
+ }
113
+
114
+ /**
115
+ * Delete a knowledge base and all its documents.
116
+ *
117
+ * @example
118
+ * ```ts
119
+ * await client.senders.agent.knowledgeBases.delete('kbId', {
120
+ * senderId: 'senderId',
121
+ * });
122
+ * ```
123
+ */
124
+ delete(kbID: string, params: KnowledgeBaseDeleteParams, options?: RequestOptions): APIPromise<void> {
125
+ const { senderId } = params;
126
+ return this._client.delete(path`/v1/senders/${senderId}/agent/knowledge-bases/${kbID}`, {
127
+ ...options,
128
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
129
+ });
130
+ }
131
+ }
132
+
133
+ export type AgentKnowledgeBasesCursor = Cursor<AgentKnowledgeBase>;
134
+
135
+ export type AgentDocumentsCursor = Cursor<AgentDocument>;
136
+
137
+ export interface AgentDocument {
138
+ id: string;
139
+
140
+ /**
141
+ * Number of chunks created from this document.
142
+ */
143
+ chunkCount: number;
144
+
145
+ /**
146
+ * Length of the document content in characters.
147
+ */
148
+ contentLength: number;
149
+
150
+ createdAt: string;
151
+
152
+ /**
153
+ * Whether the document has been processed for RAG.
154
+ */
155
+ isProcessed: boolean;
156
+
157
+ knowledgeBaseId: string;
158
+
159
+ title: string;
160
+
161
+ updatedAt: string;
162
+ }
163
+
164
+ export interface AgentKnowledgeBase {
165
+ id: string;
166
+
167
+ agentId: string;
168
+
169
+ createdAt: string;
170
+
171
+ documentCount: number;
172
+
173
+ name: string;
174
+
175
+ totalChunks: number;
176
+
177
+ updatedAt: string;
178
+
179
+ description?: string | null;
180
+ }
181
+
182
+ export interface KnowledgeBaseCreateResponse {
183
+ knowledgeBase: AgentKnowledgeBase;
184
+ }
185
+
186
+ export interface KnowledgeBaseRetrieveResponse {
187
+ knowledgeBase: AgentKnowledgeBase;
188
+ }
189
+
190
+ export interface KnowledgeBaseUpdateResponse {
191
+ knowledgeBase: AgentKnowledgeBase;
192
+ }
193
+
194
+ export interface KnowledgeBaseCreateParams {
195
+ name: string;
196
+
197
+ description?: string;
198
+ }
199
+
200
+ export interface KnowledgeBaseRetrieveParams {
201
+ senderId: string;
202
+ }
203
+
204
+ export interface KnowledgeBaseUpdateParams {
205
+ /**
206
+ * Path param:
207
+ */
208
+ senderId: string;
209
+
210
+ /**
211
+ * Body param:
212
+ */
213
+ description?: string | null;
214
+
215
+ /**
216
+ * Body param:
217
+ */
218
+ name?: string;
219
+ }
220
+
221
+ export interface KnowledgeBaseListParams extends CursorParams {}
222
+
223
+ export interface KnowledgeBaseDeleteParams {
224
+ senderId: string;
225
+ }
226
+
227
+ KnowledgeBases.Documents = Documents;
228
+
229
+ export declare namespace KnowledgeBases {
230
+ export {
231
+ type AgentDocument as AgentDocument,
232
+ type AgentKnowledgeBase as AgentKnowledgeBase,
233
+ type KnowledgeBaseCreateResponse as KnowledgeBaseCreateResponse,
234
+ type KnowledgeBaseRetrieveResponse as KnowledgeBaseRetrieveResponse,
235
+ type KnowledgeBaseUpdateResponse as KnowledgeBaseUpdateResponse,
236
+ type AgentKnowledgeBasesCursor as AgentKnowledgeBasesCursor,
237
+ type KnowledgeBaseCreateParams as KnowledgeBaseCreateParams,
238
+ type KnowledgeBaseRetrieveParams as KnowledgeBaseRetrieveParams,
239
+ type KnowledgeBaseUpdateParams as KnowledgeBaseUpdateParams,
240
+ type KnowledgeBaseListParams as KnowledgeBaseListParams,
241
+ type KnowledgeBaseDeleteParams as KnowledgeBaseDeleteParams,
242
+ };
243
+
244
+ export {
245
+ Documents as Documents,
246
+ type DocumentCreateResponse as DocumentCreateResponse,
247
+ type DocumentCreateParams as DocumentCreateParams,
248
+ type DocumentListParams as DocumentListParams,
249
+ type DocumentDeleteParams as DocumentDeleteParams,
250
+ };
251
+ }
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './knowledge-bases/index';
@@ -0,0 +1,334 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import { APIPromise } from '../../../core/api-promise';
5
+ import { Cursor, type CursorParams, PagePromise } from '../../../core/pagination';
6
+ import { buildHeaders } from '../../../internal/headers';
7
+ import { RequestOptions } from '../../../internal/request-options';
8
+ import { path } from '../../../internal/utils/path';
9
+
10
+ export class Tools extends APIResource {
11
+ /**
12
+ * Create a new tool for an agent. Tools allow the agent to call external webhooks.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const tool = await client.senders.agent.tools.create(
17
+ * 'senderId',
18
+ * {
19
+ * description: 'Get the status of a customer order',
20
+ * name: 'get_order_status',
21
+ * parameters: {
22
+ * type: 'object',
23
+ * properties: {
24
+ * order_id: {
25
+ * type: 'string',
26
+ * description: 'The order ID to look up',
27
+ * },
28
+ * },
29
+ * required: ['order_id'],
30
+ * },
31
+ * webhookUrl:
32
+ * 'https://api.example.com/webhooks/order-status',
33
+ * webhookSecret: 'whsec_...',
34
+ * },
35
+ * );
36
+ * ```
37
+ */
38
+ create(senderID: string, body: ToolCreateParams, options?: RequestOptions): APIPromise<ToolCreateResponse> {
39
+ return this._client.post(path`/v1/senders/${senderID}/agent/tools`, { body, ...options });
40
+ }
41
+
42
+ /**
43
+ * Get a specific tool.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const tool = await client.senders.agent.tools.retrieve(
48
+ * 'toolId',
49
+ * { senderId: 'senderId' },
50
+ * );
51
+ * ```
52
+ */
53
+ retrieve(
54
+ toolID: string,
55
+ params: ToolRetrieveParams,
56
+ options?: RequestOptions,
57
+ ): APIPromise<ToolRetrieveResponse> {
58
+ const { senderId } = params;
59
+ return this._client.get(path`/v1/senders/${senderId}/agent/tools/${toolID}`, options);
60
+ }
61
+
62
+ /**
63
+ * Update a tool.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * const tool = await client.senders.agent.tools.update(
68
+ * 'toolId',
69
+ * { senderId: 'senderId' },
70
+ * );
71
+ * ```
72
+ */
73
+ update(toolID: string, params: ToolUpdateParams, options?: RequestOptions): APIPromise<ToolUpdateResponse> {
74
+ const { senderId, ...body } = params;
75
+ return this._client.patch(path`/v1/senders/${senderId}/agent/tools/${toolID}`, { body, ...options });
76
+ }
77
+
78
+ /**
79
+ * List tools for an agent.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * // Automatically fetches more pages as needed.
84
+ * for await (const agentTool of client.senders.agent.tools.list(
85
+ * 'senderId',
86
+ * )) {
87
+ * // ...
88
+ * }
89
+ * ```
90
+ */
91
+ list(
92
+ senderID: string,
93
+ query: ToolListParams | null | undefined = {},
94
+ options?: RequestOptions,
95
+ ): PagePromise<AgentToolsCursor, AgentTool> {
96
+ return this._client.getAPIList(path`/v1/senders/${senderID}/agent/tools`, Cursor<AgentTool>, {
97
+ query,
98
+ ...options,
99
+ });
100
+ }
101
+
102
+ /**
103
+ * Delete a tool.
104
+ *
105
+ * @example
106
+ * ```ts
107
+ * await client.senders.agent.tools.delete('toolId', {
108
+ * senderId: 'senderId',
109
+ * });
110
+ * ```
111
+ */
112
+ delete(toolID: string, params: ToolDeleteParams, options?: RequestOptions): APIPromise<void> {
113
+ const { senderId } = params;
114
+ return this._client.delete(path`/v1/senders/${senderId}/agent/tools/${toolID}`, {
115
+ ...options,
116
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
117
+ });
118
+ }
119
+
120
+ /**
121
+ * Test a tool by triggering its webhook with test parameters.
122
+ *
123
+ * @example
124
+ * ```ts
125
+ * const response = await client.senders.agent.tools.test(
126
+ * 'toolId',
127
+ * {
128
+ * senderId: 'senderId',
129
+ * testParams: { order_id: 'ORD-12345' },
130
+ * },
131
+ * );
132
+ * ```
133
+ */
134
+ test(toolID: string, params: ToolTestParams, options?: RequestOptions): APIPromise<ToolTestResponse> {
135
+ const { senderId, ...body } = params;
136
+ return this._client.post(path`/v1/senders/${senderId}/agent/tools/${toolID}/test`, { body, ...options });
137
+ }
138
+ }
139
+
140
+ export type AgentToolsCursor = Cursor<AgentTool>;
141
+
142
+ export interface AgentTool {
143
+ id: string;
144
+
145
+ agentId: string;
146
+
147
+ createdAt: string;
148
+
149
+ /**
150
+ * Description for the LLM to understand when to use this tool.
151
+ */
152
+ description: string;
153
+
154
+ enabled: boolean;
155
+
156
+ name: string;
157
+
158
+ parameters: AgentTool.Parameters;
159
+
160
+ updatedAt: string;
161
+
162
+ /**
163
+ * HTTPS URL to call when the tool is executed.
164
+ */
165
+ webhookUrl: string;
166
+ }
167
+
168
+ export namespace AgentTool {
169
+ export interface Parameters {
170
+ properties: { [key: string]: Parameters.Properties };
171
+
172
+ required: Array<string>;
173
+
174
+ type: 'object';
175
+ }
176
+
177
+ export namespace Parameters {
178
+ export interface Properties {
179
+ description?: string;
180
+
181
+ type?: string;
182
+ }
183
+ }
184
+ }
185
+
186
+ export interface ToolCreateResponse {
187
+ tool: AgentTool;
188
+ }
189
+
190
+ export interface ToolRetrieveResponse {
191
+ tool: AgentTool;
192
+ }
193
+
194
+ export interface ToolUpdateResponse {
195
+ tool: AgentTool;
196
+ }
197
+
198
+ export interface ToolTestResponse {
199
+ scheduled: boolean;
200
+ }
201
+
202
+ export interface ToolCreateParams {
203
+ description: string;
204
+
205
+ name: string;
206
+
207
+ parameters: ToolCreateParams.Parameters;
208
+
209
+ /**
210
+ * Must be HTTPS.
211
+ */
212
+ webhookUrl: string;
213
+
214
+ enabled?: boolean;
215
+
216
+ /**
217
+ * Optional secret for webhook signature verification.
218
+ */
219
+ webhookSecret?: string;
220
+ }
221
+
222
+ export namespace ToolCreateParams {
223
+ export interface Parameters {
224
+ properties: { [key: string]: Parameters.Properties };
225
+
226
+ required: Array<string>;
227
+
228
+ type: 'object';
229
+ }
230
+
231
+ export namespace Parameters {
232
+ export interface Properties {
233
+ description?: string;
234
+
235
+ type?: string;
236
+ }
237
+ }
238
+ }
239
+
240
+ export interface ToolRetrieveParams {
241
+ senderId: string;
242
+ }
243
+
244
+ export interface ToolUpdateParams {
245
+ /**
246
+ * Path param:
247
+ */
248
+ senderId: string;
249
+
250
+ /**
251
+ * Body param:
252
+ */
253
+ description?: string;
254
+
255
+ /**
256
+ * Body param:
257
+ */
258
+ enabled?: boolean;
259
+
260
+ /**
261
+ * Body param:
262
+ */
263
+ name?: string;
264
+
265
+ /**
266
+ * Body param:
267
+ */
268
+ parameters?: ToolUpdateParams.Parameters;
269
+
270
+ /**
271
+ * Body param:
272
+ */
273
+ webhookSecret?: string | null;
274
+
275
+ /**
276
+ * Body param:
277
+ */
278
+ webhookUrl?: string;
279
+ }
280
+
281
+ export namespace ToolUpdateParams {
282
+ export interface Parameters {
283
+ properties: { [key: string]: Parameters.Properties };
284
+
285
+ required: Array<string>;
286
+
287
+ type: 'object';
288
+ }
289
+
290
+ export namespace Parameters {
291
+ export interface Properties {
292
+ description?: string;
293
+
294
+ type?: string;
295
+ }
296
+ }
297
+ }
298
+
299
+ export interface ToolListParams extends CursorParams {
300
+ enabled?: boolean;
301
+ }
302
+
303
+ export interface ToolDeleteParams {
304
+ senderId: string;
305
+ }
306
+
307
+ export interface ToolTestParams {
308
+ /**
309
+ * Path param:
310
+ */
311
+ senderId: string;
312
+
313
+ /**
314
+ * Body param: Parameters to pass to the tool for testing.
315
+ */
316
+ testParams: { [key: string]: unknown };
317
+ }
318
+
319
+ export declare namespace Tools {
320
+ export {
321
+ type AgentTool as AgentTool,
322
+ type ToolCreateResponse as ToolCreateResponse,
323
+ type ToolRetrieveResponse as ToolRetrieveResponse,
324
+ type ToolUpdateResponse as ToolUpdateResponse,
325
+ type ToolTestResponse as ToolTestResponse,
326
+ type AgentToolsCursor as AgentToolsCursor,
327
+ type ToolCreateParams as ToolCreateParams,
328
+ type ToolRetrieveParams as ToolRetrieveParams,
329
+ type ToolUpdateParams as ToolUpdateParams,
330
+ type ToolListParams as ToolListParams,
331
+ type ToolDeleteParams as ToolDeleteParams,
332
+ type ToolTestParams as ToolTestParams,
333
+ };
334
+ }
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './agent/index';
@@ -0,0 +1,32 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ AgentResource,
5
+ type Agent,
6
+ type AgentExecution,
7
+ type AgentExecutionStatus,
8
+ type AgentProvider,
9
+ type AgentResponse,
10
+ type AgentStats,
11
+ type AgentCreateParams,
12
+ type AgentUpdateParams,
13
+ type AgentExecutionsCursor,
14
+ } from './agent/index';
15
+ export {
16
+ Senders,
17
+ type Sender,
18
+ type SenderWebhook,
19
+ type WebhookEvent,
20
+ type WebhookSecretResponse,
21
+ type WhatsappBusinessProfile,
22
+ type WhatsappBusinessProfileResponse,
23
+ type WhatsappBusinessProfileVertical,
24
+ type SenderUpdateProfileResponse,
25
+ type SenderUploadProfilePictureResponse,
26
+ type SenderCreateParams,
27
+ type SenderUpdateParams,
28
+ type SenderListParams,
29
+ type SenderUpdateProfileParams,
30
+ type SenderUploadProfilePictureParams,
31
+ type SendersCursor,
32
+ } from './senders';