@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 @@
1
+ {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../../db/storage/snapshots.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,298 @@
1
+ /**
2
+ * Snapshot Management
3
+ *
4
+ * Manages DO state snapshots for persistence, recovery, and archival.
5
+ * Supports full and incremental snapshots with tier promotion.
6
+ *
7
+ * Features:
8
+ * - Full and incremental snapshot types
9
+ * - Vortex encoding for efficient storage
10
+ * - Automatic tier promotion (hot -> cold)
11
+ * - Retention policy enforcement
12
+ *
13
+ * @module @do/core/storage/snapshots
14
+ */
15
+ /**
16
+ * Snapshot manager for DO state persistence
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const manager = new SnapshotManager({
21
+ * hot: hotStorage,
22
+ * cold: coldStorage,
23
+ * retention: {
24
+ * hot: { maxAge: days(7), maxCount: 100 },
25
+ * cold: { maxAge: years(7) },
26
+ * },
27
+ * })
28
+ *
29
+ * // Create full snapshot
30
+ * const snapshot = await manager.create('full', {
31
+ * doId: 'do_123',
32
+ * doType: 'UserStore',
33
+ * tables: { users: [...], orders: [...] },
34
+ * })
35
+ *
36
+ * // Create incremental snapshot
37
+ * const incremental = await manager.create('incremental', {
38
+ * doId: 'do_123',
39
+ * doType: 'UserStore',
40
+ * tables: { users: [...] },
41
+ * parentId: snapshot.id,
42
+ * changes: cdcEvents,
43
+ * })
44
+ *
45
+ * // Restore from snapshot
46
+ * const data = await manager.restore(snapshot.id)
47
+ *
48
+ * // Promote old snapshots to cold storage
49
+ * await manager.promote({ olderThan: days(30), targetTier: 'cold' })
50
+ *
51
+ * // Cleanup expired snapshots
52
+ * await manager.cleanup()
53
+ * ```
54
+ */
55
+ export class SnapshotManager {
56
+ config;
57
+ /**
58
+ * Create a new snapshot manager
59
+ *
60
+ * @param config - Manager configuration
61
+ */
62
+ constructor(config) {
63
+ this.config = {
64
+ retention: {
65
+ hot: { maxAge: 7 * 24 * 60 * 60 * 1000, maxCount: 100 },
66
+ cold: { maxAge: 7 * 365 * 24 * 60 * 60 * 1000, maxCount: null },
67
+ incrementalChainLength: 100,
68
+ },
69
+ ...config,
70
+ };
71
+ }
72
+ /**
73
+ * Create a new snapshot
74
+ *
75
+ * @param type - Snapshot type (full or incremental)
76
+ * @param options - Snapshot data and options
77
+ * @returns Created snapshot
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * // Full snapshot
82
+ * const full = await manager.create('full', {
83
+ * doId: 'do_123',
84
+ * doType: 'Store',
85
+ * tables: { items: allItems },
86
+ * })
87
+ *
88
+ * // Incremental snapshot (only changes)
89
+ * const incr = await manager.create('incremental', {
90
+ * doId: 'do_123',
91
+ * doType: 'Store',
92
+ * tables: { items: changedItems },
93
+ * parentId: full.id,
94
+ * changes: recentCDCEvents,
95
+ * })
96
+ * ```
97
+ */
98
+ async create(type, options) {
99
+ // TODO: Implement snapshot creation
100
+ // 1. Generate snapshot ID and version
101
+ // 2. Encode tables with Vortex
102
+ // 3. Calculate metadata (size, checksum)
103
+ // 4. Store in hot tier
104
+ throw new Error('Not implemented');
105
+ }
106
+ /**
107
+ * Restore data from a snapshot
108
+ *
109
+ * @param snapshotId - Snapshot ID to restore
110
+ * @param options - Restoration options
111
+ * @returns Restored snapshot data
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * const data = await manager.restore(snapshotId)
116
+ * for (const [table, rows] of Object.entries(data.tables)) {
117
+ * await hot.bulkInsert(table, rows)
118
+ * }
119
+ * ```
120
+ */
121
+ async restore(snapshotId, options) {
122
+ // TODO: Implement snapshot restoration
123
+ // 1. Find snapshot (hot or cold)
124
+ // 2. Validate checksum if requested
125
+ // 3. Decode Vortex data
126
+ // 4. For incremental, apply chain
127
+ throw new Error('Not implemented');
128
+ }
129
+ /**
130
+ * Get a snapshot by ID
131
+ *
132
+ * @param snapshotId - Snapshot ID
133
+ * @returns Snapshot or null if not found
134
+ */
135
+ async get(snapshotId) {
136
+ // TODO: Implement snapshot retrieval
137
+ throw new Error('Not implemented');
138
+ }
139
+ /**
140
+ * List snapshots
141
+ *
142
+ * @param options - List options
143
+ * @returns Array of snapshots
144
+ */
145
+ async list(options) {
146
+ // TODO: Implement snapshot listing
147
+ throw new Error('Not implemented');
148
+ }
149
+ /**
150
+ * Get the latest snapshot for a DO
151
+ *
152
+ * @param doId - DO ID
153
+ * @param type - Optional type filter
154
+ * @returns Latest snapshot or null
155
+ */
156
+ async getLatest(doId, type) {
157
+ // TODO: Implement latest snapshot retrieval
158
+ throw new Error('Not implemented');
159
+ }
160
+ /**
161
+ * Delete a snapshot
162
+ *
163
+ * @param snapshotId - Snapshot ID to delete
164
+ * @returns True if deleted
165
+ */
166
+ async delete(snapshotId) {
167
+ // TODO: Implement snapshot deletion
168
+ throw new Error('Not implemented');
169
+ }
170
+ /**
171
+ * Promote snapshots to cold storage
172
+ *
173
+ * Moves old snapshots from hot to cold tier for cost efficiency.
174
+ *
175
+ * @param options - Promotion options
176
+ * @returns Promotion result
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * const result = await manager.promote({
181
+ * olderThan: days(30),
182
+ * targetTier: 'cold',
183
+ * deleteAfterPromote: true,
184
+ * })
185
+ * console.log(`Promoted ${result.count} snapshots`)
186
+ * ```
187
+ */
188
+ async promote(options) {
189
+ // TODO: Implement tier promotion
190
+ throw new Error('Not implemented');
191
+ }
192
+ /**
193
+ * Cleanup expired snapshots according to retention policy
194
+ *
195
+ * @returns Cleanup result
196
+ */
197
+ async cleanup() {
198
+ // TODO: Implement cleanup
199
+ throw new Error('Not implemented');
200
+ }
201
+ /**
202
+ * Get the incremental chain for a snapshot
203
+ *
204
+ * Returns all snapshots in the chain from the base full snapshot
205
+ * to the specified snapshot.
206
+ *
207
+ * @param snapshotId - Target snapshot ID
208
+ * @returns Chain of snapshots (oldest first)
209
+ */
210
+ async getChain(snapshotId) {
211
+ // TODO: Implement chain retrieval
212
+ throw new Error('Not implemented');
213
+ }
214
+ /**
215
+ * Consolidate incremental chain into a new full snapshot
216
+ *
217
+ * Creates a new full snapshot by applying all incrementals,
218
+ * reducing restore time for long chains.
219
+ *
220
+ * @param snapshotId - Latest incremental snapshot ID
221
+ * @returns New full snapshot
222
+ */
223
+ async consolidate(snapshotId) {
224
+ // TODO: Implement chain consolidation
225
+ throw new Error('Not implemented');
226
+ }
227
+ /**
228
+ * Get next version number for a DO
229
+ *
230
+ * @param doId - DO ID
231
+ * @returns Next version number
232
+ */
233
+ async nextVersion(doId) {
234
+ // TODO: Implement version tracking
235
+ throw new Error('Not implemented');
236
+ }
237
+ /**
238
+ * Calculate snapshot size
239
+ *
240
+ * @param tables - Table data
241
+ * @returns Size in bytes
242
+ */
243
+ calculateSize(tables) {
244
+ let size = 0;
245
+ for (const rows of Object.values(tables)) {
246
+ size += JSON.stringify(rows).length;
247
+ }
248
+ return size;
249
+ }
250
+ /**
251
+ * Count total rows across tables
252
+ *
253
+ * @param tables - Table data
254
+ * @returns Total row count
255
+ */
256
+ countRows(tables) {
257
+ return Object.values(tables).reduce((sum, rows) => sum + rows.length, 0);
258
+ }
259
+ /**
260
+ * Generate checksum for snapshot data
261
+ *
262
+ * @param data - Data to checksum
263
+ * @returns Checksum string
264
+ */
265
+ async generateChecksum(data) {
266
+ const text = JSON.stringify(data);
267
+ const encoder = new TextEncoder();
268
+ const buffer = encoder.encode(text);
269
+ const hashBuffer = await crypto.subtle.digest('SHA-256', buffer);
270
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
271
+ return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
272
+ }
273
+ }
274
+ /**
275
+ * Helper: Convert milliseconds to days
276
+ */
277
+ export function days(n) {
278
+ return n * 24 * 60 * 60 * 1000;
279
+ }
280
+ /**
281
+ * Helper: Convert milliseconds to years
282
+ */
283
+ export function years(n) {
284
+ return n * 365 * 24 * 60 * 60 * 1000;
285
+ }
286
+ /**
287
+ * Helper: Check if snapshot is expired
288
+ */
289
+ export function isExpired(snapshot, maxAge) {
290
+ return Date.now() - snapshot.timestamp > maxAge;
291
+ }
292
+ /**
293
+ * Helper: Get snapshot type from metadata
294
+ */
295
+ export function getSnapshotType(snapshot) {
296
+ return snapshot.metadata?.type ?? 'Full';
297
+ }
298
+ //# sourceMappingURL=snapshots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../../db/storage/snapshots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA2HH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,OAAO,eAAe;IAClB,MAAM,CAAuB;IAErC;;;;OAIG;IACH,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE;gBACT,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;gBACvD,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/D,sBAAsB,EAAE,GAAG;aAC5B;YACD,GAAG,MAAM;SACV,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,MAAM,CACV,IAA4B,EAC5B,OAA8B;QAE9B,oCAAoC;QACpC,sCAAsC;QACtC,+BAA+B;QAC/B,yCAAyC;QACzC,uBAAuB;QACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,OAAO,CACX,UAAkB,EAClB,OAAwB;QAExB,uCAAuC;QACvC,iCAAiC;QACjC,oCAAoC;QACpC,wBAAwB;QACxB,kCAAkC;QAClC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,UAAkB;QAC1B,qCAAqC;QACrC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,OAA8B;QACvC,mCAAmC;QACnC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACb,IAAY,EACZ,IAA6B;QAE7B,4CAA4C;QAC5C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC7B,oCAAoC;QACpC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QAKnC,iCAAiC;QACjC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QAKX,0BAA0B;QAC1B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,kCAAkC;QAClC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,sCAAsC;QACtC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,WAAW,CAAC,IAAY;QACpC,mCAAmC;QACnC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,MAAiC;QACrD,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;QACrC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACK,SAAS,CAAC,MAAiC;QACjD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB,CAAC,IAAa;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAChE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;QACxD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACvE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,CAAS;IAC7B,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,QAAkB,EAClB,MAAc;IAEd,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAA;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAkB;IAElB,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAA;AAC1C,CAAC"}
@@ -0,0 +1,324 @@
1
+ /**
2
+ * Vortex Blob Format
3
+ *
4
+ * Columnar blob encoding optimized for DO SQLite storage.
5
+ * Provides efficient storage and column-selective reads for analytical queries.
6
+ *
7
+ * Format structure:
8
+ * - Header: magic, version, column count, row count
9
+ * - Column data: per-column compressed data
10
+ * - Column index: column metadata and offsets
11
+ * - Footer: checksum, index offset
12
+ *
13
+ * @module @do/core/storage/vortex
14
+ */
15
+ /**
16
+ * Vortex format magic bytes ("VRTX")
17
+ */
18
+ export declare const VORTEX_MAGIC: Uint8Array<ArrayBuffer>;
19
+ /**
20
+ * Current Vortex format version
21
+ */
22
+ export declare const VORTEX_VERSION = 1;
23
+ /**
24
+ * Column encoding types
25
+ */
26
+ export type VortexEncoding = 'plain' | 'dictionary' | 'rle' | 'delta' | 'bitpack' | 'boolean';
27
+ /**
28
+ * Column data types
29
+ */
30
+ export type VortexType = 'string' | 'int32' | 'int64' | 'float64' | 'boolean' | 'timestamp' | 'json' | 'binary';
31
+ /**
32
+ * Column schema definition
33
+ */
34
+ export interface VortexColumn {
35
+ /** Column name */
36
+ name: string;
37
+ /** Data type */
38
+ type: VortexType;
39
+ /** Whether nulls are allowed */
40
+ nullable: boolean;
41
+ /** Encoding to use */
42
+ encoding?: VortexEncoding;
43
+ }
44
+ /**
45
+ * Vortex schema
46
+ */
47
+ export interface VortexSchema {
48
+ /** Column definitions */
49
+ columns: VortexColumn[];
50
+ }
51
+ /**
52
+ * Vortex blob metadata
53
+ */
54
+ export interface VortexMetadata {
55
+ /** Format version */
56
+ version: number;
57
+ /** Number of rows */
58
+ rowCount: number;
59
+ /** Number of columns */
60
+ columnCount: number;
61
+ /** Uncompressed size in bytes */
62
+ uncompressedSize: number;
63
+ /** Compressed size in bytes */
64
+ compressedSize: number;
65
+ /** Compression ratio */
66
+ compressionRatio: number;
67
+ /** Creation timestamp */
68
+ createdAt: number;
69
+ /** Checksum */
70
+ checksum: string;
71
+ }
72
+ /**
73
+ * Column read result
74
+ */
75
+ export interface ColumnData<T = unknown> {
76
+ /** Column name */
77
+ name: string;
78
+ /** Column values */
79
+ values: T[];
80
+ /** Null bitmap (if nullable) */
81
+ nullBitmap?: Uint8Array;
82
+ /** Statistics */
83
+ stats: ColumnStats;
84
+ }
85
+ /**
86
+ * Column statistics
87
+ */
88
+ export interface ColumnStats {
89
+ /** Null count */
90
+ nullCount: number;
91
+ /** Distinct count (estimated) */
92
+ distinctCount: number;
93
+ /** Min value (for orderable types) */
94
+ min?: unknown;
95
+ /** Max value (for orderable types) */
96
+ max?: unknown;
97
+ }
98
+ /**
99
+ * Encoder options
100
+ */
101
+ export interface EncoderOptions {
102
+ /** Compression level (0-9, default: 6) */
103
+ compressionLevel?: number;
104
+ /** Dictionary size limit for string columns */
105
+ maxDictionarySize?: number;
106
+ /** Enable statistics collection */
107
+ collectStats?: boolean;
108
+ }
109
+ /**
110
+ * Decoder options
111
+ */
112
+ export interface DecoderOptions {
113
+ /** Validate checksum on read */
114
+ validateChecksum?: boolean;
115
+ /** Columns to read (null = all) */
116
+ columns?: string[];
117
+ }
118
+ /**
119
+ * Vortex encoder for creating columnar blobs
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * const schema: VortexSchema = {
124
+ * columns: [
125
+ * { name: 'id', type: 'string', nullable: false },
126
+ * { name: 'name', type: 'string', nullable: false },
127
+ * { name: 'age', type: 'int32', nullable: true },
128
+ * ],
129
+ * }
130
+ *
131
+ * const encoder = new VortexEncoder(schema)
132
+ *
133
+ * // Add rows
134
+ * encoder.addRow({ id: '1', name: 'Alice', age: 30 })
135
+ * encoder.addRow({ id: '2', name: 'Bob', age: null })
136
+ *
137
+ * // Or add many at once
138
+ * encoder.addRows(moreUsers)
139
+ *
140
+ * // Finish and get blob
141
+ * const blob = encoder.finish()
142
+ *
143
+ * // Store in SQLite
144
+ * await db.exec('INSERT INTO vortex (data) VALUES (?)', [blob])
145
+ * ```
146
+ */
147
+ export declare class VortexEncoder {
148
+ private readonly schema;
149
+ private readonly options?;
150
+ private rows;
151
+ private finished;
152
+ /**
153
+ * Create a new Vortex encoder
154
+ *
155
+ * @param schema - Column schema
156
+ * @param options - Encoder options
157
+ */
158
+ constructor(schema: VortexSchema, options?: EncoderOptions | undefined);
159
+ /**
160
+ * Add a single row
161
+ *
162
+ * @param row - Row data (must match schema)
163
+ * @throws {Error} If encoder is already finished
164
+ */
165
+ addRow(row: Record<string, unknown>): void;
166
+ /**
167
+ * Add multiple rows
168
+ *
169
+ * @param rows - Array of row data
170
+ * @throws {Error} If encoder is already finished
171
+ */
172
+ addRows(rows: Record<string, unknown>[]): void;
173
+ /**
174
+ * Get current row count
175
+ */
176
+ get rowCount(): number;
177
+ /**
178
+ * Finish encoding and return the blob
179
+ *
180
+ * @returns Vortex blob as ArrayBuffer
181
+ */
182
+ finish(): ArrayBuffer;
183
+ /**
184
+ * Reset encoder for reuse
185
+ */
186
+ reset(): void;
187
+ /**
188
+ * Get estimated blob size
189
+ *
190
+ * @returns Estimated size in bytes
191
+ */
192
+ estimateSize(): number;
193
+ }
194
+ /**
195
+ * Vortex decoder for reading columnar blobs
196
+ *
197
+ * @example
198
+ * ```typescript
199
+ * // Read blob from SQLite
200
+ * const blob = await db.query('SELECT data FROM vortex WHERE id = ?', [id])
201
+ *
202
+ * // Create decoder
203
+ * const decoder = new VortexDecoder(blob)
204
+ *
205
+ * // Read metadata
206
+ * const meta = decoder.getMetadata()
207
+ * console.log(`Rows: ${meta.rowCount}, Columns: ${meta.columnCount}`)
208
+ *
209
+ * // Read specific columns only (efficient)
210
+ * const names = decoder.readColumn<string>('name')
211
+ * const ages = decoder.readColumn<number>('age')
212
+ *
213
+ * // Or read all data
214
+ * const rows = decoder.readAll()
215
+ * ```
216
+ */
217
+ export declare class VortexDecoder {
218
+ private readonly blob;
219
+ private readonly options?;
220
+ private metadata;
221
+ /**
222
+ * Create a new Vortex decoder
223
+ *
224
+ * @param blob - Vortex blob data
225
+ * @param options - Decoder options
226
+ */
227
+ constructor(blob: ArrayBuffer, options?: DecoderOptions | undefined);
228
+ /**
229
+ * Get blob metadata
230
+ *
231
+ * @returns Vortex metadata
232
+ */
233
+ getMetadata(): VortexMetadata;
234
+ /**
235
+ * Get schema from blob
236
+ *
237
+ * @returns Column schema
238
+ */
239
+ getSchema(): VortexSchema;
240
+ /**
241
+ * Read a single column
242
+ *
243
+ * Efficiently reads only the requested column without
244
+ * decoding the entire blob.
245
+ *
246
+ * @param name - Column name
247
+ * @returns Column data
248
+ *
249
+ * @example
250
+ * ```typescript
251
+ * const emails = decoder.readColumn<string>('email')
252
+ * console.log(emails.values) // ['alice@example.com', ...]
253
+ * console.log(emails.stats.nullCount)
254
+ * ```
255
+ */
256
+ readColumn<T>(name: string): ColumnData<T>;
257
+ /**
258
+ * Read multiple columns
259
+ *
260
+ * @param names - Column names to read
261
+ * @returns Map of column name to column data
262
+ */
263
+ readColumns(names: string[]): Map<string, ColumnData>;
264
+ /**
265
+ * Read all data as rows
266
+ *
267
+ * @returns Array of row objects
268
+ */
269
+ readAll<T = Record<string, unknown>>(): T[];
270
+ /**
271
+ * Read rows in a range
272
+ *
273
+ * @param start - Start row index
274
+ * @param count - Number of rows to read
275
+ * @returns Array of row objects
276
+ */
277
+ readRange<T = Record<string, unknown>>(start: number, count: number): T[];
278
+ /**
279
+ * Get column statistics without reading data
280
+ *
281
+ * @param name - Column name
282
+ * @returns Column statistics
283
+ */
284
+ getColumnStats(name: string): ColumnStats;
285
+ /**
286
+ * Validate blob checksum
287
+ *
288
+ * @returns True if checksum is valid
289
+ */
290
+ validate(): boolean;
291
+ /**
292
+ * Parse metadata from blob header
293
+ */
294
+ private parseMetadata;
295
+ }
296
+ /**
297
+ * Infer schema from sample rows
298
+ *
299
+ * @param rows - Sample row data
300
+ * @returns Inferred schema
301
+ *
302
+ * @example
303
+ * ```typescript
304
+ * const schema = inferVortexSchema([
305
+ * { id: '1', name: 'Alice', age: 30 },
306
+ * { id: '2', name: 'Bob', age: null },
307
+ * ])
308
+ * // { columns: [
309
+ * // { name: 'id', type: 'string', nullable: false },
310
+ * // { name: 'name', type: 'string', nullable: false },
311
+ * // { name: 'age', type: 'int32', nullable: true },
312
+ * // ]}
313
+ * ```
314
+ */
315
+ export declare function inferVortexSchema(rows: Record<string, unknown>[]): VortexSchema;
316
+ /**
317
+ * Calculate compression ratio
318
+ *
319
+ * @param original - Original size in bytes
320
+ * @param compressed - Compressed size in bytes
321
+ * @returns Compression ratio (e.g., 5.0 means 5x smaller)
322
+ */
323
+ export declare function compressionRatio(original: number, compressed: number): number;
324
+ //# sourceMappingURL=vortex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vortex.d.ts","sourceRoot":"","sources":["../../../db/storage/vortex.ts"],"names":[],"mappings":"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"}