@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,224 @@
1
+ /**
2
+ * Follower Management
3
+ *
4
+ * Manage follower DOs for leader-follower replication topology.
5
+ * Followers receive replicated data from the leader for read performance.
6
+ *
7
+ * @module colo/followers
8
+ */
9
+ /**
10
+ * Add a follower DO for replication
11
+ *
12
+ * Adds a DO as a follower in leader-follower replication topology.
13
+ * The follower will receive replicated data from this DO (the leader).
14
+ *
15
+ * @param state - The DurableObjectState instance (leader)
16
+ * @param ref - Reference to the follower DO
17
+ * @throws ColoError if follower already exists or cannot be reached
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // Add a follower in Europe
22
+ * await addFollower(state, 'https://my-app.workers.dev/do/europe-replica')
23
+ *
24
+ * // Add multiple followers
25
+ * await addFollower(state, 'https://my-app.workers.dev/do/asia-replica')
26
+ * await addFollower(state, 'https://my-app.workers.dev/do/latam-replica')
27
+ * ```
28
+ */
29
+ export async function addFollower(state, ref) {
30
+ // TODO: Implement addFollower
31
+ //
32
+ // 1. Get current followers list from storage
33
+ // 2. Check if follower already exists
34
+ // 3. Validate follower is reachable (health check)
35
+ // 4. Add to followers list
36
+ // 5. Store updated list
37
+ // 6. Send initial sync to follower
38
+ // 7. Emit FOLLOWER_ADDED event
39
+ //
40
+ throw new Error('Not implemented');
41
+ }
42
+ /**
43
+ * Remove a follower DO
44
+ *
45
+ * Removes a DO from the followers list. The follower will stop receiving
46
+ * replicated data but will retain its current state.
47
+ *
48
+ * @param state - The DurableObjectState instance (leader)
49
+ * @param ref - Reference to the follower DO to remove
50
+ * @throws ColoError if follower not found
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * await removeFollower(state, 'https://my-app.workers.dev/do/europe-replica')
55
+ * ```
56
+ */
57
+ export async function removeFollower(state, ref) {
58
+ // TODO: Implement removeFollower
59
+ //
60
+ // 1. Get current followers list from storage
61
+ // 2. Find follower in list
62
+ // 3. Throw FOLLOWER_NOT_FOUND if not found
63
+ // 4. Remove from list
64
+ // 5. Store updated list
65
+ // 6. Notify follower of removal (optional)
66
+ // 7. Emit FOLLOWER_REMOVED event
67
+ //
68
+ throw new Error('Not implemented');
69
+ }
70
+ /**
71
+ * List all followers
72
+ *
73
+ * Returns the list of all follower DO references.
74
+ *
75
+ * @param state - The DurableObjectState instance (leader)
76
+ * @returns Array of follower references
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * const followers = await listFollowers(state)
81
+ * // ['https://...', 'https://...']
82
+ *
83
+ * console.log(`${followers.length} followers configured`)
84
+ * ```
85
+ */
86
+ export async function listFollowers(state) {
87
+ // TODO: Implement listFollowers
88
+ //
89
+ // 1. Get followers list from storage
90
+ // 2. Return empty array if not set
91
+ //
92
+ throw new Error('Not implemented');
93
+ }
94
+ /**
95
+ * Get replication status for all followers
96
+ *
97
+ * Returns detailed status information about the replication topology,
98
+ * including lag and health for each follower.
99
+ *
100
+ * @param state - The DurableObjectState instance
101
+ * @returns Full replication status
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const status = await getReplicationStatus(state)
106
+ * // {
107
+ * // mode: 'leader-follower',
108
+ * // role: 'leader',
109
+ * // followers: [
110
+ * // { ref: '...', colo: 'fra', lag: 45, healthy: true },
111
+ * // { ref: '...', colo: 'sin', lag: 120, healthy: true },
112
+ * // ],
113
+ * // lastSyncTimestamp: 1706000000000,
114
+ * // lag: 0,
115
+ * // healthy: true,
116
+ * // }
117
+ * ```
118
+ */
119
+ export async function getReplicationStatus(state) {
120
+ // TODO: Implement getReplicationStatus
121
+ //
122
+ // 1. Get replication config from storage
123
+ // 2. Get followers list
124
+ // 3. Check health of each follower
125
+ // 4. Calculate overall health
126
+ // 5. Return status object
127
+ //
128
+ throw new Error('Not implemented');
129
+ }
130
+ /**
131
+ * Check health of a specific follower
132
+ *
133
+ * Performs a health check on a follower to verify reachability and measure lag.
134
+ *
135
+ * @param state - The DurableObjectState instance (leader)
136
+ * @param ref - Reference to the follower to check
137
+ * @returns Health check result
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * const health = await checkFollowerHealth(state, followerRef)
142
+ * if (!health.reachable) {
143
+ * console.warn(`Follower unreachable: ${health.error}`)
144
+ * } else if (health.lag > 1000) {
145
+ * console.warn(`Follower lag high: ${health.lag}ms`)
146
+ * }
147
+ * ```
148
+ */
149
+ export async function checkFollowerHealth(state, ref) {
150
+ // TODO: Implement checkFollowerHealth
151
+ //
152
+ // 1. Send ping/heartbeat to follower
153
+ // 2. Measure round-trip time
154
+ // 3. Get follower's replication cursor
155
+ // 4. Calculate lag from leader timestamp
156
+ // 5. Return health check result
157
+ //
158
+ throw new Error('Not implemented');
159
+ }
160
+ /**
161
+ * Replicate a change to all followers
162
+ *
163
+ * Sends a change to all followers. Used internally when writes occur on the leader.
164
+ *
165
+ * @param state - The DurableObjectState instance (leader)
166
+ * @param change - The change to replicate
167
+ * @returns Results for each follower
168
+ */
169
+ export async function replicateToFollowers(state, change) {
170
+ // TODO: Implement replicateToFollowers
171
+ //
172
+ // 1. Get followers list
173
+ // 2. Send change to each follower in parallel
174
+ // 3. Track success/failure for each
175
+ // 4. Update follower status based on results
176
+ // 5. Emit REPLICATION_LAG_HIGH if any followers are behind
177
+ // 6. Return results map
178
+ //
179
+ throw new Error('Not implemented');
180
+ }
181
+ /**
182
+ * Configure replication settings
183
+ *
184
+ * Sets the replication configuration for this DO.
185
+ *
186
+ * @param state - The DurableObjectState instance
187
+ * @param config - Replication configuration
188
+ *
189
+ * @example
190
+ * ```typescript
191
+ * await configureReplication(state, {
192
+ * mode: 'leader-follower',
193
+ * maxLag: 1000,
194
+ * conflictResolution: { strategy: 'last-write-wins' },
195
+ * collections: ['users', 'orders'],
196
+ * })
197
+ * ```
198
+ */
199
+ export async function configureReplication(state, config) {
200
+ // TODO: Implement configureReplication
201
+ //
202
+ // 1. Get existing config
203
+ // 2. Merge with new config
204
+ // 3. Validate config (e.g., valid mode, collections exist)
205
+ // 4. Store updated config
206
+ // 5. Apply new settings (e.g., update lag monitoring)
207
+ //
208
+ throw new Error('Not implemented');
209
+ }
210
+ /**
211
+ * Get the current replication configuration
212
+ *
213
+ * @param state - The DurableObjectState instance
214
+ * @returns Current replication config
215
+ */
216
+ export async function getReplicationConfig(state) {
217
+ // TODO: Implement getReplicationConfig
218
+ //
219
+ // 1. Get config from storage
220
+ // 2. Return default config if not set
221
+ //
222
+ throw new Error('Not implemented');
223
+ }
224
+ //# sourceMappingURL=followers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"followers.js","sourceRoot":"","sources":["../../../do/colo/followers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2BH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAyB,EACzB,GAAqB;IAErB,8BAA8B;IAC9B,EAAE;IACF,6CAA6C;IAC7C,sCAAsC;IACtC,mDAAmD;IACnD,2BAA2B;IAC3B,wBAAwB;IACxB,mCAAmC;IACnC,+BAA+B;IAC/B,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAyB,EACzB,GAAqB;IAErB,iCAAiC;IACjC,EAAE;IACF,6CAA6C;IAC7C,2BAA2B;IAC3B,2CAA2C;IAC3C,sBAAsB;IACtB,wBAAwB;IACxB,2CAA2C;IAC3C,iCAAiC;IACjC,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAyB;IAEzB,gCAAgC;IAChC,EAAE;IACF,qCAAqC;IACrC,mCAAmC;IACnC,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAyB;IAEzB,uCAAuC;IACvC,EAAE;IACF,yCAAyC;IACzC,wBAAwB;IACxB,mCAAmC;IACnC,8BAA8B;IAC9B,0BAA0B;IAC1B,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAyB,EACzB,GAAqB;IAErB,sCAAsC;IACtC,EAAE;IACF,qCAAqC;IACrC,6BAA6B;IAC7B,uCAAuC;IACvC,yCAAyC;IACzC,gCAAgC;IAChC,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAyB,EACzB,MAAyB;IAEzB,uCAAuC;IACvC,EAAE;IACF,wBAAwB;IACxB,8CAA8C;IAC9C,oCAAoC;IACpC,6CAA6C;IAC7C,2DAA2D;IAC3D,wBAAwB;IACxB,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAgCD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAyB,EACzB,MAAkC;IAElC,uCAAuC;IACvC,EAAE;IACF,yBAAyB;IACzB,2BAA2B;IAC3B,2DAA2D;IAC3D,0BAA0B;IAC1B,sDAAsD;IACtD,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAyB;IAEzB,uCAAuC;IACvC,EAAE;IACF,6BAA6B;IAC7B,sCAAsC;IACtC,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Fork Operations
3
+ *
4
+ * Create replicas of Digital Objects in other colos for low-latency reads
5
+ * and geographic distribution.
6
+ *
7
+ * @module colo/fork
8
+ */
9
+ import type { ForkOptions } from '../../types/colo';
10
+ import type { DigitalObjectRef } from '../../types/identity';
11
+ /**
12
+ * Fork options with defaults applied
13
+ */
14
+ export interface ResolvedForkOptions {
15
+ /** Name for the forked DO (generated if not provided) */
16
+ name: string;
17
+ /** Whether to sync data immediately (default: true) */
18
+ syncData: boolean;
19
+ /** Whether to set up continuous replication (default: false) */
20
+ continuous: boolean;
21
+ /** Replication lag tolerance in ms (default: 1000) */
22
+ maxLag: number;
23
+ }
24
+ /**
25
+ * Result of a fork operation
26
+ */
27
+ export interface ForkResult {
28
+ /** Reference to the forked DO */
29
+ ref: DigitalObjectRef;
30
+ /** Target colo where fork was created */
31
+ colo: string;
32
+ /** Whether initial data sync completed */
33
+ synced: boolean;
34
+ /** Whether continuous replication is active */
35
+ replicating: boolean;
36
+ }
37
+ /**
38
+ * Fork this DO to another colo
39
+ *
40
+ * Creates a replica of the current DO in the target colo. The fork can be
41
+ * a one-time snapshot or set up for continuous replication.
42
+ *
43
+ * For leader-follower replication:
44
+ * - The current DO becomes (or remains) the leader
45
+ * - The forked DO becomes a follower
46
+ * - Writes go to the leader, reads can go to any replica
47
+ *
48
+ * @param state - The DurableObjectState instance
49
+ * @param env - Environment bindings for creating new DOs
50
+ * @param targetColo - IATA code of target colo (e.g., 'fra', 'nrt')
51
+ * @param options - Fork configuration options
52
+ * @returns Reference to the newly created fork
53
+ * @throws ColoError if target colo is invalid or fork fails
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * // Simple fork with data sync
58
+ * const replica = await forkDO(state, env, 'fra')
59
+ *
60
+ * // Fork with continuous replication
61
+ * const liveReplica = await forkDO(state, env, 'sin', {
62
+ * continuous: true,
63
+ * maxLag: 500,
64
+ * })
65
+ *
66
+ * // Fork with custom name
67
+ * const namedReplica = await forkDO(state, env, 'nrt', {
68
+ * name: 'tokyo-replica',
69
+ * syncData: true,
70
+ * })
71
+ * ```
72
+ */
73
+ export declare function forkDO(state: DurableObjectState, env: unknown, targetColo: string, options?: ForkOptions): Promise<DigitalObjectRef>;
74
+ /**
75
+ * Apply default values to fork options
76
+ *
77
+ * @param options - Partial options from caller
78
+ * @returns Fully resolved options with defaults
79
+ */
80
+ export declare function resolveForkOptions(options?: ForkOptions): ResolvedForkOptions;
81
+ /**
82
+ * Sync current state to a fork
83
+ *
84
+ * Transfers all storage entries from the current DO to the fork.
85
+ * Used for initial data sync during fork creation.
86
+ *
87
+ * @param state - Current DO state
88
+ * @param forkRef - Reference to the fork DO
89
+ * @returns Number of entries synced
90
+ */
91
+ export declare function syncStateToFork(state: DurableObjectState, forkRef: DigitalObjectRef): Promise<number>;
92
+ /**
93
+ * Set up continuous replication to a fork
94
+ *
95
+ * Configures the fork as a follower and enables ongoing replication
96
+ * of changes from this DO.
97
+ *
98
+ * @param state - Current DO state
99
+ * @param forkRef - Reference to the fork DO
100
+ * @param maxLag - Maximum allowed replication lag in ms
101
+ */
102
+ export declare function setupContinuousReplication(state: DurableObjectState, forkRef: DigitalObjectRef, maxLag: number): Promise<void>;
103
+ //# sourceMappingURL=fork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../../do/colo/fork.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,kBAAkB,CAAA;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAI5D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,QAAQ,EAAE,OAAO,CAAA;IACjB,gEAAgE;IAChE,UAAU,EAAE,OAAO,CAAA;IACnB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,GAAG,EAAE,gBAAgB,CAAA;IACrB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,0CAA0C;IAC1C,MAAM,EAAE,OAAO,CAAA;IACf,+CAA+C;IAC/C,WAAW,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAgC3B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,mBAAmB,CAO7E;AAaD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CASjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Fork Operations
3
+ *
4
+ * Create replicas of Digital Objects in other colos for low-latency reads
5
+ * and geographic distribution.
6
+ *
7
+ * @module colo/fork
8
+ */
9
+ /**
10
+ * Fork this DO to another colo
11
+ *
12
+ * Creates a replica of the current DO in the target colo. The fork can be
13
+ * a one-time snapshot or set up for continuous replication.
14
+ *
15
+ * For leader-follower replication:
16
+ * - The current DO becomes (or remains) the leader
17
+ * - The forked DO becomes a follower
18
+ * - Writes go to the leader, reads can go to any replica
19
+ *
20
+ * @param state - The DurableObjectState instance
21
+ * @param env - Environment bindings for creating new DOs
22
+ * @param targetColo - IATA code of target colo (e.g., 'fra', 'nrt')
23
+ * @param options - Fork configuration options
24
+ * @returns Reference to the newly created fork
25
+ * @throws ColoError if target colo is invalid or fork fails
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * // Simple fork with data sync
30
+ * const replica = await forkDO(state, env, 'fra')
31
+ *
32
+ * // Fork with continuous replication
33
+ * const liveReplica = await forkDO(state, env, 'sin', {
34
+ * continuous: true,
35
+ * maxLag: 500,
36
+ * })
37
+ *
38
+ * // Fork with custom name
39
+ * const namedReplica = await forkDO(state, env, 'nrt', {
40
+ * name: 'tokyo-replica',
41
+ * syncData: true,
42
+ * })
43
+ * ```
44
+ */
45
+ export async function forkDO(state, env, targetColo, options) {
46
+ // TODO: Implement forkDO
47
+ //
48
+ // 1. Validate target colo
49
+ // - Use isValidColo() to check
50
+ // - Throw INVALID_COLO error if invalid
51
+ //
52
+ // 2. Resolve options with defaults
53
+ // - name: generate unique name if not provided
54
+ // - syncData: default true
55
+ // - continuous: default false
56
+ // - maxLag: default 1000ms
57
+ //
58
+ // 3. Emit FORK_STARTED event
59
+ //
60
+ // 4. Create new DO in target colo
61
+ // - Use env.DO_BINDING.newUniqueId({ locationHint: targetColo })
62
+ // - Get stub and initialize
63
+ //
64
+ // 5. If syncData, transfer current state to fork
65
+ // - Get all storage entries
66
+ // - Send to fork via RPC
67
+ //
68
+ // 6. If continuous, set up replication
69
+ // - Add fork to followers list
70
+ // - Configure replication settings
71
+ //
72
+ // 7. Emit FORK_COMPLETED event
73
+ //
74
+ // 8. Return fork reference
75
+ //
76
+ throw new Error('Not implemented');
77
+ }
78
+ /**
79
+ * Apply default values to fork options
80
+ *
81
+ * @param options - Partial options from caller
82
+ * @returns Fully resolved options with defaults
83
+ */
84
+ export function resolveForkOptions(options) {
85
+ return {
86
+ name: options?.name ?? generateForkName(),
87
+ syncData: options?.syncData ?? true,
88
+ continuous: options?.continuous ?? false,
89
+ maxLag: options?.maxLag ?? 1000,
90
+ };
91
+ }
92
+ /**
93
+ * Generate a unique name for a fork
94
+ *
95
+ * @returns Generated fork name
96
+ */
97
+ function generateForkName() {
98
+ const timestamp = Date.now().toString(36);
99
+ const random = Math.random().toString(36).substring(2, 8);
100
+ return `fork-${timestamp}-${random}`;
101
+ }
102
+ /**
103
+ * Sync current state to a fork
104
+ *
105
+ * Transfers all storage entries from the current DO to the fork.
106
+ * Used for initial data sync during fork creation.
107
+ *
108
+ * @param state - Current DO state
109
+ * @param forkRef - Reference to the fork DO
110
+ * @returns Number of entries synced
111
+ */
112
+ export async function syncStateToFork(state, forkRef) {
113
+ // TODO: Implement syncStateToFork
114
+ //
115
+ // 1. List all storage entries
116
+ // 2. Batch entries for efficient transfer
117
+ // 3. Send batches to fork via RPC
118
+ // 4. Return count of synced entries
119
+ //
120
+ throw new Error('Not implemented');
121
+ }
122
+ /**
123
+ * Set up continuous replication to a fork
124
+ *
125
+ * Configures the fork as a follower and enables ongoing replication
126
+ * of changes from this DO.
127
+ *
128
+ * @param state - Current DO state
129
+ * @param forkRef - Reference to the fork DO
130
+ * @param maxLag - Maximum allowed replication lag in ms
131
+ */
132
+ export async function setupContinuousReplication(state, forkRef, maxLag) {
133
+ // TODO: Implement setupContinuousReplication
134
+ //
135
+ // 1. Get current replication config from storage
136
+ // 2. Add fork to followers list
137
+ // 3. Update config with maxLag
138
+ // 4. Store updated config
139
+ // 5. Send initial heartbeat to fork
140
+ //
141
+ throw new Error('Not implemented');
142
+ }
143
+ //# sourceMappingURL=fork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../do/colo/fork.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmCH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAyB,EACzB,GAAY,EACZ,UAAkB,EAClB,OAAqB;IAErB,yBAAyB;IACzB,EAAE;IACF,0BAA0B;IAC1B,kCAAkC;IAClC,2CAA2C;IAC3C,EAAE;IACF,mCAAmC;IACnC,kDAAkD;IAClD,8BAA8B;IAC9B,iCAAiC;IACjC,8BAA8B;IAC9B,EAAE;IACF,6BAA6B;IAC7B,EAAE;IACF,kCAAkC;IAClC,oEAAoE;IACpE,+BAA+B;IAC/B,EAAE;IACF,iDAAiD;IACjD,+BAA+B;IAC/B,4BAA4B;IAC5B,EAAE;IACF,uCAAuC;IACvC,kCAAkC;IAClC,sCAAsC;IACtC,EAAE;IACF,+BAA+B;IAC/B,EAAE;IACF,2BAA2B;IAC3B,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAqB;IACtD,OAAO;QACL,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,gBAAgB,EAAE;QACzC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;QACnC,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,KAAK;QACxC,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;KAChC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB;IACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACzD,OAAO,QAAQ,SAAS,IAAI,MAAM,EAAE,CAAA;AACtC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAyB,EACzB,OAAyB;IAEzB,kCAAkC;IAClC,EAAE;IACF,8BAA8B;IAC9B,0CAA0C;IAC1C,kCAAkC;IAClC,oCAAoC;IACpC,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAAyB,EACzB,OAAyB,EACzB,MAAc;IAEd,6CAA6C;IAC7C,EAAE;IACF,iDAAiD;IACjD,gCAAgC;IAChC,+BAA+B;IAC/B,0BAA0B;IAC1B,oCAAoC;IACpC,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Colo Awareness Layer
3
+ *
4
+ * Geographic intelligence for Digital Objects. Know where your DOs live,
5
+ * move them where you need them.
6
+ *
7
+ * @module colo
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { createColoOperations } from '@do/core/colo'
12
+ *
13
+ * // Create colo operations for a DO instance
14
+ * const colo = createColoOperations(doInstance)
15
+ *
16
+ * // Get current colo info
17
+ * const info = await colo.getInfo()
18
+ * // { colo: 'iad', region: 'enam', city: 'Ashburn', ... }
19
+ *
20
+ * // Fork to another region
21
+ * const replica = await colo.fork('fra', { continuous: true })
22
+ *
23
+ * // Migrate when usage patterns change
24
+ * await colo.migrate('nrt', { strategy: 'graceful' })
25
+ * ```
26
+ */
27
+ import type { ColoOperations } from '../../types/colo';
28
+ export { getColoInfo, getColoInfoByColo, listColos } from './info';
29
+ export { forkDO } from './fork';
30
+ export { migrateDO } from './migrate';
31
+ export { addFollower, removeFollower, listFollowers } from './followers';
32
+ export { findNearestColo, pingColo } from './routing';
33
+ export type { ColoInfo, ColoOperations, ForkOptions, MigrateOptions, Region, ReplicationConfig, ReplicationStatus, ReplicationMode, ReplicationPeerStatus, LocationHint, JurisdictionConfig, RegionInfo, ConflictResolution, } from '../../types/colo';
34
+ /**
35
+ * Storage key prefixes for colo-related data
36
+ */
37
+ export declare const COLO_STORAGE_KEYS: {
38
+ /** Current colo information */
39
+ readonly COLO_INFO: "colo:info";
40
+ /** List of follower DO references */
41
+ readonly FOLLOWERS: "colo:followers";
42
+ /** Replication configuration */
43
+ readonly REPLICATION_CONFIG: "colo:replication:config";
44
+ /** Current replication status */
45
+ readonly REPLICATION_STATUS: "colo:replication:status";
46
+ };
47
+ /**
48
+ * Colo-related event names following NS.Object.event pattern
49
+ */
50
+ export declare const COLO_EVENTS: {
51
+ /** Emitted when fork operation starts */
52
+ readonly FORK_STARTED: "Colo.Fork.started";
53
+ /** Emitted when fork operation completes successfully */
54
+ readonly FORK_COMPLETED: "Colo.Fork.completed";
55
+ /** Emitted when fork operation fails */
56
+ readonly FORK_FAILED: "Colo.Fork.failed";
57
+ /** Emitted when migration starts */
58
+ readonly MIGRATION_STARTED: "Colo.Migration.started";
59
+ /** Emitted when migration completes successfully */
60
+ readonly MIGRATION_COMPLETED: "Colo.Migration.completed";
61
+ /** Emitted when migration fails */
62
+ readonly MIGRATION_FAILED: "Colo.Migration.failed";
63
+ /** Emitted when a follower is added */
64
+ readonly FOLLOWER_ADDED: "Colo.Follower.added";
65
+ /** Emitted when a follower is removed */
66
+ readonly FOLLOWER_REMOVED: "Colo.Follower.removed";
67
+ /** Emitted when replication lag exceeds threshold */
68
+ readonly REPLICATION_LAG_HIGH: "Colo.Replication.lagHigh";
69
+ };
70
+ /**
71
+ * Error codes for colo operations
72
+ */
73
+ export declare const COLO_ERRORS: {
74
+ /** Invalid colo code provided */
75
+ readonly INVALID_COLO: "INVALID_COLO";
76
+ /** Migration operation failed */
77
+ readonly MIGRATION_FAILED: "MIGRATION_FAILED";
78
+ /** Fork operation failed */
79
+ readonly FORK_FAILED: "FORK_FAILED";
80
+ /** Follower not found in list */
81
+ readonly FOLLOWER_NOT_FOUND: "FOLLOWER_NOT_FOUND";
82
+ /** Operation violates jurisdiction constraints */
83
+ readonly JURISDICTION_VIOLATION: "JURISDICTION_VIOLATION";
84
+ /** Replication error */
85
+ readonly REPLICATION_FAILED: "REPLICATION_FAILED";
86
+ };
87
+ /**
88
+ * Error class for colo operations
89
+ */
90
+ export declare class ColoError extends Error {
91
+ readonly code: keyof typeof COLO_ERRORS;
92
+ /**
93
+ * Create a new ColoError
94
+ *
95
+ * @param message - Error message
96
+ * @param code - Error code from COLO_ERRORS
97
+ */
98
+ constructor(message: string, code: keyof typeof COLO_ERRORS);
99
+ }
100
+ /**
101
+ * Create colo operations interface for a Digital Object instance
102
+ *
103
+ * Factory function that wraps a DO instance with all colo-related operations.
104
+ * Returns an object implementing the ColoOperations interface.
105
+ *
106
+ * @param state - The DurableObjectState instance
107
+ * @param env - The environment bindings (for accessing other DOs)
108
+ * @returns ColoOperations interface with all colo methods
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * import { createColoOperations } from '@do/core/colo'
113
+ *
114
+ * class MyDO {
115
+ * private colo: ColoOperations
116
+ *
117
+ * constructor(state: DurableObjectState, env: Env) {
118
+ * this.colo = createColoOperations(state, env)
119
+ * }
120
+ *
121
+ * async fetch(request: Request) {
122
+ * const info = await this.colo.getInfo()
123
+ * return Response.json(info)
124
+ * }
125
+ * }
126
+ * ```
127
+ */
128
+ export declare function createColoOperations(state: DurableObjectState, env: unknown): ColoOperations;
129
+ /**
130
+ * Default export for convenience
131
+ */
132
+ declare const _default: {
133
+ createColoOperations: typeof createColoOperations;
134
+ COLO_STORAGE_KEYS: {
135
+ /** Current colo information */
136
+ readonly COLO_INFO: "colo:info";
137
+ /** List of follower DO references */
138
+ readonly FOLLOWERS: "colo:followers";
139
+ /** Replication configuration */
140
+ readonly REPLICATION_CONFIG: "colo:replication:config";
141
+ /** Current replication status */
142
+ readonly REPLICATION_STATUS: "colo:replication:status";
143
+ };
144
+ COLO_EVENTS: {
145
+ /** Emitted when fork operation starts */
146
+ readonly FORK_STARTED: "Colo.Fork.started";
147
+ /** Emitted when fork operation completes successfully */
148
+ readonly FORK_COMPLETED: "Colo.Fork.completed";
149
+ /** Emitted when fork operation fails */
150
+ readonly FORK_FAILED: "Colo.Fork.failed";
151
+ /** Emitted when migration starts */
152
+ readonly MIGRATION_STARTED: "Colo.Migration.started";
153
+ /** Emitted when migration completes successfully */
154
+ readonly MIGRATION_COMPLETED: "Colo.Migration.completed";
155
+ /** Emitted when migration fails */
156
+ readonly MIGRATION_FAILED: "Colo.Migration.failed";
157
+ /** Emitted when a follower is added */
158
+ readonly FOLLOWER_ADDED: "Colo.Follower.added";
159
+ /** Emitted when a follower is removed */
160
+ readonly FOLLOWER_REMOVED: "Colo.Follower.removed";
161
+ /** Emitted when replication lag exceeds threshold */
162
+ readonly REPLICATION_LAG_HIGH: "Colo.Replication.lagHigh";
163
+ };
164
+ COLO_ERRORS: {
165
+ /** Invalid colo code provided */
166
+ readonly INVALID_COLO: "INVALID_COLO";
167
+ /** Migration operation failed */
168
+ readonly MIGRATION_FAILED: "MIGRATION_FAILED";
169
+ /** Fork operation failed */
170
+ readonly FORK_FAILED: "FORK_FAILED";
171
+ /** Follower not found in list */
172
+ readonly FOLLOWER_NOT_FOUND: "FOLLOWER_NOT_FOUND";
173
+ /** Operation violates jurisdiction constraints */
174
+ readonly JURISDICTION_VIOLATION: "JURISDICTION_VIOLATION";
175
+ /** Replication error */
176
+ readonly REPLICATION_FAILED: "REPLICATION_FAILED";
177
+ };
178
+ ColoError: typeof ColoError;
179
+ };
180
+ export default _default;
181
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../do/colo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAEV,cAAc,EAIf,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGrD,YAAY,EACV,QAAQ,EACR,cAAc,EACd,WAAW,EACX,cAAc,EACd,MAAM,EACN,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,kBAAkB,GACnB,MAAM,kBAAkB,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,+BAA+B;;IAE/B,qCAAqC;;IAErC,gCAAgC;;IAEhC,iCAAiC;;CAEzB,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB,yCAAyC;;IAEzC,yDAAyD;;IAEzD,wCAAwC;;IAExC,oCAAoC;;IAEpC,oDAAoD;;IAEpD,mCAAmC;;IAEnC,uCAAuC;;IAEvC,yCAAyC;;IAEzC,qDAAqD;;CAE7C,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB,iCAAiC;;IAEjC,iCAAiC;;IAEjC,4BAA4B;;IAE5B,iCAAiC;;IAEjC,kDAAkD;;IAElD,wBAAwB;;CAEhB,CAAA;AAEV;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;aAShB,IAAI,EAAE,MAAM,OAAO,WAAW;IARhD;;;;;OAKG;gBAED,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,OAAO,WAAW;CAKjD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,OAAO,GACX,cAAc,CAGhB;AAED;;GAEG;;;;QA7GD,+BAA+B;;QAE/B,qCAAqC;;QAErC,gCAAgC;;QAEhC,iCAAiC;;;;QAQjC,yCAAyC;;QAEzC,yDAAyD;;QAEzD,wCAAwC;;QAExC,oCAAoC;;QAEpC,oDAAoD;;QAEpD,mCAAmC;;QAEnC,uCAAuC;;QAEvC,yCAAyC;;QAEzC,qDAAqD;;;;QAQrD,iCAAiC;;QAEjC,iCAAiC;;QAEjC,4BAA4B;;QAE5B,iCAAiC;;QAEjC,kDAAkD;;QAElD,wBAAwB;;;;;AA8D1B,wBAMC"}