@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,349 @@
1
+ /**
2
+ * Subscription Management
3
+ *
4
+ * Handles recurring revenue including:
5
+ * - Subscription creation and lifecycle
6
+ * - Trials and promotions
7
+ * - Upgrades and downgrades
8
+ * - Cancellations and pauses
9
+ * - Invoice generation
10
+ *
11
+ * @module financial/subscriptions
12
+ */
13
+ /**
14
+ * Subscription manager for Digital Objects
15
+ *
16
+ * Manages the full subscription lifecycle including creation,
17
+ * modifications, and cancellation with support for trials and promotions.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const subscriptions = new SubscriptionManager({
22
+ * secretKey: env.STRIPE_SECRET_KEY,
23
+ * defaultTrialDays: 14
24
+ * })
25
+ *
26
+ * // Create a subscription with trial
27
+ * const sub = await subscriptions.create(customerRef, 'price_pro_monthly', {
28
+ * trialPeriodDays: 14
29
+ * })
30
+ *
31
+ * // Upgrade to annual plan
32
+ * await subscriptions.update(sub.id, {
33
+ * priceId: 'price_pro_annual',
34
+ * prorationBehavior: 'create_prorations'
35
+ * })
36
+ *
37
+ * // Cancel at period end
38
+ * await subscriptions.cancel(sub.id, { atPeriodEnd: true })
39
+ * ```
40
+ */
41
+ export class SubscriptionManager {
42
+ config;
43
+ /**
44
+ * Create a new SubscriptionManager instance
45
+ *
46
+ * @param config - Subscription manager configuration
47
+ */
48
+ constructor(config) {
49
+ this.config = config;
50
+ }
51
+ /**
52
+ * Create a new subscription
53
+ *
54
+ * @param customerRef - Reference to the customer DO
55
+ * @param priceId - Stripe price ID
56
+ * @param options - Additional subscription options
57
+ * @returns The created subscription
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * // Basic subscription
62
+ * const sub = await subscriptions.create(customerRef, 'price_pro_monthly')
63
+ *
64
+ * // Subscription with trial and quantity
65
+ * const sub = await subscriptions.create(customerRef, 'price_team_monthly', {
66
+ * trialPeriodDays: 14,
67
+ * quantity: 5 // 5 seats
68
+ * })
69
+ * ```
70
+ */
71
+ async create(customerRef, priceId, options) {
72
+ // TODO: Implement Stripe API call
73
+ throw new Error('Not implemented');
74
+ }
75
+ /**
76
+ * Retrieve a subscription by ID
77
+ *
78
+ * @param subscriptionId - The subscription ID
79
+ * @returns The subscription or null if not found
80
+ */
81
+ async get(subscriptionId) {
82
+ // TODO: Implement Stripe API call
83
+ throw new Error('Not implemented');
84
+ }
85
+ /**
86
+ * Update a subscription
87
+ *
88
+ * Used for upgrades, downgrades, quantity changes, and other modifications.
89
+ *
90
+ * @param subscriptionId - The subscription ID
91
+ * @param options - Update options
92
+ * @returns The updated subscription
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * // Upgrade plan
97
+ * await subscriptions.update(subId, {
98
+ * priceId: 'price_enterprise_monthly',
99
+ * prorationBehavior: 'create_prorations'
100
+ * })
101
+ *
102
+ * // Change quantity
103
+ * await subscriptions.update(subId, { quantity: 10 })
104
+ * ```
105
+ */
106
+ async update(subscriptionId, options) {
107
+ // TODO: Implement Stripe API call
108
+ throw new Error('Not implemented');
109
+ }
110
+ /**
111
+ * Cancel a subscription
112
+ *
113
+ * @param subscriptionId - The subscription ID
114
+ * @param options - Cancellation options
115
+ * @returns The canceled subscription
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * // Cancel at end of period (graceful)
120
+ * await subscriptions.cancel(subId, { atPeriodEnd: true })
121
+ *
122
+ * // Cancel immediately with feedback
123
+ * await subscriptions.cancel(subId, {
124
+ * atPeriodEnd: false,
125
+ * cancellationDetails: {
126
+ * feedback: 'too_expensive',
127
+ * comment: 'Budget constraints'
128
+ * }
129
+ * })
130
+ * ```
131
+ */
132
+ async cancel(subscriptionId, options) {
133
+ // TODO: Implement Stripe API call
134
+ throw new Error('Not implemented');
135
+ }
136
+ /**
137
+ * Resume a canceled subscription
138
+ *
139
+ * Only works if subscription was canceled with atPeriodEnd: true
140
+ * and the period hasn't ended yet.
141
+ *
142
+ * @param subscriptionId - The subscription ID
143
+ * @returns The resumed subscription
144
+ */
145
+ async resume(subscriptionId) {
146
+ // TODO: Implement Stripe API call
147
+ throw new Error('Not implemented');
148
+ }
149
+ /**
150
+ * Pause a subscription
151
+ *
152
+ * Pauses collection on the subscription. The subscription
153
+ * remains active but billing is suspended.
154
+ *
155
+ * @param subscriptionId - The subscription ID
156
+ * @param resumesAt - Timestamp when to resume billing
157
+ * @returns The paused subscription
158
+ */
159
+ async pause(subscriptionId, resumesAt) {
160
+ // TODO: Implement Stripe API call
161
+ throw new Error('Not implemented');
162
+ }
163
+ /**
164
+ * Unpause a subscription
165
+ *
166
+ * @param subscriptionId - The subscription ID
167
+ * @returns The resumed subscription
168
+ */
169
+ async unpause(subscriptionId) {
170
+ // TODO: Implement Stripe API call
171
+ throw new Error('Not implemented');
172
+ }
173
+ /**
174
+ * List subscriptions with filtering
175
+ *
176
+ * @param options - Filter and pagination options
177
+ * @returns List of subscriptions
178
+ *
179
+ * @example
180
+ * ```typescript
181
+ * // Get all active subscriptions
182
+ * const subs = await subscriptions.list({ status: 'active' })
183
+ *
184
+ * // Get subscriptions for a customer
185
+ * const subs = await subscriptions.list({ customerRef })
186
+ * ```
187
+ */
188
+ async list(options) {
189
+ // TODO: Implement Stripe API call
190
+ throw new Error('Not implemented');
191
+ }
192
+ /**
193
+ * Get upcoming invoice for a subscription
194
+ *
195
+ * Preview what the next invoice will look like, including
196
+ * any pending proration items.
197
+ *
198
+ * @param subscriptionId - The subscription ID
199
+ * @param options - Preview options for simulating changes
200
+ * @returns The upcoming invoice preview
201
+ */
202
+ async getUpcomingInvoice(subscriptionId, options) {
203
+ // TODO: Implement Stripe API call
204
+ throw new Error('Not implemented');
205
+ }
206
+ /**
207
+ * Create an invoice for a subscription
208
+ *
209
+ * Manually creates an invoice for pending invoice items.
210
+ *
211
+ * @param subscriptionId - The subscription ID
212
+ * @param options - Invoice options
213
+ * @returns The created invoice
214
+ */
215
+ async createInvoice(subscriptionId, options) {
216
+ // TODO: Implement Stripe API call
217
+ throw new Error('Not implemented');
218
+ }
219
+ /**
220
+ * Retrieve an invoice
221
+ *
222
+ * @param invoiceId - The invoice ID
223
+ * @returns The invoice or null if not found
224
+ */
225
+ async getInvoice(invoiceId) {
226
+ // TODO: Implement Stripe API call
227
+ throw new Error('Not implemented');
228
+ }
229
+ /**
230
+ * Pay an invoice
231
+ *
232
+ * @param invoiceId - The invoice ID
233
+ * @param paymentMethodId - Payment method to use
234
+ * @returns The paid invoice
235
+ */
236
+ async payInvoice(invoiceId, paymentMethodId) {
237
+ // TODO: Implement Stripe API call
238
+ throw new Error('Not implemented');
239
+ }
240
+ /**
241
+ * Void an invoice
242
+ *
243
+ * @param invoiceId - The invoice ID
244
+ * @returns The voided invoice
245
+ */
246
+ async voidInvoice(invoiceId) {
247
+ // TODO: Implement Stripe API call
248
+ throw new Error('Not implemented');
249
+ }
250
+ /**
251
+ * Mark an invoice as uncollectible
252
+ *
253
+ * @param invoiceId - The invoice ID
254
+ * @returns The updated invoice
255
+ */
256
+ async markUncollectible(invoiceId) {
257
+ // TODO: Implement Stripe API call
258
+ throw new Error('Not implemented');
259
+ }
260
+ /**
261
+ * List invoices with filtering
262
+ *
263
+ * @param options - Filter and pagination options
264
+ * @returns List of invoices
265
+ */
266
+ async listInvoices(options) {
267
+ // TODO: Implement Stripe API call
268
+ throw new Error('Not implemented');
269
+ }
270
+ /**
271
+ * Send an invoice to the customer
272
+ *
273
+ * @param invoiceId - The invoice ID
274
+ * @returns The sent invoice
275
+ */
276
+ async sendInvoice(invoiceId) {
277
+ // TODO: Implement Stripe API call
278
+ throw new Error('Not implemented');
279
+ }
280
+ /**
281
+ * Add an invoice item
282
+ *
283
+ * @param customerRef - Customer reference
284
+ * @param options - Invoice item options
285
+ * @returns The created invoice line item
286
+ */
287
+ async addInvoiceItem(customerRef, options) {
288
+ // TODO: Implement Stripe API call
289
+ throw new Error('Not implemented');
290
+ }
291
+ /**
292
+ * Apply a coupon to a subscription
293
+ *
294
+ * @param subscriptionId - The subscription ID
295
+ * @param couponId - The coupon ID
296
+ * @returns The updated subscription
297
+ */
298
+ async applyCoupon(subscriptionId, couponId) {
299
+ // TODO: Implement Stripe API call
300
+ throw new Error('Not implemented');
301
+ }
302
+ /**
303
+ * Remove a coupon from a subscription
304
+ *
305
+ * @param subscriptionId - The subscription ID
306
+ * @returns The updated subscription
307
+ */
308
+ async removeCoupon(subscriptionId) {
309
+ // TODO: Implement Stripe API call
310
+ throw new Error('Not implemented');
311
+ }
312
+ /**
313
+ * Handle a Stripe webhook event for subscriptions
314
+ *
315
+ * @param payload - Raw webhook payload
316
+ * @param signature - Stripe-Signature header value
317
+ * @returns Processed event data
318
+ */
319
+ async handleWebhook(payload, signature) {
320
+ // TODO: Implement webhook verification and handling
321
+ throw new Error('Not implemented');
322
+ }
323
+ }
324
+ /**
325
+ * Subscription error codes
326
+ */
327
+ export const SubscriptionErrorCodes = {
328
+ SUBSCRIPTION_NOT_FOUND: 'SUBSCRIPTION_NOT_FOUND',
329
+ ALREADY_CANCELED: 'ALREADY_CANCELED',
330
+ CANNOT_RESUME: 'CANNOT_RESUME',
331
+ INVALID_PRICE: 'INVALID_PRICE',
332
+ INVOICE_NOT_FOUND: 'INVOICE_NOT_FOUND',
333
+ PAYMENT_FAILED: 'PAYMENT_FAILED',
334
+ CUSTOMER_NOT_FOUND: 'CUSTOMER_NOT_FOUND',
335
+ };
336
+ /**
337
+ * Subscription error
338
+ */
339
+ export class SubscriptionError extends Error {
340
+ code;
341
+ details;
342
+ constructor(code, message, details) {
343
+ super(message);
344
+ this.code = code;
345
+ this.details = details;
346
+ this.name = 'SubscriptionError';
347
+ }
348
+ }
349
+ //# sourceMappingURL=subscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../../do/business/financial/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Business Layer
3
+ *
4
+ * Business-as-Code operations for Digital Objects.
5
+ *
6
+ * @module do/business
7
+ */
8
+ export * from './financial';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../do/business/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,cAAc,aAAa,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Business Layer
3
+ *
4
+ * Business-as-Code operations for Digital Objects.
5
+ *
6
+ * @module do/business
7
+ */
8
+ // Financial operations
9
+ export * from './financial';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../do/business/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,uBAAuB;AACvB,cAAc,aAAa,CAAA"}
@@ -0,0 +1,194 @@
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
+ import type { ReplicationConfig, ReplicationStatus } from '../../types/colo';
10
+ import type { DigitalObjectRef } from '../../types/identity';
11
+ /**
12
+ * Follower health check result
13
+ */
14
+ export interface FollowerHealthCheck {
15
+ /** Reference to the follower */
16
+ ref: DigitalObjectRef;
17
+ /** Whether follower is reachable */
18
+ reachable: boolean;
19
+ /** Current replication lag in ms */
20
+ lag: number;
21
+ /** Last successful heartbeat timestamp */
22
+ lastHeartbeat: number;
23
+ /** Error message if unhealthy */
24
+ error?: string;
25
+ }
26
+ /**
27
+ * Add a follower DO for replication
28
+ *
29
+ * Adds a DO as a follower in leader-follower replication topology.
30
+ * The follower will receive replicated data from this DO (the leader).
31
+ *
32
+ * @param state - The DurableObjectState instance (leader)
33
+ * @param ref - Reference to the follower DO
34
+ * @throws ColoError if follower already exists or cannot be reached
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // Add a follower in Europe
39
+ * await addFollower(state, 'https://my-app.workers.dev/do/europe-replica')
40
+ *
41
+ * // Add multiple followers
42
+ * await addFollower(state, 'https://my-app.workers.dev/do/asia-replica')
43
+ * await addFollower(state, 'https://my-app.workers.dev/do/latam-replica')
44
+ * ```
45
+ */
46
+ export declare function addFollower(state: DurableObjectState, ref: DigitalObjectRef): Promise<void>;
47
+ /**
48
+ * Remove a follower DO
49
+ *
50
+ * Removes a DO from the followers list. The follower will stop receiving
51
+ * replicated data but will retain its current state.
52
+ *
53
+ * @param state - The DurableObjectState instance (leader)
54
+ * @param ref - Reference to the follower DO to remove
55
+ * @throws ColoError if follower not found
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * await removeFollower(state, 'https://my-app.workers.dev/do/europe-replica')
60
+ * ```
61
+ */
62
+ export declare function removeFollower(state: DurableObjectState, ref: DigitalObjectRef): Promise<void>;
63
+ /**
64
+ * List all followers
65
+ *
66
+ * Returns the list of all follower DO references.
67
+ *
68
+ * @param state - The DurableObjectState instance (leader)
69
+ * @returns Array of follower references
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * const followers = await listFollowers(state)
74
+ * // ['https://...', 'https://...']
75
+ *
76
+ * console.log(`${followers.length} followers configured`)
77
+ * ```
78
+ */
79
+ export declare function listFollowers(state: DurableObjectState): Promise<DigitalObjectRef[]>;
80
+ /**
81
+ * Get replication status for all followers
82
+ *
83
+ * Returns detailed status information about the replication topology,
84
+ * including lag and health for each follower.
85
+ *
86
+ * @param state - The DurableObjectState instance
87
+ * @returns Full replication status
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * const status = await getReplicationStatus(state)
92
+ * // {
93
+ * // mode: 'leader-follower',
94
+ * // role: 'leader',
95
+ * // followers: [
96
+ * // { ref: '...', colo: 'fra', lag: 45, healthy: true },
97
+ * // { ref: '...', colo: 'sin', lag: 120, healthy: true },
98
+ * // ],
99
+ * // lastSyncTimestamp: 1706000000000,
100
+ * // lag: 0,
101
+ * // healthy: true,
102
+ * // }
103
+ * ```
104
+ */
105
+ export declare function getReplicationStatus(state: DurableObjectState): Promise<ReplicationStatus>;
106
+ /**
107
+ * Check health of a specific follower
108
+ *
109
+ * Performs a health check on a follower to verify reachability and measure lag.
110
+ *
111
+ * @param state - The DurableObjectState instance (leader)
112
+ * @param ref - Reference to the follower to check
113
+ * @returns Health check result
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * const health = await checkFollowerHealth(state, followerRef)
118
+ * if (!health.reachable) {
119
+ * console.warn(`Follower unreachable: ${health.error}`)
120
+ * } else if (health.lag > 1000) {
121
+ * console.warn(`Follower lag high: ${health.lag}ms`)
122
+ * }
123
+ * ```
124
+ */
125
+ export declare function checkFollowerHealth(state: DurableObjectState, ref: DigitalObjectRef): Promise<FollowerHealthCheck>;
126
+ /**
127
+ * Replicate a change to all followers
128
+ *
129
+ * Sends a change to all followers. Used internally when writes occur on the leader.
130
+ *
131
+ * @param state - The DurableObjectState instance (leader)
132
+ * @param change - The change to replicate
133
+ * @returns Results for each follower
134
+ */
135
+ export declare function replicateToFollowers(state: DurableObjectState, change: ReplicationChange): Promise<Map<DigitalObjectRef, ReplicationResult>>;
136
+ /**
137
+ * A change to be replicated
138
+ */
139
+ export interface ReplicationChange {
140
+ /** Sequence number for ordering */
141
+ sequence: number;
142
+ /** Timestamp of the change */
143
+ timestamp: number;
144
+ /** Type of change */
145
+ type: 'put' | 'delete' | 'transaction';
146
+ /** Storage key affected */
147
+ key?: string;
148
+ /** New value (for put) */
149
+ value?: unknown;
150
+ /** Multiple operations (for transaction) */
151
+ operations?: Array<{
152
+ type: 'put' | 'delete';
153
+ key: string;
154
+ value?: unknown;
155
+ }>;
156
+ }
157
+ /**
158
+ * Result of replicating to a single follower
159
+ */
160
+ export interface ReplicationResult {
161
+ /** Whether replication succeeded */
162
+ success: boolean;
163
+ /** Replication latency in ms */
164
+ latency: number;
165
+ /** Error message if failed */
166
+ error?: string;
167
+ }
168
+ /**
169
+ * Configure replication settings
170
+ *
171
+ * Sets the replication configuration for this DO.
172
+ *
173
+ * @param state - The DurableObjectState instance
174
+ * @param config - Replication configuration
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * await configureReplication(state, {
179
+ * mode: 'leader-follower',
180
+ * maxLag: 1000,
181
+ * conflictResolution: { strategy: 'last-write-wins' },
182
+ * collections: ['users', 'orders'],
183
+ * })
184
+ * ```
185
+ */
186
+ export declare function configureReplication(state: DurableObjectState, config: Partial<ReplicationConfig>): Promise<void>;
187
+ /**
188
+ * Get the current replication configuration
189
+ *
190
+ * @param state - The DurableObjectState instance
191
+ * @returns Current replication config
192
+ */
193
+ export declare function getReplicationConfig(state: DurableObjectState): Promise<ReplicationConfig>;
194
+ //# sourceMappingURL=followers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"followers.d.ts","sourceRoot":"","sources":["../../../do/colo/followers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAGlB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG5D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,GAAG,EAAE,gBAAgB,CAAA;IACrB,oCAAoC;IACpC,SAAS,EAAE,OAAO,CAAA;IAClB,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAA;IACrB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAO7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAU5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,mBAAmB,CAAC,CAU9B;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAWnD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB;IACrB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,aAAa,CAAA;IACtC,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,4CAA4C;IAC5C,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAO5B"}