@dotdo/do 0.1.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 (486) hide show
  1. package/README.md +400 -0
  2. package/dist/ai/embeddings.d.ts +129 -0
  3. package/dist/ai/embeddings.d.ts.map +1 -0
  4. package/dist/ai/embeddings.js +217 -0
  5. package/dist/ai/embeddings.js.map +1 -0
  6. package/dist/ai/gateway.d.ts +139 -0
  7. package/dist/ai/gateway.d.ts.map +1 -0
  8. package/dist/ai/gateway.js +179 -0
  9. package/dist/ai/gateway.js.map +1 -0
  10. package/dist/ai/image.d.ts +140 -0
  11. package/dist/ai/image.d.ts.map +1 -0
  12. package/dist/ai/image.js +199 -0
  13. package/dist/ai/image.js.map +1 -0
  14. package/dist/ai/index.d.ts +98 -0
  15. package/dist/ai/index.d.ts.map +1 -0
  16. package/dist/ai/index.js +223 -0
  17. package/dist/ai/index.js.map +1 -0
  18. package/dist/ai/models.d.ts +81 -0
  19. package/dist/ai/models.d.ts.map +1 -0
  20. package/dist/ai/models.js +537 -0
  21. package/dist/ai/models.js.map +1 -0
  22. package/dist/ai/text.d.ts +176 -0
  23. package/dist/ai/text.d.ts.map +1 -0
  24. package/dist/ai/text.js +253 -0
  25. package/dist/ai/text.js.map +1 -0
  26. package/dist/ai/voice/agents.d.ts +224 -0
  27. package/dist/ai/voice/agents.d.ts.map +1 -0
  28. package/dist/ai/voice/agents.js +375 -0
  29. package/dist/ai/voice/agents.js.map +1 -0
  30. package/dist/ai/voice/campaigns.d.ts +307 -0
  31. package/dist/ai/voice/campaigns.d.ts.map +1 -0
  32. package/dist/ai/voice/campaigns.js +739 -0
  33. package/dist/ai/voice/campaigns.js.map +1 -0
  34. package/dist/ai/voice/index.d.ts +21 -0
  35. package/dist/ai/voice/index.d.ts.map +1 -0
  36. package/dist/ai/voice/index.js +42 -0
  37. package/dist/ai/voice/index.js.map +1 -0
  38. package/dist/ai/voice/providers.d.ts +283 -0
  39. package/dist/ai/voice/providers.d.ts.map +1 -0
  40. package/dist/ai/voice/providers.js +286 -0
  41. package/dist/ai/voice/providers.js.map +1 -0
  42. package/dist/ai/voice/sessions.d.ts +294 -0
  43. package/dist/ai/voice/sessions.d.ts.map +1 -0
  44. package/dist/ai/voice/sessions.js +531 -0
  45. package/dist/ai/voice/sessions.js.map +1 -0
  46. package/dist/ai/voice/tools.d.ts +242 -0
  47. package/dist/ai/voice/tools.d.ts.map +1 -0
  48. package/dist/ai/voice/tools.js +370 -0
  49. package/dist/ai/voice/tools.js.map +1 -0
  50. package/dist/ai/voice/tts.d.ts +173 -0
  51. package/dist/ai/voice/tts.d.ts.map +1 -0
  52. package/dist/ai/voice/tts.js +252 -0
  53. package/dist/ai/voice/tts.js.map +1 -0
  54. package/dist/ai/voice/webrtc.d.ts +228 -0
  55. package/dist/ai/voice/webrtc.d.ts.map +1 -0
  56. package/dist/ai/voice/webrtc.js +372 -0
  57. package/dist/ai/voice/webrtc.js.map +1 -0
  58. package/dist/api/index.d.ts +103 -0
  59. package/dist/api/index.d.ts.map +1 -0
  60. package/dist/api/index.js +191 -0
  61. package/dist/api/index.js.map +1 -0
  62. package/dist/api/mcp/handlers.d.ts +25 -0
  63. package/dist/api/mcp/handlers.d.ts.map +1 -0
  64. package/dist/api/mcp/handlers.js +422 -0
  65. package/dist/api/mcp/handlers.js.map +1 -0
  66. package/dist/api/mcp/index.d.ts +113 -0
  67. package/dist/api/mcp/index.d.ts.map +1 -0
  68. package/dist/api/mcp/index.js +141 -0
  69. package/dist/api/mcp/index.js.map +1 -0
  70. package/dist/api/middleware/auth.d.ts +65 -0
  71. package/dist/api/middleware/auth.d.ts.map +1 -0
  72. package/dist/api/middleware/auth.js +271 -0
  73. package/dist/api/middleware/auth.js.map +1 -0
  74. package/dist/api/middleware/cors.d.ts +62 -0
  75. package/dist/api/middleware/cors.d.ts.map +1 -0
  76. package/dist/api/middleware/cors.js +225 -0
  77. package/dist/api/middleware/cors.js.map +1 -0
  78. package/dist/api/middleware/index.d.ts +60 -0
  79. package/dist/api/middleware/index.d.ts.map +1 -0
  80. package/dist/api/middleware/index.js +175 -0
  81. package/dist/api/middleware/index.js.map +1 -0
  82. package/dist/api/middleware/rateLimit.d.ts +84 -0
  83. package/dist/api/middleware/rateLimit.d.ts.map +1 -0
  84. package/dist/api/middleware/rateLimit.js +321 -0
  85. package/dist/api/middleware/rateLimit.js.map +1 -0
  86. package/dist/api/routes/ai.d.ts +17 -0
  87. package/dist/api/routes/ai.d.ts.map +1 -0
  88. package/dist/api/routes/ai.js +430 -0
  89. package/dist/api/routes/ai.js.map +1 -0
  90. package/dist/api/routes/do.d.ts +17 -0
  91. package/dist/api/routes/do.d.ts.map +1 -0
  92. package/dist/api/routes/do.js +458 -0
  93. package/dist/api/routes/do.js.map +1 -0
  94. package/dist/api/routes/functions.d.ts +111 -0
  95. package/dist/api/routes/functions.d.ts.map +1 -0
  96. package/dist/api/routes/functions.js +548 -0
  97. package/dist/api/routes/functions.js.map +1 -0
  98. package/dist/api/routes/health.d.ts +16 -0
  99. package/dist/api/routes/health.d.ts.map +1 -0
  100. package/dist/api/routes/health.js +163 -0
  101. package/dist/api/routes/health.js.map +1 -0
  102. package/dist/api/routes/index.d.ts +41 -0
  103. package/dist/api/routes/index.d.ts.map +1 -0
  104. package/dist/api/routes/index.js +275 -0
  105. package/dist/api/routes/index.js.map +1 -0
  106. package/dist/api/routes/nouns.d.ts +26 -0
  107. package/dist/api/routes/nouns.d.ts.map +1 -0
  108. package/dist/api/routes/nouns.js +456 -0
  109. package/dist/api/routes/nouns.js.map +1 -0
  110. package/dist/api/routes/orgs.d.ts +17 -0
  111. package/dist/api/routes/orgs.d.ts.map +1 -0
  112. package/dist/api/routes/orgs.js +560 -0
  113. package/dist/api/routes/orgs.js.map +1 -0
  114. package/dist/api/routes/relationships.d.ts +30 -0
  115. package/dist/api/routes/relationships.d.ts.map +1 -0
  116. package/dist/api/routes/relationships.js +360 -0
  117. package/dist/api/routes/relationships.js.map +1 -0
  118. package/dist/api/routes/roles.d.ts +17 -0
  119. package/dist/api/routes/roles.d.ts.map +1 -0
  120. package/dist/api/routes/roles.js +721 -0
  121. package/dist/api/routes/roles.js.map +1 -0
  122. package/dist/api/routes/things.d.ts +27 -0
  123. package/dist/api/routes/things.d.ts.map +1 -0
  124. package/dist/api/routes/things.js +568 -0
  125. package/dist/api/routes/things.js.map +1 -0
  126. package/dist/api/routes/users.d.ts +17 -0
  127. package/dist/api/routes/users.d.ts.map +1 -0
  128. package/dist/api/routes/users.js +401 -0
  129. package/dist/api/routes/users.js.map +1 -0
  130. package/dist/api/routes/verbs.d.ts +31 -0
  131. package/dist/api/routes/verbs.d.ts.map +1 -0
  132. package/dist/api/routes/verbs.js +505 -0
  133. package/dist/api/routes/verbs.js.map +1 -0
  134. package/dist/api/routes/workflows.d.ts +44 -0
  135. package/dist/api/routes/workflows.d.ts.map +1 -0
  136. package/dist/api/routes/workflows.js +521 -0
  137. package/dist/api/routes/workflows.js.map +1 -0
  138. package/dist/api/types.d.ts +370 -0
  139. package/dist/api/types.d.ts.map +1 -0
  140. package/dist/api/types.js +11 -0
  141. package/dist/api/types.js.map +1 -0
  142. package/dist/db/cdc/events.d.ts +201 -0
  143. package/dist/db/cdc/events.d.ts.map +1 -0
  144. package/dist/db/cdc/events.js +271 -0
  145. package/dist/db/cdc/events.js.map +1 -0
  146. package/dist/db/cdc/index.d.ts +13 -0
  147. package/dist/db/cdc/index.d.ts.map +1 -0
  148. package/dist/db/cdc/index.js +16 -0
  149. package/dist/db/cdc/index.js.map +1 -0
  150. package/dist/db/cdc/replay.d.ts +388 -0
  151. package/dist/db/cdc/replay.d.ts.map +1 -0
  152. package/dist/db/cdc/replay.js +469 -0
  153. package/dist/db/cdc/replay.js.map +1 -0
  154. package/dist/db/cdc/storage.d.ts +567 -0
  155. package/dist/db/cdc/storage.d.ts.map +1 -0
  156. package/dist/db/cdc/storage.js +856 -0
  157. package/dist/db/cdc/storage.js.map +1 -0
  158. package/dist/db/cdc/streaming.d.ts +459 -0
  159. package/dist/db/cdc/streaming.d.ts.map +1 -0
  160. package/dist/db/cdc/streaming.js +636 -0
  161. package/dist/db/cdc/streaming.js.map +1 -0
  162. package/dist/db/collections/actions.d.ts +440 -0
  163. package/dist/db/collections/actions.d.ts.map +1 -0
  164. package/dist/db/collections/actions.js +631 -0
  165. package/dist/db/collections/actions.js.map +1 -0
  166. package/dist/db/collections/base.d.ts +342 -0
  167. package/dist/db/collections/base.d.ts.map +1 -0
  168. package/dist/db/collections/base.js +510 -0
  169. package/dist/db/collections/base.js.map +1 -0
  170. package/dist/db/collections/index.d.ts +50 -0
  171. package/dist/db/collections/index.d.ts.map +1 -0
  172. package/dist/db/collections/index.js +48 -0
  173. package/dist/db/collections/index.js.map +1 -0
  174. package/dist/db/collections/nouns.d.ts +260 -0
  175. package/dist/db/collections/nouns.d.ts.map +1 -0
  176. package/dist/db/collections/nouns.js +273 -0
  177. package/dist/db/collections/nouns.js.map +1 -0
  178. package/dist/db/collections/relationships.d.ts +484 -0
  179. package/dist/db/collections/relationships.d.ts.map +1 -0
  180. package/dist/db/collections/relationships.js +815 -0
  181. package/dist/db/collections/relationships.js.map +1 -0
  182. package/dist/db/collections/things.d.ts +439 -0
  183. package/dist/db/collections/things.d.ts.map +1 -0
  184. package/dist/db/collections/things.js +603 -0
  185. package/dist/db/collections/things.js.map +1 -0
  186. package/dist/db/collections/verbs.d.ts +308 -0
  187. package/dist/db/collections/verbs.d.ts.map +1 -0
  188. package/dist/db/collections/verbs.js +480 -0
  189. package/dist/db/collections/verbs.js.map +1 -0
  190. package/dist/db/index.d.ts +14 -0
  191. package/dist/db/index.d.ts.map +1 -0
  192. package/dist/db/index.js +23 -0
  193. package/dist/db/index.js.map +1 -0
  194. package/dist/db/storage/cold.d.ts +313 -0
  195. package/dist/db/storage/cold.d.ts.map +1 -0
  196. package/dist/db/storage/cold.js +319 -0
  197. package/dist/db/storage/cold.js.map +1 -0
  198. package/dist/db/storage/hot.d.ts +340 -0
  199. package/dist/db/storage/hot.d.ts.map +1 -0
  200. package/dist/db/storage/hot.js +333 -0
  201. package/dist/db/storage/hot.js.map +1 -0
  202. package/dist/db/storage/index.d.ts +242 -0
  203. package/dist/db/storage/index.d.ts.map +1 -0
  204. package/dist/db/storage/index.js +109 -0
  205. package/dist/db/storage/index.js.map +1 -0
  206. package/dist/db/storage/snapshots.d.ts +342 -0
  207. package/dist/db/storage/snapshots.d.ts.map +1 -0
  208. package/dist/db/storage/snapshots.js +298 -0
  209. package/dist/db/storage/snapshots.js.map +1 -0
  210. package/dist/db/storage/vortex.d.ts +324 -0
  211. package/dist/db/storage/vortex.d.ts.map +1 -0
  212. package/dist/db/storage/vortex.js +365 -0
  213. package/dist/db/storage/vortex.js.map +1 -0
  214. package/dist/db/storage/warm.d.ts +306 -0
  215. package/dist/db/storage/warm.d.ts.map +1 -0
  216. package/dist/db/storage/warm.js +339 -0
  217. package/dist/db/storage/warm.js.map +1 -0
  218. package/dist/do/DigitalObject.d.ts +595 -0
  219. package/dist/do/DigitalObject.d.ts.map +1 -0
  220. package/dist/do/DigitalObject.js +971 -0
  221. package/dist/do/DigitalObject.js.map +1 -0
  222. package/dist/do/business/financial/accounting.d.ts +436 -0
  223. package/dist/do/business/financial/accounting.d.ts.map +1 -0
  224. package/dist/do/business/financial/accounting.js +476 -0
  225. package/dist/do/business/financial/accounting.js.map +1 -0
  226. package/dist/do/business/financial/index.d.ts +15 -0
  227. package/dist/do/business/financial/index.d.ts.map +1 -0
  228. package/dist/do/business/financial/index.js +20 -0
  229. package/dist/do/business/financial/index.js.map +1 -0
  230. package/dist/do/business/financial/metrics.d.ts +370 -0
  231. package/dist/do/business/financial/metrics.d.ts.map +1 -0
  232. package/dist/do/business/financial/metrics.js +376 -0
  233. package/dist/do/business/financial/metrics.js.map +1 -0
  234. package/dist/do/business/financial/payments.d.ts +397 -0
  235. package/dist/do/business/financial/payments.d.ts.map +1 -0
  236. package/dist/do/business/financial/payments.js +395 -0
  237. package/dist/do/business/financial/payments.js.map +1 -0
  238. package/dist/do/business/financial/reports.d.ts +284 -0
  239. package/dist/do/business/financial/reports.d.ts.map +1 -0
  240. package/dist/do/business/financial/reports.js +347 -0
  241. package/dist/do/business/financial/reports.js.map +1 -0
  242. package/dist/do/business/financial/stripe.d.ts +254 -0
  243. package/dist/do/business/financial/stripe.d.ts.map +1 -0
  244. package/dist/do/business/financial/stripe.js +261 -0
  245. package/dist/do/business/financial/stripe.js.map +1 -0
  246. package/dist/do/business/financial/subscriptions.d.ts +402 -0
  247. package/dist/do/business/financial/subscriptions.d.ts.map +1 -0
  248. package/dist/do/business/financial/subscriptions.js +349 -0
  249. package/dist/do/business/financial/subscriptions.js.map +1 -0
  250. package/dist/do/business/index.d.ts +9 -0
  251. package/dist/do/business/index.d.ts.map +1 -0
  252. package/dist/do/business/index.js +10 -0
  253. package/dist/do/business/index.js.map +1 -0
  254. package/dist/do/colo/followers.d.ts +194 -0
  255. package/dist/do/colo/followers.d.ts.map +1 -0
  256. package/dist/do/colo/followers.js +224 -0
  257. package/dist/do/colo/followers.js.map +1 -0
  258. package/dist/do/colo/fork.d.ts +103 -0
  259. package/dist/do/colo/fork.d.ts.map +1 -0
  260. package/dist/do/colo/fork.js +143 -0
  261. package/dist/do/colo/fork.js.map +1 -0
  262. package/dist/do/colo/index.d.ts +181 -0
  263. package/dist/do/colo/index.d.ts.map +1 -0
  264. package/dist/do/colo/index.js +145 -0
  265. package/dist/do/colo/index.js.map +1 -0
  266. package/dist/do/colo/info.d.ts +106 -0
  267. package/dist/do/colo/info.d.ts.map +1 -0
  268. package/dist/do/colo/info.js +196 -0
  269. package/dist/do/colo/info.js.map +1 -0
  270. package/dist/do/colo/migrate.d.ts +161 -0
  271. package/dist/do/colo/migrate.d.ts.map +1 -0
  272. package/dist/do/colo/migrate.js +190 -0
  273. package/dist/do/colo/migrate.js.map +1 -0
  274. package/dist/do/colo/routing.d.ts +182 -0
  275. package/dist/do/colo/routing.d.ts.map +1 -0
  276. package/dist/do/colo/routing.js +254 -0
  277. package/dist/do/colo/routing.js.map +1 -0
  278. package/dist/do/domains/dns.d.ts +269 -0
  279. package/dist/do/domains/dns.d.ts.map +1 -0
  280. package/dist/do/domains/dns.js +215 -0
  281. package/dist/do/domains/dns.js.map +1 -0
  282. package/dist/do/domains/index.d.ts +40 -0
  283. package/dist/do/domains/index.d.ts.map +1 -0
  284. package/dist/do/domains/index.js +61 -0
  285. package/dist/do/domains/index.js.map +1 -0
  286. package/dist/do/domains/routing.d.ts +263 -0
  287. package/dist/do/domains/routing.d.ts.map +1 -0
  288. package/dist/do/domains/routing.js +362 -0
  289. package/dist/do/domains/routing.js.map +1 -0
  290. package/dist/do/domains/ssl.d.ts +217 -0
  291. package/dist/do/domains/ssl.d.ts.map +1 -0
  292. package/dist/do/domains/ssl.js +231 -0
  293. package/dist/do/domains/ssl.js.map +1 -0
  294. package/dist/do/domains/subdomains.d.ts +207 -0
  295. package/dist/do/domains/subdomains.d.ts.map +1 -0
  296. package/dist/do/domains/subdomains.js +223 -0
  297. package/dist/do/domains/subdomains.js.map +1 -0
  298. package/dist/do/domains/tlds.d.ts +175 -0
  299. package/dist/do/domains/tlds.d.ts.map +1 -0
  300. package/dist/do/domains/tlds.js +188 -0
  301. package/dist/do/domains/tlds.js.map +1 -0
  302. package/dist/do/domains/validation.d.ts +164 -0
  303. package/dist/do/domains/validation.d.ts.map +1 -0
  304. package/dist/do/domains/validation.js +290 -0
  305. package/dist/do/domains/validation.js.map +1 -0
  306. package/dist/do/hibernation.d.ts +385 -0
  307. package/dist/do/hibernation.d.ts.map +1 -0
  308. package/dist/do/hibernation.js +518 -0
  309. package/dist/do/hibernation.js.map +1 -0
  310. package/dist/do/index.d.ts +19 -0
  311. package/dist/do/index.d.ts.map +1 -0
  312. package/dist/do/index.js +23 -0
  313. package/dist/do/index.js.map +1 -0
  314. package/dist/do/state.d.ts +336 -0
  315. package/dist/do/state.d.ts.map +1 -0
  316. package/dist/do/state.js +290 -0
  317. package/dist/do/state.js.map +1 -0
  318. package/dist/index.d.ts +44 -0
  319. package/dist/index.d.ts.map +1 -0
  320. package/dist/index.js +89 -0
  321. package/dist/index.js.map +1 -0
  322. package/dist/rpc/client.d.ts +426 -0
  323. package/dist/rpc/client.d.ts.map +1 -0
  324. package/dist/rpc/client.js +826 -0
  325. package/dist/rpc/client.js.map +1 -0
  326. package/dist/rpc/index.d.ts +19 -0
  327. package/dist/rpc/index.d.ts.map +1 -0
  328. package/dist/rpc/index.js +23 -0
  329. package/dist/rpc/index.js.map +1 -0
  330. package/dist/rpc/methods.d.ts +364 -0
  331. package/dist/rpc/methods.d.ts.map +1 -0
  332. package/dist/rpc/methods.js +557 -0
  333. package/dist/rpc/methods.js.map +1 -0
  334. package/dist/rpc/protocol.d.ts +310 -0
  335. package/dist/rpc/protocol.d.ts.map +1 -0
  336. package/dist/rpc/protocol.js +672 -0
  337. package/dist/rpc/protocol.js.map +1 -0
  338. package/dist/rpc/routes.d.ts +332 -0
  339. package/dist/rpc/routes.d.ts.map +1 -0
  340. package/dist/rpc/routes.js +633 -0
  341. package/dist/rpc/routes.js.map +1 -0
  342. package/dist/rpc/server.d.ts +380 -0
  343. package/dist/rpc/server.d.ts.map +1 -0
  344. package/dist/rpc/server.js +850 -0
  345. package/dist/rpc/server.js.map +1 -0
  346. package/dist/sdk/auth.d.ts +201 -0
  347. package/dist/sdk/auth.d.ts.map +1 -0
  348. package/dist/sdk/auth.js +343 -0
  349. package/dist/sdk/auth.js.map +1 -0
  350. package/dist/sdk/client.d.ts +123 -0
  351. package/dist/sdk/client.d.ts.map +1 -0
  352. package/dist/sdk/client.js +403 -0
  353. package/dist/sdk/client.js.map +1 -0
  354. package/dist/sdk/index.d.ts +123 -0
  355. package/dist/sdk/index.d.ts.map +1 -0
  356. package/dist/sdk/index.js +230 -0
  357. package/dist/sdk/index.js.map +1 -0
  358. package/dist/sdk/rpc.d.ts +275 -0
  359. package/dist/sdk/rpc.d.ts.map +1 -0
  360. package/dist/sdk/rpc.js +249 -0
  361. package/dist/sdk/rpc.js.map +1 -0
  362. package/dist/sdk/transport.d.ts +283 -0
  363. package/dist/sdk/transport.d.ts.map +1 -0
  364. package/dist/sdk/transport.js +661 -0
  365. package/dist/sdk/transport.js.map +1 -0
  366. package/dist/sdk/types.d.ts +265 -0
  367. package/dist/sdk/types.d.ts.map +1 -0
  368. package/dist/sdk/types.js +27 -0
  369. package/dist/sdk/types.js.map +1 -0
  370. package/dist/types/ai.d.ts +533 -0
  371. package/dist/types/ai.d.ts.map +1 -0
  372. package/dist/types/ai.js +18 -0
  373. package/dist/types/ai.js.map +1 -0
  374. package/dist/types/app.d.ts +371 -0
  375. package/dist/types/app.d.ts.map +1 -0
  376. package/dist/types/app.js +151 -0
  377. package/dist/types/app.js.map +1 -0
  378. package/dist/types/business.d.ts +482 -0
  379. package/dist/types/business.d.ts.map +1 -0
  380. package/dist/types/business.js +60 -0
  381. package/dist/types/business.js.map +1 -0
  382. package/dist/types/cascade.d.ts +323 -0
  383. package/dist/types/cascade.d.ts.map +1 -0
  384. package/dist/types/cascade.js +82 -0
  385. package/dist/types/cascade.js.map +1 -0
  386. package/dist/types/collections.d.ts +704 -0
  387. package/dist/types/collections.d.ts.map +1 -0
  388. package/dist/types/collections.js +23 -0
  389. package/dist/types/collections.js.map +1 -0
  390. package/dist/types/colo.d.ts +171 -0
  391. package/dist/types/colo.d.ts.map +1 -0
  392. package/dist/types/colo.js +63 -0
  393. package/dist/types/colo.js.map +1 -0
  394. package/dist/types/communication.d.ts +595 -0
  395. package/dist/types/communication.d.ts.map +1 -0
  396. package/dist/types/communication.js +16 -0
  397. package/dist/types/communication.js.map +1 -0
  398. package/dist/types/content.d.ts +286 -0
  399. package/dist/types/content.d.ts.map +1 -0
  400. package/dist/types/content.js +8 -0
  401. package/dist/types/content.js.map +1 -0
  402. package/dist/types/context.d.ts +407 -0
  403. package/dist/types/context.d.ts.map +1 -0
  404. package/dist/types/context.js +36 -0
  405. package/dist/types/context.js.map +1 -0
  406. package/dist/types/databases.d.ts +377 -0
  407. package/dist/types/databases.d.ts.map +1 -0
  408. package/dist/types/databases.js +14 -0
  409. package/dist/types/databases.js.map +1 -0
  410. package/dist/types/domains.d.ts +132 -0
  411. package/dist/types/domains.d.ts.map +1 -0
  412. package/dist/types/domains.js +107 -0
  413. package/dist/types/domains.js.map +1 -0
  414. package/dist/types/execution.d.ts +381 -0
  415. package/dist/types/execution.d.ts.map +1 -0
  416. package/dist/types/execution.js +40 -0
  417. package/dist/types/execution.js.map +1 -0
  418. package/dist/types/financial.d.ts +608 -0
  419. package/dist/types/financial.d.ts.map +1 -0
  420. package/dist/types/financial.js +12 -0
  421. package/dist/types/financial.js.map +1 -0
  422. package/dist/types/functions.d.ts +215 -0
  423. package/dist/types/functions.d.ts.map +1 -0
  424. package/dist/types/functions.js +15 -0
  425. package/dist/types/functions.js.map +1 -0
  426. package/dist/types/git.d.ts +299 -0
  427. package/dist/types/git.d.ts.map +1 -0
  428. package/dist/types/git.js +17 -0
  429. package/dist/types/git.js.map +1 -0
  430. package/dist/types/identity.d.ts +141 -0
  431. package/dist/types/identity.d.ts.map +1 -0
  432. package/dist/types/identity.js +54 -0
  433. package/dist/types/identity.js.map +1 -0
  434. package/dist/types/index.d.ts +40 -0
  435. package/dist/types/index.d.ts.map +1 -0
  436. package/dist/types/index.js +65 -0
  437. package/dist/types/index.js.map +1 -0
  438. package/dist/types/integrations.d.ts +356 -0
  439. package/dist/types/integrations.d.ts.map +1 -0
  440. package/dist/types/integrations.js +19 -0
  441. package/dist/types/integrations.js.map +1 -0
  442. package/dist/types/mdxui.d.ts +1955 -0
  443. package/dist/types/mdxui.d.ts.map +1 -0
  444. package/dist/types/mdxui.js +751 -0
  445. package/dist/types/mdxui.js.map +1 -0
  446. package/dist/types/observability.d.ts +315 -0
  447. package/dist/types/observability.d.ts.map +1 -0
  448. package/dist/types/observability.js +13 -0
  449. package/dist/types/observability.js.map +1 -0
  450. package/dist/types/rpc.d.ts +339 -0
  451. package/dist/types/rpc.d.ts.map +1 -0
  452. package/dist/types/rpc.js +24 -0
  453. package/dist/types/rpc.js.map +1 -0
  454. package/dist/types/saas.d.ts +678 -0
  455. package/dist/types/saas.d.ts.map +1 -0
  456. package/dist/types/saas.js +59 -0
  457. package/dist/types/saas.js.map +1 -0
  458. package/dist/types/service.d.ts +676 -0
  459. package/dist/types/service.d.ts.map +1 -0
  460. package/dist/types/service.js +69 -0
  461. package/dist/types/service.js.map +1 -0
  462. package/dist/types/site.d.ts +317 -0
  463. package/dist/types/site.d.ts.map +1 -0
  464. package/dist/types/site.js +203 -0
  465. package/dist/types/site.js.map +1 -0
  466. package/dist/types/startup.d.ts +576 -0
  467. package/dist/types/startup.d.ts.map +1 -0
  468. package/dist/types/startup.js +59 -0
  469. package/dist/types/startup.js.map +1 -0
  470. package/dist/types/storage.d.ts +276 -0
  471. package/dist/types/storage.d.ts.map +1 -0
  472. package/dist/types/storage.js +35 -0
  473. package/dist/types/storage.js.map +1 -0
  474. package/dist/types/telephony.d.ts +458 -0
  475. package/dist/types/telephony.d.ts.map +1 -0
  476. package/dist/types/telephony.js +19 -0
  477. package/dist/types/telephony.js.map +1 -0
  478. package/dist/types/tenant.d.ts +708 -0
  479. package/dist/types/tenant.d.ts.map +1 -0
  480. package/dist/types/tenant.js +103 -0
  481. package/dist/types/tenant.js.map +1 -0
  482. package/dist/types/voice-ai.d.ts +459 -0
  483. package/dist/types/voice-ai.d.ts.map +1 -0
  484. package/dist/types/voice-ai.js +32 -0
  485. package/dist/types/voice-ai.js.map +1 -0
  486. package/package.json +143 -0
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Voice - Text-to-Speech and Speech-to-Text
3
+ *
4
+ * Voice synthesis (TTS) and speech recognition (STT) capabilities.
5
+ *
6
+ * Features:
7
+ * - Text-to-speech with multiple voices
8
+ * - Speech-to-text transcription
9
+ * - Real-time streaming transcription
10
+ * - Word-level timestamps
11
+ * - Speaker diarization
12
+ *
13
+ * @module ai/voice/tts
14
+ */
15
+ import type { VoiceSynthesisOptions, VoiceSynthesisResult, SpeechRecognitionOptions, TranscriptionResult, VoiceSynthesisProvider } from '../../types/ai';
16
+ /**
17
+ * Synthesize speech from text
18
+ *
19
+ * @param text - Text to synthesize
20
+ * @param options - Synthesis options including voice
21
+ * @returns Audio buffer and metadata
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * // Using ElevenLabs
26
+ * const result = await synthesize('Hello, how are you?', {
27
+ * provider: 'elevenlabs',
28
+ * voice: 'rachel',
29
+ * format: 'mp3'
30
+ * })
31
+ *
32
+ * // Using OpenAI
33
+ * const result = await synthesize('Welcome to our app', {
34
+ * provider: 'openai',
35
+ * voice: 'alloy',
36
+ * speed: 1.0
37
+ * })
38
+ *
39
+ * // Play the audio
40
+ * const blob = new Blob([result.audio], { type: `audio/${result.format}` })
41
+ * const url = URL.createObjectURL(blob)
42
+ * ```
43
+ */
44
+ export declare function synthesize(text: string, options: VoiceSynthesisOptions): Promise<VoiceSynthesisResult>;
45
+ /**
46
+ * Synthesize speech with streaming output
47
+ *
48
+ * @param text - Text to synthesize
49
+ * @param options - Synthesis options
50
+ * @returns Async iterable of audio chunks
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * for await (const chunk of synthesizeStream('Long text...', {
55
+ * provider: 'elevenlabs',
56
+ * voice: 'rachel'
57
+ * })) {
58
+ * // Process audio chunk
59
+ * audioContext.decodeAudioData(chunk)
60
+ * }
61
+ * ```
62
+ */
63
+ export declare function synthesizeStream(text: string, options: VoiceSynthesisOptions): AsyncIterable<ArrayBuffer>;
64
+ /**
65
+ * Transcribe audio to text
66
+ *
67
+ * @param audio - Audio buffer to transcribe
68
+ * @param options - Transcription options
69
+ * @returns Transcription result with text and metadata
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * // Basic transcription
74
+ * const result = await transcribe(audioBuffer, {
75
+ * provider: 'deepgram',
76
+ * language: 'en'
77
+ * })
78
+ * console.log(result.text)
79
+ *
80
+ * // With word timestamps
81
+ * const result = await transcribe(audioBuffer, {
82
+ * provider: 'deepgram',
83
+ * punctuate: true
84
+ * })
85
+ * result.words?.forEach(w => {
86
+ * console.log(`${w.word} (${w.start}s - ${w.end}s)`)
87
+ * })
88
+ *
89
+ * // With speaker diarization
90
+ * const result = await transcribe(meetingAudio, {
91
+ * provider: 'deepgram',
92
+ * diarize: true
93
+ * })
94
+ * result.speakers?.forEach(s => {
95
+ * console.log(`Speaker ${s.speaker}: ${s.text}`)
96
+ * })
97
+ * ```
98
+ */
99
+ export declare function transcribe(audio: ArrayBuffer, options?: SpeechRecognitionOptions): Promise<TranscriptionResult>;
100
+ /**
101
+ * Transcribe audio stream in real-time
102
+ *
103
+ * @param audioStream - Readable stream of audio data
104
+ * @param options - Transcription options
105
+ * @returns Async iterable of partial transcription results
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * // From microphone
110
+ * const mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true })
111
+ * const audioStream = getAudioStream(mediaStream)
112
+ *
113
+ * for await (const partial of transcribeStream(audioStream, {
114
+ * provider: 'deepgram',
115
+ * interimResults: true
116
+ * })) {
117
+ * console.log('Partial:', partial.text)
118
+ * }
119
+ * ```
120
+ */
121
+ export declare function transcribeStream(audioStream: ReadableStream, options?: SpeechRecognitionOptions): AsyncIterable<TranscriptionResult>;
122
+ /**
123
+ * Transcribe audio from URL
124
+ *
125
+ * @param url - URL of audio file
126
+ * @param options - Transcription options
127
+ * @returns Transcription result
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const result = await transcribeUrl(
132
+ * 'https://example.com/podcast.mp3',
133
+ * { provider: 'assemblyai', diarize: true }
134
+ * )
135
+ * ```
136
+ */
137
+ export declare function transcribeUrl(url: string, options?: SpeechRecognitionOptions): Promise<TranscriptionResult>;
138
+ /**
139
+ * List available voices for a provider
140
+ *
141
+ * @param provider - Voice synthesis provider
142
+ * @returns Array of available voices
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * const voices = await listVoices('elevenlabs')
147
+ * voices.forEach(v => console.log(`${v.name}: ${v.description}`))
148
+ * ```
149
+ */
150
+ export declare function listVoices(provider: VoiceSynthesisProvider): Promise<Array<{
151
+ id: string;
152
+ name: string;
153
+ description?: string;
154
+ }>>;
155
+ /**
156
+ * Clone a voice from audio sample (ElevenLabs)
157
+ *
158
+ * @param name - Name for the cloned voice
159
+ * @param audioSamples - Audio samples of the voice
160
+ * @param description - Optional description
161
+ * @returns Voice ID of the cloned voice
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * const voiceId = await cloneVoice(
166
+ * 'My Custom Voice',
167
+ * [sample1, sample2, sample3],
168
+ * 'A warm, friendly voice'
169
+ * )
170
+ * ```
171
+ */
172
+ export declare function cloneVoice(name: string, audioSamples: ArrayBuffer[], description?: string): Promise<string>;
173
+ //# sourceMappingURL=tts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../../ai/voice/tts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EAEvB,MAAM,gBAAgB,CAAA;AA4BvB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAO/B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAuB,gBAAgB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,GAC7B,aAAa,CAAC,WAAW,CAAC,CAI5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAuB,gBAAgB,CACrC,WAAW,EAAE,cAAc,EAC3B,OAAO,CAAC,EAAE,wBAAwB,GACjC,aAAa,CAAC,mBAAmB,CAAC,CAMpC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAI9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,sBAAsB,GAC/B,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAIpE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,WAAW,EAAE,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAGjB"}
@@ -0,0 +1,252 @@
1
+ /**
2
+ * Voice - Text-to-Speech and Speech-to-Text
3
+ *
4
+ * Voice synthesis (TTS) and speech recognition (STT) capabilities.
5
+ *
6
+ * Features:
7
+ * - Text-to-speech with multiple voices
8
+ * - Speech-to-text transcription
9
+ * - Real-time streaming transcription
10
+ * - Word-level timestamps
11
+ * - Speaker diarization
12
+ *
13
+ * @module ai/voice/tts
14
+ */
15
+ /**
16
+ * Default TTS models by provider
17
+ */
18
+ const DEFAULT_TTS_MODELS = {
19
+ elevenlabs: 'eleven_multilingual_v2',
20
+ playht: 'PlayHT2.0',
21
+ azure: 'en-US-JennyNeural',
22
+ google: 'en-US-Standard-A',
23
+ openai: 'tts-1',
24
+ deepgram: 'aura-asteria-en',
25
+ cartesia: 'sonic-english',
26
+ };
27
+ /**
28
+ * Default STT models by provider
29
+ */
30
+ const DEFAULT_STT_MODELS = {
31
+ deepgram: 'nova-2',
32
+ assemblyai: 'default',
33
+ whisper: 'whisper-1',
34
+ google: 'default',
35
+ azure: 'default',
36
+ };
37
+ /**
38
+ * Synthesize speech from text
39
+ *
40
+ * @param text - Text to synthesize
41
+ * @param options - Synthesis options including voice
42
+ * @returns Audio buffer and metadata
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * // Using ElevenLabs
47
+ * const result = await synthesize('Hello, how are you?', {
48
+ * provider: 'elevenlabs',
49
+ * voice: 'rachel',
50
+ * format: 'mp3'
51
+ * })
52
+ *
53
+ * // Using OpenAI
54
+ * const result = await synthesize('Welcome to our app', {
55
+ * provider: 'openai',
56
+ * voice: 'alloy',
57
+ * speed: 1.0
58
+ * })
59
+ *
60
+ * // Play the audio
61
+ * const blob = new Blob([result.audio], { type: `audio/${result.format}` })
62
+ * const url = URL.createObjectURL(blob)
63
+ * ```
64
+ */
65
+ export async function synthesize(text, options) {
66
+ // TODO: Implement text-to-speech
67
+ // 1. Select provider and model
68
+ // 2. Build provider-specific request
69
+ // 3. Make gateway request
70
+ // 4. Return audio buffer
71
+ throw new Error('Not implemented');
72
+ }
73
+ /**
74
+ * Synthesize speech with streaming output
75
+ *
76
+ * @param text - Text to synthesize
77
+ * @param options - Synthesis options
78
+ * @returns Async iterable of audio chunks
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * for await (const chunk of synthesizeStream('Long text...', {
83
+ * provider: 'elevenlabs',
84
+ * voice: 'rachel'
85
+ * })) {
86
+ * // Process audio chunk
87
+ * audioContext.decodeAudioData(chunk)
88
+ * }
89
+ * ```
90
+ */
91
+ export async function* synthesizeStream(text, options) {
92
+ // TODO: Implement streaming TTS
93
+ // Some providers support streaming audio output
94
+ throw new Error('Not implemented');
95
+ }
96
+ /**
97
+ * Transcribe audio to text
98
+ *
99
+ * @param audio - Audio buffer to transcribe
100
+ * @param options - Transcription options
101
+ * @returns Transcription result with text and metadata
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * // Basic transcription
106
+ * const result = await transcribe(audioBuffer, {
107
+ * provider: 'deepgram',
108
+ * language: 'en'
109
+ * })
110
+ * console.log(result.text)
111
+ *
112
+ * // With word timestamps
113
+ * const result = await transcribe(audioBuffer, {
114
+ * provider: 'deepgram',
115
+ * punctuate: true
116
+ * })
117
+ * result.words?.forEach(w => {
118
+ * console.log(`${w.word} (${w.start}s - ${w.end}s)`)
119
+ * })
120
+ *
121
+ * // With speaker diarization
122
+ * const result = await transcribe(meetingAudio, {
123
+ * provider: 'deepgram',
124
+ * diarize: true
125
+ * })
126
+ * result.speakers?.forEach(s => {
127
+ * console.log(`Speaker ${s.speaker}: ${s.text}`)
128
+ * })
129
+ * ```
130
+ */
131
+ export async function transcribe(audio, options) {
132
+ // TODO: Implement speech-to-text
133
+ // 1. Select provider and model
134
+ // 2. Build provider-specific request
135
+ // 3. Make gateway request
136
+ // 4. Normalize response
137
+ throw new Error('Not implemented');
138
+ }
139
+ /**
140
+ * Transcribe audio stream in real-time
141
+ *
142
+ * @param audioStream - Readable stream of audio data
143
+ * @param options - Transcription options
144
+ * @returns Async iterable of partial transcription results
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * // From microphone
149
+ * const mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true })
150
+ * const audioStream = getAudioStream(mediaStream)
151
+ *
152
+ * for await (const partial of transcribeStream(audioStream, {
153
+ * provider: 'deepgram',
154
+ * interimResults: true
155
+ * })) {
156
+ * console.log('Partial:', partial.text)
157
+ * }
158
+ * ```
159
+ */
160
+ export async function* transcribeStream(audioStream, options) {
161
+ // TODO: Implement real-time streaming transcription
162
+ // 1. Open WebSocket to provider
163
+ // 2. Stream audio chunks
164
+ // 3. Yield partial results
165
+ throw new Error('Not implemented');
166
+ }
167
+ /**
168
+ * Transcribe audio from URL
169
+ *
170
+ * @param url - URL of audio file
171
+ * @param options - Transcription options
172
+ * @returns Transcription result
173
+ *
174
+ * @example
175
+ * ```typescript
176
+ * const result = await transcribeUrl(
177
+ * 'https://example.com/podcast.mp3',
178
+ * { provider: 'assemblyai', diarize: true }
179
+ * )
180
+ * ```
181
+ */
182
+ export async function transcribeUrl(url, options) {
183
+ // TODO: Implement URL-based transcription
184
+ // Some providers accept URLs directly
185
+ throw new Error('Not implemented');
186
+ }
187
+ /**
188
+ * List available voices for a provider
189
+ *
190
+ * @param provider - Voice synthesis provider
191
+ * @returns Array of available voices
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * const voices = await listVoices('elevenlabs')
196
+ * voices.forEach(v => console.log(`${v.name}: ${v.description}`))
197
+ * ```
198
+ */
199
+ export async function listVoices(provider) {
200
+ // TODO: Implement voice listing
201
+ // Provider-specific API calls
202
+ throw new Error('Not implemented');
203
+ }
204
+ /**
205
+ * Clone a voice from audio sample (ElevenLabs)
206
+ *
207
+ * @param name - Name for the cloned voice
208
+ * @param audioSamples - Audio samples of the voice
209
+ * @param description - Optional description
210
+ * @returns Voice ID of the cloned voice
211
+ *
212
+ * @example
213
+ * ```typescript
214
+ * const voiceId = await cloneVoice(
215
+ * 'My Custom Voice',
216
+ * [sample1, sample2, sample3],
217
+ * 'A warm, friendly voice'
218
+ * )
219
+ * ```
220
+ */
221
+ export async function cloneVoice(name, audioSamples, description) {
222
+ // TODO: Implement voice cloning (ElevenLabs specific)
223
+ throw new Error('Not implemented');
224
+ }
225
+ /**
226
+ * Format TTS request for provider
227
+ *
228
+ * @internal
229
+ */
230
+ function formatTTSRequest(text, provider, options) {
231
+ // TODO: Handle provider-specific request formats
232
+ throw new Error('Not implemented');
233
+ }
234
+ /**
235
+ * Format STT request for provider
236
+ *
237
+ * @internal
238
+ */
239
+ function formatSTTRequest(audio, provider, options) {
240
+ // TODO: Handle provider-specific request formats
241
+ throw new Error('Not implemented');
242
+ }
243
+ /**
244
+ * Parse STT response from provider
245
+ *
246
+ * @internal
247
+ */
248
+ function parseSTTResponse(response, provider) {
249
+ // TODO: Normalize provider responses
250
+ throw new Error('Not implemented');
251
+ }
252
+ //# sourceMappingURL=tts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tts.js","sourceRoot":"","sources":["../../../ai/voice/tts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * WebRTC Session Handling
3
+ *
4
+ * Manages browser-based voice calls using WebRTC.
5
+ * Supports multiple providers (LiveKit, Daily, Twilio).
6
+ *
7
+ * @module ai/voice/webrtc
8
+ */
9
+ import type { WebRTCConfig, RealtimeTranscriptionConfig, VoiceAIProvider } from '../../types/voice-ai';
10
+ import { VoiceAgentManager } from './agents';
11
+ import { VoiceSessionManager } from './sessions';
12
+ /**
13
+ * Options for creating a WebRTC session
14
+ */
15
+ export interface CreateWebRTCSessionOptions {
16
+ /** Voice agent ID */
17
+ agentId: string;
18
+ /** Participant identity */
19
+ identity: string;
20
+ /** Display name */
21
+ displayName?: string;
22
+ /** Audio-only mode (no video) */
23
+ audioOnly?: boolean;
24
+ /** Auto-connect when joining */
25
+ autoConnect?: boolean;
26
+ /** Session metadata */
27
+ metadata?: Record<string, unknown>;
28
+ /** Real-time transcription config */
29
+ transcription?: RealtimeTranscriptionConfig;
30
+ }
31
+ /**
32
+ * Result of creating a WebRTC session
33
+ */
34
+ export interface WebRTCSessionResult {
35
+ /** Session ID (for tracking) */
36
+ sessionId: string;
37
+ /** Room name */
38
+ roomName: string;
39
+ /** Room URL (for client connection) */
40
+ roomUrl: string;
41
+ /** Access token (for authentication) */
42
+ token: string;
43
+ /** WebRTC config */
44
+ config: WebRTCConfig;
45
+ }
46
+ /**
47
+ * WebRTC room information
48
+ */
49
+ export interface WebRTCRoom {
50
+ /** Room name */
51
+ name: string;
52
+ /** Room URL */
53
+ url: string;
54
+ /** Session ID */
55
+ sessionId: string;
56
+ /** Agent ID */
57
+ agentId: string;
58
+ /** Provider */
59
+ provider: VoiceAIProvider;
60
+ /** Current participants */
61
+ participants: WebRTCParticipant[];
62
+ /** Created timestamp */
63
+ createdAt: number;
64
+ /** Room status */
65
+ status: 'active' | 'closed';
66
+ }
67
+ /**
68
+ * WebRTC participant
69
+ */
70
+ export interface WebRTCParticipant {
71
+ /** Participant identity */
72
+ identity: string;
73
+ /** Display name */
74
+ displayName?: string;
75
+ /** Is AI agent */
76
+ isAgent: boolean;
77
+ /** Joined timestamp */
78
+ joinedAt: number;
79
+ /** Connection state */
80
+ connectionState: 'connecting' | 'connected' | 'disconnected';
81
+ }
82
+ /**
83
+ * WebRTC event types
84
+ */
85
+ export type WebRTCEventType = 'room_created' | 'participant_joined' | 'participant_left' | 'track_subscribed' | 'track_unsubscribed' | 'room_closed';
86
+ /**
87
+ * WebRTC session manager
88
+ *
89
+ * Creates and manages WebRTC sessions for browser-based voice calls.
90
+ * Works with LiveKit, Daily, or other WebRTC providers.
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * const manager = new WebRTCSessionManager(storage, agentManager, sessionManager)
95
+ *
96
+ * // Create a session for a user
97
+ * const { sessionId, roomUrl, token } = await manager.create({
98
+ * agentId: 'vagent_support',
99
+ * identity: 'user_123',
100
+ * displayName: 'John Doe',
101
+ * audioOnly: true,
102
+ * })
103
+ *
104
+ * // Client uses token to connect
105
+ * // const room = await LivekitClient.connect(roomUrl, token)
106
+ *
107
+ * // Get room info
108
+ * const room = await manager.getRoom(sessionId)
109
+ * ```
110
+ */
111
+ export declare class WebRTCSessionManager {
112
+ private storage;
113
+ private agentManager;
114
+ private sessionManager;
115
+ /**
116
+ * Create a WebRTC session manager
117
+ *
118
+ * @param storage - DO storage interface
119
+ * @param agentManager - Voice agent manager
120
+ * @param sessionManager - Voice session manager
121
+ */
122
+ constructor(storage: DurableObjectStorage, agentManager: VoiceAgentManager, sessionManager: VoiceSessionManager);
123
+ /**
124
+ * Create a new WebRTC session
125
+ *
126
+ * Creates a room and generates an access token for the participant.
127
+ *
128
+ * @param options - Session options
129
+ * @returns Session details including token and room URL
130
+ */
131
+ create(options: CreateWebRTCSessionOptions): Promise<WebRTCSessionResult>;
132
+ /**
133
+ * Get room information
134
+ *
135
+ * @param sessionId - Voice session ID
136
+ * @returns Room info or null if not found
137
+ */
138
+ getRoom(sessionId: string): Promise<WebRTCRoom | null>;
139
+ /**
140
+ * Get room by name
141
+ *
142
+ * @param roomName - Room name
143
+ * @returns Room info or null if not found
144
+ */
145
+ getRoomByName(roomName: string): Promise<WebRTCRoom | null>;
146
+ /**
147
+ * Generate a new token for an existing room
148
+ *
149
+ * Useful when a participant needs to reconnect.
150
+ *
151
+ * @param sessionId - Voice session ID
152
+ * @param identity - Participant identity
153
+ * @returns New access token
154
+ */
155
+ generateToken(sessionId: string, identity: string): Promise<string>;
156
+ /**
157
+ * Update participant connection state
158
+ *
159
+ * Called from webhook when participant joins/leaves.
160
+ *
161
+ * @param roomName - Room name
162
+ * @param identity - Participant identity
163
+ * @param state - Connection state
164
+ */
165
+ updateParticipantState(roomName: string, identity: string, state: WebRTCParticipant['connectionState']): Promise<void>;
166
+ /**
167
+ * Add a participant to a room
168
+ *
169
+ * @param roomName - Room name
170
+ * @param participant - Participant info
171
+ */
172
+ addParticipant(roomName: string, participant: WebRTCParticipant): Promise<void>;
173
+ /**
174
+ * Remove a participant from a room
175
+ *
176
+ * @param roomName - Room name
177
+ * @param identity - Participant identity
178
+ */
179
+ removeParticipant(roomName: string, identity: string): Promise<void>;
180
+ /**
181
+ * Close a room
182
+ *
183
+ * @param roomName - Room name
184
+ */
185
+ closeRoom(roomName: string): Promise<void>;
186
+ /**
187
+ * List active rooms
188
+ *
189
+ * @param agentId - Optional filter by agent
190
+ * @returns List of active rooms
191
+ */
192
+ listActiveRooms(agentId?: string): Promise<WebRTCRoom[]>;
193
+ /**
194
+ * Clean up old/stale rooms
195
+ *
196
+ * Should be called periodically to clean up rooms that weren't
197
+ * properly closed.
198
+ *
199
+ * @param maxAge - Maximum age in milliseconds (default: 24 hours)
200
+ */
201
+ cleanup(maxAge?: number): Promise<number>;
202
+ }
203
+ /**
204
+ * WebRTC session singleton access
205
+ */
206
+ export declare const WebRTCSession: {
207
+ /**
208
+ * Initialize with dependencies
209
+ */
210
+ init(storage: DurableObjectStorage, agentManager: VoiceAgentManager, sessionManager: VoiceSessionManager): void;
211
+ /**
212
+ * Create a WebRTC session
213
+ */
214
+ create(options: CreateWebRTCSessionOptions): Promise<WebRTCSessionResult>;
215
+ /**
216
+ * Get room info
217
+ */
218
+ getRoom(sessionId: string): Promise<WebRTCRoom | null>;
219
+ /**
220
+ * Generate new token
221
+ */
222
+ generateToken(sessionId: string, identity: string): Promise<string>;
223
+ /**
224
+ * List active rooms
225
+ */
226
+ listActiveRooms(agentId?: string): Promise<WebRTCRoom[]>;
227
+ };
228
+ //# sourceMappingURL=webrtc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webrtc.d.ts","sourceRoot":"","sources":["../../../ai/voice/webrtc.ts"],"names":[],"mappings":"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"}