@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,249 @@
1
+ /**
2
+ * DO RPC Client - Wraps rpc.do for Digital Object operations
3
+ *
4
+ * Provides a type-safe client for interacting with Digital Objects via RPC.
5
+ * Uses rpc.do as the underlying transport with DO-specific API definitions.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { createDOApiClient } from '@do/sdk/rpc'
10
+ *
11
+ * const client = createDOApiClient({ baseURL: 'https://my-do.workers.dev' })
12
+ * const things = await client.things.list()
13
+ *
14
+ * // With authentication
15
+ * const authClient = createDOApiClient({
16
+ * baseURL: 'https://my-do.workers.dev',
17
+ * token: 'my-api-token'
18
+ * })
19
+ * ```
20
+ *
21
+ * @module @do/sdk/rpc
22
+ */
23
+ import { RPC, http, ws, capnweb, composite, binding } from 'rpc.do';
24
+ // =============================================================================
25
+ // Re-exports from rpc.do
26
+ // =============================================================================
27
+ export { RPC, http, ws, capnweb, composite, binding };
28
+ let globalEnv = null;
29
+ /** Environment variable keys checked for API key (in order) */
30
+ const API_KEY_ENV_VARS = ['DO_API_KEY', 'DO_TOKEN', 'ORG_AI_API_KEY', 'ORG_AI_TOKEN'];
31
+ /**
32
+ * Set the global environment for all DO SDKs
33
+ * Call this once at your app's entry point
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // Workers
38
+ * import { env } from 'cloudflare:workers'
39
+ * import { setEnv } from '@do/sdk/rpc'
40
+ * setEnv(env)
41
+ *
42
+ * // Node.js
43
+ * import { setEnv } from '@do/sdk/rpc'
44
+ * setEnv(process.env)
45
+ * ```
46
+ */
47
+ export function setEnv(env) {
48
+ globalEnv = env;
49
+ }
50
+ /**
51
+ * Get the global environment
52
+ * Returns null if not set
53
+ */
54
+ export function getEnv() {
55
+ return globalEnv;
56
+ }
57
+ /**
58
+ * Get a specific environment variable
59
+ */
60
+ export function getEnvVar(key) {
61
+ return globalEnv?.[key];
62
+ }
63
+ /**
64
+ * Check if environment is configured
65
+ */
66
+ export function isEnvConfigured() {
67
+ return globalEnv !== null;
68
+ }
69
+ /**
70
+ * Get the effective environment (explicit > global > Node.js process.env)
71
+ */
72
+ function getEffectiveEnv(envOverride) {
73
+ if (envOverride)
74
+ return envOverride;
75
+ if (globalEnv)
76
+ return globalEnv;
77
+ // Auto-detect Node.js
78
+ if (typeof globalThis !== 'undefined') {
79
+ const global = globalThis;
80
+ if (global.process?.env)
81
+ return global.process.env;
82
+ }
83
+ return null;
84
+ }
85
+ /**
86
+ * Get default API key from environment (async version)
87
+ * Checks: DO_API_KEY, DO_TOKEN, ORG_AI_API_KEY, ORG_AI_TOKEN
88
+ */
89
+ export async function getDefaultApiKey(envOverride) {
90
+ const env = getEffectiveEnv(envOverride);
91
+ if (env) {
92
+ for (const key of API_KEY_ENV_VARS) {
93
+ const value = env[key];
94
+ if (typeof value === 'string' && value) {
95
+ return value;
96
+ }
97
+ }
98
+ }
99
+ return undefined;
100
+ }
101
+ /**
102
+ * Get default API key from environment (sync version)
103
+ */
104
+ export function getDefaultApiKeySync(envOverride) {
105
+ const env = getEffectiveEnv(envOverride);
106
+ if (env) {
107
+ for (const key of API_KEY_ENV_VARS) {
108
+ const value = env[key];
109
+ if (typeof value === 'string' && value) {
110
+ return value;
111
+ }
112
+ }
113
+ }
114
+ return undefined;
115
+ }
116
+ // =============================================================================
117
+ // Client Factory
118
+ // =============================================================================
119
+ /**
120
+ * Create a typed DO RPC client.
121
+ *
122
+ * The client provides type-safe access to all DO collections via RPC.
123
+ * It automatically handles authentication and transport selection.
124
+ *
125
+ * @param options - Client configuration
126
+ * @returns Typed DO API client
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * // Basic usage
131
+ * const client = createDOApiClient({ baseURL: 'https://my-do.workers.dev' })
132
+ *
133
+ * // List all things
134
+ * const { items } = await client.things.list({ limit: 10 })
135
+ *
136
+ * // Create a new thing
137
+ * const thing = await client.things.create({
138
+ * $type: 'Customer',
139
+ * name: 'Acme Corp',
140
+ * email: 'contact@acme.com'
141
+ * })
142
+ *
143
+ * // Traverse relationships
144
+ * const result = await client.relationships.traverse({
145
+ * from: 'customer-123',
146
+ * type: 'purchased',
147
+ * depth: 2
148
+ * })
149
+ *
150
+ * // Close when done
151
+ * await client.close?.()
152
+ * ```
153
+ */
154
+ export function createDOApiClient(options = {}) {
155
+ const { baseURL = 'https://do.md', doId, token, authProvider, transport: transportType = 'http', env, debug } = options;
156
+ // Resolve auth from options or environment
157
+ const auth = token ?? authProvider ?? getDefaultApiKeySync(env);
158
+ // Build endpoint URL
159
+ const endpoint = doId ? `${baseURL}/do/${doId}` : baseURL;
160
+ // Create transport based on type
161
+ let transport;
162
+ switch (transportType) {
163
+ case 'ws':
164
+ transport = ws(endpoint, auth);
165
+ break;
166
+ case 'capnweb':
167
+ transport = capnweb(endpoint, { websocket: true, auth });
168
+ break;
169
+ case 'auto':
170
+ // Try WebSocket first, fallback to HTTP
171
+ transport = composite(ws(endpoint, auth), http(endpoint, auth));
172
+ break;
173
+ case 'http':
174
+ default:
175
+ transport = http(endpoint, auth);
176
+ }
177
+ if (debug) {
178
+ console.debug(`[DO RPC] Creating client for ${endpoint} with transport: ${transportType}`);
179
+ }
180
+ return RPC(transport);
181
+ }
182
+ // =============================================================================
183
+ // Convenience Exports
184
+ // =============================================================================
185
+ /**
186
+ * Create a client for a specific DO instance
187
+ *
188
+ * @param doId - DO instance identifier
189
+ * @param options - Additional client options
190
+ * @returns Typed DO API client
191
+ */
192
+ export function connectDO(doId, options = {}) {
193
+ return createDOApiClient({ ...options, doId });
194
+ }
195
+ /**
196
+ * Default DO client instance.
197
+ *
198
+ * Uses environment variables for configuration:
199
+ * - DO_API_KEY or DO_TOKEN for authentication
200
+ * - DO_BASE_URL for base URL (default: https://do.md)
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * import { doClient } from '@do/sdk/rpc'
205
+ *
206
+ * const things = await doClient.things.list()
207
+ * ```
208
+ */
209
+ export const doClient = createDOApiClient();
210
+ // =============================================================================
211
+ // Service Binding Support
212
+ // =============================================================================
213
+ /**
214
+ * Create a client from a Cloudflare Workers service binding
215
+ *
216
+ * @param serviceBinding - The service binding from env
217
+ * @returns Typed DO API client
218
+ *
219
+ * @example
220
+ * ```typescript
221
+ * export default {
222
+ * async fetch(request, env) {
223
+ * const client = createDOClientFromBinding(env.DO_SERVICE)
224
+ * const things = await client.things.list()
225
+ * return Response.json(things)
226
+ * }
227
+ * }
228
+ * ```
229
+ */
230
+ export function createDOClientFromBinding(serviceBinding) {
231
+ return RPC(binding(serviceBinding));
232
+ }
233
+ // =============================================================================
234
+ // RPC Error Class
235
+ // =============================================================================
236
+ /**
237
+ * Error class for RPC failures
238
+ */
239
+ export class RPCError extends Error {
240
+ code;
241
+ data;
242
+ constructor(code, message, data) {
243
+ super(message);
244
+ this.code = code;
245
+ this.data = data;
246
+ this.name = 'RPCError';
247
+ }
248
+ }
249
+ //# sourceMappingURL=rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../sdk/rpc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,283 @@
1
+ /**
2
+ * @fileoverview Transport layer implementations for DO SDK
3
+ *
4
+ * This module provides transport implementations:
5
+ * - WebSocketTransport: Primary transport using CapnWeb protocol
6
+ * - HTTPTransport: Fallback transport using HTTP POST
7
+ * - AutoTransport: Automatic selection with fallback
8
+ *
9
+ * @module @do/sdk/transport
10
+ */
11
+ import type { Transport, TransportMessage, TransportResponse, TransportEventType, TransportEventHandler, ConnectionState, ReconnectConfig } from './types';
12
+ /**
13
+ * Abstract base class for transport implementations.
14
+ * Provides common functionality for event handling and state management.
15
+ */
16
+ declare abstract class BaseTransport implements Transport {
17
+ protected _state: ConnectionState;
18
+ protected readonly eventHandlers: Map<TransportEventType, Set<Function>>;
19
+ /** @inheritdoc */
20
+ get state(): ConnectionState;
21
+ /** @inheritdoc */
22
+ abstract connect(): Promise<void>;
23
+ /** @inheritdoc */
24
+ abstract disconnect(): Promise<void>;
25
+ /** @inheritdoc */
26
+ abstract send(message: TransportMessage): Promise<TransportResponse>;
27
+ /** @inheritdoc */
28
+ on<E extends TransportEventType>(event: E, handler: TransportEventHandler<E>): void;
29
+ /** @inheritdoc */
30
+ off<E extends TransportEventType>(event: E, handler: TransportEventHandler<E>): void;
31
+ /**
32
+ * Emit an event to all registered handlers
33
+ *
34
+ * @param event - Event type to emit
35
+ * @param args - Arguments to pass to handlers
36
+ */
37
+ protected emit<E extends TransportEventType>(event: E, ...args: Parameters<TransportEventHandler<E>>): void;
38
+ /**
39
+ * Update connection state and emit events
40
+ *
41
+ * @param newState - New connection state
42
+ * @param reason - Optional reason for state change
43
+ */
44
+ protected setState(newState: ConnectionState, reason?: string): void;
45
+ }
46
+ /**
47
+ * Configuration options for WebSocket transport
48
+ */
49
+ export interface WebSocketTransportConfig {
50
+ /** WebSocket URL (wss:// or ws://) */
51
+ url: string;
52
+ /** DO instance ID */
53
+ id: string;
54
+ /** Authentication token */
55
+ token?: string;
56
+ /** Reconnection configuration */
57
+ reconnect?: ReconnectConfig;
58
+ /** Request timeout in milliseconds */
59
+ timeout?: number;
60
+ }
61
+ /**
62
+ * WebSocket transport using CapnWeb protocol.
63
+ *
64
+ * Features:
65
+ * - Binary message format for efficiency
66
+ * - Automatic reconnection with exponential backoff
67
+ * - Ping/pong health checks
68
+ * - Request/response correlation
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * const transport = new WebSocketTransport({
73
+ * url: 'wss://my-do.workers.dev',
74
+ * id: 'instance-123',
75
+ * token: 'my-auth-token',
76
+ * })
77
+ *
78
+ * await transport.connect()
79
+ * const response = await transport.send({
80
+ * id: 'req-1',
81
+ * type: MessageType.Request,
82
+ * method: 'increment',
83
+ * payload: { amount: 5 },
84
+ * timestamp: Date.now(),
85
+ * })
86
+ * ```
87
+ */
88
+ export declare class WebSocketTransport extends BaseTransport {
89
+ private readonly config;
90
+ private readonly reconnectConfig;
91
+ private readonly timeout;
92
+ private readonly pendingRequests;
93
+ private ws;
94
+ private pingTimer;
95
+ private reconnectAttempts;
96
+ private reconnectTimer;
97
+ private manualDisconnect;
98
+ /**
99
+ * Create a new WebSocket transport
100
+ *
101
+ * @param config - Transport configuration
102
+ */
103
+ constructor(config: WebSocketTransportConfig);
104
+ /** @inheritdoc */
105
+ connect(): Promise<void>;
106
+ /** @inheritdoc */
107
+ disconnect(): Promise<void>;
108
+ /** @inheritdoc */
109
+ send(message: TransportMessage): Promise<TransportResponse>;
110
+ /**
111
+ * Build the WebSocket URL with authentication
112
+ */
113
+ private buildWebSocketUrl;
114
+ /**
115
+ * Encode a message for transmission using CapnWeb binary format
116
+ *
117
+ * @param message - Message to encode
118
+ * @returns Encoded message as ArrayBuffer
119
+ */
120
+ private encodeMessage;
121
+ /**
122
+ * Decode a received message from CapnWeb binary format
123
+ *
124
+ * @param data - Received data
125
+ * @returns Decoded message
126
+ */
127
+ private decodeMessage;
128
+ /**
129
+ * Handle incoming WebSocket message
130
+ *
131
+ * @param data - Received data
132
+ */
133
+ private handleMessage;
134
+ /**
135
+ * Handle WebSocket close event
136
+ *
137
+ * @param reason - Close reason
138
+ */
139
+ private handleClose;
140
+ /**
141
+ * Schedule a reconnection attempt
142
+ */
143
+ private scheduleReconnect;
144
+ /**
145
+ * Clear the reconnect timer
146
+ */
147
+ private clearReconnectTimer;
148
+ /**
149
+ * Start the ping interval for connection health
150
+ */
151
+ private startPingInterval;
152
+ /**
153
+ * Stop the ping interval
154
+ */
155
+ private stopPingInterval;
156
+ }
157
+ /**
158
+ * Configuration options for HTTP transport
159
+ */
160
+ export interface HTTPTransportConfig {
161
+ /** Base HTTP URL */
162
+ url: string;
163
+ /** DO instance ID */
164
+ id: string;
165
+ /** Authentication token */
166
+ token?: string;
167
+ /** Custom headers */
168
+ headers?: Record<string, string>;
169
+ /** Request timeout in milliseconds */
170
+ timeout?: number;
171
+ }
172
+ /**
173
+ * HTTP POST transport for DO RPC.
174
+ *
175
+ * Used as a fallback when WebSocket is unavailable.
176
+ * Each RPC call is a separate HTTP request.
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * const transport = new HTTPTransport({
181
+ * url: 'https://my-do.workers.dev',
182
+ * id: 'instance-123',
183
+ * token: 'my-auth-token',
184
+ * })
185
+ *
186
+ * await transport.connect() // No-op for HTTP
187
+ * const response = await transport.send({
188
+ * id: 'req-1',
189
+ * type: MessageType.Request,
190
+ * method: 'increment',
191
+ * payload: { amount: 5 },
192
+ * timestamp: Date.now(),
193
+ * })
194
+ * ```
195
+ */
196
+ export declare class HTTPTransport extends BaseTransport {
197
+ private readonly config;
198
+ private readonly timeout;
199
+ /**
200
+ * Create a new HTTP transport
201
+ *
202
+ * @param config - Transport configuration
203
+ */
204
+ constructor(config: HTTPTransportConfig);
205
+ /** @inheritdoc */
206
+ connect(): Promise<void>;
207
+ /** @inheritdoc */
208
+ disconnect(): Promise<void>;
209
+ /** @inheritdoc */
210
+ send(message: TransportMessage): Promise<TransportResponse>;
211
+ }
212
+ /**
213
+ * Configuration options for auto transport
214
+ */
215
+ export interface AutoTransportConfig {
216
+ /** Base URL */
217
+ url: string;
218
+ /** DO instance ID */
219
+ id: string;
220
+ /** Authentication token */
221
+ token?: string;
222
+ /** Custom headers (HTTP only) */
223
+ headers?: Record<string, string>;
224
+ /** Reconnection configuration (WebSocket only) */
225
+ reconnect?: ReconnectConfig;
226
+ /** Request timeout in milliseconds */
227
+ timeout?: number;
228
+ }
229
+ /**
230
+ * Auto-selecting transport that prefers WebSocket with HTTP fallback.
231
+ *
232
+ * Attempts WebSocket connection first. If it fails or WebSocket is
233
+ * unavailable in the environment, falls back to HTTP transport.
234
+ *
235
+ * @example
236
+ * ```typescript
237
+ * const transport = new AutoTransport({
238
+ * url: 'https://my-do.workers.dev',
239
+ * id: 'instance-123',
240
+ * })
241
+ *
242
+ * await transport.connect() // Tries WebSocket, falls back to HTTP
243
+ * ```
244
+ */
245
+ export declare class AutoTransport extends BaseTransport {
246
+ private readonly config;
247
+ private activeTransport;
248
+ private transportType;
249
+ /**
250
+ * Create a new auto transport
251
+ *
252
+ * @param config - Transport configuration
253
+ */
254
+ constructor(config: AutoTransportConfig);
255
+ /** @inheritdoc */
256
+ get state(): ConnectionState;
257
+ /**
258
+ * Get the currently active transport type
259
+ */
260
+ get activeTransportType(): 'websocket' | 'http' | null;
261
+ /** @inheritdoc */
262
+ connect(): Promise<void>;
263
+ /** @inheritdoc */
264
+ disconnect(): Promise<void>;
265
+ /** @inheritdoc */
266
+ send(message: TransportMessage): Promise<TransportResponse>;
267
+ /**
268
+ * Forward events from the active transport to this transport's handlers
269
+ *
270
+ * @param transport - Transport to forward events from
271
+ */
272
+ private forwardEvents;
273
+ }
274
+ /**
275
+ * Create a transport instance based on configuration
276
+ *
277
+ * @param type - Transport type to create
278
+ * @param config - Transport configuration
279
+ * @returns Transport instance
280
+ */
281
+ export declare function createTransport(type: 'websocket' | 'http' | 'auto', config: AutoTransportConfig): Transport;
282
+ export {};
283
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../sdk/transport.ts"],"names":[],"mappings":"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"}