@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,323 @@
1
+ /**
2
+ * Cascade Types - Relation Operators for Post-Generation Linking
3
+ *
4
+ * Every DO natively supports four relation operators for post-generation linking:
5
+ *
6
+ * | Operator | Type | Action |
7
+ * |----------|------------------|-------------------------------------------|
8
+ * | `->` | Forward Insert | Create entity, link TO it |
9
+ * | `~>` | Forward Search | Vector search existing, link TO it |
10
+ * | `<-` | Backward Insert | Create entity, link FROM it (it owns us) |
11
+ * | `<~` | Backward Search | Vector search existing, link FROM it |
12
+ *
13
+ * Example Schema:
14
+ * ```typescript
15
+ * const CustomerSchema = {
16
+ * $type: 'Customer',
17
+ * company: '~>Company', // Search for matching Company
18
+ * industry: '<~Industry|Sector', // Search Industry, fallback to Sector
19
+ * contacts: ['->Contact'], // Create Contact entities
20
+ * owner: '<-SalesRep', // SalesRep owns this Customer
21
+ * }
22
+ *
23
+ * const StartupSchema = {
24
+ * $type: 'Startup',
25
+ * idea: 'What is the idea? <-Idea', // Idea entity owns this Startup
26
+ * founders: ['Who are founders? ->Founder'],
27
+ * customer: '~>IdealCustomerProfile',
28
+ * }
29
+ * ```
30
+ *
31
+ * These are DO-level primitives. Applications define their own cascade stages
32
+ * and generation pipelines using these operators.
33
+ */
34
+ /**
35
+ * Relation operator type
36
+ *
37
+ * These define how entities are linked after AI generation:
38
+ * - Forward (`->`, `~>`): Current entity links TO target
39
+ * - Backward (`<-`, `<~`): Target entity links FROM current (target owns current)
40
+ * - Insert (`->`, `<-`): Create new entity
41
+ * - Search (`~>`, `<~`): Vector search existing entities
42
+ */
43
+ export type RelationOperator = '->' | '~>' | '<-' | '<~';
44
+ /**
45
+ * Relation direction
46
+ */
47
+ export type RelationDirection = 'Forward' | 'Backward';
48
+ /**
49
+ * Relation method
50
+ */
51
+ export type RelationMethod = 'Insert' | 'Search';
52
+ /**
53
+ * Parse relation operator into direction and method
54
+ */
55
+ export declare function parseRelationOperator(op: RelationOperator): {
56
+ direction: RelationDirection;
57
+ method: RelationMethod;
58
+ };
59
+ /**
60
+ * Relation field definition in schema
61
+ *
62
+ * Format: "prompt text <operator>TargetType|Fallback1|Fallback2"
63
+ *
64
+ * Examples:
65
+ * - 'Who are they? <~Occupation|Role|JobType' - Search with fallbacks
66
+ * - '->Founder' - Insert new Founder
67
+ * - '<-Idea' - Backward link from Idea
68
+ * - '~>Company?' - Optional search
69
+ * - '->Contact[]' - Array of inserts
70
+ */
71
+ export interface RelationFieldDefinition {
72
+ /** The prompt/description for AI generation */
73
+ prompt?: string;
74
+ /** Relation operator */
75
+ operator: RelationOperator;
76
+ /** Target type(s) - first is primary, rest are fallbacks */
77
+ targets: string[];
78
+ /** Is this an array relation? */
79
+ isArray: boolean;
80
+ /** Is this optional? */
81
+ isOptional: boolean;
82
+ }
83
+ /**
84
+ * Parse a relation field string
85
+ *
86
+ * @example
87
+ * parseRelationField('Who are they? <~Occupation|Role')
88
+ * // { prompt: 'Who are they?', operator: '<~', targets: ['Occupation', 'Role'], isArray: false, isOptional: false }
89
+ *
90
+ * parseRelationField('->Founder[]')
91
+ * // { operator: '->', targets: ['Founder'], isArray: true, isOptional: false }
92
+ */
93
+ export declare function parseRelationField(field: string): RelationFieldDefinition | null;
94
+ /**
95
+ * Check if a field value is a relation field
96
+ */
97
+ export declare function isRelationField(value: unknown): boolean;
98
+ /**
99
+ * Stored relation (in _rels table)
100
+ *
101
+ * All relations are stored in a unified table for efficient querying
102
+ */
103
+ export interface StoredRelation {
104
+ /** Relation ID */
105
+ id: string;
106
+ /** Relation type */
107
+ relType: 'Forward' | 'Backward' | 'FuzzyForward' | 'FuzzyBackward';
108
+ /** Relation name (field name in schema) */
109
+ relName: string;
110
+ /** Source collection/type */
111
+ fromCollection: string;
112
+ /** Source entity ID */
113
+ fromId: string;
114
+ /** Target collection/type */
115
+ toCollection: string;
116
+ /** Target entity ID */
117
+ toId: string;
118
+ /** Human-readable label (usually target's title) */
119
+ label?: string;
120
+ /** Source shard (for cross-shard relations) */
121
+ fromShard?: string;
122
+ /** Target shard (for cross-shard relations) */
123
+ toShard?: string;
124
+ /** Ordinal for ordered relations */
125
+ ordinal: number;
126
+ /** Additional metadata */
127
+ metadata?: Record<string, unknown>;
128
+ /** Timestamps */
129
+ createdAt: number;
130
+ updatedAt: number;
131
+ }
132
+ /**
133
+ * Relation manager interface (DO-level)
134
+ *
135
+ * Every DO has a built-in relation manager for handling cascade relations
136
+ */
137
+ export interface RelationManager {
138
+ /** Create a relation */
139
+ create(rel: Omit<StoredRelation, 'id' | 'createdAt' | 'updatedAt'>): Promise<StoredRelation>;
140
+ /** Create bidirectional relation (forward + inverse) */
141
+ createBidirectional(rel: Omit<StoredRelation, 'id' | 'createdAt' | 'updatedAt'>, inverseRelName: string): Promise<[StoredRelation, StoredRelation]>;
142
+ /** Get outgoing relations from an entity */
143
+ getOutgoing(collection: string, docId: string, relName?: string): Promise<StoredRelation[]>;
144
+ /** Get incoming relations to an entity */
145
+ getIncoming(collection: string, docId: string, relName?: string): Promise<StoredRelation[]>;
146
+ /** Get all relations for an entity (both directions) */
147
+ getAll(collection: string, docId: string): Promise<StoredRelation[]>;
148
+ /** Delete a relation */
149
+ delete(relId: string): Promise<boolean>;
150
+ /** Delete all relations for an entity */
151
+ deleteAll(collection: string, docId: string): Promise<number>;
152
+ /** Check if relation exists */
153
+ exists(fromCollection: string, fromId: string, toCollection: string, toId: string): Promise<boolean>;
154
+ /** Count relations */
155
+ count(collection: string, docId: string, direction?: 'Outgoing' | 'Incoming'): Promise<number>;
156
+ /** Update relation metadata */
157
+ updateMetadata(relId: string, metadata: Record<string, unknown>): Promise<StoredRelation>;
158
+ /** Update ordinal (for reordering) */
159
+ updateOrdinal(relId: string, ordinal: number): Promise<StoredRelation>;
160
+ }
161
+ /**
162
+ * Cascade post-processor interface
163
+ *
164
+ * After AI generation, the cascade processor handles relation linking
165
+ */
166
+ export interface CascadeProcessor {
167
+ /**
168
+ * Process cascade relations for a generated entity
169
+ *
170
+ * For each field with a relation operator:
171
+ * - `->`: Create new entity, link TO it
172
+ * - `~>`: Vector search, link TO best match
173
+ * - `<-`: Create new entity, link FROM it
174
+ * - `<~`: Vector search, link FROM best match
175
+ */
176
+ process(sourceType: string, sourceId: string, generatedData: Record<string, unknown>, schema: Record<string, string | string[]>): Promise<CascadeResult>;
177
+ /**
178
+ * Process a single relation field
179
+ */
180
+ processField(sourceType: string, sourceId: string, fieldName: string, fieldValue: unknown, fieldDef: RelationFieldDefinition): Promise<CascadeFieldResult>;
181
+ }
182
+ /**
183
+ * Result of cascade processing
184
+ */
185
+ export interface CascadeResult {
186
+ /** Entities created during cascade */
187
+ created: Array<{
188
+ type: string;
189
+ id: string;
190
+ data?: unknown;
191
+ }>;
192
+ /** Relations created */
193
+ relations: StoredRelation[];
194
+ /** Errors encountered */
195
+ errors: CascadeError[];
196
+ }
197
+ /**
198
+ * Result of processing a single field
199
+ */
200
+ export interface CascadeFieldResult {
201
+ /** Entity created (if insert) */
202
+ created?: {
203
+ type: string;
204
+ id: string;
205
+ data?: unknown;
206
+ };
207
+ /** Entity matched (if search) */
208
+ matched?: {
209
+ type: string;
210
+ id: string;
211
+ score?: number;
212
+ };
213
+ /** Relation created */
214
+ relation?: StoredRelation;
215
+ /** Error if failed */
216
+ error?: CascadeError;
217
+ }
218
+ /**
219
+ * Cascade error
220
+ */
221
+ export interface CascadeError {
222
+ field: string;
223
+ message: string;
224
+ targetType?: string;
225
+ code?: 'NotFound' | 'Ambiguous' | 'Invalid' | 'Failed';
226
+ }
227
+ /**
228
+ * Entity schema with relation fields
229
+ *
230
+ * Fields can be:
231
+ * - Primitive: 'string', 'number', 'boolean', etc.
232
+ * - Prompt: 'What is the name?'
233
+ * - Relation: '->TargetType' or 'prompt ~>TargetType|Fallback'
234
+ * - Array relation: ['->TargetType']
235
+ */
236
+ export type EntitySchema = Record<string, SchemaField>;
237
+ export type SchemaField = string | [string] | SchemaFieldDefinition;
238
+ export interface SchemaFieldDefinition {
239
+ /** Field type or prompt */
240
+ type: string;
241
+ /** Description */
242
+ description?: string;
243
+ /** Is required */
244
+ required?: boolean;
245
+ /** Default value */
246
+ default?: unknown;
247
+ /** Relation definition (if relation field) */
248
+ relation?: RelationFieldDefinition;
249
+ }
250
+ /**
251
+ * Cascade configuration (application-defined)
252
+ *
253
+ * Applications define their own cascade stages and pipelines.
254
+ * This is a generic configuration interface.
255
+ */
256
+ export interface CascadeConfig {
257
+ /** Maximum depth for recursive cascades */
258
+ maxDepth?: number;
259
+ /** Concurrency for parallel processing */
260
+ concurrency?: number;
261
+ /** Retry policy */
262
+ retryPolicy?: {
263
+ maxAttempts: number;
264
+ backoff: 'Linear' | 'Exponential';
265
+ initialDelay?: number;
266
+ };
267
+ /** Rate limiting */
268
+ rateLimit?: {
269
+ requestsPerMinute: number;
270
+ tokensPerMinute?: number;
271
+ };
272
+ /** Vector search options */
273
+ vectorSearch?: {
274
+ topK?: number;
275
+ scoreThreshold?: number;
276
+ };
277
+ /** Checkpoint during long cascades */
278
+ checkpoint?: boolean;
279
+ /** Checkpoint interval (number of entities) */
280
+ checkpointInterval?: number;
281
+ }
282
+ /**
283
+ * Cascade event types for observability
284
+ */
285
+ export type CascadeEvent = {
286
+ type: 'Cascade.Entity.created';
287
+ payload: {
288
+ type: string;
289
+ id: string;
290
+ };
291
+ } | {
292
+ type: 'Cascade.Entity.matched';
293
+ payload: {
294
+ type: string;
295
+ id: string;
296
+ score: number;
297
+ };
298
+ } | {
299
+ type: 'Cascade.Relation.created';
300
+ payload: {
301
+ relId: string;
302
+ from: string;
303
+ to: string;
304
+ };
305
+ } | {
306
+ type: 'Cascade.Error.occurred';
307
+ payload: CascadeError;
308
+ } | {
309
+ type: 'Cascade.Processing.started';
310
+ payload: {
311
+ sourceType: string;
312
+ sourceId: string;
313
+ };
314
+ } | {
315
+ type: 'Cascade.Processing.completed';
316
+ payload: {
317
+ sourceType: string;
318
+ sourceId: string;
319
+ created: number;
320
+ relations: number;
321
+ };
322
+ };
323
+ //# sourceMappingURL=cascade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascade.d.ts","sourceRoot":"","sources":["../../types/cascade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Cascade Types - Relation Operators for Post-Generation Linking
3
+ *
4
+ * Every DO natively supports four relation operators for post-generation linking:
5
+ *
6
+ * | Operator | Type | Action |
7
+ * |----------|------------------|-------------------------------------------|
8
+ * | `->` | Forward Insert | Create entity, link TO it |
9
+ * | `~>` | Forward Search | Vector search existing, link TO it |
10
+ * | `<-` | Backward Insert | Create entity, link FROM it (it owns us) |
11
+ * | `<~` | Backward Search | Vector search existing, link FROM it |
12
+ *
13
+ * Example Schema:
14
+ * ```typescript
15
+ * const CustomerSchema = {
16
+ * $type: 'Customer',
17
+ * company: '~>Company', // Search for matching Company
18
+ * industry: '<~Industry|Sector', // Search Industry, fallback to Sector
19
+ * contacts: ['->Contact'], // Create Contact entities
20
+ * owner: '<-SalesRep', // SalesRep owns this Customer
21
+ * }
22
+ *
23
+ * const StartupSchema = {
24
+ * $type: 'Startup',
25
+ * idea: 'What is the idea? <-Idea', // Idea entity owns this Startup
26
+ * founders: ['Who are founders? ->Founder'],
27
+ * customer: '~>IdealCustomerProfile',
28
+ * }
29
+ * ```
30
+ *
31
+ * These are DO-level primitives. Applications define their own cascade stages
32
+ * and generation pipelines using these operators.
33
+ */
34
+ /**
35
+ * Parse relation operator into direction and method
36
+ */
37
+ export function parseRelationOperator(op) {
38
+ switch (op) {
39
+ case '->': return { direction: 'Forward', method: 'Insert' };
40
+ case '~>': return { direction: 'Forward', method: 'Search' };
41
+ case '<-': return { direction: 'Backward', method: 'Insert' };
42
+ case '<~': return { direction: 'Backward', method: 'Search' };
43
+ }
44
+ }
45
+ /**
46
+ * Parse a relation field string
47
+ *
48
+ * @example
49
+ * parseRelationField('Who are they? <~Occupation|Role')
50
+ * // { prompt: 'Who are they?', operator: '<~', targets: ['Occupation', 'Role'], isArray: false, isOptional: false }
51
+ *
52
+ * parseRelationField('->Founder[]')
53
+ * // { operator: '->', targets: ['Founder'], isArray: true, isOptional: false }
54
+ */
55
+ export function parseRelationField(field) {
56
+ // Match: optional prompt, operator, target types, optional array marker, optional marker
57
+ const match = field.match(/^(.*?)?\s*(->|~>|<-|<~)([A-Z][a-zA-Z0-9]*(?:\|[A-Z][a-zA-Z0-9]*)*)(\[\])?(\?)?$/);
58
+ if (!match)
59
+ return null;
60
+ const [, prompt, operator, targetStr, arrayMarker, optionalMarker] = match;
61
+ const targets = targetStr.split('|');
62
+ return {
63
+ prompt: prompt?.trim() || undefined,
64
+ operator: operator,
65
+ targets,
66
+ isArray: !!arrayMarker,
67
+ isOptional: !!optionalMarker,
68
+ };
69
+ }
70
+ /**
71
+ * Check if a field value is a relation field
72
+ */
73
+ export function isRelationField(value) {
74
+ if (typeof value === 'string') {
75
+ return /->|~>|<-|<~/.test(value);
76
+ }
77
+ if (Array.isArray(value) && value.length === 1 && typeof value[0] === 'string') {
78
+ return /->|~>|<-|<~/.test(value[0]);
79
+ }
80
+ return false;
81
+ }
82
+ //# sourceMappingURL=cascade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascade.js","sourceRoot":"","sources":["../../types/cascade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AA6BH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAoB;IAIxD,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC5D,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC5D,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC7D,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC/D,CAAC;AACH,CAAC;AA+BD;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,yFAAyF;IACzF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAA;IAC5G,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAA;IAC1E,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEpC,OAAO;QACL,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS;QACnC,QAAQ,EAAE,QAA4B;QACtC,OAAO;QACP,OAAO,EAAE,CAAC,CAAC,WAAW;QACtB,UAAU,EAAE,CAAC,CAAC,cAAc;KAC7B,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/E,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}