@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,469 @@
1
+ /**
2
+ * CDC Event Replay and Recovery
3
+ *
4
+ * Provides cursor-based replay of CDC events from any point in time.
5
+ * Supports checkpoint management for reliable event processing.
6
+ *
7
+ * @module cdc/replay
8
+ */
9
+ export class EventReplayer {
10
+ coldStorage;
11
+ hotStorage;
12
+ /**
13
+ * Creates a new event replayer
14
+ *
15
+ * @param options - Configuration options including storage interfaces
16
+ */
17
+ constructor(options) {
18
+ this.coldStorage = options.coldStorage;
19
+ this.hotStorage = options.hotStorage;
20
+ }
21
+ /**
22
+ * Replays events as an async iterator
23
+ *
24
+ * Merges hot and cold storage transparently, maintaining order.
25
+ *
26
+ * @param options - Replay options
27
+ * @yields Batches of events
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * for await (const batch of replayer.replay({
32
+ * fromCursor: checkpoint.cursor,
33
+ * collections: ['users', 'orders'],
34
+ * batchSize: 100,
35
+ * })) {
36
+ * await processBatch(batch)
37
+ * console.log(`Processed up to sequence ${batch.cursor.sequence}`)
38
+ * }
39
+ * ```
40
+ */
41
+ async *replay(options) {
42
+ let currentCursor = options?.fromCursor;
43
+ const batchSize = options?.batchSize ?? 100;
44
+ while (true) {
45
+ const batch = await this.getBatch({
46
+ ...options,
47
+ fromCursor: currentCursor,
48
+ batchSize,
49
+ });
50
+ if (batch.events.length === 0) {
51
+ return;
52
+ }
53
+ yield batch;
54
+ currentCursor = batch.cursor;
55
+ if (!batch.hasMore) {
56
+ return;
57
+ }
58
+ }
59
+ }
60
+ /**
61
+ * Replays events with a callback (non-iterator pattern)
62
+ *
63
+ * @param handler - Callback for each batch
64
+ * @param options - Replay options
65
+ * @returns Final cursor position
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * const finalCursor = await replayer.replayWithHandler(
70
+ * async (batch) => {
71
+ * for (const event of batch.events) {
72
+ * await processEvent(event)
73
+ * }
74
+ * },
75
+ * { subscriberId: 'my-processor' }
76
+ * )
77
+ * ```
78
+ */
79
+ async replayWithHandler(handler, options) {
80
+ let lastCursor = options?.fromCursor ?? { sequence: 0, timestamp: 0 };
81
+ let totalProcessed = 0;
82
+ for await (const batch of this.replay(options)) {
83
+ await handler(batch);
84
+ lastCursor = batch.cursor;
85
+ totalProcessed += batch.events.length;
86
+ if (options?.onProgress) {
87
+ options.onProgress(lastCursor, totalProcessed);
88
+ }
89
+ }
90
+ return lastCursor;
91
+ }
92
+ /**
93
+ * Gets a single batch of events
94
+ *
95
+ * @param options - Query options
96
+ * @returns Single batch with cursor for next page
97
+ */
98
+ async getBatch(options) {
99
+ const batchSize = options?.batchSize ?? 100;
100
+ const fromCursor = options?.fromCursor;
101
+ const fromTimestamp = options?.fromTimestamp;
102
+ const fromSequence = options?.fromSequence;
103
+ // Determine starting sequence
104
+ let startSequence = 0;
105
+ let startTimestamp = 0;
106
+ if (fromCursor) {
107
+ startSequence = fromCursor.sequence;
108
+ startTimestamp = fromCursor.timestamp;
109
+ }
110
+ else if (fromSequence !== undefined) {
111
+ startSequence = fromSequence;
112
+ }
113
+ else if (fromTimestamp !== undefined) {
114
+ startTimestamp = fromTimestamp;
115
+ }
116
+ // Check if we need cold storage
117
+ const oldestHotSequence = await this.hotStorage.getOldestSequence();
118
+ let events = [];
119
+ if (startSequence < oldestHotSequence && fromTimestamp !== undefined) {
120
+ // Need to query cold storage
121
+ const coldResult = await this.coldStorage.query({
122
+ fromTimestamp: startTimestamp,
123
+ limit: batchSize,
124
+ });
125
+ const coldEvents = coldResult?.events ?? (Array.isArray(coldResult) ? coldResult : []);
126
+ // Also get hot events
127
+ const hotEvents = (await this.hotStorage.getEvents({
128
+ fromCursor: { sequence: startSequence, timestamp: startTimestamp },
129
+ batchSize,
130
+ })) ?? [];
131
+ // Merge streams
132
+ events = mergeEventStreams(hotEvents, coldEvents);
133
+ }
134
+ else if (fromTimestamp !== undefined) {
135
+ // Check cold storage for timestamp-based queries
136
+ const coldResult = await this.coldStorage.query({
137
+ fromTimestamp: startTimestamp,
138
+ limit: batchSize,
139
+ });
140
+ const coldEvents = coldResult?.events ?? (Array.isArray(coldResult) ? coldResult : []);
141
+ const hotEvents = (await this.hotStorage.getEvents({
142
+ fromCursor: { sequence: startSequence, timestamp: startTimestamp },
143
+ batchSize,
144
+ })) ?? [];
145
+ events = mergeEventStreams(hotEvents, coldEvents);
146
+ // Filter events before the timestamp
147
+ events = events.filter((e) => e.timestamp >= startTimestamp);
148
+ }
149
+ else if (startSequence < oldestHotSequence) {
150
+ // Need to query cold storage for old sequences
151
+ const coldResult = await this.coldStorage.query({
152
+ fromSequence: startSequence + 1,
153
+ limit: batchSize,
154
+ });
155
+ events = coldResult?.events ?? (Array.isArray(coldResult) ? coldResult : []);
156
+ }
157
+ else {
158
+ // Query hot storage only
159
+ events = (await this.hotStorage.getEvents({
160
+ fromCursor: { sequence: startSequence, timestamp: startTimestamp },
161
+ batchSize,
162
+ })) ?? [];
163
+ }
164
+ // Apply filters
165
+ if (options?.collections && options.collections.length > 0) {
166
+ events = events.filter((e) => options.collections.includes(e.collection));
167
+ }
168
+ if (options?.operations && options.operations.length > 0) {
169
+ events = events.filter((e) => options.operations.includes(e.operation));
170
+ }
171
+ // Sort by sequence
172
+ events.sort((a, b) => a.sequence - b.sequence);
173
+ // Limit results
174
+ events = events.slice(0, batchSize);
175
+ // Get current sequence for hasMore check
176
+ const currentSequence = await this.hotStorage.getCurrentSequence();
177
+ const lastEvent = events[events.length - 1];
178
+ const cursor = lastEvent ? { sequence: lastEvent.sequence, timestamp: lastEvent.timestamp } : { sequence: startSequence, timestamp: startTimestamp };
179
+ const hasMore = lastEvent ? lastEvent.sequence < currentSequence : false;
180
+ return {
181
+ events,
182
+ cursor,
183
+ hasMore,
184
+ };
185
+ }
186
+ /**
187
+ * Gets current replay progress
188
+ *
189
+ * @param cursor - Current cursor position
190
+ * @returns Progress information
191
+ */
192
+ async getProgress(cursor) {
193
+ const latestSequence = await this.hotStorage.getCurrentSequence();
194
+ const eventsRemaining = Math.max(0, latestSequence - cursor.sequence);
195
+ const percentComplete = latestSequence > 0 ? (cursor.sequence / latestSequence) * 100 : 100;
196
+ return {
197
+ cursor,
198
+ eventsReplayed: cursor.sequence,
199
+ estimatedTotal: latestSequence,
200
+ percentComplete,
201
+ currentTier: 'hot',
202
+ isComplete: cursor.sequence >= latestSequence,
203
+ currentSequence: cursor.sequence,
204
+ latestSequence,
205
+ eventsRemaining,
206
+ };
207
+ }
208
+ /**
209
+ * Estimates time to complete replay from cursor
210
+ *
211
+ * @param fromCursor - Starting cursor
212
+ * @param options - Options including events per second
213
+ * @returns Estimated replay time
214
+ */
215
+ async estimateReplayTime(fromCursor, options) {
216
+ const latestSequence = await this.hotStorage.getCurrentSequence();
217
+ const eventsRemaining = Math.max(0, latestSequence - fromCursor.sequence);
218
+ const estimatedSeconds = eventsRemaining / options.eventsPerSecond;
219
+ return { estimatedSeconds };
220
+ }
221
+ }
222
+ /**
223
+ * CheckpointManager - Manages subscriber checkpoints
224
+ *
225
+ * @example
226
+ * ```typescript
227
+ * const checkpoints = new CheckpointManager(storage)
228
+ *
229
+ * // Save progress
230
+ * await checkpoints.save('my-processor', batch.cursor)
231
+ *
232
+ * // Resume from checkpoint
233
+ * const checkpoint = await checkpoints.get('my-processor')
234
+ * for await (const batch of replayer.replay({
235
+ * fromCursor: checkpoint?.cursor,
236
+ * })) {
237
+ * await processBatch(batch)
238
+ * await checkpoints.save('my-processor', batch.cursor)
239
+ * }
240
+ * ```
241
+ */
242
+ export class CheckpointManager {
243
+ storage;
244
+ /**
245
+ * Creates a new checkpoint manager
246
+ *
247
+ * @param storage - Storage interface for checkpoints
248
+ */
249
+ constructor(storage) {
250
+ this.storage = storage;
251
+ }
252
+ /**
253
+ * Saves a checkpoint for a subscriber
254
+ *
255
+ * @param subscriberId - Unique subscriber ID
256
+ * @param cursor - Current cursor position
257
+ * @param metadata - Optional metadata
258
+ * @returns The saved checkpoint
259
+ */
260
+ async save(subscriberId, cursor, metadata) {
261
+ const existing = await this.storage.get(subscriberId);
262
+ const now = Date.now();
263
+ const checkpoint = {
264
+ subscriberId,
265
+ cursor,
266
+ metadata,
267
+ createdAt: existing?.createdAt ?? now,
268
+ updatedAt: now,
269
+ };
270
+ return this.storage.put(checkpoint);
271
+ }
272
+ /**
273
+ * Gets a checkpoint for a subscriber
274
+ *
275
+ * @param subscriberId - Subscriber ID
276
+ * @returns The checkpoint or null if not found
277
+ */
278
+ async get(subscriberId) {
279
+ return this.storage.get(subscriberId);
280
+ }
281
+ /**
282
+ * Deletes a checkpoint
283
+ *
284
+ * @param subscriberId - Subscriber ID
285
+ * @returns Whether the checkpoint existed
286
+ */
287
+ async delete(subscriberId) {
288
+ return this.storage.delete(subscriberId);
289
+ }
290
+ /**
291
+ * Lists all checkpoints
292
+ *
293
+ * @returns All checkpoints
294
+ */
295
+ async list() {
296
+ return this.storage.list();
297
+ }
298
+ /**
299
+ * Gets checkpoints that are behind by more than threshold
300
+ *
301
+ * @param currentCursor - Current position
302
+ * @param options - Options including minimum lag sequence
303
+ * @returns Checkpoints that are lagging
304
+ */
305
+ async getLagging(currentCursor, options) {
306
+ const checkpoints = await this.storage.list();
307
+ return checkpoints.filter((cp) => currentCursor.sequence - cp.cursor.sequence >= options.minLagSequence);
308
+ }
309
+ }
310
+ /**
311
+ * Creates a replay subscription that handles backpressure
312
+ *
313
+ * @param options - Subscription options including handler
314
+ * @returns Subscription handle
315
+ *
316
+ * @example
317
+ * ```typescript
318
+ * const subscription = createSubscription({
319
+ * subscriberId: 'analytics-worker',
320
+ * handler: async (batch) => {
321
+ * await sendToAnalytics(batch.events)
322
+ * },
323
+ * replayer,
324
+ * })
325
+ *
326
+ * await subscription.start()
327
+ * // Later...
328
+ * await subscription.stop()
329
+ * ```
330
+ */
331
+ export function createSubscription(options) {
332
+ let status = 'stopped';
333
+ let stopRequested = false;
334
+ let pauseRequested = false;
335
+ let runningPromise = null;
336
+ const handle = {
337
+ subscriberId: options.subscriberId,
338
+ get status() {
339
+ return status;
340
+ },
341
+ set status(value) {
342
+ status = value;
343
+ },
344
+ async start() {
345
+ if (status === 'running')
346
+ return;
347
+ status = 'running';
348
+ stopRequested = false;
349
+ pauseRequested = false;
350
+ runningPromise = (async () => {
351
+ if (!options.replayer) {
352
+ // No replayer provided - simulate some activity
353
+ await new Promise((resolve) => setTimeout(resolve, 50));
354
+ // Try to call handler if provided (for error testing)
355
+ try {
356
+ await options.handler({
357
+ events: [],
358
+ cursor: { sequence: 0, timestamp: Date.now() },
359
+ hasMore: false,
360
+ });
361
+ }
362
+ catch (error) {
363
+ if (options.onError) {
364
+ await options.onError(error);
365
+ }
366
+ }
367
+ return;
368
+ }
369
+ try {
370
+ for await (const batch of options.replayer.replay()) {
371
+ if (stopRequested)
372
+ break;
373
+ while (pauseRequested && !stopRequested) {
374
+ await new Promise((resolve) => setTimeout(resolve, 100));
375
+ }
376
+ if (stopRequested)
377
+ break;
378
+ try {
379
+ await options.handler(batch);
380
+ }
381
+ catch (error) {
382
+ if (options.onError) {
383
+ await options.onError(error, batch);
384
+ }
385
+ }
386
+ if (!batch.hasMore)
387
+ break;
388
+ }
389
+ }
390
+ catch (error) {
391
+ if (options.onError) {
392
+ await options.onError(error);
393
+ }
394
+ }
395
+ })();
396
+ },
397
+ async stop() {
398
+ stopRequested = true;
399
+ if (runningPromise) {
400
+ await runningPromise;
401
+ }
402
+ status = 'stopped';
403
+ },
404
+ async pause() {
405
+ pauseRequested = true;
406
+ status = 'paused';
407
+ },
408
+ async resume() {
409
+ pauseRequested = false;
410
+ status = 'running';
411
+ },
412
+ };
413
+ return handle;
414
+ }
415
+ /**
416
+ * Merges events from hot and cold storage in sequence order
417
+ *
418
+ * @param hotEvents - Events from hot storage
419
+ * @param coldEvents - Events from cold storage
420
+ * @returns Merged events in sequence order
421
+ */
422
+ export function mergeEventStreams(hotEvents, coldEvents) {
423
+ // Handle null/undefined inputs
424
+ const hot = hotEvents ?? [];
425
+ const cold = coldEvents ?? [];
426
+ // Create a map to deduplicate by event ID (prefer hot events)
427
+ const eventMap = new Map();
428
+ // Add cold events first
429
+ for (const event of cold) {
430
+ eventMap.set(event.id, event);
431
+ }
432
+ // Add hot events (will overwrite cold events with same ID)
433
+ for (const event of hot) {
434
+ eventMap.set(event.id, event);
435
+ }
436
+ // Convert to array and sort by sequence
437
+ const merged = Array.from(eventMap.values());
438
+ merged.sort((a, b) => a.sequence - b.sequence);
439
+ return merged;
440
+ }
441
+ /**
442
+ * Validates that events are in correct sequence order
443
+ *
444
+ * @param events - Events to validate
445
+ * @returns Validation result with any gaps found
446
+ */
447
+ export function validateSequence(events) {
448
+ if (events.length <= 1) {
449
+ return { valid: true, gaps: [] };
450
+ }
451
+ // Sort events by sequence first
452
+ const sorted = [...events].sort((a, b) => a.sequence - b.sequence);
453
+ const gaps = [];
454
+ for (let i = 1; i < sorted.length; i++) {
455
+ const prev = sorted[i - 1];
456
+ const curr = sorted[i];
457
+ if (curr.sequence - prev.sequence > 1) {
458
+ gaps.push({
459
+ start: prev.sequence + 1,
460
+ end: curr.sequence - 1,
461
+ });
462
+ }
463
+ }
464
+ return {
465
+ valid: gaps.length === 0,
466
+ gaps,
467
+ };
468
+ }
469
+ //# sourceMappingURL=replay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../db/cdc/replay.ts"],"names":[],"mappings":"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"}