@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,531 @@
1
+ /**
2
+ * Voice Session Management
3
+ *
4
+ * Manages the lifecycle of voice calls including outbound calls,
5
+ * inbound calls, and WebRTC sessions.
6
+ *
7
+ * @module ai/voice/sessions
8
+ */
9
+ import { VoiceProviderFactory } from './providers';
10
+ // =============================================================================
11
+ // Voice Session Manager
12
+ // =============================================================================
13
+ /**
14
+ * Voice session manager
15
+ *
16
+ * Manages voice call sessions including lifecycle, transcripts,
17
+ * tool calls, and recordings.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const manager = new VoiceSessionManager(storage, agentManager)
22
+ *
23
+ * // Start an outbound call
24
+ * const session = await manager.startOutbound({
25
+ * agentId: 'vagent_123',
26
+ * phone: '+1-555-0123',
27
+ * context: { customerName: 'John' },
28
+ * })
29
+ *
30
+ * // Get session status
31
+ * const status = await manager.get(session.id)
32
+ *
33
+ * // List recent sessions
34
+ * const sessions = await manager.list({ agentId: 'vagent_123', limit: 10 })
35
+ * ```
36
+ */
37
+ export class VoiceSessionManager {
38
+ storage;
39
+ agentManager;
40
+ eventHandlers = new Map();
41
+ /**
42
+ * Create a new session manager
43
+ *
44
+ * @param storage - DO storage interface
45
+ * @param agentManager - Voice agent manager
46
+ */
47
+ constructor(storage, agentManager) {
48
+ this.storage = storage;
49
+ this.agentManager = agentManager;
50
+ }
51
+ /**
52
+ * Start an outbound call
53
+ *
54
+ * @param options - Call options
55
+ * @returns Created session
56
+ */
57
+ async startOutbound(options) {
58
+ const { agentId, phone, context, metadata } = options;
59
+ // Get agent
60
+ const agent = await this.agentManager.get(agentId);
61
+ if (!agent) {
62
+ throw new Error(`Voice agent not found: ${agentId}`);
63
+ }
64
+ // Validate phone number
65
+ if (!isValidPhoneNumber(phone)) {
66
+ throw new Error(`Invalid phone number: ${phone}`);
67
+ }
68
+ // Start call via provider
69
+ const adapter = VoiceProviderFactory.get(agent.provider);
70
+ const agentData = await this.storage.get(`voice_agent:${agentId}`);
71
+ if (!agentData?.providerAgentId) {
72
+ throw new Error(`Provider agent ID not found for: ${agentId}`);
73
+ }
74
+ const providerCallId = await adapter.startCall(agentData.providerAgentId, phone, context);
75
+ // Create session record
76
+ const sessionId = `vsess_${generateId()}`;
77
+ const now = Date.now();
78
+ const session = {
79
+ id: sessionId,
80
+ agentId,
81
+ providerSessionId: providerCallId,
82
+ type: 'Outbound',
83
+ customerPhone: phone,
84
+ status: 'Initializing',
85
+ startTime: now,
86
+ transcript: [],
87
+ toolCalls: [],
88
+ metadata,
89
+ };
90
+ await this.storage.put(`voice_session:${sessionId}`, session);
91
+ // Index by provider session ID
92
+ await this.storage.put(`voice_session_provider:${providerCallId}`, sessionId);
93
+ return session;
94
+ }
95
+ /**
96
+ * Create a session for an inbound call (called from webhook)
97
+ *
98
+ * @param agentId - Voice agent ID
99
+ * @param providerCallId - Provider's call ID
100
+ * @param customerPhone - Customer's phone number
101
+ * @returns Created session
102
+ */
103
+ async createInbound(agentId, providerCallId, customerPhone) {
104
+ const sessionId = `vsess_${generateId()}`;
105
+ const now = Date.now();
106
+ const session = {
107
+ id: sessionId,
108
+ agentId,
109
+ providerSessionId: providerCallId,
110
+ type: 'Inbound',
111
+ customerPhone,
112
+ status: 'Ringing',
113
+ startTime: now,
114
+ transcript: [],
115
+ toolCalls: [],
116
+ };
117
+ await this.storage.put(`voice_session:${sessionId}`, session);
118
+ await this.storage.put(`voice_session_provider:${providerCallId}`, sessionId);
119
+ return session;
120
+ }
121
+ /**
122
+ * Get a session by ID
123
+ *
124
+ * @param id - Session ID
125
+ * @returns Session or null if not found
126
+ */
127
+ async get(id) {
128
+ const session = await this.storage.get(`voice_session:${id}`);
129
+ return session ?? null;
130
+ }
131
+ /**
132
+ * Get a session by provider session ID
133
+ *
134
+ * @param providerSessionId - Provider's session ID
135
+ * @returns Session or null if not found
136
+ */
137
+ async getByProviderSessionId(providerSessionId) {
138
+ const id = await this.storage.get(`voice_session_provider:${providerSessionId}`);
139
+ if (!id)
140
+ return null;
141
+ return this.get(id);
142
+ }
143
+ /**
144
+ * Update session status
145
+ *
146
+ * @param id - Session ID
147
+ * @param status - New status
148
+ * @param outcome - Call outcome (if completed/failed)
149
+ */
150
+ async updateStatus(id, status, outcome) {
151
+ const session = await this.get(id);
152
+ if (!session) {
153
+ throw new Error(`Session not found: ${id}`);
154
+ }
155
+ const updates = { status };
156
+ if (status === 'Completed' || status === 'Failed') {
157
+ updates.endTime = Date.now();
158
+ updates.duration = Math.floor((updates.endTime - session.startTime) / 1000);
159
+ if (outcome) {
160
+ updates.outcome = outcome;
161
+ }
162
+ }
163
+ const updated = { ...session, ...updates };
164
+ await this.storage.put(`voice_session:${id}`, updated);
165
+ // Emit event - map session status to valid event type
166
+ const eventType = this.statusToEventType(status);
167
+ await this.emit(id, eventType, {
168
+ status,
169
+ outcome,
170
+ });
171
+ return updated;
172
+ }
173
+ /**
174
+ * Append a transcript entry
175
+ *
176
+ * @param id - Session ID
177
+ * @param entry - Transcript entry
178
+ */
179
+ async appendTranscript(id, entry) {
180
+ const session = await this.get(id);
181
+ if (!session) {
182
+ throw new Error(`Session not found: ${id}`);
183
+ }
184
+ const transcript = [...(session.transcript || []), entry];
185
+ await this.storage.put(`voice_session:${id}`, { ...session, transcript });
186
+ // Emit event
187
+ await this.emit(id, 'transcript', entry);
188
+ }
189
+ /**
190
+ * Record a tool call
191
+ *
192
+ * @param id - Session ID
193
+ * @param toolCall - Tool call record
194
+ */
195
+ async recordToolCall(id, toolCall) {
196
+ const session = await this.get(id);
197
+ if (!session) {
198
+ throw new Error(`Session not found: ${id}`);
199
+ }
200
+ const toolCalls = [...(session.toolCalls || []), toolCall];
201
+ await this.storage.put(`voice_session:${id}`, { ...session, toolCalls });
202
+ // Emit event
203
+ await this.emit(id, toolCall.endTime ? 'toolResult' : 'toolCall', toolCall);
204
+ }
205
+ /**
206
+ * Set recording URL
207
+ *
208
+ * @param id - Session ID
209
+ * @param recordingUrl - URL of the recording
210
+ */
211
+ async setRecordingUrl(id, recordingUrl) {
212
+ const session = await this.get(id);
213
+ if (!session) {
214
+ throw new Error(`Session not found: ${id}`);
215
+ }
216
+ await this.storage.put(`voice_session:${id}`, { ...session, recordingUrl });
217
+ }
218
+ /**
219
+ * Set call summary
220
+ *
221
+ * @param id - Session ID
222
+ * @param summary - AI-generated summary
223
+ */
224
+ async setSummary(id, summary) {
225
+ const session = await this.get(id);
226
+ if (!session) {
227
+ throw new Error(`Session not found: ${id}`);
228
+ }
229
+ await this.storage.put(`voice_session:${id}`, { ...session, summary });
230
+ }
231
+ /**
232
+ * Set sentiment analysis
233
+ *
234
+ * @param id - Session ID
235
+ * @param sentiment - Sentiment analysis
236
+ */
237
+ async setSentiment(id, sentiment) {
238
+ const session = await this.get(id);
239
+ if (!session) {
240
+ throw new Error(`Session not found: ${id}`);
241
+ }
242
+ await this.storage.put(`voice_session:${id}`, { ...session, sentiment });
243
+ }
244
+ /**
245
+ * Set call cost
246
+ *
247
+ * @param id - Session ID
248
+ * @param cost - Cost breakdown
249
+ */
250
+ async setCost(id, cost) {
251
+ const session = await this.get(id);
252
+ if (!session) {
253
+ throw new Error(`Session not found: ${id}`);
254
+ }
255
+ await this.storage.put(`voice_session:${id}`, { ...session, cost });
256
+ }
257
+ /**
258
+ * End a session
259
+ *
260
+ * @param id - Session ID
261
+ * @returns True if ended, false if already ended or not found
262
+ */
263
+ async end(id) {
264
+ const session = await this.get(id);
265
+ if (!session) {
266
+ return false;
267
+ }
268
+ if (session.status === 'Completed' || session.status === 'Failed') {
269
+ return false;
270
+ }
271
+ // End call via provider
272
+ const agent = await this.agentManager.get(session.agentId);
273
+ if (agent) {
274
+ const adapter = VoiceProviderFactory.get(agent.provider);
275
+ await adapter.endCall(session.providerSessionId);
276
+ }
277
+ await this.updateStatus(id, 'Completed', {
278
+ type: 'Completed',
279
+ reason: 'ended_by_system',
280
+ });
281
+ return true;
282
+ }
283
+ /**
284
+ * List sessions
285
+ *
286
+ * @param options - Filter and pagination options
287
+ * @returns List of sessions
288
+ */
289
+ async list(options = {}) {
290
+ const { agentId, status, type, startTimeFrom, startTimeTo, limit = 50, offset = 0, orderBy = 'startTime', orderDir = 'desc', } = options;
291
+ // Get all sessions (in production, use SQL with proper filtering)
292
+ const allSessions = await this.storage.list({ prefix: 'voice_session:' });
293
+ let items = [];
294
+ for (const [key, session] of allSessions) {
295
+ // Skip provider index entries
296
+ if (key.startsWith('voice_session_provider:'))
297
+ continue;
298
+ // Apply filters
299
+ if (agentId && session.agentId !== agentId)
300
+ continue;
301
+ if (status && session.status !== status)
302
+ continue;
303
+ const typeMatch = type ? (type === 'inbound' ? 'Inbound' : type === 'outbound' ? 'Outbound' : 'Web') : null;
304
+ if (typeMatch && session.type !== typeMatch)
305
+ continue;
306
+ if (startTimeFrom && session.startTime < startTimeFrom)
307
+ continue;
308
+ if (startTimeTo && session.startTime > startTimeTo)
309
+ continue;
310
+ items.push(session);
311
+ }
312
+ // Sort
313
+ items.sort((a, b) => {
314
+ let aVal;
315
+ let bVal;
316
+ if (orderBy === 'cost') {
317
+ aVal = a.cost?.total ?? 0;
318
+ bVal = b.cost?.total ?? 0;
319
+ }
320
+ else {
321
+ aVal = a[orderBy] ?? 0;
322
+ bVal = b[orderBy] ?? 0;
323
+ }
324
+ return orderDir === 'desc' ? bVal - aVal : aVal - bVal;
325
+ });
326
+ const total = items.length;
327
+ items = items.slice(offset, offset + limit);
328
+ return {
329
+ items,
330
+ total,
331
+ hasMore: offset + items.length < total,
332
+ };
333
+ }
334
+ /**
335
+ * Get full transcript for a session
336
+ *
337
+ * @param id - Session ID
338
+ * @returns Transcript entries or null if session not found
339
+ */
340
+ async getTranscript(id) {
341
+ const session = await this.get(id);
342
+ return session?.transcript ?? null;
343
+ }
344
+ /**
345
+ * Get recording URL for a session
346
+ *
347
+ * @param id - Session ID
348
+ * @returns Recording URL or null if not available
349
+ */
350
+ async getRecording(id) {
351
+ const session = await this.get(id);
352
+ return session?.recordingUrl ?? null;
353
+ }
354
+ /**
355
+ * Subscribe to session events
356
+ *
357
+ * @param sessionId - Session ID
358
+ * @param event - Event type
359
+ * @param handler - Event handler
360
+ * @returns Unsubscribe function
361
+ */
362
+ on(sessionId, event, handler) {
363
+ const key = `${sessionId}:${event}`;
364
+ if (!this.eventHandlers.has(key)) {
365
+ this.eventHandlers.set(key, new Set());
366
+ }
367
+ this.eventHandlers.get(key).add(handler);
368
+ return () => {
369
+ this.eventHandlers.get(key)?.delete(handler);
370
+ };
371
+ }
372
+ /**
373
+ * Map session status to event type
374
+ *
375
+ * @param status - Session status
376
+ * @returns Corresponding event type
377
+ */
378
+ statusToEventType(status) {
379
+ switch (status) {
380
+ case 'Initializing':
381
+ return 'started';
382
+ case 'Ringing':
383
+ return 'ringing';
384
+ case 'InProgress':
385
+ return 'answered';
386
+ case 'Transferring':
387
+ return 'transferring';
388
+ case 'Completed':
389
+ case 'Failed':
390
+ case 'NoAnswer':
391
+ return 'ended';
392
+ default:
393
+ return 'ended';
394
+ }
395
+ }
396
+ /**
397
+ * Emit a session event
398
+ *
399
+ * @param sessionId - Session ID
400
+ * @param event - Event type
401
+ * @param data - Event data
402
+ */
403
+ async emit(sessionId, event, data) {
404
+ const key = `${sessionId}:${event}`;
405
+ const handlers = this.eventHandlers.get(key);
406
+ if (handlers) {
407
+ for (const handler of handlers) {
408
+ await handler(data);
409
+ }
410
+ }
411
+ }
412
+ /**
413
+ * Get session statistics
414
+ *
415
+ * @param agentId - Optional agent ID to filter
416
+ * @param startTime - Start of time range
417
+ * @param endTime - End of time range
418
+ * @returns Session statistics
419
+ */
420
+ async getStats(agentId, startTime, endTime) {
421
+ const sessions = await this.list({
422
+ agentId,
423
+ startTimeFrom: startTime,
424
+ startTimeTo: endTime,
425
+ limit: 10000,
426
+ });
427
+ let totalDuration = 0;
428
+ let totalCost = 0;
429
+ let completedCalls = 0;
430
+ let failedCalls = 0;
431
+ for (const session of sessions.items) {
432
+ if (session.duration)
433
+ totalDuration += session.duration;
434
+ if (session.cost)
435
+ totalCost += session.cost.total;
436
+ if (session.status === 'Completed')
437
+ completedCalls++;
438
+ if (session.status === 'Failed')
439
+ failedCalls++;
440
+ }
441
+ return {
442
+ totalCalls: sessions.total,
443
+ completedCalls,
444
+ failedCalls,
445
+ avgDuration: sessions.total > 0 ? totalDuration / sessions.total : 0,
446
+ totalDuration,
447
+ totalCost,
448
+ };
449
+ }
450
+ }
451
+ // =============================================================================
452
+ // Helper Functions
453
+ // =============================================================================
454
+ /**
455
+ * Generate a random ID
456
+ */
457
+ function generateId() {
458
+ // TODO: Use nanoid
459
+ return Math.random().toString(36).substring(2, 15);
460
+ }
461
+ /**
462
+ * Validate phone number format
463
+ */
464
+ function isValidPhoneNumber(phone) {
465
+ // Basic validation - E.164 format
466
+ return /^\+?[1-9]\d{1,14}$/.test(phone.replace(/[\s\-\(\)]/g, ''));
467
+ }
468
+ // =============================================================================
469
+ // Singleton Access
470
+ // =============================================================================
471
+ let defaultManager = null;
472
+ /**
473
+ * Voice sessions singleton access
474
+ */
475
+ export const VoiceSessions = {
476
+ /**
477
+ * Initialize with storage and agent manager
478
+ */
479
+ init(storage, agentManager) {
480
+ defaultManager = new VoiceSessionManager(storage, agentManager);
481
+ },
482
+ /**
483
+ * Start an outbound call
484
+ */
485
+ async startOutbound(options) {
486
+ if (!defaultManager)
487
+ throw new Error('VoiceSessions not initialized');
488
+ return defaultManager.startOutbound(options);
489
+ },
490
+ /**
491
+ * Get a session
492
+ */
493
+ async get(id) {
494
+ if (!defaultManager)
495
+ throw new Error('VoiceSessions not initialized');
496
+ return defaultManager.get(id);
497
+ },
498
+ /**
499
+ * List sessions
500
+ */
501
+ async list(options) {
502
+ if (!defaultManager)
503
+ throw new Error('VoiceSessions not initialized');
504
+ return defaultManager.list(options);
505
+ },
506
+ /**
507
+ * End a session
508
+ */
509
+ async end(id) {
510
+ if (!defaultManager)
511
+ throw new Error('VoiceSessions not initialized');
512
+ return defaultManager.end(id);
513
+ },
514
+ /**
515
+ * Get transcript
516
+ */
517
+ async getTranscript(id) {
518
+ if (!defaultManager)
519
+ throw new Error('VoiceSessions not initialized');
520
+ return defaultManager.getTranscript(id);
521
+ },
522
+ /**
523
+ * Get recording
524
+ */
525
+ async getRecording(id) {
526
+ if (!defaultManager)
527
+ throw new Error('VoiceSessions not initialized');
528
+ return defaultManager.getRecording(id);
529
+ },
530
+ };
531
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../ai/voice/sessions.ts"],"names":[],"mappings":"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"}