@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,340 @@
1
+ /**
2
+ * Hot Storage - DO SQLite
3
+ *
4
+ * Primary storage tier using Durable Object's built-in SQLite.
5
+ * Provides ~4ms latency for active data with automatic CDC event generation.
6
+ *
7
+ * Features:
8
+ * - Type-safe CRUD operations
9
+ * - Automatic CDC event emission on mutations
10
+ * - Vortex columnar encoding for large collections
11
+ * - Transaction support
12
+ *
13
+ * @module @do/core/storage/hot
14
+ */
15
+ import type { CDCEvent, CDCOperation, CDCCursor } from '../../types/storage';
16
+ /**
17
+ * CDC event emitter interface
18
+ */
19
+ export interface CDCEmitter {
20
+ /**
21
+ * Emit a CDC event
22
+ * @param event - CDC event to emit
23
+ */
24
+ emit(event: CDCEvent): Promise<void>;
25
+ /**
26
+ * Get the current sequence number
27
+ */
28
+ getSequence(): Promise<number>;
29
+ /**
30
+ * Get the next sequence number (increments)
31
+ */
32
+ nextSequence(): Promise<number>;
33
+ }
34
+ /**
35
+ * Hot storage configuration
36
+ */
37
+ export interface HotStorageConfig {
38
+ /** Row count threshold for Vortex conversion */
39
+ vortexThreshold?: number;
40
+ /** Enable automatic Vortex conversion */
41
+ autoVortex?: boolean;
42
+ /** Collections to exclude from CDC */
43
+ cdcExclude?: string[];
44
+ }
45
+ /**
46
+ * Query options for hot storage
47
+ */
48
+ export interface HotQueryOptions {
49
+ /** Filter conditions */
50
+ where?: Record<string, unknown>;
51
+ /** Sort order */
52
+ orderBy?: {
53
+ field: string;
54
+ direction: 'asc' | 'desc';
55
+ }[];
56
+ /** Maximum results */
57
+ limit?: number;
58
+ /** Offset for pagination */
59
+ offset?: number;
60
+ }
61
+ /**
62
+ * Transaction interface
63
+ */
64
+ export interface Transaction {
65
+ /**
66
+ * Insert a document within the transaction
67
+ */
68
+ insert<T extends {
69
+ id: string;
70
+ }>(collection: string, document: T): void;
71
+ /**
72
+ * Update a document within the transaction
73
+ */
74
+ update<T>(collection: string, id: string, updates: Partial<T>): void;
75
+ /**
76
+ * Delete a document within the transaction
77
+ */
78
+ delete(collection: string, id: string): void;
79
+ /**
80
+ * Commit the transaction
81
+ */
82
+ commit(): Promise<CDCEvent[]>;
83
+ /**
84
+ * Rollback the transaction
85
+ */
86
+ rollback(): void;
87
+ }
88
+ /**
89
+ * Hot storage implementation using DO SQLite
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * const hot = new HotStorage(sqliteStorage, cdcEmitter)
94
+ *
95
+ * // Insert with automatic CDC
96
+ * await hot.insert('users', { id: '1', name: 'Alice' })
97
+ *
98
+ * // Query
99
+ * const users = await hot.query('users', {
100
+ * where: { name: 'Alice' },
101
+ * limit: 10,
102
+ * })
103
+ *
104
+ * // Update with CDC
105
+ * await hot.update('users', '1', { name: 'Alice Smith' })
106
+ *
107
+ * // Delete with CDC
108
+ * await hot.delete('users', '1')
109
+ *
110
+ * // Transactional operations
111
+ * const events = await hot.transaction(async (tx) => {
112
+ * tx.insert('users', { id: '2', name: 'Bob' })
113
+ * tx.update('orders', 'o1', { status: 'shipped' })
114
+ * })
115
+ * ```
116
+ */
117
+ export declare class HotStorage {
118
+ private readonly sqlite;
119
+ private readonly cdc;
120
+ private config;
121
+ /**
122
+ * Create a new hot storage instance
123
+ *
124
+ * @param sqlite - DO SQLite storage binding
125
+ * @param cdc - CDC event emitter
126
+ * @param config - Storage configuration
127
+ */
128
+ constructor(sqlite: SqlStorage, cdc: CDCEmitter, config?: HotStorageConfig);
129
+ /**
130
+ * Insert a document
131
+ *
132
+ * @param collection - Collection name
133
+ * @param document - Document to insert (must have id field)
134
+ * @returns The inserted document
135
+ *
136
+ * @throws {Error} If document already exists
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * await hot.insert('users', {
141
+ * id: crypto.randomUUID(),
142
+ * name: 'Alice',
143
+ * email: 'alice@example.com',
144
+ * })
145
+ * ```
146
+ */
147
+ insert<T extends {
148
+ id: string;
149
+ }>(collection: string, document: T): Promise<T>;
150
+ /**
151
+ * Query documents from a collection
152
+ *
153
+ * @param collection - Collection name
154
+ * @param options - Query options
155
+ * @returns Array of matching documents
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * const activeUsers = await hot.query('users', {
160
+ * where: { status: 'active' },
161
+ * orderBy: [{ field: 'createdAt', direction: 'desc' }],
162
+ * limit: 100,
163
+ * })
164
+ * ```
165
+ */
166
+ query<T>(collection: string, options?: HotQueryOptions): Promise<T[]>;
167
+ /**
168
+ * Get a single document by ID
169
+ *
170
+ * @param collection - Collection name
171
+ * @param id - Document ID
172
+ * @returns The document or null if not found
173
+ *
174
+ * @example
175
+ * ```typescript
176
+ * const user = await hot.get('users', userId)
177
+ * if (user) {
178
+ * console.log(user.name)
179
+ * }
180
+ * ```
181
+ */
182
+ get<T>(collection: string, id: string): Promise<T | null>;
183
+ /**
184
+ * Update a document
185
+ *
186
+ * @param collection - Collection name
187
+ * @param id - Document ID
188
+ * @param updates - Partial document updates
189
+ * @returns The updated document
190
+ *
191
+ * @throws {Error} If document not found
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * const updated = await hot.update('users', userId, {
196
+ * name: 'Alice Smith',
197
+ * updatedAt: Date.now(),
198
+ * })
199
+ * ```
200
+ */
201
+ update<T>(collection: string, id: string, updates: Partial<T>): Promise<T>;
202
+ /**
203
+ * Delete a document
204
+ *
205
+ * @param collection - Collection name
206
+ * @param id - Document ID
207
+ * @returns The deleted document
208
+ *
209
+ * @throws {Error} If document not found
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * const deleted = await hot.delete('users', userId)
214
+ * console.log(`Deleted user: ${deleted.name}`)
215
+ * ```
216
+ */
217
+ delete<T>(collection: string, id: string): Promise<T>;
218
+ /**
219
+ * Execute operations in a transaction
220
+ *
221
+ * All operations within the transaction are atomic.
222
+ * CDC events are emitted only on successful commit.
223
+ *
224
+ * @param fn - Transaction function
225
+ * @returns Array of CDC events from the transaction
226
+ *
227
+ * @example
228
+ * ```typescript
229
+ * const events = await hot.transaction(async (tx) => {
230
+ * tx.insert('orders', newOrder)
231
+ * tx.update('inventory', productId, { quantity: newQuantity })
232
+ * tx.insert('audit', auditEntry)
233
+ * })
234
+ * console.log(`Transaction emitted ${events.length} CDC events`)
235
+ * ```
236
+ */
237
+ transaction(fn: (tx: Transaction) => void | Promise<void>): Promise<CDCEvent[]>;
238
+ /**
239
+ * Count documents in a collection
240
+ *
241
+ * @param collection - Collection name
242
+ * @param where - Optional filter conditions
243
+ * @returns Document count
244
+ *
245
+ * @example
246
+ * ```typescript
247
+ * const activeCount = await hot.count('users', { status: 'active' })
248
+ * ```
249
+ */
250
+ count(collection: string, where?: Record<string, unknown>): Promise<number>;
251
+ /**
252
+ * Check if a document exists
253
+ *
254
+ * @param collection - Collection name
255
+ * @param id - Document ID
256
+ * @returns True if document exists
257
+ */
258
+ exists(collection: string, id: string): Promise<boolean>;
259
+ /**
260
+ * Bulk insert documents
261
+ *
262
+ * @param collection - Collection name
263
+ * @param documents - Documents to insert
264
+ * @returns Number of inserted documents
265
+ *
266
+ * @example
267
+ * ```typescript
268
+ * const count = await hot.bulkInsert('events', [
269
+ * { id: '1', type: 'click', timestamp: Date.now() },
270
+ * { id: '2', type: 'view', timestamp: Date.now() },
271
+ * ])
272
+ * ```
273
+ */
274
+ bulkInsert<T extends {
275
+ id: string;
276
+ }>(collection: string, documents: T[]): Promise<number>;
277
+ /**
278
+ * Convert a collection to Vortex columnar format
279
+ *
280
+ * @param collection - Collection name
281
+ * @returns Conversion result
282
+ */
283
+ convertToVortex(collection: string): Promise<{
284
+ rowCount: number;
285
+ originalSize: number;
286
+ vortexSize: number;
287
+ compressionRatio: number;
288
+ }>;
289
+ /**
290
+ * Get CDC cursor (current position)
291
+ *
292
+ * @returns Current CDC cursor
293
+ */
294
+ getCDCCursor(): Promise<CDCCursor>;
295
+ /**
296
+ * Get CDC events since cursor
297
+ *
298
+ * @param cursor - Starting cursor
299
+ * @param limit - Maximum events to return
300
+ * @returns CDC events and new cursor
301
+ */
302
+ getCDCEvents(cursor: CDCCursor, limit?: number): Promise<{
303
+ events: CDCEvent[];
304
+ cursor: CDCCursor;
305
+ }>;
306
+ /**
307
+ * Initialize storage schema
308
+ *
309
+ * Creates necessary tables for collections, CDC, and snapshots.
310
+ */
311
+ initialize(): Promise<void>;
312
+ /**
313
+ * Get storage statistics
314
+ *
315
+ * @returns Storage statistics
316
+ */
317
+ getStats(): Promise<{
318
+ collections: {
319
+ name: string;
320
+ rowCount: number;
321
+ sizeBytes: number;
322
+ }[];
323
+ totalRows: number;
324
+ totalSizeBytes: number;
325
+ cdcSequence: number;
326
+ }>;
327
+ }
328
+ /**
329
+ * Create CDC event helper
330
+ *
331
+ * @param operation - CDC operation type
332
+ * @param collection - Collection name
333
+ * @param documentId - Document ID
334
+ * @param before - Document state before change
335
+ * @param after - Document state after change
336
+ * @param sequence - Sequence number
337
+ * @returns CDC event
338
+ */
339
+ export declare function createCDCEvent<T>(operation: CDCOperation, collection: string, documentId: string, before: T | undefined, after: T | undefined, sequence: number): CDCEvent<T>;
340
+ //# sourceMappingURL=hot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hot.d.ts","sourceRoot":"","sources":["../../../db/storage/hot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,333 @@
1
+ /**
2
+ * Hot Storage - DO SQLite
3
+ *
4
+ * Primary storage tier using Durable Object's built-in SQLite.
5
+ * Provides ~4ms latency for active data with automatic CDC event generation.
6
+ *
7
+ * Features:
8
+ * - Type-safe CRUD operations
9
+ * - Automatic CDC event emission on mutations
10
+ * - Vortex columnar encoding for large collections
11
+ * - Transaction support
12
+ *
13
+ * @module @do/core/storage/hot
14
+ */
15
+ /**
16
+ * Hot storage implementation using DO SQLite
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const hot = new HotStorage(sqliteStorage, cdcEmitter)
21
+ *
22
+ * // Insert with automatic CDC
23
+ * await hot.insert('users', { id: '1', name: 'Alice' })
24
+ *
25
+ * // Query
26
+ * const users = await hot.query('users', {
27
+ * where: { name: 'Alice' },
28
+ * limit: 10,
29
+ * })
30
+ *
31
+ * // Update with CDC
32
+ * await hot.update('users', '1', { name: 'Alice Smith' })
33
+ *
34
+ * // Delete with CDC
35
+ * await hot.delete('users', '1')
36
+ *
37
+ * // Transactional operations
38
+ * const events = await hot.transaction(async (tx) => {
39
+ * tx.insert('users', { id: '2', name: 'Bob' })
40
+ * tx.update('orders', 'o1', { status: 'shipped' })
41
+ * })
42
+ * ```
43
+ */
44
+ export class HotStorage {
45
+ sqlite;
46
+ cdc;
47
+ config;
48
+ /**
49
+ * Create a new hot storage instance
50
+ *
51
+ * @param sqlite - DO SQLite storage binding
52
+ * @param cdc - CDC event emitter
53
+ * @param config - Storage configuration
54
+ */
55
+ constructor(sqlite, cdc, config) {
56
+ this.sqlite = sqlite;
57
+ this.cdc = cdc;
58
+ this.config = {
59
+ vortexThreshold: config?.vortexThreshold ?? 1000,
60
+ autoVortex: config?.autoVortex ?? true,
61
+ cdcExclude: config?.cdcExclude ?? ['_internal', '_cdc', '_snapshots'],
62
+ };
63
+ }
64
+ /**
65
+ * Insert a document
66
+ *
67
+ * @param collection - Collection name
68
+ * @param document - Document to insert (must have id field)
69
+ * @returns The inserted document
70
+ *
71
+ * @throws {Error} If document already exists
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * await hot.insert('users', {
76
+ * id: crypto.randomUUID(),
77
+ * name: 'Alice',
78
+ * email: 'alice@example.com',
79
+ * })
80
+ * ```
81
+ */
82
+ async insert(collection, document) {
83
+ // TODO: Implement insert with CDC emission
84
+ throw new Error('Not implemented');
85
+ }
86
+ /**
87
+ * Query documents from a collection
88
+ *
89
+ * @param collection - Collection name
90
+ * @param options - Query options
91
+ * @returns Array of matching documents
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * const activeUsers = await hot.query('users', {
96
+ * where: { status: 'active' },
97
+ * orderBy: [{ field: 'createdAt', direction: 'desc' }],
98
+ * limit: 100,
99
+ * })
100
+ * ```
101
+ */
102
+ async query(collection, options) {
103
+ // TODO: Implement query
104
+ throw new Error('Not implemented');
105
+ }
106
+ /**
107
+ * Get a single document by ID
108
+ *
109
+ * @param collection - Collection name
110
+ * @param id - Document ID
111
+ * @returns The document or null if not found
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * const user = await hot.get('users', userId)
116
+ * if (user) {
117
+ * console.log(user.name)
118
+ * }
119
+ * ```
120
+ */
121
+ async get(collection, id) {
122
+ // TODO: Implement get
123
+ throw new Error('Not implemented');
124
+ }
125
+ /**
126
+ * Update a document
127
+ *
128
+ * @param collection - Collection name
129
+ * @param id - Document ID
130
+ * @param updates - Partial document updates
131
+ * @returns The updated document
132
+ *
133
+ * @throws {Error} If document not found
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * const updated = await hot.update('users', userId, {
138
+ * name: 'Alice Smith',
139
+ * updatedAt: Date.now(),
140
+ * })
141
+ * ```
142
+ */
143
+ async update(collection, id, updates) {
144
+ // TODO: Implement update with CDC emission
145
+ throw new Error('Not implemented');
146
+ }
147
+ /**
148
+ * Delete a document
149
+ *
150
+ * @param collection - Collection name
151
+ * @param id - Document ID
152
+ * @returns The deleted document
153
+ *
154
+ * @throws {Error} If document not found
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * const deleted = await hot.delete('users', userId)
159
+ * console.log(`Deleted user: ${deleted.name}`)
160
+ * ```
161
+ */
162
+ async delete(collection, id) {
163
+ // TODO: Implement delete with CDC emission
164
+ throw new Error('Not implemented');
165
+ }
166
+ /**
167
+ * Execute operations in a transaction
168
+ *
169
+ * All operations within the transaction are atomic.
170
+ * CDC events are emitted only on successful commit.
171
+ *
172
+ * @param fn - Transaction function
173
+ * @returns Array of CDC events from the transaction
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * const events = await hot.transaction(async (tx) => {
178
+ * tx.insert('orders', newOrder)
179
+ * tx.update('inventory', productId, { quantity: newQuantity })
180
+ * tx.insert('audit', auditEntry)
181
+ * })
182
+ * console.log(`Transaction emitted ${events.length} CDC events`)
183
+ * ```
184
+ */
185
+ async transaction(fn) {
186
+ // TODO: Implement transaction support
187
+ throw new Error('Not implemented');
188
+ }
189
+ /**
190
+ * Count documents in a collection
191
+ *
192
+ * @param collection - Collection name
193
+ * @param where - Optional filter conditions
194
+ * @returns Document count
195
+ *
196
+ * @example
197
+ * ```typescript
198
+ * const activeCount = await hot.count('users', { status: 'active' })
199
+ * ```
200
+ */
201
+ async count(collection, where) {
202
+ // TODO: Implement count
203
+ throw new Error('Not implemented');
204
+ }
205
+ /**
206
+ * Check if a document exists
207
+ *
208
+ * @param collection - Collection name
209
+ * @param id - Document ID
210
+ * @returns True if document exists
211
+ */
212
+ async exists(collection, id) {
213
+ // TODO: Implement exists check
214
+ throw new Error('Not implemented');
215
+ }
216
+ /**
217
+ * Bulk insert documents
218
+ *
219
+ * @param collection - Collection name
220
+ * @param documents - Documents to insert
221
+ * @returns Number of inserted documents
222
+ *
223
+ * @example
224
+ * ```typescript
225
+ * const count = await hot.bulkInsert('events', [
226
+ * { id: '1', type: 'click', timestamp: Date.now() },
227
+ * { id: '2', type: 'view', timestamp: Date.now() },
228
+ * ])
229
+ * ```
230
+ */
231
+ async bulkInsert(collection, documents) {
232
+ // TODO: Implement bulk insert with batched CDC
233
+ throw new Error('Not implemented');
234
+ }
235
+ /**
236
+ * Convert a collection to Vortex columnar format
237
+ *
238
+ * @param collection - Collection name
239
+ * @returns Conversion result
240
+ */
241
+ async convertToVortex(collection) {
242
+ // TODO: Implement Vortex conversion
243
+ throw new Error('Not implemented');
244
+ }
245
+ /**
246
+ * Get CDC cursor (current position)
247
+ *
248
+ * @returns Current CDC cursor
249
+ */
250
+ async getCDCCursor() {
251
+ // TODO: Implement CDC cursor retrieval
252
+ throw new Error('Not implemented');
253
+ }
254
+ /**
255
+ * Get CDC events since cursor
256
+ *
257
+ * @param cursor - Starting cursor
258
+ * @param limit - Maximum events to return
259
+ * @returns CDC events and new cursor
260
+ */
261
+ async getCDCEvents(cursor, limit) {
262
+ // TODO: Implement CDC event retrieval
263
+ throw new Error('Not implemented');
264
+ }
265
+ /**
266
+ * Initialize storage schema
267
+ *
268
+ * Creates necessary tables for collections, CDC, and snapshots.
269
+ */
270
+ async initialize() {
271
+ // TODO: Implement schema initialization
272
+ throw new Error('Not implemented');
273
+ }
274
+ /**
275
+ * Get storage statistics
276
+ *
277
+ * @returns Storage statistics
278
+ */
279
+ async getStats() {
280
+ // TODO: Implement stats retrieval
281
+ throw new Error('Not implemented');
282
+ }
283
+ }
284
+ /**
285
+ * Create CDC event helper
286
+ *
287
+ * @param operation - CDC operation type
288
+ * @param collection - Collection name
289
+ * @param documentId - Document ID
290
+ * @param before - Document state before change
291
+ * @param after - Document state after change
292
+ * @param sequence - Sequence number
293
+ * @returns CDC event
294
+ */
295
+ export function createCDCEvent(operation, collection, documentId, before, after, sequence) {
296
+ const event = {
297
+ id: crypto.randomUUID(),
298
+ operation,
299
+ collection,
300
+ documentId,
301
+ timestamp: Date.now(),
302
+ sequence,
303
+ };
304
+ if (before !== undefined) {
305
+ event.before = before;
306
+ }
307
+ if (after !== undefined) {
308
+ event.after = after;
309
+ }
310
+ if (operation === 'UPDATE' && before && after) {
311
+ event.changedFields = getChangedFields(before, after);
312
+ }
313
+ return event;
314
+ }
315
+ /**
316
+ * Get list of changed fields between two objects
317
+ */
318
+ function getChangedFields(before, after) {
319
+ const changed = [];
320
+ const allKeys = new Set([
321
+ ...Object.keys(before),
322
+ ...Object.keys(after),
323
+ ]);
324
+ for (const key of allKeys) {
325
+ const beforeVal = before[key];
326
+ const afterVal = after[key];
327
+ if (JSON.stringify(beforeVal) !== JSON.stringify(afterVal)) {
328
+ changed.push(key);
329
+ }
330
+ }
331
+ return changed;
332
+ }
333
+ //# sourceMappingURL=hot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hot.js","sourceRoot":"","sources":["../../../db/storage/hot.ts"],"names":[],"mappings":"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"}