@sentdm/sentdm 0.45.0 → 0.47.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 (191) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/client.d.mts +6 -11
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +6 -11
  5. package/client.d.ts.map +1 -1
  6. package/client.js +3 -10
  7. package/client.js.map +1 -1
  8. package/client.mjs +3 -10
  9. package/client.mjs.map +1 -1
  10. package/core/pagination.d.mts +25 -0
  11. package/core/pagination.d.mts.map +1 -1
  12. package/core/pagination.d.ts +25 -0
  13. package/core/pagination.d.ts.map +1 -1
  14. package/core/pagination.js +28 -1
  15. package/core/pagination.js.map +1 -1
  16. package/core/pagination.mjs +26 -0
  17. package/core/pagination.mjs.map +1 -1
  18. package/package.json +1 -1
  19. package/resources/channels/channels.d.mts +2 -2
  20. package/resources/channels/channels.d.mts.map +1 -1
  21. package/resources/channels/channels.d.ts +2 -2
  22. package/resources/channels/channels.d.ts.map +1 -1
  23. package/resources/channels/channels.js.map +1 -1
  24. package/resources/channels/channels.mjs.map +1 -1
  25. package/resources/channels/index.d.mts +1 -1
  26. package/resources/channels/index.d.mts.map +1 -1
  27. package/resources/channels/index.d.ts +1 -1
  28. package/resources/channels/index.d.ts.map +1 -1
  29. package/resources/channels/index.js.map +1 -1
  30. package/resources/channels/index.mjs.map +1 -1
  31. package/resources/channels/voice.d.mts +72 -115
  32. package/resources/channels/voice.d.mts.map +1 -1
  33. package/resources/channels/voice.d.ts +72 -115
  34. package/resources/channels/voice.d.ts.map +1 -1
  35. package/resources/channels/voice.js +35 -45
  36. package/resources/channels/voice.js.map +1 -1
  37. package/resources/channels/voice.mjs +35 -45
  38. package/resources/channels/voice.mjs.map +1 -1
  39. package/resources/index.d.mts +1 -1
  40. package/resources/index.d.mts.map +1 -1
  41. package/resources/index.d.ts +1 -1
  42. package/resources/index.d.ts.map +1 -1
  43. package/resources/index.js +3 -3
  44. package/resources/index.js.map +1 -1
  45. package/resources/index.mjs +1 -1
  46. package/resources/index.mjs.map +1 -1
  47. package/resources/messages.d.mts +8 -1
  48. package/resources/messages.d.mts.map +1 -1
  49. package/resources/messages.d.ts +8 -1
  50. package/resources/messages.d.ts.map +1 -1
  51. package/resources/profiles/campaigns.d.mts +3 -2
  52. package/resources/profiles/campaigns.d.mts.map +1 -1
  53. package/resources/profiles/campaigns.d.ts +3 -2
  54. package/resources/profiles/campaigns.d.ts.map +1 -1
  55. package/resources/profiles/campaigns.js +3 -2
  56. package/resources/profiles/campaigns.js.map +1 -1
  57. package/resources/profiles/campaigns.mjs +3 -2
  58. package/resources/profiles/campaigns.mjs.map +1 -1
  59. package/resources/templates.d.mts +14 -13
  60. package/resources/templates.d.mts.map +1 -1
  61. package/resources/templates.d.ts +14 -13
  62. package/resources/templates.d.ts.map +1 -1
  63. package/resources/voice/agents.d.mts +524 -0
  64. package/resources/voice/agents.d.mts.map +1 -0
  65. package/resources/voice/agents.d.ts +524 -0
  66. package/resources/voice/agents.d.ts.map +1 -0
  67. package/resources/voice/agents.js +193 -0
  68. package/resources/voice/agents.js.map +1 -0
  69. package/resources/voice/agents.mjs +189 -0
  70. package/resources/voice/agents.mjs.map +1 -0
  71. package/resources/{calls → voice/calls}/calls.d.mts +103 -26
  72. package/resources/voice/calls/calls.d.mts.map +1 -0
  73. package/resources/{calls → voice/calls}/calls.d.ts +103 -26
  74. package/resources/voice/calls/calls.d.ts.map +1 -0
  75. package/resources/{calls → voice/calls}/calls.js +35 -28
  76. package/resources/voice/calls/calls.js.map +1 -0
  77. package/resources/{calls → voice/calls}/calls.mjs +34 -27
  78. package/resources/voice/calls/calls.mjs.map +1 -0
  79. package/resources/voice/calls/index.d.mts.map +1 -0
  80. package/resources/voice/calls/index.d.ts.map +1 -0
  81. package/resources/voice/calls/index.js.map +1 -0
  82. package/resources/voice/calls/index.mjs.map +1 -0
  83. package/resources/{calls → voice/calls}/participants.d.mts +16 -14
  84. package/resources/voice/calls/participants.d.mts.map +1 -0
  85. package/resources/{calls → voice/calls}/participants.d.ts +16 -14
  86. package/resources/voice/calls/participants.d.ts.map +1 -0
  87. package/resources/{calls → voice/calls}/participants.js +19 -17
  88. package/resources/voice/calls/participants.js.map +1 -0
  89. package/resources/{calls → voice/calls}/participants.mjs +19 -17
  90. package/resources/voice/calls/participants.mjs.map +1 -0
  91. package/resources/voice/calls.d.mts.map +1 -0
  92. package/resources/voice/calls.d.ts.map +1 -0
  93. package/resources/{calls.js → voice/calls.js} +1 -1
  94. package/resources/voice/calls.js.map +1 -0
  95. package/resources/voice/calls.mjs.map +1 -0
  96. package/resources/voice/catalogue.d.mts +86 -0
  97. package/resources/voice/catalogue.d.mts.map +1 -0
  98. package/resources/voice/catalogue.d.ts +86 -0
  99. package/resources/voice/catalogue.d.ts.map +1 -0
  100. package/resources/voice/catalogue.js +40 -0
  101. package/resources/voice/catalogue.js.map +1 -0
  102. package/resources/voice/catalogue.mjs +36 -0
  103. package/resources/voice/catalogue.mjs.map +1 -0
  104. package/resources/voice/index.d.mts +6 -0
  105. package/resources/voice/index.d.mts.map +1 -0
  106. package/resources/voice/index.d.ts +6 -0
  107. package/resources/voice/index.d.ts.map +1 -0
  108. package/resources/voice/index.js +15 -0
  109. package/resources/voice/index.js.map +1 -0
  110. package/resources/voice/index.mjs +7 -0
  111. package/resources/voice/index.mjs.map +1 -0
  112. package/resources/voice/tokens.d.mts +111 -0
  113. package/resources/voice/tokens.d.mts.map +1 -0
  114. package/resources/voice/tokens.d.ts +111 -0
  115. package/resources/voice/tokens.d.ts.map +1 -0
  116. package/resources/voice/tokens.js +47 -0
  117. package/resources/voice/tokens.js.map +1 -0
  118. package/resources/voice/tokens.mjs +43 -0
  119. package/resources/voice/tokens.mjs.map +1 -0
  120. package/resources/voice/voice.d.mts +22 -0
  121. package/resources/voice/voice.d.mts.map +1 -0
  122. package/resources/voice/voice.d.ts +22 -0
  123. package/resources/voice/voice.d.ts.map +1 -0
  124. package/resources/voice/voice.js +29 -0
  125. package/resources/voice/voice.js.map +1 -0
  126. package/resources/voice/voice.mjs +24 -0
  127. package/resources/voice/voice.mjs.map +1 -0
  128. package/resources/voice.d.mts +2 -0
  129. package/resources/voice.d.mts.map +1 -0
  130. package/resources/voice.d.ts +2 -0
  131. package/resources/voice.d.ts.map +1 -0
  132. package/resources/voice.js +6 -0
  133. package/resources/voice.js.map +1 -0
  134. package/resources/voice.mjs +3 -0
  135. package/resources/voice.mjs.map +1 -0
  136. package/resources/webhooks.d.mts +154 -31
  137. package/resources/webhooks.d.mts.map +1 -1
  138. package/resources/webhooks.d.ts +154 -31
  139. package/resources/webhooks.d.ts.map +1 -1
  140. package/resources/webhooks.js +51 -11
  141. package/resources/webhooks.js.map +1 -1
  142. package/resources/webhooks.mjs +51 -11
  143. package/resources/webhooks.mjs.map +1 -1
  144. package/src/client.ts +12 -45
  145. package/src/core/pagination.ts +64 -0
  146. package/src/resources/channels/channels.ts +0 -6
  147. package/src/resources/channels/index.ts +0 -3
  148. package/src/resources/channels/voice.ts +74 -144
  149. package/src/resources/index.ts +1 -18
  150. package/src/resources/messages.ts +8 -1
  151. package/src/resources/profiles/campaigns.ts +3 -2
  152. package/src/resources/templates.ts +14 -13
  153. package/src/resources/voice/agents.ts +729 -0
  154. package/src/resources/{calls → voice/calls}/calls.ts +122 -33
  155. package/src/resources/{calls → voice/calls}/participants.ts +23 -21
  156. package/src/resources/voice/catalogue.ts +118 -0
  157. package/src/resources/voice/index.ts +55 -0
  158. package/src/resources/voice/tokens.ts +146 -0
  159. package/src/resources/voice/voice.ts +134 -0
  160. package/src/resources/voice.ts +3 -0
  161. package/src/resources/webhooks.ts +162 -31
  162. package/src/version.ts +1 -1
  163. package/version.d.mts +1 -1
  164. package/version.d.ts +1 -1
  165. package/version.js +1 -1
  166. package/version.mjs +1 -1
  167. package/resources/calls/calls.d.mts.map +0 -1
  168. package/resources/calls/calls.d.ts.map +0 -1
  169. package/resources/calls/calls.js.map +0 -1
  170. package/resources/calls/calls.mjs.map +0 -1
  171. package/resources/calls/index.d.mts.map +0 -1
  172. package/resources/calls/index.d.ts.map +0 -1
  173. package/resources/calls/index.js.map +0 -1
  174. package/resources/calls/index.mjs.map +0 -1
  175. package/resources/calls/participants.d.mts.map +0 -1
  176. package/resources/calls/participants.d.ts.map +0 -1
  177. package/resources/calls/participants.js.map +0 -1
  178. package/resources/calls/participants.mjs.map +0 -1
  179. package/resources/calls.d.mts.map +0 -1
  180. package/resources/calls.d.ts.map +0 -1
  181. package/resources/calls.js.map +0 -1
  182. package/resources/calls.mjs.map +0 -1
  183. /package/resources/{calls → voice/calls}/index.d.mts +0 -0
  184. /package/resources/{calls → voice/calls}/index.d.ts +0 -0
  185. /package/resources/{calls → voice/calls}/index.js +0 -0
  186. /package/resources/{calls → voice/calls}/index.mjs +0 -0
  187. /package/resources/{calls.d.mts → voice/calls.d.mts} +0 -0
  188. /package/resources/{calls.d.ts → voice/calls.d.ts} +0 -0
  189. /package/resources/{calls.mjs → voice/calls.mjs} +0 -0
  190. /package/src/resources/{calls → voice/calls}/index.ts +0 -0
  191. /package/src/resources/{calls.ts → voice/calls.ts} +0 -0
@@ -1,14 +1,16 @@
1
- import { APIResource } from "../../core/resource.mjs";
2
- import * as WebhooksAPI from "../webhooks.mjs";
1
+ import { APIResource } from "../../../core/resource.mjs";
2
+ import * as WebhooksAPI from "../../webhooks.mjs";
3
3
  import * as CallsAPI from "./calls.mjs";
4
- import { APIPromise } from "../../core/api-promise.mjs";
5
- import { RequestOptions } from "../../internal/request-options.mjs";
4
+ import { APIPromise } from "../../../core/api-promise.mjs";
5
+ import { RequestOptions } from "../../../internal/request-options.mjs";
6
6
  /**
7
7
  * Phone calls from the numbers you hold, driven by your own callback URL.
8
8
  *
9
- * `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/channels/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
9
+ * `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
10
10
  *
11
- * Every call is a record under `/v3/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
11
+ * Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
12
+ *
13
+ * **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
12
14
  */
13
15
  export declare class Participants extends APIResource {
14
16
  /**
@@ -21,7 +23,7 @@ export declare class Participants extends APIResource {
21
23
  *
22
24
  * @example
23
25
  * ```ts
24
- * await client.calls.participants.update(
26
+ * await client.voice.calls.participants.update(
25
27
  * 'call_9f2ab000-0000-4000-8000-000000000002',
26
28
  * { id: 'call_9f2ab000-0000-4000-8000-000000000001' },
27
29
  * );
@@ -33,13 +35,13 @@ export declare class Participants extends APIResource {
33
35
  * participant's own call id, who they are, whether the room mutes them, and how
34
36
  * long they have been connected. The call itself is one of the participants. Use a
35
37
  * participant's id to mute or remove them; it is also a call id, so GET
36
- * /v3/calls/{id} accepts it. A call that has ended answers 409, as does a call
37
- * that is not in a conference.
38
+ * /v3/voice/calls/{id} accepts it. A call that has ended answers 409, as does a
39
+ * call that is not in a conference.
38
40
  *
39
41
  * @example
40
42
  * ```ts
41
43
  * const apiResponseOfListOfCallParticipant =
42
- * await client.calls.participants.list(
44
+ * await client.voice.calls.participants.list(
43
45
  * 'call_9f2ab000-0000-4000-8000-000000000001',
44
46
  * );
45
47
  * ```
@@ -59,7 +61,7 @@ export declare class Participants extends APIResource {
59
61
  * @example
60
62
  * ```ts
61
63
  * const apiResponseOfCall =
62
- * await client.calls.participants.add(
64
+ * await client.voice.calls.participants.add(
63
65
  * 'call_9f2ab000-0000-4000-8000-000000000001',
64
66
  * );
65
67
  * ```
@@ -74,7 +76,7 @@ export declare class Participants extends APIResource {
74
76
  *
75
77
  * @example
76
78
  * ```ts
77
- * await client.calls.participants.remove(
79
+ * await client.voice.calls.participants.remove(
78
80
  * 'call_9f2ab000-0000-4000-8000-000000000002',
79
81
  * { id: 'call_9f2ab000-0000-4000-8000-000000000001' },
80
82
  * );
@@ -89,7 +91,7 @@ export declare class Participants extends APIResource {
89
91
  *
90
92
  * @example
91
93
  * ```ts
92
- * await client.calls.participants.removeAll(
94
+ * await client.voice.calls.participants.removeAll(
93
95
  * 'call_9f2ab000-0000-4000-8000-000000000001',
94
96
  * );
95
97
  * ```
@@ -123,7 +125,7 @@ export interface APIResponseOfListOfCallParticipant {
123
125
  export interface CallParticipant {
124
126
  /**
125
127
  * The participant's own call id: what the mute and remove endpoints take, and what
126
- * GET /v3/calls/{id} accepts
128
+ * GET /v3/voice/calls/{id} accepts
127
129
  */
128
130
  id?: string;
129
131
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"participants.d.mts","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,16 @@
1
- import { APIResource } from "../../core/resource.js";
2
- import * as WebhooksAPI from "../webhooks.js";
1
+ import { APIResource } from "../../../core/resource.js";
2
+ import * as WebhooksAPI from "../../webhooks.js";
3
3
  import * as CallsAPI from "./calls.js";
4
- import { APIPromise } from "../../core/api-promise.js";
5
- import { RequestOptions } from "../../internal/request-options.js";
4
+ import { APIPromise } from "../../../core/api-promise.js";
5
+ import { RequestOptions } from "../../../internal/request-options.js";
6
6
  /**
7
7
  * Phone calls from the numbers you hold, driven by your own callback URL.
8
8
  *
9
- * `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/channels/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
9
+ * `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
10
10
  *
11
- * Every call is a record under `/v3/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
11
+ * Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
12
+ *
13
+ * **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
12
14
  */
13
15
  export declare class Participants extends APIResource {
14
16
  /**
@@ -21,7 +23,7 @@ export declare class Participants extends APIResource {
21
23
  *
22
24
  * @example
23
25
  * ```ts
24
- * await client.calls.participants.update(
26
+ * await client.voice.calls.participants.update(
25
27
  * 'call_9f2ab000-0000-4000-8000-000000000002',
26
28
  * { id: 'call_9f2ab000-0000-4000-8000-000000000001' },
27
29
  * );
@@ -33,13 +35,13 @@ export declare class Participants extends APIResource {
33
35
  * participant's own call id, who they are, whether the room mutes them, and how
34
36
  * long they have been connected. The call itself is one of the participants. Use a
35
37
  * participant's id to mute or remove them; it is also a call id, so GET
36
- * /v3/calls/{id} accepts it. A call that has ended answers 409, as does a call
37
- * that is not in a conference.
38
+ * /v3/voice/calls/{id} accepts it. A call that has ended answers 409, as does a
39
+ * call that is not in a conference.
38
40
  *
39
41
  * @example
40
42
  * ```ts
41
43
  * const apiResponseOfListOfCallParticipant =
42
- * await client.calls.participants.list(
44
+ * await client.voice.calls.participants.list(
43
45
  * 'call_9f2ab000-0000-4000-8000-000000000001',
44
46
  * );
45
47
  * ```
@@ -59,7 +61,7 @@ export declare class Participants extends APIResource {
59
61
  * @example
60
62
  * ```ts
61
63
  * const apiResponseOfCall =
62
- * await client.calls.participants.add(
64
+ * await client.voice.calls.participants.add(
63
65
  * 'call_9f2ab000-0000-4000-8000-000000000001',
64
66
  * );
65
67
  * ```
@@ -74,7 +76,7 @@ export declare class Participants extends APIResource {
74
76
  *
75
77
  * @example
76
78
  * ```ts
77
- * await client.calls.participants.remove(
79
+ * await client.voice.calls.participants.remove(
78
80
  * 'call_9f2ab000-0000-4000-8000-000000000002',
79
81
  * { id: 'call_9f2ab000-0000-4000-8000-000000000001' },
80
82
  * );
@@ -89,7 +91,7 @@ export declare class Participants extends APIResource {
89
91
  *
90
92
  * @example
91
93
  * ```ts
92
- * await client.calls.participants.removeAll(
94
+ * await client.voice.calls.participants.removeAll(
93
95
  * 'call_9f2ab000-0000-4000-8000-000000000001',
94
96
  * );
95
97
  * ```
@@ -123,7 +125,7 @@ export interface APIResponseOfListOfCallParticipant {
123
125
  export interface CallParticipant {
124
126
  /**
125
127
  * The participant's own call id: what the mute and remove endpoints take, and what
126
- * GET /v3/calls/{id} accepts
128
+ * GET /v3/voice/calls/{id} accepts
127
129
  */
128
130
  id?: string;
129
131
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"participants.d.ts","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,17 @@
2
2
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Participants = void 0;
5
- const resource_1 = require("../../core/resource.js");
6
- const headers_1 = require("../../internal/headers.js");
7
- const path_1 = require("../../internal/utils/path.js");
5
+ const resource_1 = require("../../../core/resource.js");
6
+ const headers_1 = require("../../../internal/headers.js");
7
+ const path_1 = require("../../../internal/utils/path.js");
8
8
  /**
9
9
  * Phone calls from the numbers you hold, driven by your own callback URL.
10
10
  *
11
- * `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/channels/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
11
+ * `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
12
12
  *
13
- * Every call is a record under `/v3/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
13
+ * Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
14
+ *
15
+ * **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
14
16
  */
15
17
  class Participants extends resource_1.APIResource {
16
18
  /**
@@ -23,7 +25,7 @@ class Participants extends resource_1.APIResource {
23
25
  *
24
26
  * @example
25
27
  * ```ts
26
- * await client.calls.participants.update(
28
+ * await client.voice.calls.participants.update(
27
29
  * 'call_9f2ab000-0000-4000-8000-000000000002',
28
30
  * { id: 'call_9f2ab000-0000-4000-8000-000000000001' },
29
31
  * );
@@ -31,7 +33,7 @@ class Participants extends resource_1.APIResource {
31
33
  */
32
34
  update(participantID, params, options) {
33
35
  const { id, 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
34
- return this._client.patch((0, path_1.path) `/v3/calls/${id}/participants/${participantID}`, {
36
+ return this._client.patch((0, path_1.path) `/v3/voice/calls/${id}/participants/${participantID}`, {
35
37
  body,
36
38
  ...options,
37
39
  headers: (0, headers_1.buildHeaders)([
@@ -49,20 +51,20 @@ class Participants extends resource_1.APIResource {
49
51
  * participant's own call id, who they are, whether the room mutes them, and how
50
52
  * long they have been connected. The call itself is one of the participants. Use a
51
53
  * participant's id to mute or remove them; it is also a call id, so GET
52
- * /v3/calls/{id} accepts it. A call that has ended answers 409, as does a call
53
- * that is not in a conference.
54
+ * /v3/voice/calls/{id} accepts it. A call that has ended answers 409, as does a
55
+ * call that is not in a conference.
54
56
  *
55
57
  * @example
56
58
  * ```ts
57
59
  * const apiResponseOfListOfCallParticipant =
58
- * await client.calls.participants.list(
60
+ * await client.voice.calls.participants.list(
59
61
  * 'call_9f2ab000-0000-4000-8000-000000000001',
60
62
  * );
61
63
  * ```
62
64
  */
63
65
  list(id, params = {}, options) {
64
66
  const { 'x-profile-id': xProfileID } = params ?? {};
65
- return this._client.get((0, path_1.path) `/v3/calls/${id}/participants`, {
67
+ return this._client.get((0, path_1.path) `/v3/voice/calls/${id}/participants`, {
66
68
  ...options,
67
69
  headers: (0, headers_1.buildHeaders)([
68
70
  { ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined) },
@@ -84,14 +86,14 @@ class Participants extends resource_1.APIResource {
84
86
  * @example
85
87
  * ```ts
86
88
  * const apiResponseOfCall =
87
- * await client.calls.participants.add(
89
+ * await client.voice.calls.participants.add(
88
90
  * 'call_9f2ab000-0000-4000-8000-000000000001',
89
91
  * );
90
92
  * ```
91
93
  */
92
94
  add(id, params, options) {
93
95
  const { 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
94
- return this._client.post((0, path_1.path) `/v3/calls/${id}/participants`, {
96
+ return this._client.post((0, path_1.path) `/v3/voice/calls/${id}/participants`, {
95
97
  body,
96
98
  ...options,
97
99
  headers: (0, headers_1.buildHeaders)([
@@ -112,7 +114,7 @@ class Participants extends resource_1.APIResource {
112
114
  *
113
115
  * @example
114
116
  * ```ts
115
- * await client.calls.participants.remove(
117
+ * await client.voice.calls.participants.remove(
116
118
  * 'call_9f2ab000-0000-4000-8000-000000000002',
117
119
  * { id: 'call_9f2ab000-0000-4000-8000-000000000001' },
118
120
  * );
@@ -120,7 +122,7 @@ class Participants extends resource_1.APIResource {
120
122
  */
121
123
  remove(participantID, params, options) {
122
124
  const { id, 'x-profile-id': xProfileID, ...body } = params;
123
- return this._client.delete((0, path_1.path) `/v3/calls/${id}/participants/${participantID}`, {
125
+ return this._client.delete((0, path_1.path) `/v3/voice/calls/${id}/participants/${participantID}`, {
124
126
  body,
125
127
  ...options,
126
128
  headers: (0, headers_1.buildHeaders)([
@@ -137,14 +139,14 @@ class Participants extends resource_1.APIResource {
137
139
  *
138
140
  * @example
139
141
  * ```ts
140
- * await client.calls.participants.removeAll(
142
+ * await client.voice.calls.participants.removeAll(
141
143
  * 'call_9f2ab000-0000-4000-8000-000000000001',
142
144
  * );
143
145
  * ```
144
146
  */
145
147
  removeAll(id, params, options) {
146
148
  const { 'x-profile-id': xProfileID, ...body } = params;
147
- return this._client.delete((0, path_1.path) `/v3/calls/${id}/participants`, {
149
+ return this._client.delete((0, path_1.path) `/v3/voice/calls/${id}/participants`, {
148
150
  body,
149
151
  ...options,
150
152
  headers: (0, headers_1.buildHeaders)([
@@ -0,0 +1 @@
1
+ {"version":3,"file":"participants.js","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
- import { APIResource } from "../../core/resource.mjs";
3
- import { buildHeaders } from "../../internal/headers.mjs";
4
- import { path } from "../../internal/utils/path.mjs";
2
+ import { APIResource } from "../../../core/resource.mjs";
3
+ import { buildHeaders } from "../../../internal/headers.mjs";
4
+ import { path } from "../../../internal/utils/path.mjs";
5
5
  /**
6
6
  * Phone calls from the numbers you hold, driven by your own callback URL.
7
7
  *
8
- * `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/channels/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
8
+ * `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
9
9
  *
10
- * Every call is a record under `/v3/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
10
+ * Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
11
+ *
12
+ * **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
11
13
  */
12
14
  export class Participants extends APIResource {
13
15
  /**
@@ -20,7 +22,7 @@ export class Participants extends APIResource {
20
22
  *
21
23
  * @example
22
24
  * ```ts
23
- * await client.calls.participants.update(
25
+ * await client.voice.calls.participants.update(
24
26
  * 'call_9f2ab000-0000-4000-8000-000000000002',
25
27
  * { id: 'call_9f2ab000-0000-4000-8000-000000000001' },
26
28
  * );
@@ -28,7 +30,7 @@ export class Participants extends APIResource {
28
30
  */
29
31
  update(participantID, params, options) {
30
32
  const { id, 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
31
- return this._client.patch(path `/v3/calls/${id}/participants/${participantID}`, {
33
+ return this._client.patch(path `/v3/voice/calls/${id}/participants/${participantID}`, {
32
34
  body,
33
35
  ...options,
34
36
  headers: buildHeaders([
@@ -46,20 +48,20 @@ export class Participants extends APIResource {
46
48
  * participant's own call id, who they are, whether the room mutes them, and how
47
49
  * long they have been connected. The call itself is one of the participants. Use a
48
50
  * participant's id to mute or remove them; it is also a call id, so GET
49
- * /v3/calls/{id} accepts it. A call that has ended answers 409, as does a call
50
- * that is not in a conference.
51
+ * /v3/voice/calls/{id} accepts it. A call that has ended answers 409, as does a
52
+ * call that is not in a conference.
51
53
  *
52
54
  * @example
53
55
  * ```ts
54
56
  * const apiResponseOfListOfCallParticipant =
55
- * await client.calls.participants.list(
57
+ * await client.voice.calls.participants.list(
56
58
  * 'call_9f2ab000-0000-4000-8000-000000000001',
57
59
  * );
58
60
  * ```
59
61
  */
60
62
  list(id, params = {}, options) {
61
63
  const { 'x-profile-id': xProfileID } = params ?? {};
62
- return this._client.get(path `/v3/calls/${id}/participants`, {
64
+ return this._client.get(path `/v3/voice/calls/${id}/participants`, {
63
65
  ...options,
64
66
  headers: buildHeaders([
65
67
  { ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined) },
@@ -81,14 +83,14 @@ export class Participants extends APIResource {
81
83
  * @example
82
84
  * ```ts
83
85
  * const apiResponseOfCall =
84
- * await client.calls.participants.add(
86
+ * await client.voice.calls.participants.add(
85
87
  * 'call_9f2ab000-0000-4000-8000-000000000001',
86
88
  * );
87
89
  * ```
88
90
  */
89
91
  add(id, params, options) {
90
92
  const { 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
91
- return this._client.post(path `/v3/calls/${id}/participants`, {
93
+ return this._client.post(path `/v3/voice/calls/${id}/participants`, {
92
94
  body,
93
95
  ...options,
94
96
  headers: buildHeaders([
@@ -109,7 +111,7 @@ export class Participants extends APIResource {
109
111
  *
110
112
  * @example
111
113
  * ```ts
112
- * await client.calls.participants.remove(
114
+ * await client.voice.calls.participants.remove(
113
115
  * 'call_9f2ab000-0000-4000-8000-000000000002',
114
116
  * { id: 'call_9f2ab000-0000-4000-8000-000000000001' },
115
117
  * );
@@ -117,7 +119,7 @@ export class Participants extends APIResource {
117
119
  */
118
120
  remove(participantID, params, options) {
119
121
  const { id, 'x-profile-id': xProfileID, ...body } = params;
120
- return this._client.delete(path `/v3/calls/${id}/participants/${participantID}`, {
122
+ return this._client.delete(path `/v3/voice/calls/${id}/participants/${participantID}`, {
121
123
  body,
122
124
  ...options,
123
125
  headers: buildHeaders([
@@ -134,14 +136,14 @@ export class Participants extends APIResource {
134
136
  *
135
137
  * @example
136
138
  * ```ts
137
- * await client.calls.participants.removeAll(
139
+ * await client.voice.calls.participants.removeAll(
138
140
  * 'call_9f2ab000-0000-4000-8000-000000000001',
139
141
  * );
140
142
  * ```
141
143
  */
142
144
  removeAll(id, params, options) {
143
145
  const { 'x-profile-id': xProfileID, ...body } = params;
144
- return this._client.delete(path `/v3/calls/${id}/participants`, {
146
+ return this._client.delete(path `/v3/voice/calls/${id}/participants`, {
145
147
  body,
146
148
  ...options,
147
149
  headers: buildHeaders([
@@ -0,0 +1 @@
1
+ {"version":3,"file":"participants.mjs","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calls.d.mts","sourceRoot":"","sources":["../../src/resources/voice/calls.ts"],"names":[],"mappings":"AAEA,kCAA8B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../src/resources/voice/calls.ts"],"names":[],"mappings":"AAEA,iCAA8B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- const tslib_1 = require("../internal/tslib.js");
4
+ const tslib_1 = require("../../internal/tslib.js");
5
5
  tslib_1.__exportStar(require("./calls/index.js"), exports);
6
6
  //# sourceMappingURL=calls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../src/resources/voice/calls.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,2DAA8B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calls.mjs","sourceRoot":"","sources":["../../src/resources/voice/calls.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,kCAA8B"}
@@ -0,0 +1,86 @@
1
+ import { APIResource } from "../../core/resource.mjs";
2
+ import * as WebhooksAPI from "../webhooks.mjs";
3
+ import { APIPromise } from "../../core/api-promise.mjs";
4
+ import { RequestOptions } from "../../internal/request-options.mjs";
5
+ /**
6
+ * Phone calls from the numbers you hold, driven by your own callback URL.
7
+ *
8
+ * `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
9
+ *
10
+ * Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
11
+ *
12
+ * **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
13
+ */
14
+ export declare class Catalogue extends APIResource {
15
+ /**
16
+ * The names a voice agent's `speech.voice` and `speech.language` accept, with the
17
+ * default marked. The list grows as voices are added; a name is never removed
18
+ * without notice.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const apiResponseOfVoiceCatalogue =
23
+ * await client.voice.catalogue.list();
24
+ * ```
25
+ */
26
+ list(params?: CatalogueListParams | null | undefined, options?: RequestOptions): APIPromise<APIResponseOfVoiceCatalogue>;
27
+ }
28
+ /**
29
+ * Standard API response envelope for all v3 endpoints
30
+ */
31
+ export interface APIResponseOfVoiceCatalogue {
32
+ /**
33
+ * The voices and languages a text-session agent may name in its speech settings:
34
+ * what GET /v3/voice/voices and the admin GET /voice/voices answer, in one shape.
35
+ */
36
+ data?: VoiceCatalogue | null;
37
+ /**
38
+ * Error information
39
+ */
40
+ error?: WebhooksAPI.ErrorDetail | null;
41
+ /**
42
+ * Request and response metadata
43
+ */
44
+ meta?: WebhooksAPI.APIMeta;
45
+ /**
46
+ * Indicates whether the request was successful
47
+ */
48
+ success?: boolean;
49
+ }
50
+ /**
51
+ * The voices and languages a text-session agent may name in its speech settings:
52
+ * what GET /v3/voice/voices and the admin GET /voice/voices answer, in one shape.
53
+ */
54
+ export interface VoiceCatalogue {
55
+ /**
56
+ * BCP 47 tags accepted as speech.language.
57
+ */
58
+ languages?: Array<string>;
59
+ voices?: Array<VoiceCatalogueVoice>;
60
+ }
61
+ export interface VoiceCatalogueVoice {
62
+ /**
63
+ * Whether this is the voice used when an agent names none.
64
+ */
65
+ default?: boolean;
66
+ description?: string;
67
+ /**
68
+ * The language the voice speaks.
69
+ */
70
+ language?: string;
71
+ /**
72
+ * The value to send as speech.voice.
73
+ */
74
+ name?: string;
75
+ }
76
+ export interface CatalogueListParams {
77
+ /**
78
+ * Profile UUID to scope the request to a child profile. Only organization API keys
79
+ * can use this header. The profile must belong to the calling organization.
80
+ */
81
+ 'x-profile-id'?: string;
82
+ }
83
+ export declare namespace Catalogue {
84
+ export { type APIResponseOfVoiceCatalogue as APIResponseOfVoiceCatalogue, type VoiceCatalogue as VoiceCatalogue, type VoiceCatalogueVoice as VoiceCatalogueVoice, type CatalogueListParams as CatalogueListParams, };
85
+ }
86
+ //# sourceMappingURL=catalogue.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogue.d.mts","sourceRoot":"","sources":["../../src/resources/voice/catalogue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,gCAA4B;AAClD,OAAO,KAAK,WAAW,wBAAoB;AAC3C,OAAO,EAAE,UAAU,EAAE,mCAA+B;AAEpD,OAAO,EAAE,cAAc,EAAE,2CAAuC;AAEhE;;;;;;;;GAQG;AACH,qBAAa,SAAU,SAAQ,WAAW;IACxC;;;;;;;;;;OAUG;IACH,IAAI,CACF,MAAM,GAAE,mBAAmB,GAAG,IAAI,GAAG,SAAc,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,2BAA2B,CAAC;CAU3C;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC;IAEvC;;OAEG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC;IAE3B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1B,MAAM,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,OAAO,EACL,KAAK,2BAA2B,IAAI,2BAA2B,EAC/D,KAAK,cAAc,IAAI,cAAc,EACrC,KAAK,mBAAmB,IAAI,mBAAmB,EAC/C,KAAK,mBAAmB,IAAI,mBAAmB,GAChD,CAAC;CACH"}