@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,385 @@
1
+ /**
2
+ * Hibernation Support for Digital Objects
3
+ *
4
+ * Implements the Cloudflare Agents SDK hibernation pattern for efficient
5
+ * resource usage. DOs can hibernate when idle, reducing costs by ~95%.
6
+ *
7
+ * Features:
8
+ * - Automatic idle detection and hibernation
9
+ * - WebSocket connection preservation during hibernation
10
+ * - Alarm-based wake-up for scheduled tasks
11
+ * - State persistence across hibernation cycles
12
+ *
13
+ * @example Basic hibernation
14
+ * ```typescript
15
+ * const hibernation = new HibernationManager(ctx, {
16
+ * idleTimeout: 10_000, // Hibernate after 10s idle
17
+ * })
18
+ *
19
+ * // Touch on activity to reset idle timer
20
+ * hibernation.touch()
21
+ *
22
+ * // Check if hibernating
23
+ * if (hibernation.isHibernating()) {
24
+ * // Handle wake-up
25
+ * }
26
+ * ```
27
+ *
28
+ * @example WebSocket with hibernation
29
+ * ```typescript
30
+ * // Accept WebSocket with hibernation support
31
+ * const response = await hibernation.acceptWebSocket(request)
32
+ *
33
+ * // WebSocket survives hibernation and reconnects automatically
34
+ * ```
35
+ *
36
+ * @module do/hibernation
37
+ */
38
+ import type { DurableObjectState } from '@cloudflare/workers-types';
39
+ /**
40
+ * Configuration for hibernation behavior
41
+ *
42
+ * @interface HibernationConfig
43
+ */
44
+ export interface HibernationConfig {
45
+ /**
46
+ * Time in milliseconds before hibernating after last activity
47
+ * @default 10000 (10 seconds)
48
+ */
49
+ idleTimeout: number;
50
+ /**
51
+ * Maximum time in milliseconds a DO can stay hibernated
52
+ * After this time, the DO will be woken to check for work
53
+ * @default 86400000 (24 hours)
54
+ */
55
+ maxHibernationDuration: number;
56
+ /**
57
+ * Whether to preserve WebSocket connections during hibernation
58
+ * When true, WebSockets will hibernate and wake automatically
59
+ * @default true
60
+ */
61
+ preserveWebSockets: boolean;
62
+ /**
63
+ * Hook called just before hibernation
64
+ * Use this to clean up resources or persist state
65
+ */
66
+ onHibernate?: () => Promise<void>;
67
+ /**
68
+ * Hook called just after waking from hibernation
69
+ * Use this to restore state or reinitialize connections
70
+ */
71
+ onWake?: () => Promise<void>;
72
+ }
73
+ /**
74
+ * State of a hibernatable WebSocket connection
75
+ *
76
+ * @interface WebSocketState
77
+ */
78
+ export interface WebSocketState {
79
+ /** Unique connection ID */
80
+ id: string;
81
+ /** Connection status */
82
+ status: 'connecting' | 'open' | 'hibernating' | 'closing' | 'closed';
83
+ /** Timestamp when the connection was established */
84
+ connectedAt: number;
85
+ /** Timestamp when hibernation started (if hibernating) */
86
+ hibernatedAt?: number;
87
+ /** Timestamp of last message sent or received */
88
+ lastMessageAt: number;
89
+ /** Custom data attached to this connection */
90
+ data?: Record<string, unknown>;
91
+ /** Subscriptions this connection has */
92
+ subscriptions: string[];
93
+ }
94
+ /**
95
+ * Alarm configuration
96
+ *
97
+ * @interface AlarmConfig
98
+ */
99
+ export interface AlarmConfig {
100
+ /** Alarm type for handling different alarm purposes */
101
+ type: 'hibernation' | 'scheduled' | 'retry' | 'custom';
102
+ /** Scheduled time for the alarm */
103
+ scheduledTime: number;
104
+ /** Custom payload for the alarm */
105
+ payload?: unknown;
106
+ }
107
+ /**
108
+ * Hibernation manager for Digital Objects
109
+ *
110
+ * Manages the sleep/wake lifecycle of a DO, including:
111
+ * - Idle detection and automatic hibernation
112
+ * - WebSocket hibernation
113
+ * - Alarm scheduling for wake-up
114
+ *
115
+ * @class HibernationManager
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * class MyDO implements DurableObject {
120
+ * private hibernation: HibernationManager
121
+ *
122
+ * constructor(ctx: DurableObjectState) {
123
+ * this.hibernation = new HibernationManager(ctx, {
124
+ * idleTimeout: 30_000,
125
+ * onHibernate: () => this.cleanup(),
126
+ * onWake: () => this.restore()
127
+ * })
128
+ * }
129
+ *
130
+ * async fetch(request: Request) {
131
+ * this.hibernation.touch()
132
+ * // Handle request...
133
+ * }
134
+ * }
135
+ * ```
136
+ */
137
+ export declare class HibernationManager {
138
+ private ctx;
139
+ /**
140
+ * Current hibernation state
141
+ */
142
+ private state;
143
+ /**
144
+ * Timestamp of last activity
145
+ */
146
+ private lastActivity;
147
+ /**
148
+ * Map of active WebSocket connections by ID
149
+ */
150
+ private webSockets;
151
+ /**
152
+ * WebSocket metadata storage
153
+ */
154
+ private webSocketStates;
155
+ /**
156
+ * Counter for generating unique WebSocket IDs
157
+ */
158
+ private wsIdCounter;
159
+ /**
160
+ * Configuration with defaults applied
161
+ */
162
+ private config;
163
+ /**
164
+ * Timer for idle detection (only in non-hibernating mode)
165
+ */
166
+ private idleTimer?;
167
+ /**
168
+ * Create a new HibernationManager
169
+ *
170
+ * @param ctx - Durable Object state from Cloudflare runtime
171
+ * @param config - Hibernation configuration options
172
+ */
173
+ constructor(ctx: DurableObjectState, config?: Partial<HibernationConfig>);
174
+ /**
175
+ * Record activity to reset the idle timer
176
+ *
177
+ * Call this method whenever the DO processes a request,
178
+ * message, or any other activity.
179
+ *
180
+ * @example
181
+ * ```typescript
182
+ * async fetch(request: Request) {
183
+ * this.hibernation.touch()
184
+ * // Process request...
185
+ * }
186
+ * ```
187
+ */
188
+ touch(): void;
189
+ /**
190
+ * Check if the DO is currently hibernating
191
+ *
192
+ * @returns True if hibernating, false if active
193
+ */
194
+ isHibernating(): boolean;
195
+ /**
196
+ * Check if the DO is idle (no recent activity)
197
+ *
198
+ * @returns True if idle for longer than idleTimeout
199
+ */
200
+ isIdle(): boolean;
201
+ /**
202
+ * Get the time since last activity in milliseconds
203
+ *
204
+ * @returns Milliseconds since last activity
205
+ */
206
+ getIdleTime(): number;
207
+ /**
208
+ * Get the current hibernation state
209
+ *
210
+ * @returns Current state ('active' or 'hibernating')
211
+ */
212
+ getState(): 'active' | 'hibernating';
213
+ /**
214
+ * Get statistics about WebSocket connections
215
+ *
216
+ * @returns WebSocket connection statistics
217
+ */
218
+ getWebSocketStats(): {
219
+ total: number;
220
+ active: number;
221
+ hibernating: number;
222
+ };
223
+ /**
224
+ * Accept a WebSocket connection with hibernation support
225
+ *
226
+ * This method upgrades the HTTP request to a WebSocket connection
227
+ * that supports hibernation. The connection will survive hibernation
228
+ * and automatically reconnect when the DO wakes.
229
+ *
230
+ * @param request - The HTTP upgrade request
231
+ * @param data - Optional custom data to attach to the connection
232
+ * @returns HTTP response with WebSocket upgrade
233
+ *
234
+ * @example
235
+ * ```typescript
236
+ * async handleWebSocket(request: Request) {
237
+ * const response = await this.hibernation.acceptWebSocket(request, {
238
+ * userId: '123'
239
+ * })
240
+ * return response
241
+ * }
242
+ * ```
243
+ */
244
+ acceptWebSocket(request: Request, data?: Record<string, unknown>): Promise<Response>;
245
+ /**
246
+ * Send a message to a specific WebSocket connection
247
+ *
248
+ * @param wsId - The WebSocket connection ID
249
+ * @param message - The message to send
250
+ * @returns True if the message was sent, false if connection not found
251
+ */
252
+ sendToWebSocket(wsId: string, message: string | ArrayBuffer): boolean;
253
+ /**
254
+ * Broadcast a message to all connected WebSockets
255
+ *
256
+ * @param message - The message to broadcast
257
+ * @param filter - Optional filter function to select recipients
258
+ * @returns Number of WebSockets that received the message
259
+ */
260
+ broadcast(message: string | ArrayBuffer, filter?: (state: WebSocketState) => boolean): number;
261
+ /**
262
+ * Get the state of a WebSocket connection
263
+ *
264
+ * @param wsId - The WebSocket connection ID
265
+ * @returns WebSocket state or undefined if not found
266
+ */
267
+ getWebSocketState(wsId: string): WebSocketState | undefined;
268
+ /**
269
+ * Get all WebSocket states
270
+ *
271
+ * @returns Iterator of all WebSocket states
272
+ */
273
+ getAllWebSocketStates(): IterableIterator<WebSocketState>;
274
+ /**
275
+ * Update custom data for a WebSocket connection
276
+ *
277
+ * @param wsId - The WebSocket connection ID
278
+ * @param data - The data to merge with existing data
279
+ */
280
+ updateWebSocketData(wsId: string, data: Record<string, unknown>): void;
281
+ /**
282
+ * Subscribe a WebSocket to a topic
283
+ *
284
+ * @param wsId - The WebSocket connection ID
285
+ * @param topic - The topic to subscribe to
286
+ */
287
+ subscribe(wsId: string, topic: string): void;
288
+ /**
289
+ * Unsubscribe a WebSocket from a topic
290
+ *
291
+ * @param wsId - The WebSocket connection ID
292
+ * @param topic - The topic to unsubscribe from
293
+ */
294
+ unsubscribe(wsId: string, topic: string): void;
295
+ /**
296
+ * Publish a message to all subscribers of a topic
297
+ *
298
+ * @param topic - The topic to publish to
299
+ * @param message - The message to publish
300
+ * @returns Number of subscribers that received the message
301
+ */
302
+ publish(topic: string, message: string | ArrayBuffer): number;
303
+ /**
304
+ * Handle WebSocket close event
305
+ *
306
+ * Called when a WebSocket connection is closed.
307
+ * Cleans up state and removes the connection.
308
+ *
309
+ * @param ws - The WebSocket that was closed
310
+ */
311
+ handleWebSocketClose(ws: WebSocket): void;
312
+ /**
313
+ * Handle alarm callback
314
+ *
315
+ * Called when an alarm fires. This may be for hibernation,
316
+ * scheduled tasks, or other purposes.
317
+ *
318
+ * @returns Promise that resolves when alarm is handled
319
+ */
320
+ handleAlarm(): Promise<void>;
321
+ /**
322
+ * Schedule an alarm at a specific time
323
+ *
324
+ * @param time - The time to trigger the alarm (Date or milliseconds)
325
+ * @param config - Optional alarm configuration
326
+ */
327
+ scheduleAlarm(time: Date | number, config?: Partial<AlarmConfig>): Promise<void>;
328
+ /**
329
+ * Cancel all scheduled alarms
330
+ */
331
+ cancelAlarms(): Promise<void>;
332
+ /**
333
+ * Force immediate hibernation
334
+ *
335
+ * @returns Promise that resolves when hibernation is complete
336
+ */
337
+ forceHibernate(): Promise<void>;
338
+ /**
339
+ * Force immediate wake from hibernation
340
+ *
341
+ * @returns Promise that resolves when wake is complete
342
+ */
343
+ forceWake(): Promise<void>;
344
+ /**
345
+ * Enter hibernation state
346
+ *
347
+ * @internal
348
+ */
349
+ private hibernate;
350
+ /**
351
+ * Wake from hibernation state
352
+ *
353
+ * @internal
354
+ */
355
+ private wake;
356
+ /**
357
+ * Schedule idle check via alarm
358
+ *
359
+ * @internal
360
+ */
361
+ private scheduleIdleCheck;
362
+ /**
363
+ * Generate a unique WebSocket ID
364
+ *
365
+ * @internal
366
+ */
367
+ private generateWebSocketId;
368
+ }
369
+ /**
370
+ * Create a HibernationManager instance
371
+ *
372
+ * @param ctx - Durable Object state
373
+ * @param config - Configuration options
374
+ * @returns HibernationManager instance
375
+ *
376
+ * @example
377
+ * ```typescript
378
+ * const hibernation = createHibernationManager(ctx, {
379
+ * idleTimeout: 30_000
380
+ * })
381
+ * ```
382
+ */
383
+ export declare function createHibernationManager(ctx: DurableObjectState, config?: Partial<HibernationConfig>): HibernationManager;
384
+ export default HibernationManager;
385
+ //# sourceMappingURL=hibernation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hibernation.d.ts","sourceRoot":"","sources":["../../do/hibernation.ts"],"names":[],"mappings":"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"}