@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,557 @@
1
+ /**
2
+ * CapnWeb RPC Method Registry and Dispatch
3
+ *
4
+ * Manages registration of RPC methods and dispatches incoming requests
5
+ * to the appropriate handlers. Supports middleware/hooks for cross-cutting
6
+ * concerns like authentication, logging, and rate limiting.
7
+ *
8
+ * @module rpc/methods
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import { MethodRegistry, dispatch } from 'do/rpc/methods'
13
+ *
14
+ * // Create registry and register methods
15
+ * const registry = new MethodRegistry()
16
+ *
17
+ * registry.register('do.things.list', async (params, ctx) => {
18
+ * return ctx.state.storage.list('things')
19
+ * })
20
+ *
21
+ * // Add middleware
22
+ * registry.use(async (request, ctx, next) => {
23
+ * console.log(`Calling ${request.method}`)
24
+ * const result = await next()
25
+ * console.log(`Completed ${request.method}`)
26
+ * return result
27
+ * })
28
+ *
29
+ * // Dispatch a request
30
+ * const response = await dispatch(registry, request, context)
31
+ * ```
32
+ */
33
+ import { RpcErrorCodes } from '../types/rpc';
34
+ // =============================================================================
35
+ // Method Registry Class
36
+ // =============================================================================
37
+ /**
38
+ * Registry for RPC methods
39
+ *
40
+ * Manages method registration, middleware, and provides dispatch functionality.
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * const registry = new MethodRegistry()
45
+ *
46
+ * // Register with options
47
+ * registry.register('do.things.list', handler, {
48
+ * description: 'List all things',
49
+ * params: {
50
+ * limit: { type: 'number', required: false, default: 100 },
51
+ * offset: { type: 'number', required: false, default: 0 },
52
+ * },
53
+ * returns: 'Thing[]',
54
+ * rateLimit: 100,
55
+ * })
56
+ *
57
+ * // Get method info
58
+ * const method = registry.get('do.things.list')
59
+ *
60
+ * // List all methods
61
+ * const methods = registry.list()
62
+ * ```
63
+ */
64
+ export class MethodRegistry {
65
+ /** Map of method names to registered methods */
66
+ methods = new Map();
67
+ /** Middleware chain */
68
+ middleware = [];
69
+ /**
70
+ * Create a new method registry
71
+ */
72
+ constructor() {
73
+ // Initialize internal maps for methods and middleware
74
+ this.methods = new Map();
75
+ this.middleware = [];
76
+ }
77
+ /**
78
+ * Register a method handler
79
+ *
80
+ * @param name - Method name (e.g., 'do.things.list')
81
+ * @param handler - Handler function
82
+ * @param options - Optional metadata and configuration
83
+ * @throws Error if method is already registered
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * registry.register('do.things.create', async (params, ctx) => {
88
+ * const thing = await ctx.state.storage.put('things', params)
89
+ * return thing
90
+ * }, {
91
+ * description: 'Create a new thing',
92
+ * params: { name: { type: 'string', required: true } },
93
+ * })
94
+ * ```
95
+ */
96
+ register(name, handler, options) {
97
+ // Validate method name format (should be dot-separated)
98
+ if (!name || typeof name !== 'string') {
99
+ throw new Error('Method name must be a non-empty string');
100
+ }
101
+ // Check for duplicate registration
102
+ if (this.methods.has(name)) {
103
+ throw new Error(`Method already registered: ${name}`);
104
+ }
105
+ // Store handler and options
106
+ this.methods.set(name, {
107
+ name,
108
+ handler,
109
+ options: options ?? {},
110
+ });
111
+ }
112
+ /**
113
+ * Register multiple methods at once
114
+ *
115
+ * @param methods - Map of method names to handlers
116
+ * @param options - Shared options for all methods
117
+ */
118
+ registerAll(methods, options) {
119
+ for (const [name, handler] of Object.entries(methods)) {
120
+ this.register(name, handler, options);
121
+ }
122
+ }
123
+ /**
124
+ * Unregister a method
125
+ *
126
+ * @param name - Method name to unregister
127
+ * @returns Whether the method was found and removed
128
+ */
129
+ unregister(name) {
130
+ return this.methods.delete(name);
131
+ }
132
+ /**
133
+ * Get a registered method
134
+ *
135
+ * @param name - Method name
136
+ * @returns Registered method or undefined
137
+ */
138
+ get(name) {
139
+ return this.methods.get(name);
140
+ }
141
+ /**
142
+ * Check if a method is registered
143
+ *
144
+ * @param name - Method name
145
+ * @returns Whether the method exists
146
+ */
147
+ has(name) {
148
+ return this.methods.has(name);
149
+ }
150
+ /**
151
+ * List all registered methods
152
+ *
153
+ * @param namespace - Optional namespace filter (e.g., 'things')
154
+ * @returns Array of registered methods
155
+ */
156
+ list(namespace) {
157
+ const allMethods = Array.from(this.methods.values());
158
+ if (!namespace) {
159
+ return allMethods;
160
+ }
161
+ // Filter by namespace (namespace is the part after 'do.' and before the action)
162
+ // e.g., 'do.things.list' -> namespace is 'things'
163
+ return allMethods.filter((method) => {
164
+ const parts = method.name.split('.');
165
+ // Expected format: do.{namespace}.{action}
166
+ return parts.length >= 3 && parts[1] === namespace;
167
+ });
168
+ }
169
+ /**
170
+ * List methods grouped by namespace
171
+ *
172
+ * @returns Map of namespace to method names
173
+ */
174
+ listByNamespace() {
175
+ const grouped = new Map();
176
+ for (const method of this.methods.values()) {
177
+ const parts = method.name.split('.');
178
+ // Expected format: do.{namespace}.{action}
179
+ const namespace = parts.length >= 3 ? parts[1] : 'other';
180
+ if (!grouped.has(namespace)) {
181
+ grouped.set(namespace, []);
182
+ }
183
+ grouped.get(namespace).push(method.name);
184
+ }
185
+ return grouped;
186
+ }
187
+ /**
188
+ * Add middleware to the chain
189
+ *
190
+ * Middleware is executed in order of registration.
191
+ *
192
+ * @param middleware - Middleware function
193
+ *
194
+ * @example
195
+ * ```typescript
196
+ * // Logging middleware
197
+ * registry.use(async (request, ctx, next) => {
198
+ * const start = Date.now()
199
+ * try {
200
+ * return await next()
201
+ * } finally {
202
+ * console.log(`${request.method} took ${Date.now() - start}ms`)
203
+ * }
204
+ * })
205
+ *
206
+ * // Auth middleware
207
+ * registry.use(async (request, ctx, next) => {
208
+ * if (!ctx.meta?.auth) {
209
+ * throw new Error('Unauthorized')
210
+ * }
211
+ * return next()
212
+ * })
213
+ * ```
214
+ */
215
+ use(middleware) {
216
+ this.middleware.push(middleware);
217
+ }
218
+ /**
219
+ * Get all registered middleware
220
+ *
221
+ * @returns Array of middleware functions
222
+ */
223
+ getMiddleware() {
224
+ return [...this.middleware];
225
+ }
226
+ }
227
+ // =============================================================================
228
+ // Dispatch Function
229
+ // =============================================================================
230
+ /**
231
+ * Dispatch an RPC request to the appropriate handler
232
+ *
233
+ * Runs the middleware chain and then the method handler.
234
+ * Returns an RPC response with either result or error.
235
+ *
236
+ * @param registry - Method registry
237
+ * @param request - RPC request
238
+ * @param ctx - Method context
239
+ * @returns RPC response
240
+ *
241
+ * @example
242
+ * ```typescript
243
+ * const response = await dispatch(registry, {
244
+ * id: '1',
245
+ * method: 'do.things.list',
246
+ * params: { limit: 10 },
247
+ * }, context)
248
+ *
249
+ * if (response.error) {
250
+ * console.error(response.error.message)
251
+ * } else {
252
+ * console.log(response.result)
253
+ * }
254
+ * ```
255
+ */
256
+ export async function dispatch(registry, request, ctx) {
257
+ try {
258
+ // Look up method in registry
259
+ const method = registry.get(request.method);
260
+ // Return MethodNotFound error if not found
261
+ if (!method) {
262
+ return {
263
+ id: request.id,
264
+ error: {
265
+ code: RpcErrorCodes.MethodNotFound,
266
+ message: `Method not found: ${request.method}`,
267
+ },
268
+ };
269
+ }
270
+ // Build middleware chain
271
+ const middleware = registry.getMiddleware();
272
+ // Execute chain with handler at the end
273
+ let index = 0;
274
+ const executeNext = async () => {
275
+ if (index < middleware.length) {
276
+ const currentMiddleware = middleware[index++];
277
+ return currentMiddleware(request, ctx, executeNext);
278
+ }
279
+ else {
280
+ // Execute the actual handler
281
+ return method.handler(request.params, ctx);
282
+ }
283
+ };
284
+ const result = await executeNext();
285
+ // Return response with result
286
+ return {
287
+ id: request.id,
288
+ result,
289
+ };
290
+ }
291
+ catch (error) {
292
+ // Catch errors and convert to RPC errors
293
+ const rpcError = {
294
+ code: RpcErrorCodes.InternalError,
295
+ message: error instanceof Error ? error.message : 'Unknown error',
296
+ data: error instanceof Error ? { stack: error.stack } : undefined,
297
+ };
298
+ return {
299
+ id: request.id,
300
+ error: rpcError,
301
+ };
302
+ }
303
+ }
304
+ /**
305
+ * Dispatch a batch of requests
306
+ *
307
+ * Executes requests in parallel (unless abortOnError is true).
308
+ *
309
+ * @param registry - Method registry
310
+ * @param requests - Array of RPC requests
311
+ * @param ctx - Method context
312
+ * @param abortOnError - Stop on first error
313
+ * @returns Array of RPC responses
314
+ */
315
+ export async function dispatchBatch(registry, requests, ctx, abortOnError) {
316
+ if (abortOnError) {
317
+ // Execute sequentially and stop on first error
318
+ const responses = [];
319
+ for (const request of requests) {
320
+ const response = await dispatch(registry, request, ctx);
321
+ responses.push(response);
322
+ if (response.error) {
323
+ break;
324
+ }
325
+ }
326
+ return responses;
327
+ }
328
+ else {
329
+ // Execute in parallel with Promise.all
330
+ return Promise.all(requests.map((request) => dispatch(registry, request, ctx)));
331
+ }
332
+ }
333
+ // =============================================================================
334
+ // Built-in Middleware
335
+ // =============================================================================
336
+ /**
337
+ * Create a logging middleware
338
+ *
339
+ * @param logger - Logger function (defaults to console.log)
340
+ * @returns Middleware function
341
+ */
342
+ export function createLoggingMiddleware(logger = console.log) {
343
+ return async (request, ctx, next) => {
344
+ const start = Date.now();
345
+ logger(`RPC: ${request.method} started`);
346
+ try {
347
+ const result = await next();
348
+ logger(`RPC: ${request.method} completed in ${Date.now() - start}ms`);
349
+ return result;
350
+ }
351
+ catch (error) {
352
+ logger(`RPC: ${request.method} failed in ${Date.now() - start}ms - ${error instanceof Error ? error.message : 'Unknown error'}`);
353
+ throw error;
354
+ }
355
+ };
356
+ }
357
+ /**
358
+ * Create an authentication middleware
359
+ *
360
+ * @param validator - Function to validate auth token
361
+ * @returns Middleware function
362
+ */
363
+ export function createAuthMiddleware(validator) {
364
+ return async (request, ctx, next) => {
365
+ const token = ctx.meta?.auth;
366
+ if (!token) {
367
+ throw new RPCAuthError('Authentication required');
368
+ }
369
+ const isValid = await validator(token, ctx);
370
+ if (!isValid) {
371
+ throw new RPCAuthError('Invalid authentication token');
372
+ }
373
+ return next();
374
+ };
375
+ }
376
+ /**
377
+ * RPC authentication error
378
+ */
379
+ export class RPCAuthError extends Error {
380
+ code = RpcErrorCodes.Unauthorized;
381
+ constructor(message) {
382
+ super(message);
383
+ this.name = 'RPCAuthError';
384
+ }
385
+ }
386
+ /**
387
+ * RPC rate limit error
388
+ */
389
+ export class RPCRateLimitError extends Error {
390
+ code = RpcErrorCodes.RateLimited;
391
+ constructor(message) {
392
+ super(message);
393
+ this.name = 'RPCRateLimitError';
394
+ }
395
+ }
396
+ /**
397
+ * Create a rate limiting middleware
398
+ *
399
+ * @param maxRequests - Maximum requests per window
400
+ * @param windowMs - Window duration in milliseconds
401
+ * @returns Middleware function
402
+ */
403
+ export function createRateLimitMiddleware(maxRequests, windowMs) {
404
+ const requestCounts = new Map();
405
+ return async (request, ctx, next) => {
406
+ const key = ctx.meta?.auth ?? 'anonymous';
407
+ const now = Date.now();
408
+ let entry = requestCounts.get(key);
409
+ if (!entry || now - entry.windowStart >= windowMs) {
410
+ // Start new window
411
+ entry = { count: 0, windowStart: now };
412
+ requestCounts.set(key, entry);
413
+ }
414
+ entry.count++;
415
+ if (entry.count > maxRequests) {
416
+ throw new RPCRateLimitError(`Rate limit exceeded: ${maxRequests} requests per ${windowMs}ms`);
417
+ }
418
+ return next();
419
+ };
420
+ }
421
+ /**
422
+ * Create a timing middleware that adds duration to response meta
423
+ *
424
+ * @returns Middleware function
425
+ */
426
+ export function createTimingMiddleware() {
427
+ return async (request, ctx, next) => {
428
+ const start = Date.now();
429
+ const result = await next();
430
+ const duration = Date.now() - start;
431
+ // Add duration to context meta
432
+ if (!ctx.meta) {
433
+ ctx.meta = {};
434
+ }
435
+ ctx.meta.duration = duration;
436
+ return result;
437
+ };
438
+ }
439
+ /**
440
+ * Create default handlers for system methods
441
+ *
442
+ * Includes: do.system.ping, do.system.stats, do.system.schema
443
+ *
444
+ * @param registry - Registry to populate with system methods
445
+ */
446
+ export function registerSystemMethods(registry) {
447
+ // Register do.system.ping
448
+ registry.register('do.system.ping', async () => {
449
+ return { pong: true, timestamp: Date.now() };
450
+ }, {
451
+ description: 'Health check ping',
452
+ returns: '{ pong: true, timestamp: number }',
453
+ });
454
+ // Register do.system.stats
455
+ registry.register('do.system.stats', async (_params, ctx) => {
456
+ const doCtx = ctx;
457
+ const identity = doCtx.getIdentity?.() ?? { $id: 'unknown', $type: 'unknown', $version: 0, $createdAt: 0, $updatedAt: 0 };
458
+ return {
459
+ identity,
460
+ storage: {
461
+ usedBytes: 0, // Would need actual storage metrics
462
+ tableCount: 0,
463
+ rowCount: 0,
464
+ },
465
+ connections: {
466
+ active: 0,
467
+ hibernating: 0,
468
+ },
469
+ cdc: {
470
+ sequence: 0,
471
+ pendingEvents: 0,
472
+ subscribers: 0,
473
+ },
474
+ uptime: Date.now() - identity.$createdAt,
475
+ lastActivity: Date.now(),
476
+ };
477
+ }, {
478
+ description: 'Get DO statistics',
479
+ returns: 'DOStats',
480
+ });
481
+ // Register do.system.schema
482
+ registry.register('do.system.schema', async (_params, ctx) => {
483
+ const doCtx = ctx;
484
+ const identity = doCtx.getIdentity?.();
485
+ const methods = registry.list();
486
+ return {
487
+ type: identity?.$type ?? 'DigitalObject',
488
+ methods: methods.map((m) => ({
489
+ name: m.name,
490
+ description: m.options.description,
491
+ params: m.options.params,
492
+ returns: m.options.returns,
493
+ })),
494
+ collections: [], // Would be populated from actual collections
495
+ };
496
+ }, {
497
+ description: 'Get DO schema (available methods)',
498
+ returns: 'DOSchema',
499
+ });
500
+ }
501
+ /**
502
+ * Create default handlers for identity methods
503
+ *
504
+ * Includes: do.identity.get, do.identity.setContext, do.identity.getContext
505
+ *
506
+ * @param registry - Registry to populate with identity methods
507
+ */
508
+ export function registerIdentityMethods(registry) {
509
+ // Register do.identity.get
510
+ registry.register('do.identity.get', async (_params, ctx) => {
511
+ const doCtx = ctx;
512
+ if (!doCtx.getIdentity) {
513
+ throw new Error('DO context does not support getIdentity');
514
+ }
515
+ return doCtx.getIdentity();
516
+ }, {
517
+ description: 'Get DO identity',
518
+ returns: 'DigitalObjectIdentity',
519
+ });
520
+ // Register do.identity.setContext
521
+ registry.register('do.identity.setContext', async (params, ctx) => {
522
+ const doCtx = ctx;
523
+ if (!doCtx.setContext) {
524
+ throw new Error('DO context does not support setContext');
525
+ }
526
+ const { ref } = params;
527
+ await doCtx.setContext(ref);
528
+ }, {
529
+ description: 'Set parent context for CDC streaming',
530
+ params: {
531
+ ref: { type: 'string', required: true, description: 'Parent DO reference URL' },
532
+ },
533
+ });
534
+ // Register do.identity.getContext
535
+ registry.register('do.identity.getContext', async (_params, ctx) => {
536
+ const doCtx = ctx;
537
+ if (!doCtx.getContext) {
538
+ throw new Error('DO context does not support getContext');
539
+ }
540
+ return doCtx.getContext() ?? null;
541
+ }, {
542
+ description: 'Get parent context',
543
+ returns: 'DigitalObjectRef | null',
544
+ });
545
+ }
546
+ /**
547
+ * Create a default registry with all standard DO methods registered
548
+ *
549
+ * @returns A new MethodRegistry with system and identity methods registered
550
+ */
551
+ export function createDefaultRegistry() {
552
+ const registry = new MethodRegistry();
553
+ registerSystemMethods(registry);
554
+ registerIdentityMethods(registry);
555
+ return registry;
556
+ }
557
+ //# sourceMappingURL=methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../rpc/methods.ts"],"names":[],"mappings":"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"}