@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,377 @@
1
+ /**
2
+ * Database Backend Types
3
+ *
4
+ * DB4.AI - The 4 Database Paradigms:
5
+ * 1. Relational - SQL, tables, ACID transactions
6
+ * 2. Document - JSON documents, flexible schemas
7
+ * 3. Graph - Nodes, edges, relationships
8
+ * 4. Analytics - Columnar, OLAP, time-series
9
+ *
10
+ * Modular database backends (separate DOs to avoid bloat)
11
+ * Base DO uses db4 internally, others loaded on demand
12
+ */
13
+ /**
14
+ * The 4 database paradigms (DB4.AI)
15
+ */
16
+ export type DatabaseParadigm = 'relational' | 'document' | 'graph' | 'analytics';
17
+ /**
18
+ * Available database backends
19
+ * Each is a separate DO that can be loaded on demand
20
+ */
21
+ export type DatabaseBackend = 'db4' | 'dosql' | 'postgres' | 'sqlite' | 'mongo' | 'evodb' | 'graphdb' | 'sdb' | 'duckdb';
22
+ /**
23
+ * Database capabilities - what each backend supports
24
+ */
25
+ export interface DatabaseCapabilities {
26
+ /** Which paradigms this backend supports */
27
+ paradigms: DatabaseParadigm[];
28
+ supportsSQL: boolean;
29
+ supportsDocument: boolean;
30
+ supportsGraph: boolean;
31
+ supportsVector: boolean;
32
+ supportsSearch: boolean;
33
+ supportsAnalytics: boolean;
34
+ supportsTimeTravel: boolean;
35
+ supportsBranching: boolean;
36
+ supportsTransactions: boolean;
37
+ maxQueryTimeout: number;
38
+ maxStorageBytes?: number;
39
+ }
40
+ /**
41
+ * Common interface all database backends implement
42
+ */
43
+ export interface DatabaseDO {
44
+ /** Handle HTTP requests (REST API) */
45
+ fetch(request: Request): Promise<Response>;
46
+ /** Get backend capabilities */
47
+ capabilities(): DatabaseCapabilities;
48
+ /** Execute a query */
49
+ query<T = unknown>(sql: string, params?: unknown[]): Promise<QueryResult<T>>;
50
+ /** Execute multiple queries in a transaction */
51
+ transaction<T>(fn: (tx: Transaction) => Promise<T>): Promise<T>;
52
+ }
53
+ /**
54
+ * Query result
55
+ */
56
+ export interface QueryResult<T = unknown> {
57
+ rows: T[];
58
+ rowCount: number;
59
+ fields?: FieldInfo[];
60
+ duration?: number;
61
+ }
62
+ export interface FieldInfo {
63
+ name: string;
64
+ type: string;
65
+ nullable?: boolean;
66
+ }
67
+ /**
68
+ * Transaction handle
69
+ */
70
+ export interface Transaction {
71
+ query<T = unknown>(sql: string, params?: unknown[]): Promise<QueryResult<T>>;
72
+ commit(): Promise<void>;
73
+ rollback(): Promise<void>;
74
+ }
75
+ /**
76
+ * db4 table definition
77
+ */
78
+ export interface TableDefinition {
79
+ name: string;
80
+ columns: ColumnDefinition[];
81
+ primaryKey: string[];
82
+ indexes?: IndexDefinition[];
83
+ }
84
+ export interface ColumnDefinition {
85
+ name: string;
86
+ type: ColumnType;
87
+ nullable?: boolean;
88
+ default?: unknown;
89
+ unique?: boolean;
90
+ references?: ForeignKeyReference;
91
+ }
92
+ export type ColumnType = 'text' | 'integer' | 'real' | 'blob' | 'boolean' | 'timestamp' | 'json' | 'uuid';
93
+ export interface ForeignKeyReference {
94
+ table: string;
95
+ column: string;
96
+ onDelete?: 'cascade' | 'restrict' | 'set null';
97
+ onUpdate?: 'cascade' | 'restrict' | 'set null';
98
+ }
99
+ export interface IndexDefinition {
100
+ name: string;
101
+ columns: string[];
102
+ unique?: boolean;
103
+ where?: string;
104
+ }
105
+ /**
106
+ * Vortex storage format for analytics
107
+ */
108
+ export interface VortexTable {
109
+ name: string;
110
+ schema: VortexSchema;
111
+ partitions: VortexPartition[];
112
+ }
113
+ export interface VortexSchema {
114
+ columns: VortexColumn[];
115
+ sortKey?: string[];
116
+ partitionKey?: string;
117
+ }
118
+ export interface VortexColumn {
119
+ name: string;
120
+ type: VortexType;
121
+ nullable?: boolean;
122
+ compression?: CompressionCodec;
123
+ }
124
+ export type VortexType = 'bool' | 'i8' | 'i16' | 'i32' | 'i64' | 'u8' | 'u16' | 'u32' | 'u64' | 'f32' | 'f64' | 'utf8' | 'binary' | 'timestamp' | 'date' | 'list' | 'struct';
125
+ export type CompressionCodec = 'none' | 'snappy' | 'lz4' | 'zstd' | 'dict';
126
+ export interface VortexPartition {
127
+ id: string;
128
+ minTimestamp?: number;
129
+ maxTimestamp?: number;
130
+ rowCount: number;
131
+ sizeBytes: number;
132
+ location: string;
133
+ }
134
+ /**
135
+ * Time travel snapshot (for database branching)
136
+ */
137
+ export interface DatabaseSnapshot {
138
+ id: string;
139
+ name?: string;
140
+ timestamp: number;
141
+ version: number;
142
+ parentId?: string;
143
+ metadata?: Record<string, unknown>;
144
+ }
145
+ /**
146
+ * Database branch
147
+ */
148
+ export interface Branch {
149
+ id: string;
150
+ name: string;
151
+ baseSnapshotId: string;
152
+ headVersion: number;
153
+ createdAt: number;
154
+ updatedAt: number;
155
+ metadata?: Record<string, unknown>;
156
+ }
157
+ /**
158
+ * Time travel query options
159
+ */
160
+ export interface TimeTravelOptions {
161
+ /** Query as of this timestamp */
162
+ asOf?: number;
163
+ /** Query as of this snapshot ID */
164
+ snapshotId?: string;
165
+ /** Query on this branch */
166
+ branch?: string;
167
+ }
168
+ /**
169
+ * Federated query across multiple database backends
170
+ */
171
+ export interface FederatedQuery {
172
+ /** Main query to execute */
173
+ query: string;
174
+ /** Sources to query */
175
+ sources: FederatedSource[];
176
+ /** How to combine results */
177
+ strategy?: 'union' | 'join' | 'merge';
178
+ }
179
+ export interface FederatedSource {
180
+ /** Alias for this source in the query */
181
+ alias: string;
182
+ /** Database backend type */
183
+ backend: DatabaseBackend;
184
+ /** DO reference */
185
+ doRef: string;
186
+ /** Optional transformation */
187
+ transform?: string;
188
+ }
189
+ /**
190
+ * DB4 configuration - unified access to all 4 paradigms
191
+ */
192
+ export interface DB4Config {
193
+ /** Enable relational paradigm (SQL tables) */
194
+ relational?: RelationalConfig;
195
+ /** Enable document paradigm (JSON collections) */
196
+ document?: DocumentConfig;
197
+ /** Enable graph paradigm (nodes/edges) */
198
+ graph?: GraphConfig;
199
+ /** Enable analytics paradigm (columnar/OLAP) */
200
+ analytics?: AnalyticsConfig;
201
+ }
202
+ /**
203
+ * Relational paradigm configuration
204
+ */
205
+ export interface RelationalConfig {
206
+ enabled: boolean;
207
+ /** Default engine */
208
+ engine?: 'sqlite' | 'postgres';
209
+ /** Enable foreign key constraints */
210
+ foreignKeys?: boolean;
211
+ /** Enable WAL mode for SQLite */
212
+ walMode?: boolean;
213
+ }
214
+ /**
215
+ * Document paradigm configuration
216
+ */
217
+ export interface DocumentConfig {
218
+ enabled: boolean;
219
+ /** Default collection for untyped documents */
220
+ defaultCollection?: string;
221
+ /** Enable schema validation */
222
+ schemaValidation?: boolean;
223
+ /** Index configuration */
224
+ indexes?: DocumentIndexConfig[];
225
+ }
226
+ export interface DocumentIndexConfig {
227
+ collection: string;
228
+ fields: string[];
229
+ unique?: boolean;
230
+ sparse?: boolean;
231
+ }
232
+ /**
233
+ * Graph paradigm configuration
234
+ */
235
+ export interface GraphConfig {
236
+ enabled: boolean;
237
+ /** Storage format */
238
+ format?: 'adjacency' | 'triple';
239
+ /** Enable full-text search on nodes */
240
+ fullTextSearch?: boolean;
241
+ /** Enable property indexes */
242
+ propertyIndexes?: string[];
243
+ }
244
+ /**
245
+ * Analytics paradigm configuration
246
+ */
247
+ export interface AnalyticsConfig {
248
+ enabled: boolean;
249
+ /** Columnar storage format */
250
+ format?: 'vortex' | 'parquet';
251
+ /** Default compression */
252
+ compression?: CompressionCodec;
253
+ /** Partition key for time-series */
254
+ partitionKey?: string;
255
+ /** Sort keys for efficient queries */
256
+ sortKeys?: string[];
257
+ }
258
+ /**
259
+ * Document collection
260
+ */
261
+ export interface DocumentCollection {
262
+ name: string;
263
+ schema?: Record<string, unknown>;
264
+ indexes: DocumentIndexConfig[];
265
+ count: number;
266
+ }
267
+ /**
268
+ * Stored document
269
+ */
270
+ export interface StoredDocument<T = unknown> {
271
+ _id: string;
272
+ _rev?: string;
273
+ _createdAt: number;
274
+ _updatedAt: number;
275
+ data: T;
276
+ }
277
+ /**
278
+ * Document query
279
+ */
280
+ export interface DocumentQuery {
281
+ collection: string;
282
+ filter?: Record<string, unknown>;
283
+ projection?: string[];
284
+ sort?: Record<string, 1 | -1>;
285
+ limit?: number;
286
+ skip?: number;
287
+ }
288
+ /**
289
+ * Graph node
290
+ */
291
+ export interface GraphNode<T = unknown> {
292
+ id: string;
293
+ labels: string[];
294
+ properties: T;
295
+ }
296
+ /**
297
+ * Graph edge
298
+ */
299
+ export interface GraphEdge<T = unknown> {
300
+ id: string;
301
+ type: string;
302
+ source: string;
303
+ target: string;
304
+ properties?: T;
305
+ }
306
+ /**
307
+ * Graph query (Cypher-like)
308
+ */
309
+ export interface GraphQuery {
310
+ /** Pattern to match */
311
+ match: string;
312
+ /** Where clause */
313
+ where?: Record<string, unknown>;
314
+ /** What to return */
315
+ return: string[];
316
+ /** Order by */
317
+ orderBy?: string;
318
+ /** Limit */
319
+ limit?: number;
320
+ }
321
+ /**
322
+ * Graph traversal options
323
+ */
324
+ export interface TraversalOptions {
325
+ /** Starting node ID */
326
+ startNode: string;
327
+ /** Edge types to follow */
328
+ edgeTypes?: string[];
329
+ /** Direction */
330
+ direction?: 'outgoing' | 'incoming' | 'both';
331
+ /** Maximum depth */
332
+ maxDepth?: number;
333
+ /** Filter function (as string) */
334
+ filter?: string;
335
+ }
336
+ /**
337
+ * Analytics query (SQL-like for OLAP)
338
+ */
339
+ export interface AnalyticsQuery {
340
+ /** SELECT clause */
341
+ select: string[];
342
+ /** FROM table */
343
+ from: string;
344
+ /** WHERE conditions */
345
+ where?: string;
346
+ /** GROUP BY */
347
+ groupBy?: string[];
348
+ /** HAVING */
349
+ having?: string;
350
+ /** ORDER BY */
351
+ orderBy?: string[];
352
+ /** LIMIT */
353
+ limit?: number;
354
+ /** Time range filter */
355
+ timeRange?: TimeRange;
356
+ }
357
+ export interface TimeRange {
358
+ start: number;
359
+ end: number;
360
+ field?: string;
361
+ }
362
+ /**
363
+ * Aggregation functions
364
+ */
365
+ export type AggregationFunction = 'count' | 'sum' | 'avg' | 'min' | 'max' | 'median' | 'percentile' | 'stddev' | 'variance';
366
+ /**
367
+ * Analytics query result with metadata
368
+ */
369
+ export interface AnalyticsQueryResult<T = unknown> {
370
+ rows: T[];
371
+ rowCount: number;
372
+ scannedRows: number;
373
+ scannedBytes: number;
374
+ duration: number;
375
+ cacheHit?: boolean;
376
+ }
377
+ //# sourceMappingURL=databases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../types/databases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Database Backend Types
3
+ *
4
+ * DB4.AI - The 4 Database Paradigms:
5
+ * 1. Relational - SQL, tables, ACID transactions
6
+ * 2. Document - JSON documents, flexible schemas
7
+ * 3. Graph - Nodes, edges, relationships
8
+ * 4. Analytics - Columnar, OLAP, time-series
9
+ *
10
+ * Modular database backends (separate DOs to avoid bloat)
11
+ * Base DO uses db4 internally, others loaded on demand
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=databases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"databases.js","sourceRoot":"","sources":["../../types/databases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Domain Types - Subdomain Registration for Digital Objects
3
+ *
4
+ * Domains in DO are simpler than traditional DNS:
5
+ * - Claiming a subdomain creates an $id (e.g., https://acme.saas.group)
6
+ * - A primary DO (Builder.Domains) manages all registrations
7
+ * - No DNS configuration needed - just claim and use
8
+ *
9
+ * The subdomain becomes the $id of a new DO.
10
+ */
11
+ /**
12
+ * Platform-owned TLDs for free subdomains
13
+ * Each TLD is owned by Builder.Domains
14
+ */
15
+ export declare const PLATFORM_TLDS: readonly ["hq.com.ai", "app.net.ai", "api.net.ai", "services.com.ai", "do.com.ai", "do.net.ai", "io.sb", "hq.sb", "api.sb", "db.sb", "studio.sb", "mcp.sb", "sh.sb", "directory.sb", "ful.st", "kit.st", "llc.st", "mgmt.st", "svc.st", "management.st", "marketing.st", "saas.group", "agents.do", "workers.do", "functions.do", "cdn.land", "edge.land", "mdx.land", "agint.land"];
16
+ export type PlatformTLD = typeof PLATFORM_TLDS[number];
17
+ /**
18
+ * Subdomain registration status
19
+ */
20
+ export type SubdomainStatus = 'Available' | 'Claimed' | 'Reserved';
21
+ /**
22
+ * Subdomain registration - what gets stored in Builder.Domains
23
+ */
24
+ export interface SubdomainRegistration {
25
+ /** Full domain as $id (e.g., https://acme.saas.group) */
26
+ $id: string;
27
+ /** Subdomain portion (e.g., 'acme') */
28
+ subdomain: string;
29
+ /** Platform TLD (e.g., 'saas.group') */
30
+ tld: PlatformTLD;
31
+ /** Owner DO $id (the DO that claimed this subdomain) */
32
+ ownerRef: string;
33
+ /** Status */
34
+ status: SubdomainStatus;
35
+ /** Created timestamp */
36
+ createdAt: number;
37
+ /** Metadata */
38
+ metadata?: Record<string, unknown>;
39
+ }
40
+ /**
41
+ * Request to claim a subdomain
42
+ */
43
+ export interface ClaimSubdomainRequest {
44
+ /** Desired subdomain (e.g., 'acme') */
45
+ subdomain: string;
46
+ /** Platform TLD (e.g., 'saas.group') */
47
+ tld: PlatformTLD;
48
+ /** Claiming DO's $id */
49
+ ownerRef: string;
50
+ /** Optional metadata */
51
+ metadata?: Record<string, unknown>;
52
+ }
53
+ /**
54
+ * Result of claiming a subdomain
55
+ */
56
+ export interface ClaimSubdomainResult {
57
+ /** Whether the claim succeeded */
58
+ success: boolean;
59
+ /** The full domain $id if successful */
60
+ $id?: string;
61
+ /** Error message if failed */
62
+ error?: string;
63
+ /** Reason for failure */
64
+ reason?: 'Taken' | 'Reserved' | 'Invalid' | 'QuotaExceeded';
65
+ }
66
+ /**
67
+ * Reserved subdomains that cannot be claimed
68
+ */
69
+ export declare const RESERVED_SUBDOMAINS: readonly ["www", "mail", "email", "smtp", "pop", "imap", "ftp", "sftp", "ssh", "ns1", "ns2", "dns", "api", "app", "admin", "dashboard", "console", "dev", "staging", "prod", "test", "demo", "auth", "login", "signin", "signup", "logout", "sso", "oauth", "account", "profile", "support", "help", "docs", "blog", "status", "cdn", "static", "assets", "media", "images", "legal", "terms", "privacy", "about", "contact", "team", "careers", "press", "investors", "undefined", "null", "true", "false", "root"];
70
+ export type ReservedSubdomain = typeof RESERVED_SUBDOMAINS[number];
71
+ /**
72
+ * Check if a subdomain is reserved
73
+ */
74
+ export declare function isReservedSubdomain(subdomain: string): boolean;
75
+ /**
76
+ * Validate a subdomain
77
+ */
78
+ export declare function validateSubdomain(subdomain: string): {
79
+ valid: boolean;
80
+ error?: string;
81
+ };
82
+ /**
83
+ * Interface for the Builder.Domains DO
84
+ * This is the primary DO that manages all subdomain registrations
85
+ */
86
+ export interface DomainsManager {
87
+ /** Check if a subdomain is available */
88
+ check(subdomain: string, tld: PlatformTLD): Promise<SubdomainStatus>;
89
+ /** Claim a subdomain */
90
+ claim(request: ClaimSubdomainRequest): Promise<ClaimSubdomainResult>;
91
+ /** Release a subdomain */
92
+ release(subdomain: string, tld: PlatformTLD, ownerRef: string): Promise<boolean>;
93
+ /** List subdomains for an owner */
94
+ listByOwner(ownerRef: string): Promise<SubdomainRegistration[]>;
95
+ /** Get registration by subdomain */
96
+ get(subdomain: string, tld: PlatformTLD): Promise<SubdomainRegistration | null>;
97
+ /** Search subdomains */
98
+ search(query: string, tld?: PlatformTLD): Promise<SubdomainRegistration[]>;
99
+ }
100
+ /**
101
+ * Domain context for $ accessor
102
+ *
103
+ * Usage:
104
+ * ```typescript
105
+ * DO($ => {
106
+ * // Claim a subdomain (creates a child DO)
107
+ * const { $id } = await $.domain`acme.saas.group`
108
+ * // → https://acme.saas.group
109
+ *
110
+ * // Or explicitly
111
+ * const { $id } = await $.domain.claim('acme', 'saas.group')
112
+ *
113
+ * // Check availability
114
+ * const available = await $.domain.check('acme', 'saas.group')
115
+ * })
116
+ * ```
117
+ */
118
+ export interface DomainContext {
119
+ /** Claim subdomain with tagged template */
120
+ (strings: TemplateStringsArray, ...values: unknown[]): Promise<{
121
+ $id: string;
122
+ }>;
123
+ /** Check availability */
124
+ check(subdomain: string, tld: PlatformTLD): Promise<SubdomainStatus>;
125
+ /** Claim a subdomain */
126
+ claim(subdomain: string, tld: PlatformTLD): Promise<ClaimSubdomainResult>;
127
+ /** Release a subdomain */
128
+ release(subdomain: string, tld: PlatformTLD): Promise<boolean>;
129
+ /** List owned subdomains */
130
+ list(): Promise<SubdomainRegistration[]>;
131
+ }
132
+ //# sourceMappingURL=domains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../types/domains.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Domain Types - Subdomain Registration for Digital Objects
3
+ *
4
+ * Domains in DO are simpler than traditional DNS:
5
+ * - Claiming a subdomain creates an $id (e.g., https://acme.saas.group)
6
+ * - A primary DO (Builder.Domains) manages all registrations
7
+ * - No DNS configuration needed - just claim and use
8
+ *
9
+ * The subdomain becomes the $id of a new DO.
10
+ */
11
+ // =============================================================================
12
+ // Platform TLDs
13
+ // =============================================================================
14
+ /**
15
+ * Platform-owned TLDs for free subdomains
16
+ * Each TLD is owned by Builder.Domains
17
+ */
18
+ export const PLATFORM_TLDS = [
19
+ // Primary business TLDs
20
+ 'hq.com.ai',
21
+ 'app.net.ai',
22
+ 'api.net.ai',
23
+ 'services.com.ai',
24
+ 'do.com.ai',
25
+ 'do.net.ai',
26
+ // Studio/Builder TLDs
27
+ 'io.sb',
28
+ 'hq.sb',
29
+ 'api.sb',
30
+ 'db.sb',
31
+ 'studio.sb',
32
+ 'mcp.sb',
33
+ 'sh.sb',
34
+ 'directory.sb',
35
+ // Startup TLDs
36
+ 'ful.st',
37
+ 'kit.st',
38
+ 'llc.st',
39
+ 'mgmt.st',
40
+ 'svc.st',
41
+ 'management.st',
42
+ 'marketing.st',
43
+ // SaaS TLDs
44
+ 'saas.group',
45
+ 'agents.do',
46
+ 'workers.do',
47
+ 'functions.do',
48
+ // Infrastructure TLDs
49
+ 'cdn.land',
50
+ 'edge.land',
51
+ 'mdx.land',
52
+ 'agint.land',
53
+ ];
54
+ // =============================================================================
55
+ // Reserved Subdomains
56
+ // =============================================================================
57
+ /**
58
+ * Reserved subdomains that cannot be claimed
59
+ */
60
+ export const RESERVED_SUBDOMAINS = [
61
+ // Infrastructure
62
+ 'www', 'mail', 'email', 'smtp', 'pop', 'imap',
63
+ 'ftp', 'sftp', 'ssh', 'ns1', 'ns2', 'dns',
64
+ // Platform
65
+ 'api', 'app', 'admin', 'dashboard', 'console',
66
+ 'dev', 'staging', 'prod', 'test', 'demo',
67
+ // Auth
68
+ 'auth', 'login', 'signin', 'signup', 'logout',
69
+ 'sso', 'oauth', 'account', 'profile',
70
+ // Support
71
+ 'support', 'help', 'docs', 'blog', 'status',
72
+ 'cdn', 'static', 'assets', 'media', 'images',
73
+ // Legal/Corporate
74
+ 'legal', 'terms', 'privacy', 'about', 'contact',
75
+ 'team', 'careers', 'press', 'investors',
76
+ // Generic reserved
77
+ 'undefined', 'null', 'true', 'false', 'root',
78
+ ];
79
+ /**
80
+ * Check if a subdomain is reserved
81
+ */
82
+ export function isReservedSubdomain(subdomain) {
83
+ return RESERVED_SUBDOMAINS.includes(subdomain.toLowerCase());
84
+ }
85
+ /**
86
+ * Validate a subdomain
87
+ */
88
+ export function validateSubdomain(subdomain) {
89
+ // Must be lowercase
90
+ if (subdomain !== subdomain.toLowerCase()) {
91
+ return { valid: false, error: 'Subdomain must be lowercase' };
92
+ }
93
+ // Length check
94
+ if (subdomain.length < 2 || subdomain.length > 63) {
95
+ return { valid: false, error: 'Subdomain must be 2-63 characters' };
96
+ }
97
+ // Character check (alphanumeric and hyphens, no leading/trailing hyphens)
98
+ if (!/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/.test(subdomain)) {
99
+ return { valid: false, error: 'Subdomain must be alphanumeric with optional hyphens' };
100
+ }
101
+ // Reserved check
102
+ if (isReservedSubdomain(subdomain)) {
103
+ return { valid: false, error: 'Subdomain is reserved' };
104
+ }
105
+ return { valid: true };
106
+ }
107
+ //# sourceMappingURL=domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../types/domains.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,wBAAwB;IACxB,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,WAAW;IACX,WAAW;IAEX,sBAAsB;IACtB,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,WAAW;IACX,QAAQ;IACR,OAAO;IACP,cAAc;IAEd,eAAe;IACf,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,eAAe;IACf,cAAc;IAEd,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,cAAc;IAEd,sBAAsB;IACtB,UAAU;IACV,WAAW;IACX,UAAU;IACV,YAAY;CACJ,CAAA;AA4EV,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB;IACjB,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAC7C,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAEzC,WAAW;IACX,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS;IAC7C,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAExC,OAAO;IACP,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IAC7C,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;IAEpC,UAAU;IACV,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;IAC3C,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAE5C,kBAAkB;IAClB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS;IAC/C,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW;IAEvC,mBAAmB;IACnB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CACpC,CAAA;AAIV;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAQ,mBAAyC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;AACrF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,oBAAoB;IACpB,IAAI,SAAS,KAAK,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAA;IAC/D,CAAC;IAED,eAAe;IACf,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAA;IACrE,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,sDAAsD,EAAE,CAAA;IACxF,CAAC;IAED,iBAAiB;IACjB,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAA;IACzD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACxB,CAAC"}