@polymorfa/sdk 0.1.0-dev.20260922093854

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 (347) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1881 -0
  3. package/dist/bridge.d.ts +31 -0
  4. package/dist/bridge.d.ts.map +1 -0
  5. package/dist/bridge.js +39 -0
  6. package/dist/bridge.js.map +1 -0
  7. package/dist/calls/api.d.ts +109 -0
  8. package/dist/calls/api.d.ts.map +1 -0
  9. package/dist/calls/api.js +179 -0
  10. package/dist/calls/api.js.map +1 -0
  11. package/dist/calls/call.d.ts +286 -0
  12. package/dist/calls/call.d.ts.map +1 -0
  13. package/dist/calls/call.js +860 -0
  14. package/dist/calls/call.js.map +1 -0
  15. package/dist/calls/client.d.ts +124 -0
  16. package/dist/calls/client.d.ts.map +1 -0
  17. package/dist/calls/client.js +447 -0
  18. package/dist/calls/client.js.map +1 -0
  19. package/dist/calls/diagnostics.d.ts +74 -0
  20. package/dist/calls/diagnostics.d.ts.map +1 -0
  21. package/dist/calls/diagnostics.js +133 -0
  22. package/dist/calls/diagnostics.js.map +1 -0
  23. package/dist/calls/errors.d.ts +37 -0
  24. package/dist/calls/errors.d.ts.map +1 -0
  25. package/dist/calls/errors.js +52 -0
  26. package/dist/calls/errors.js.map +1 -0
  27. package/dist/calls/events.d.ts +15 -0
  28. package/dist/calls/events.d.ts.map +1 -0
  29. package/dist/calls/events.js +34 -0
  30. package/dist/calls/events.js.map +1 -0
  31. package/dist/calls/index.d.ts +6 -0
  32. package/dist/calls/index.d.ts.map +1 -0
  33. package/dist/calls/index.js +7 -0
  34. package/dist/calls/index.js.map +1 -0
  35. package/dist/calls/internal.d.ts +18 -0
  36. package/dist/calls/internal.d.ts.map +1 -0
  37. package/dist/calls/internal.js +18 -0
  38. package/dist/calls/internal.js.map +1 -0
  39. package/dist/calls/lifecycle.d.ts +111 -0
  40. package/dist/calls/lifecycle.d.ts.map +1 -0
  41. package/dist/calls/lifecycle.js +490 -0
  42. package/dist/calls/lifecycle.js.map +1 -0
  43. package/dist/calls/media.d.ts +102 -0
  44. package/dist/calls/media.d.ts.map +1 -0
  45. package/dist/calls/media.js +414 -0
  46. package/dist/calls/media.js.map +1 -0
  47. package/dist/calls/protocol.d.ts +216 -0
  48. package/dist/calls/protocol.d.ts.map +1 -0
  49. package/dist/calls/protocol.js +268 -0
  50. package/dist/calls/protocol.js.map +1 -0
  51. package/dist/calls/token.d.ts +43 -0
  52. package/dist/calls/token.d.ts.map +1 -0
  53. package/dist/calls/token.js +146 -0
  54. package/dist/calls/token.js.map +1 -0
  55. package/dist/client.d.ts +65 -0
  56. package/dist/client.d.ts.map +1 -0
  57. package/dist/client.js +119 -0
  58. package/dist/client.js.map +1 -0
  59. package/dist/credentials.d.ts +50 -0
  60. package/dist/credentials.d.ts.map +1 -0
  61. package/dist/credentials.js +73 -0
  62. package/dist/credentials.js.map +1 -0
  63. package/dist/errors.d.ts +71 -0
  64. package/dist/errors.d.ts.map +1 -0
  65. package/dist/errors.js +129 -0
  66. package/dist/errors.js.map +1 -0
  67. package/dist/index.d.ts +70 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +61 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/media/whatsapp.d.ts +105 -0
  72. package/dist/media/whatsapp.d.ts.map +1 -0
  73. package/dist/media/whatsapp.js +624 -0
  74. package/dist/media/whatsapp.js.map +1 -0
  75. package/dist/messaging/bansafe.d.ts +30 -0
  76. package/dist/messaging/bansafe.d.ts.map +1 -0
  77. package/dist/messaging/bansafe.js +86 -0
  78. package/dist/messaging/bansafe.js.map +1 -0
  79. package/dist/messaging/business.d.ts +35 -0
  80. package/dist/messaging/business.d.ts.map +1 -0
  81. package/dist/messaging/business.js +145 -0
  82. package/dist/messaging/business.js.map +1 -0
  83. package/dist/messaging/calls.d.ts +9 -0
  84. package/dist/messaging/calls.d.ts.map +1 -0
  85. package/dist/messaging/calls.js +16 -0
  86. package/dist/messaging/calls.js.map +1 -0
  87. package/dist/messaging/campaigns.d.ts +19 -0
  88. package/dist/messaging/campaigns.d.ts.map +1 -0
  89. package/dist/messaging/campaigns.js +77 -0
  90. package/dist/messaging/campaigns.js.map +1 -0
  91. package/dist/messaging/channels.d.ts +23 -0
  92. package/dist/messaging/channels.d.ts.map +1 -0
  93. package/dist/messaging/channels.js +104 -0
  94. package/dist/messaging/channels.js.map +1 -0
  95. package/dist/messaging/chats.d.ts +14 -0
  96. package/dist/messaging/chats.d.ts.map +1 -0
  97. package/dist/messaging/chats.js +51 -0
  98. package/dist/messaging/chats.js.map +1 -0
  99. package/dist/messaging/client-tokens.d.ts +15 -0
  100. package/dist/messaging/client-tokens.d.ts.map +1 -0
  101. package/dist/messaging/client-tokens.js +64 -0
  102. package/dist/messaging/client-tokens.js.map +1 -0
  103. package/dist/messaging/client.d.ts +58 -0
  104. package/dist/messaging/client.d.ts.map +1 -0
  105. package/dist/messaging/client.js +100 -0
  106. package/dist/messaging/client.js.map +1 -0
  107. package/dist/messaging/contacts.d.ts +20 -0
  108. package/dist/messaging/contacts.d.ts.map +1 -0
  109. package/dist/messaging/contacts.js +75 -0
  110. package/dist/messaging/contacts.js.map +1 -0
  111. package/dist/messaging/groups.d.ts +34 -0
  112. package/dist/messaging/groups.d.ts.map +1 -0
  113. package/dist/messaging/groups.js +97 -0
  114. package/dist/messaging/groups.js.map +1 -0
  115. package/dist/messaging/identities.d.ts +9 -0
  116. package/dist/messaging/identities.d.ts.map +1 -0
  117. package/dist/messaging/identities.js +21 -0
  118. package/dist/messaging/identities.js.map +1 -0
  119. package/dist/messaging/labels.d.ts +16 -0
  120. package/dist/messaging/labels.d.ts.map +1 -0
  121. package/dist/messaging/labels.js +65 -0
  122. package/dist/messaging/labels.js.map +1 -0
  123. package/dist/messaging/media.d.ts +72 -0
  124. package/dist/messaging/media.d.ts.map +1 -0
  125. package/dist/messaging/media.js +142 -0
  126. package/dist/messaging/media.js.map +1 -0
  127. package/dist/messaging/messages.d.ts +18 -0
  128. package/dist/messaging/messages.d.ts.map +1 -0
  129. package/dist/messaging/messages.js +32 -0
  130. package/dist/messaging/messages.js.map +1 -0
  131. package/dist/messaging/observation-policies.d.ts +10 -0
  132. package/dist/messaging/observation-policies.d.ts.map +1 -0
  133. package/dist/messaging/observation-policies.js +28 -0
  134. package/dist/messaging/observation-policies.js.map +1 -0
  135. package/dist/messaging/onboarding.d.ts +53 -0
  136. package/dist/messaging/onboarding.d.ts.map +1 -0
  137. package/dist/messaging/onboarding.js +69 -0
  138. package/dist/messaging/onboarding.js.map +1 -0
  139. package/dist/messaging/presence.d.ts +12 -0
  140. package/dist/messaging/presence.d.ts.map +1 -0
  141. package/dist/messaging/presence.js +43 -0
  142. package/dist/messaging/presence.js.map +1 -0
  143. package/dist/messaging/privacy.d.ts +11 -0
  144. package/dist/messaging/privacy.d.ts.map +1 -0
  145. package/dist/messaging/privacy.js +34 -0
  146. package/dist/messaging/privacy.js.map +1 -0
  147. package/dist/messaging/profile.d.ts +13 -0
  148. package/dist/messaging/profile.d.ts.map +1 -0
  149. package/dist/messaging/profile.js +49 -0
  150. package/dist/messaging/profile.js.map +1 -0
  151. package/dist/messaging/quick-replies.d.ts +13 -0
  152. package/dist/messaging/quick-replies.d.ts.map +1 -0
  153. package/dist/messaging/quick-replies.js +45 -0
  154. package/dist/messaging/quick-replies.js.map +1 -0
  155. package/dist/messaging/quicklinks.d.ts +69 -0
  156. package/dist/messaging/quicklinks.d.ts.map +1 -0
  157. package/dist/messaging/quicklinks.js +45 -0
  158. package/dist/messaging/quicklinks.js.map +1 -0
  159. package/dist/messaging/session-configuration.d.ts +67 -0
  160. package/dist/messaging/session-configuration.d.ts.map +1 -0
  161. package/dist/messaging/session-configuration.js +2 -0
  162. package/dist/messaging/session-configuration.js.map +1 -0
  163. package/dist/messaging/sessions.d.ts +26 -0
  164. package/dist/messaging/sessions.d.ts.map +1 -0
  165. package/dist/messaging/sessions.js +108 -0
  166. package/dist/messaging/sessions.js.map +1 -0
  167. package/dist/messaging/templates.d.ts +15 -0
  168. package/dist/messaging/templates.d.ts.map +1 -0
  169. package/dist/messaging/templates.js +67 -0
  170. package/dist/messaging/templates.js.map +1 -0
  171. package/dist/messaging/testing-configuration.d.ts +89 -0
  172. package/dist/messaging/testing-configuration.d.ts.map +1 -0
  173. package/dist/messaging/testing-configuration.js +14 -0
  174. package/dist/messaging/testing-configuration.js.map +1 -0
  175. package/dist/messaging/types.d.ts +1793 -0
  176. package/dist/messaging/types.d.ts.map +1 -0
  177. package/dist/messaging/types.js +25 -0
  178. package/dist/messaging/types.js.map +1 -0
  179. package/dist/messaging/users.d.ts +9 -0
  180. package/dist/messaging/users.d.ts.map +1 -0
  181. package/dist/messaging/users.js +15 -0
  182. package/dist/messaging/users.js.map +1 -0
  183. package/dist/messaging/voip.d.ts +51 -0
  184. package/dist/messaging/voip.d.ts.map +1 -0
  185. package/dist/messaging/voip.js +293 -0
  186. package/dist/messaging/voip.js.map +1 -0
  187. package/dist/messaging/webhooks.d.ts +13 -0
  188. package/dist/messaging/webhooks.d.ts.map +1 -0
  189. package/dist/messaging/webhooks.js +48 -0
  190. package/dist/messaging/webhooks.js.map +1 -0
  191. package/dist/node.d.ts +55 -0
  192. package/dist/node.d.ts.map +1 -0
  193. package/dist/node.js +237 -0
  194. package/dist/node.js.map +1 -0
  195. package/dist/pagination.d.ts +24 -0
  196. package/dist/pagination.d.ts.map +1 -0
  197. package/dist/pagination.js +28 -0
  198. package/dist/pagination.js.map +1 -0
  199. package/dist/platform/api-keys.d.ts +10 -0
  200. package/dist/platform/api-keys.d.ts.map +1 -0
  201. package/dist/platform/api-keys.js +22 -0
  202. package/dist/platform/api-keys.js.map +1 -0
  203. package/dist/platform/audiences.d.ts +16 -0
  204. package/dist/platform/audiences.d.ts.map +1 -0
  205. package/dist/platform/audiences.js +46 -0
  206. package/dist/platform/audiences.js.map +1 -0
  207. package/dist/platform/audit-logs.d.ts +9 -0
  208. package/dist/platform/audit-logs.d.ts.map +1 -0
  209. package/dist/platform/audit-logs.js +20 -0
  210. package/dist/platform/audit-logs.js.map +1 -0
  211. package/dist/platform/bansafe.d.ts +24 -0
  212. package/dist/platform/bansafe.d.ts.map +1 -0
  213. package/dist/platform/bansafe.js +70 -0
  214. package/dist/platform/bansafe.js.map +1 -0
  215. package/dist/platform/billing.d.ts +13 -0
  216. package/dist/platform/billing.d.ts.map +1 -0
  217. package/dist/platform/billing.js +27 -0
  218. package/dist/platform/billing.js.map +1 -0
  219. package/dist/platform/campaigns.d.ts +28 -0
  220. package/dist/platform/campaigns.d.ts.map +1 -0
  221. package/dist/platform/campaigns.js +92 -0
  222. package/dist/platform/campaigns.js.map +1 -0
  223. package/dist/platform/customers.d.ts +23 -0
  224. package/dist/platform/customers.d.ts.map +1 -0
  225. package/dist/platform/customers.js +140 -0
  226. package/dist/platform/customers.js.map +1 -0
  227. package/dist/platform/developer-resources.d.ts +101 -0
  228. package/dist/platform/developer-resources.d.ts.map +1 -0
  229. package/dist/platform/developer-resources.js +250 -0
  230. package/dist/platform/developer-resources.js.map +1 -0
  231. package/dist/platform/developer-types.d.ts +378 -0
  232. package/dist/platform/developer-types.d.ts.map +1 -0
  233. package/dist/platform/developer-types.js +2 -0
  234. package/dist/platform/developer-types.js.map +1 -0
  235. package/dist/platform/event-stream.d.ts +114 -0
  236. package/dist/platform/event-stream.d.ts.map +1 -0
  237. package/dist/platform/event-stream.js +308 -0
  238. package/dist/platform/event-stream.js.map +1 -0
  239. package/dist/platform/media.d.ts +13 -0
  240. package/dist/platform/media.d.ts.map +1 -0
  241. package/dist/platform/media.js +33 -0
  242. package/dist/platform/media.js.map +1 -0
  243. package/dist/platform/members.d.ts +9 -0
  244. package/dist/platform/members.d.ts.map +1 -0
  245. package/dist/platform/members.js +15 -0
  246. package/dist/platform/members.js.map +1 -0
  247. package/dist/platform/opt-outs.d.ts +15 -0
  248. package/dist/platform/opt-outs.d.ts.map +1 -0
  249. package/dist/platform/opt-outs.js +36 -0
  250. package/dist/platform/opt-outs.js.map +1 -0
  251. package/dist/platform/organizations.d.ts +9 -0
  252. package/dist/platform/organizations.d.ts.map +1 -0
  253. package/dist/platform/organizations.js +15 -0
  254. package/dist/platform/organizations.js.map +1 -0
  255. package/dist/platform/project-tokens.d.ts +9 -0
  256. package/dist/platform/project-tokens.d.ts.map +1 -0
  257. package/dist/platform/project-tokens.js +16 -0
  258. package/dist/platform/project-tokens.js.map +1 -0
  259. package/dist/platform/projects.d.ts +24 -0
  260. package/dist/platform/projects.d.ts.map +1 -0
  261. package/dist/platform/projects.js +83 -0
  262. package/dist/platform/projects.js.map +1 -0
  263. package/dist/platform/quicklink-settings.d.ts +85 -0
  264. package/dist/platform/quicklink-settings.d.ts.map +1 -0
  265. package/dist/platform/quicklink-settings.js +35 -0
  266. package/dist/platform/quicklink-settings.js.map +1 -0
  267. package/dist/platform/response.d.ts +10 -0
  268. package/dist/platform/response.d.ts.map +1 -0
  269. package/dist/platform/response.js +41 -0
  270. package/dist/platform/response.js.map +1 -0
  271. package/dist/platform/security-incidents.d.ts +10 -0
  272. package/dist/platform/security-incidents.d.ts.map +1 -0
  273. package/dist/platform/security-incidents.js +22 -0
  274. package/dist/platform/security-incidents.js.map +1 -0
  275. package/dist/platform/session-bans.d.ts +13 -0
  276. package/dist/platform/session-bans.d.ts.map +1 -0
  277. package/dist/platform/session-bans.js +21 -0
  278. package/dist/platform/session-bans.js.map +1 -0
  279. package/dist/platform/session-configuration.d.ts +15 -0
  280. package/dist/platform/session-configuration.d.ts.map +1 -0
  281. package/dist/platform/session-configuration.js +36 -0
  282. package/dist/platform/session-configuration.js.map +1 -0
  283. package/dist/platform/sessions.d.ts +26 -0
  284. package/dist/platform/sessions.d.ts.map +1 -0
  285. package/dist/platform/sessions.js +121 -0
  286. package/dist/platform/sessions.js.map +1 -0
  287. package/dist/platform/sip-trunks.d.ts +141 -0
  288. package/dist/platform/sip-trunks.d.ts.map +1 -0
  289. package/dist/platform/sip-trunks.js +140 -0
  290. package/dist/platform/sip-trunks.js.map +1 -0
  291. package/dist/platform/types.d.ts +897 -0
  292. package/dist/platform/types.d.ts.map +1 -0
  293. package/dist/platform/types.js +2 -0
  294. package/dist/platform/types.js.map +1 -0
  295. package/dist/raw.d.ts +26 -0
  296. package/dist/raw.d.ts.map +1 -0
  297. package/dist/raw.js +79 -0
  298. package/dist/raw.js.map +1 -0
  299. package/dist/system.d.ts +37 -0
  300. package/dist/system.d.ts.map +1 -0
  301. package/dist/system.js +45 -0
  302. package/dist/system.js.map +1 -0
  303. package/dist/transport/body.d.ts +6 -0
  304. package/dist/transport/body.d.ts.map +1 -0
  305. package/dist/transport/body.js +33 -0
  306. package/dist/transport/body.js.map +1 -0
  307. package/dist/transport/content-disposition.d.ts +9 -0
  308. package/dist/transport/content-disposition.d.ts.map +1 -0
  309. package/dist/transport/content-disposition.js +107 -0
  310. package/dist/transport/content-disposition.js.map +1 -0
  311. package/dist/transport/http.d.ts +35 -0
  312. package/dist/transport/http.d.ts.map +1 -0
  313. package/dist/transport/http.js +660 -0
  314. package/dist/transport/http.js.map +1 -0
  315. package/dist/transport/idempotency.d.ts +10 -0
  316. package/dist/transport/idempotency.d.ts.map +1 -0
  317. package/dist/transport/idempotency.js +13 -0
  318. package/dist/transport/idempotency.js.map +1 -0
  319. package/dist/transport/retry.d.ts +11 -0
  320. package/dist/transport/retry.d.ts.map +1 -0
  321. package/dist/transport/retry.js +45 -0
  322. package/dist/transport/retry.js.map +1 -0
  323. package/dist/transport/types.d.ts +58 -0
  324. package/dist/transport/types.d.ts.map +1 -0
  325. package/dist/transport/types.js +2 -0
  326. package/dist/transport/types.js.map +1 -0
  327. package/dist/version.d.ts +2 -0
  328. package/dist/version.d.ts.map +1 -0
  329. package/dist/version.js +2 -0
  330. package/dist/version.js.map +1 -0
  331. package/dist/webhooks/events.d.ts +741 -0
  332. package/dist/webhooks/events.d.ts.map +1 -0
  333. package/dist/webhooks/events.js +80 -0
  334. package/dist/webhooks/events.js.map +1 -0
  335. package/dist/webhooks/index.d.ts +4 -0
  336. package/dist/webhooks/index.d.ts.map +1 -0
  337. package/dist/webhooks/index.js +4 -0
  338. package/dist/webhooks/index.js.map +1 -0
  339. package/dist/webhooks/utilities.d.ts +33 -0
  340. package/dist/webhooks/utilities.d.ts.map +1 -0
  341. package/dist/webhooks/utilities.js +67 -0
  342. package/dist/webhooks/utilities.js.map +1 -0
  343. package/dist/webhooks/verify.d.ts +9 -0
  344. package/dist/webhooks/verify.d.ts.map +1 -0
  345. package/dist/webhooks/verify.js +77 -0
  346. package/dist/webhooks/verify.js.map +1 -0
  347. package/package.json +58 -0
@@ -0,0 +1,31 @@
1
+ import { type SharedClientOptions } from "./credentials.js";
2
+ import { HttpTransport } from "./transport/http.js";
3
+ import type { ApiResponse, RequestOptions } from "./transport/types.js";
4
+ export interface BridgeClientOptions extends SharedClientOptions {
5
+ readonly credential: {
6
+ readonly type: "projectToken";
7
+ readonly value: string;
8
+ };
9
+ }
10
+ export type BridgeRegion = "BR" | "US" | "IN" | "Auto";
11
+ export type BridgeKind = "sandbox" | "production";
12
+ export type BridgeSignal = "customer" | "bartender";
13
+ export interface BridgeRoute {
14
+ readonly wsUrl: string;
15
+ readonly region: BridgeRegion;
16
+ readonly kind: BridgeKind;
17
+ readonly signal: BridgeSignal;
18
+ readonly tokenKind: "project";
19
+ readonly expiresAt: number;
20
+ }
21
+ export declare class BridgeRoutesResource {
22
+ private readonly transport;
23
+ constructor(transport: HttpTransport);
24
+ resolve(options?: RequestOptions): Promise<ApiResponse<BridgeRoute>>;
25
+ }
26
+ /** Project-token client for regional Bridge route discovery only. */
27
+ export declare class BridgeClient {
28
+ readonly routes: BridgeRoutesResource;
29
+ constructor(options: BridgeClientOptions);
30
+ }
31
+ //# sourceMappingURL=bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAErD,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;CAOzE;AAED,qEAAqE;AACrE,qBAAa,YAAY;IACvB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;gBAE1B,OAAO,EAAE,mBAAmB;CAqBzC"}
package/dist/bridge.js ADDED
@@ -0,0 +1,39 @@
1
+ import { assertServerRuntime, validateClientCredential, } from "./credentials.js";
2
+ import { PolymorfaConfigurationError } from "./errors.js";
3
+ import { HttpTransport } from "./transport/http.js";
4
+ export class BridgeRoutesResource {
5
+ transport;
6
+ constructor(transport) {
7
+ this.transport = transport;
8
+ }
9
+ resolve(options = {}) {
10
+ return this.transport.request({
11
+ method: "GET",
12
+ path: "/messaging/bridge/route",
13
+ ...options,
14
+ });
15
+ }
16
+ }
17
+ /** Project-token client for regional Bridge route discovery only. */
18
+ export class BridgeClient {
19
+ routes;
20
+ constructor(options) {
21
+ const credential = validateClientCredential(options.credential);
22
+ if (credential.type !== "projectToken") {
23
+ throw new PolymorfaConfigurationError("BridgeClient requires a project token.", "credential");
24
+ }
25
+ assertServerRuntime();
26
+ const transport = new HttpTransport({
27
+ baseUrl: options.baseUrl ?? "https://api.polymorfa.com",
28
+ authorization: `Bearer ${credential.value}`,
29
+ timeoutMs: options.timeoutMs ?? 30_000,
30
+ maxNetworkRetries: options.maxNetworkRetries ?? 2,
31
+ ...(options.apiVersion === undefined
32
+ ? {}
33
+ : { apiVersion: options.apiVersion }),
34
+ ...(options.fetch === undefined ? {} : { fetch: options.fetch }),
35
+ });
36
+ this.routes = new BridgeRoutesResource(transport);
37
+ }
38
+ }
39
+ //# sourceMappingURL=bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAuBpD,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,SAAwB;QAAxB,cAAS,GAAT,SAAS,CAAe;IAAG,CAAC;IAEzD,OAAO,CAAC,UAA0B,EAAE;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB;YAC/B,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;CACF;AAED,qEAAqE;AACrE,MAAM,OAAO,YAAY;IACd,MAAM,CAAuB;IAEtC,YAAY,OAA4B;QACtC,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACvC,MAAM,IAAI,2BAA2B,CACnC,wCAAwC,EACxC,YAAY,CACb,CAAC;QACJ,CAAC;QACD,mBAAmB,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,2BAA2B;YACvD,aAAa,EAAE,UAAU,UAAU,CAAC,KAAK,EAAE;YAC3C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM;YACtC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,CAAC;YACjD,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;gBAClC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YACvC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;SACjE,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF"}
@@ -0,0 +1,109 @@
1
+ import { CallsApiError } from "./errors.js";
2
+ import type { CallReport } from "./diagnostics.js";
3
+ import { type Participant } from "./protocol.js";
4
+ import { type CallsToken, type CallsTokenProvider, type CallsTokenRequest } from "./token.js";
5
+ export { CallClaimedError, CallsApiError, CallsDisabledError, } from "./errors.js";
6
+ /** Minimal request seam so tests and other transports can stand in for fetch. */
7
+ export type FetchLike = (input: string, init: RequestInit) => Promise<Response>;
8
+ export interface AcceptCallOptions {
9
+ /**
10
+ * Claim the call. Other participants then receive `call_claimed` for
11
+ * accept and media, and their open connections close. Default `false`:
12
+ * others keep ringing and can join.
13
+ */
14
+ readonly exclusive?: boolean;
15
+ readonly video?: boolean;
16
+ /** Participant name for organization API keys and project tokens. */
17
+ readonly participant?: string;
18
+ }
19
+ export interface AcceptCallResult {
20
+ /** True once the call is answered (by this or an earlier accept). */
21
+ readonly answered: boolean;
22
+ /** Participant reference that answered the call first. */
23
+ readonly answeredBy: string;
24
+ /** True when `answeredBy` claimed the call. */
25
+ readonly exclusive: boolean;
26
+ }
27
+ export interface PlaceCallRequest {
28
+ /** Source session. Sent for server credentials; client tokens are bound to one. */
29
+ readonly session: string;
30
+ readonly to: string;
31
+ readonly video: boolean;
32
+ /** Claim the call for the placing participant. Default `false`. */
33
+ readonly exclusive?: boolean;
34
+ /** Participant name for organization API keys and project tokens. */
35
+ readonly participant?: string;
36
+ readonly idempotencyKey: string;
37
+ }
38
+ /**
39
+ * The platform operations the client needs, as one swappable seam — tests fake
40
+ * it and the browser package backs it with its client-token transport.
41
+ */
42
+ export interface CallsApi {
43
+ /** Credential for socket authentication frames. */
44
+ token(request?: CallsTokenRequest): Promise<CallsToken>;
45
+ /** Absolute `ws(s)://` URL for a socket path on the API host. */
46
+ socketUrl(path: string): string;
47
+ /** Start an outbound call; resolves the platform call id. */
48
+ place(input: PlaceCallRequest, signal?: AbortSignal): Promise<{
49
+ readonly callId: string;
50
+ }>;
51
+ /**
52
+ * Answer a ringing call, or join an answered one that nobody claimed.
53
+ * Rejects with {@link CallClaimedError} when another participant claimed it.
54
+ */
55
+ accept(callId: string, options: AcceptCallOptions, signal?: AbortSignal): Promise<AcceptCallResult>;
56
+ /**
57
+ * Decline a ringing call. This ends the call for everyone. `participant`
58
+ * applies to server credentials only.
59
+ */
60
+ reject(callId: string, signal?: AbortSignal, participant?: string): Promise<void>;
61
+ /** Close one media connection. The call continues. */
62
+ leave(callId: string, connectionId: string, signal?: AbortSignal, participant?: string): Promise<void>;
63
+ /** End the call for every participant. */
64
+ end(callId: string, signal?: AbortSignal): Promise<void>;
65
+ /**
66
+ * Send a diagnostics report for one connection. Optional: without it the
67
+ * client sends none. `participant` is dropped for client tokens.
68
+ */
69
+ report?(callId: string, report: CallReport, signal?: AbortSignal): Promise<void>;
70
+ addParticipant(callId: string, to: string, signal?: AbortSignal): Promise<Participant>;
71
+ }
72
+ export interface HttpCallsApiOptions {
73
+ /**
74
+ * Credential: a server API key or project token string, or a provider that
75
+ * returns a client token minted by your server.
76
+ */
77
+ readonly token?: string | CallsTokenProvider;
78
+ /** Server credential string; same as passing it as `token`. */
79
+ readonly apiKey?: string;
80
+ /** Defaults to `https://api.polymorfa.com`. */
81
+ readonly baseUrl?: string;
82
+ readonly fetch?: FetchLike;
83
+ /** Socket host; defaults to `ws(s)://` on the API host. */
84
+ readonly socketBaseUrl?: string;
85
+ readonly now?: () => number;
86
+ }
87
+ /** Validate an accept response body. @internal */
88
+ export declare function parseAcceptResult(data: unknown): AcceptCallResult;
89
+ /** Validate an add-participant response body. @internal */
90
+ export declare function parseParticipant(data: unknown): Participant;
91
+ /** Map an HTTP failure to the Calls error vocabulary. @internal */
92
+ export declare function callsHttpError(status: number, code: string | undefined, message: string): CallsApiError;
93
+ /** Credential-bearing implementation over the platform's REST routes. */
94
+ export declare class HttpCallsApi implements CallsApi {
95
+ #private;
96
+ constructor(options: HttpCallsApiOptions);
97
+ token(request?: CallsTokenRequest): Promise<CallsToken>;
98
+ socketUrl(path: string): string;
99
+ place(input: PlaceCallRequest, signal?: AbortSignal): Promise<{
100
+ readonly callId: string;
101
+ }>;
102
+ accept(callId: string, options: AcceptCallOptions, signal?: AbortSignal): Promise<AcceptCallResult>;
103
+ reject(callId: string, signal?: AbortSignal, participant?: string): Promise<void>;
104
+ leave(callId: string, connectionId: string, signal?: AbortSignal, participant?: string): Promise<void>;
105
+ report(callId: string, report: CallReport, signal?: AbortSignal): Promise<void>;
106
+ end(callId: string, signal?: AbortSignal): Promise<void>;
107
+ addParticipant(callId: string, to: string, signal?: AbortSignal): Promise<Participant>;
108
+ }
109
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../calls/src/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ import { CallClaimedError, CallsApiError, CallsDisabledError, } from "./errors.js";
2
+ import { isParticipant } from "./protocol.js";
3
+ import { CallsTokenSource, isClientToken, } from "./token.js";
4
+ export { CallClaimedError, CallsApiError, CallsDisabledError, } from "./errors.js";
5
+ /** Validate an accept response body. @internal */
6
+ export function parseAcceptResult(data) {
7
+ if (data !== null &&
8
+ typeof data === "object" &&
9
+ typeof data["answered"] === "boolean" &&
10
+ typeof data["answeredBy"] === "string" &&
11
+ typeof data["exclusive"] === "boolean") {
12
+ const d = data;
13
+ return {
14
+ answered: d["answered"],
15
+ answeredBy: d["answeredBy"],
16
+ exclusive: d["exclusive"],
17
+ };
18
+ }
19
+ throw malformed("accept");
20
+ }
21
+ /** Validate an add-participant response body. @internal */
22
+ export function parseParticipant(data) {
23
+ if (isParticipant(data))
24
+ return data;
25
+ throw malformed("participant");
26
+ }
27
+ /** Map an HTTP failure to the Calls error vocabulary. @internal */
28
+ export function callsHttpError(status, code, message) {
29
+ if (status === 409 && code === "call_claimed")
30
+ return new CallClaimedError(message);
31
+ if (status === 403 && code === "calls_disabled")
32
+ return new CallsDisabledError(message);
33
+ return new CallsApiError(status, code ?? `http_${status}`, message);
34
+ }
35
+ function malformed(operation) {
36
+ return new CallsApiError(200, "malformed_response", `${operation}: response body did not carry the expected fields`);
37
+ }
38
+ /** Credential-bearing implementation over the platform's REST routes. */
39
+ export class HttpCallsApi {
40
+ #tokens;
41
+ #baseUrl;
42
+ #fetch;
43
+ #socketBaseUrl;
44
+ constructor(options) {
45
+ const credential = options.token ?? options.apiKey;
46
+ if (credential === undefined)
47
+ throw new CallsApiError(0, "missing_credential", "HttpCallsApi needs a `token`.");
48
+ this.#tokens = new CallsTokenSource(credential, {
49
+ ...(options.now === undefined ? {} : { now: options.now }),
50
+ });
51
+ this.#baseUrl = (options.baseUrl ?? "https://api.polymorfa.com").replace(/\/+$/, "");
52
+ this.#fetch =
53
+ options.fetch ?? ((input, init) => globalThis.fetch(input, init));
54
+ this.#socketBaseUrl = (options.socketBaseUrl ?? this.#baseUrl)
55
+ .replace(/^http:/, "ws:")
56
+ .replace(/^https:/, "wss:")
57
+ .replace(/\/+$/, "");
58
+ }
59
+ token(request = {}) {
60
+ return this.#tokens.get(request);
61
+ }
62
+ socketUrl(path) {
63
+ return `${this.#socketBaseUrl}${path.startsWith("/") ? "" : "/"}${path}`;
64
+ }
65
+ async place(input, signal) {
66
+ const data = await this.#request("POST", "/messaging/voip/calls", async (token) => ({
67
+ ...(isClientToken(token) ? {} : { session: input.session }),
68
+ to: input.to,
69
+ video: input.video,
70
+ ...(input.exclusive === undefined
71
+ ? {}
72
+ : { exclusive: input.exclusive }),
73
+ ...(input.participant === undefined || isClientToken(token)
74
+ ? {}
75
+ : { participant: input.participant }),
76
+ }), signal, { "idempotency-key": input.idempotencyKey });
77
+ const callId = data?.callId;
78
+ if (typeof callId !== "string" || callId.length === 0)
79
+ throw malformed("place");
80
+ return { callId };
81
+ }
82
+ async accept(callId, options, signal) {
83
+ const data = await this.#request("POST", callPath(callId, "/accept"), async (token) => ({
84
+ exclusive: options.exclusive === true,
85
+ ...(options.video === undefined ? {} : { video: options.video }),
86
+ ...(options.participant === undefined || isClientToken(token)
87
+ ? {}
88
+ : { participant: options.participant }),
89
+ }), signal);
90
+ return parseAcceptResult(data);
91
+ }
92
+ async reject(callId, signal, participant) {
93
+ await this.#request("POST", callPath(callId, "/reject"), participant === undefined
94
+ ? undefined
95
+ : async (token) => (isClientToken(token) ? {} : { participant }), signal);
96
+ }
97
+ async leave(callId, connectionId, signal, participant) {
98
+ await this.#request("POST", callPath(callId, "/leave"), async (token) => ({
99
+ connectionId,
100
+ ...(participant === undefined || isClientToken(token)
101
+ ? {}
102
+ : { participant }),
103
+ }), signal);
104
+ }
105
+ async report(callId, report, signal) {
106
+ await this.#request("POST", callPath(callId, "/reports"), async (token) => {
107
+ if (!isClientToken(token) || report.participant === undefined)
108
+ return report;
109
+ // A client token acts as its own participant and must not name one.
110
+ const body = { ...report };
111
+ delete body["participant"];
112
+ return body;
113
+ }, signal);
114
+ }
115
+ async end(callId, signal) {
116
+ await this.#request("DELETE", callPath(callId), undefined, signal, {
117
+ "idempotency-key": `voip-end:${callId}`,
118
+ });
119
+ }
120
+ async addParticipant(callId, to, signal) {
121
+ const data = await this.#request("POST", callPath(callId, "/participants"), async () => ({ to }), signal);
122
+ return parseParticipant(data);
123
+ }
124
+ async #request(method, path, body, signal, headers = {}) {
125
+ const token = await this.#tokens.get(signal === undefined ? {} : { signal });
126
+ const payload = body === undefined ? undefined : await body(token.value);
127
+ const init = {
128
+ method,
129
+ headers: {
130
+ authorization: `Bearer ${token.value}`,
131
+ accept: "application/json",
132
+ ...(payload === undefined
133
+ ? {}
134
+ : { "content-type": "application/json" }),
135
+ ...headers,
136
+ },
137
+ ...(payload === undefined ? {} : { body: JSON.stringify(payload) }),
138
+ ...(signal === undefined ? {} : { signal }),
139
+ };
140
+ const response = await this.#fetch(`${this.#baseUrl}${path}`, init);
141
+ const text = await response.text();
142
+ let parsed = undefined;
143
+ if (text.length > 0) {
144
+ try {
145
+ parsed = JSON.parse(text);
146
+ }
147
+ catch {
148
+ parsed = undefined;
149
+ }
150
+ }
151
+ if (!response.ok) {
152
+ if (response.status === 401)
153
+ this.#tokens.invalidate();
154
+ const record = (parsed ?? {});
155
+ const error = record["error"];
156
+ const code = error !== null && typeof error === "object"
157
+ ? error["code"]
158
+ : record["code"];
159
+ const message = error !== null && typeof error === "object"
160
+ ? error["message"]
161
+ : typeof error === "string"
162
+ ? error
163
+ : record["message"];
164
+ throw callsHttpError(response.status, typeof code === "string" ? code : undefined, typeof message === "string"
165
+ ? message
166
+ : `${method} ${path} failed with ${response.status}`);
167
+ }
168
+ const envelope = parsed;
169
+ return envelope !== null &&
170
+ typeof envelope === "object" &&
171
+ "data" in envelope
172
+ ? envelope.data
173
+ : parsed;
174
+ }
175
+ }
176
+ function callPath(callId, suffix = "") {
177
+ return `/messaging/voip/calls/${encodeURIComponent(callId)}${suffix}`;
178
+ }
179
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../calls/src/api.ts"],"names":[],"mappings":"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"}