@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,223 @@
1
+ /**
2
+ * Subdomain Registration
3
+ *
4
+ * CRUD operations for subdomain registrations on platform TLDs.
5
+ * Interacts with the Builder.Domains DO for centralized registration management.
6
+ *
7
+ * @module domains/subdomains
8
+ */
9
+ import { validateSubdomain, validateTLD } from './validation';
10
+ // =============================================================================
11
+ // Subdomain Client
12
+ // =============================================================================
13
+ /**
14
+ * Client for subdomain operations
15
+ *
16
+ * Wraps the Builder.Domains DO stub for subdomain management.
17
+ */
18
+ export class SubdomainClient {
19
+ domainsStub;
20
+ /**
21
+ * Create a new SubdomainClient
22
+ *
23
+ * @param domainsStub - Durable Object stub for Builder.Domains
24
+ */
25
+ constructor(domainsStub) {
26
+ this.domainsStub = domainsStub;
27
+ }
28
+ /**
29
+ * Check if a subdomain is available
30
+ *
31
+ * @param subdomain - The subdomain to check (e.g., 'acme')
32
+ * @param tld - The platform TLD (e.g., 'saas.group')
33
+ * @returns The subdomain status
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * const status = await client.check('acme', 'saas.group')
38
+ * if (status === 'available') {
39
+ * // Can be claimed
40
+ * }
41
+ * ```
42
+ */
43
+ async check(subdomain, tld) {
44
+ // TODO: Implement RPC call to Builder.Domains DO
45
+ throw new Error('Not implemented');
46
+ }
47
+ /**
48
+ * Claim a subdomain
49
+ *
50
+ * @param request - The claim request
51
+ * @returns The claim result
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const result = await client.claim({
56
+ * subdomain: 'acme',
57
+ * tld: 'saas.group',
58
+ * ownerRef: 'do://Startup/acme'
59
+ * })
60
+ *
61
+ * if (result.success) {
62
+ * console.log('Claimed:', result.$id) // https://acme.saas.group
63
+ * }
64
+ * ```
65
+ */
66
+ async claim(request) {
67
+ // Validate before sending to DO
68
+ const subdomainValidation = validateSubdomain(request.subdomain);
69
+ if (!subdomainValidation.valid) {
70
+ return {
71
+ success: false,
72
+ error: subdomainValidation.error,
73
+ reason: 'Invalid',
74
+ };
75
+ }
76
+ const tldValidation = validateTLD(request.tld);
77
+ if (!tldValidation.valid) {
78
+ return {
79
+ success: false,
80
+ error: tldValidation.error,
81
+ reason: 'Invalid',
82
+ };
83
+ }
84
+ // TODO: Implement RPC call to Builder.Domains DO
85
+ throw new Error('Not implemented');
86
+ }
87
+ /**
88
+ * Release a subdomain
89
+ *
90
+ * @param subdomain - The subdomain to release
91
+ * @param tld - The platform TLD
92
+ * @param ownerRef - The owner's DO $id (must match registration)
93
+ * @returns True if released successfully
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * const released = await client.release('acme', 'saas.group', 'do://Startup/acme')
98
+ * ```
99
+ */
100
+ async release(subdomain, tld, ownerRef) {
101
+ // TODO: Implement RPC call to Builder.Domains DO
102
+ throw new Error('Not implemented');
103
+ }
104
+ /**
105
+ * List subdomains owned by a specific DO
106
+ *
107
+ * @param ownerRef - The owner's DO $id
108
+ * @returns Array of subdomain registrations
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * const subdomains = await client.listByOwner('do://Startup/acme')
113
+ * // [{ $id: 'https://acme.saas.group', subdomain: 'acme', ... }]
114
+ * ```
115
+ */
116
+ async listByOwner(ownerRef) {
117
+ // TODO: Implement RPC call to Builder.Domains DO
118
+ throw new Error('Not implemented');
119
+ }
120
+ /**
121
+ * Get a specific subdomain registration
122
+ *
123
+ * @param subdomain - The subdomain
124
+ * @param tld - The platform TLD
125
+ * @returns The registration or null if not found
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const reg = await client.get('acme', 'saas.group')
130
+ * if (reg) {
131
+ * console.log('Owner:', reg.ownerRef)
132
+ * }
133
+ * ```
134
+ */
135
+ async get(subdomain, tld) {
136
+ // TODO: Implement RPC call to Builder.Domains DO
137
+ throw new Error('Not implemented');
138
+ }
139
+ /**
140
+ * Search subdomains by prefix
141
+ *
142
+ * @param query - Search query (prefix match)
143
+ * @param tld - Optional TLD filter
144
+ * @returns Matching registrations
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * const results = await client.search('acm', 'saas.group')
149
+ * // [{ subdomain: 'acme', ... }, { subdomain: 'acme-dev', ... }]
150
+ * ```
151
+ */
152
+ async search(query, tld) {
153
+ // TODO: Implement RPC call to Builder.Domains DO
154
+ throw new Error('Not implemented');
155
+ }
156
+ }
157
+ // =============================================================================
158
+ // Public API Functions
159
+ // =============================================================================
160
+ /**
161
+ * Create a subdomain client from a Durable Object namespace
162
+ *
163
+ * @param namespace - The Builder.Domains DO namespace
164
+ * @returns A SubdomainClient instance
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * const client = createSubdomainClient(env.BUILDER_DOMAINS)
169
+ * ```
170
+ */
171
+ export function createSubdomainClient(namespace) {
172
+ const id = namespace.idFromName('domains');
173
+ const stub = namespace.get(id);
174
+ return new SubdomainClient(stub);
175
+ }
176
+ /**
177
+ * Build the full domain URL from subdomain and TLD
178
+ *
179
+ * @param subdomain - The subdomain (e.g., 'acme')
180
+ * @param tld - The platform TLD (e.g., 'saas.group')
181
+ * @returns The full URL (e.g., 'https://acme.saas.group')
182
+ *
183
+ * @example
184
+ * ```typescript
185
+ * buildDomainUrl('acme', 'saas.group')
186
+ * // 'https://acme.saas.group'
187
+ * ```
188
+ */
189
+ export function buildDomainUrl(subdomain, tld) {
190
+ return `https://${subdomain}.${tld}`;
191
+ }
192
+ /**
193
+ * Parse a domain URL into subdomain and TLD
194
+ *
195
+ * @param url - The domain URL (e.g., 'https://acme.saas.group')
196
+ * @returns Object with subdomain and tld, or null if invalid
197
+ *
198
+ * @example
199
+ * ```typescript
200
+ * parseDomainUrl('https://acme.saas.group')
201
+ * // { subdomain: 'acme', tld: 'saas.group' }
202
+ * ```
203
+ */
204
+ export function parseDomainUrl(url) {
205
+ // TODO: Implement URL parsing and TLD matching
206
+ throw new Error('Not implemented');
207
+ }
208
+ /**
209
+ * Check if a URL is a platform domain
210
+ *
211
+ * @param url - The URL to check
212
+ * @returns True if the URL is on a platform TLD
213
+ *
214
+ * @example
215
+ * ```typescript
216
+ * isPlatformDomain('https://acme.saas.group') // true
217
+ * isPlatformDomain('https://example.com') // false
218
+ * ```
219
+ */
220
+ export function isPlatformDomain(url) {
221
+ return parseDomainUrl(url) !== null;
222
+ }
223
+ //# sourceMappingURL=subdomains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subdomains.js","sourceRoot":"","sources":["../../../do/domains/subdomains.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Platform TLD Registry
3
+ *
4
+ * Manages the 50+ platform-owned TLDs available for free subdomain registration.
5
+ * Each TLD has associated Cloudflare zone configuration and feature flags.
6
+ *
7
+ * @module domains/tlds
8
+ */
9
+ import { type PlatformTLD } from '../../types/domains';
10
+ /**
11
+ * Route target for default subdomain routing
12
+ */
13
+ export type RouteTarget = {
14
+ type: 'worker';
15
+ script: string;
16
+ } | {
17
+ type: 'do';
18
+ namespace: string;
19
+ id?: string;
20
+ } | {
21
+ type: 'pages';
22
+ project: string;
23
+ } | {
24
+ type: 'external';
25
+ url: string;
26
+ };
27
+ /**
28
+ * Feature flags for a TLD
29
+ */
30
+ export interface TLDFeatures {
31
+ /** Email routing enabled for this TLD */
32
+ email: boolean;
33
+ /** Wildcard SSL certificate available */
34
+ wildcardSSL: boolean;
35
+ /** Allow custom DNS records (beyond default A/AAAA) */
36
+ customDNS: boolean;
37
+ /** Allow deep subdomains (a.b.tld) */
38
+ deepSubdomains: boolean;
39
+ }
40
+ /**
41
+ * Configuration for a platform TLD
42
+ */
43
+ export interface TLDConfig {
44
+ /** The TLD (e.g., 'saas.group') */
45
+ tld: PlatformTLD;
46
+ /** Cloudflare zone ID */
47
+ zoneId: string;
48
+ /** Default routing target for new subdomains */
49
+ defaultTarget: RouteTarget;
50
+ /** Feature flags */
51
+ features: TLDFeatures;
52
+ /** Human-readable description */
53
+ description: string;
54
+ /** Category for grouping */
55
+ category: TLDCategory;
56
+ }
57
+ /**
58
+ * TLD category for organizational purposes
59
+ */
60
+ export type TLDCategory = 'business' | 'studio' | 'startup' | 'saas' | 'infrastructure';
61
+ /**
62
+ * Get all available platform TLDs
63
+ *
64
+ * @returns Array of all platform TLD strings
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * const tlds = getAllTLDs()
69
+ * // ['hq.com.ai', 'app.net.ai', 'saas.group', ...]
70
+ * ```
71
+ */
72
+ export declare function getAllTLDs(): readonly PlatformTLD[];
73
+ /**
74
+ * Get TLDs by category
75
+ *
76
+ * @param category - The category to filter by
77
+ * @returns Array of TLDs in the specified category
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * const saasTLDs = getTLDsByCategory('saas')
82
+ * // ['saas.group', 'agents.do', 'workers.do', 'functions.do']
83
+ * ```
84
+ */
85
+ export declare function getTLDsByCategory(category: TLDCategory): PlatformTLD[];
86
+ /**
87
+ * Check if a string is a valid platform TLD
88
+ *
89
+ * @param tld - The string to check
90
+ * @returns True if the string is a valid platform TLD
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * isValidTLD('saas.group') // true
95
+ * isValidTLD('example.com') // false
96
+ * ```
97
+ */
98
+ export declare function isValidTLD(tld: string): tld is PlatformTLD;
99
+ /**
100
+ * Get configuration for a specific TLD
101
+ *
102
+ * @param tld - The platform TLD
103
+ * @returns TLD configuration or null if not found
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * const config = getTLDConfig('saas.group')
108
+ * // { tld: 'saas.group', zoneId: '...', features: {...}, ... }
109
+ * ```
110
+ */
111
+ export declare function getTLDConfig(tld: PlatformTLD): TLDConfig | null;
112
+ /**
113
+ * Get the Cloudflare zone ID for a TLD
114
+ *
115
+ * @param tld - The platform TLD
116
+ * @returns Zone ID or null if not configured
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * const zoneId = getZoneId('saas.group')
121
+ * // 'abc123...'
122
+ * ```
123
+ */
124
+ export declare function getZoneId(tld: PlatformTLD): string | null;
125
+ /**
126
+ * Get default route target for a TLD
127
+ *
128
+ * @param tld - The platform TLD
129
+ * @returns Default route target
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * const target = getDefaultTarget('saas.group')
134
+ * // { type: 'do', namespace: 'DigitalObject' }
135
+ * ```
136
+ */
137
+ export declare function getDefaultTarget(tld: PlatformTLD): RouteTarget;
138
+ /**
139
+ * Check if a TLD supports a specific feature
140
+ *
141
+ * @param tld - The platform TLD
142
+ * @param feature - The feature to check
143
+ * @returns True if the feature is enabled for this TLD
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * hasFeature('saas.group', 'email') // true
148
+ * hasFeature('cdn.land', 'email') // false
149
+ * ```
150
+ */
151
+ export declare function hasFeature(tld: PlatformTLD, feature: keyof TLDFeatures): boolean;
152
+ /**
153
+ * Initialize TLD configurations from environment
154
+ *
155
+ * @param env - Environment bindings with zone IDs
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * // In worker entry point
160
+ * initializeTLDs(env)
161
+ * ```
162
+ */
163
+ export declare function initializeTLDs(env: Record<string, string>): void;
164
+ /**
165
+ * Human-readable descriptions for each TLD category
166
+ */
167
+ export declare const TLD_CATEGORY_DESCRIPTIONS: Record<TLDCategory, string>;
168
+ /**
169
+ * Get a human-readable description for a TLD
170
+ *
171
+ * @param tld - The platform TLD
172
+ * @returns Description string
173
+ */
174
+ export declare function getTLDDescription(tld: PlatformTLD): string;
175
+ //# sourceMappingURL=tlds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tlds.d.ts","sourceRoot":"","sources":["../../../do/domains/tlds.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAMrE;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAErC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,KAAK,EAAE,OAAO,CAAA;IACd,yCAAyC;IACzC,WAAW,EAAE,OAAO,CAAA;IACpB,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAA;IAClB,sCAAsC;IACtC,cAAc,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,GAAG,EAAE,WAAW,CAAA;IAChB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,gDAAgD;IAChD,aAAa,EAAE,WAAW,CAAA;IAC1B,oBAAoB;IACpB,QAAQ,EAAE,WAAW,CAAA;IACrB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,4BAA4B;IAC5B,QAAQ,EAAE,WAAW,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,QAAQ,GACR,SAAS,GACT,MAAM,GACN,gBAAgB,CAAA;AAoCpB;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,IAAI,SAAS,WAAW,EAAE,CAEnD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,EAAE,CAGtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,WAAW,CAE1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAG/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAG9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,GAAG,OAAO,CAGhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAIhE;AAMD;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAMjE,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAG1D"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Platform TLD Registry
3
+ *
4
+ * Manages the 50+ platform-owned TLDs available for free subdomain registration.
5
+ * Each TLD has associated Cloudflare zone configuration and feature flags.
6
+ *
7
+ * @module domains/tlds
8
+ */
9
+ import { PLATFORM_TLDS } from '../../types/domains';
10
+ // =============================================================================
11
+ // TLD Registry
12
+ // =============================================================================
13
+ /**
14
+ * Registry of all platform TLD configurations
15
+ *
16
+ * Note: Zone IDs should be populated from environment variables in production.
17
+ * Placeholder values shown here for structure reference.
18
+ */
19
+ const TLD_CONFIGS = new Map();
20
+ /**
21
+ * Default features for most TLDs
22
+ */
23
+ const DEFAULT_FEATURES = {
24
+ email: true,
25
+ wildcardSSL: true,
26
+ customDNS: true,
27
+ deepSubdomains: false,
28
+ };
29
+ /**
30
+ * Default route target (route to DO)
31
+ */
32
+ const DEFAULT_TARGET = {
33
+ type: 'do',
34
+ namespace: 'DigitalObject',
35
+ };
36
+ // =============================================================================
37
+ // Public API
38
+ // =============================================================================
39
+ /**
40
+ * Get all available platform TLDs
41
+ *
42
+ * @returns Array of all platform TLD strings
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const tlds = getAllTLDs()
47
+ * // ['hq.com.ai', 'app.net.ai', 'saas.group', ...]
48
+ * ```
49
+ */
50
+ export function getAllTLDs() {
51
+ return PLATFORM_TLDS;
52
+ }
53
+ /**
54
+ * Get TLDs by category
55
+ *
56
+ * @param category - The category to filter by
57
+ * @returns Array of TLDs in the specified category
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const saasTLDs = getTLDsByCategory('saas')
62
+ * // ['saas.group', 'agents.do', 'workers.do', 'functions.do']
63
+ * ```
64
+ */
65
+ export function getTLDsByCategory(category) {
66
+ // TODO: Implement based on TLD_CONFIGS
67
+ throw new Error('Not implemented');
68
+ }
69
+ /**
70
+ * Check if a string is a valid platform TLD
71
+ *
72
+ * @param tld - The string to check
73
+ * @returns True if the string is a valid platform TLD
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * isValidTLD('saas.group') // true
78
+ * isValidTLD('example.com') // false
79
+ * ```
80
+ */
81
+ export function isValidTLD(tld) {
82
+ return PLATFORM_TLDS.includes(tld);
83
+ }
84
+ /**
85
+ * Get configuration for a specific TLD
86
+ *
87
+ * @param tld - The platform TLD
88
+ * @returns TLD configuration or null if not found
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * const config = getTLDConfig('saas.group')
93
+ * // { tld: 'saas.group', zoneId: '...', features: {...}, ... }
94
+ * ```
95
+ */
96
+ export function getTLDConfig(tld) {
97
+ // TODO: Implement lookup from TLD_CONFIGS or environment
98
+ throw new Error('Not implemented');
99
+ }
100
+ /**
101
+ * Get the Cloudflare zone ID for a TLD
102
+ *
103
+ * @param tld - The platform TLD
104
+ * @returns Zone ID or null if not configured
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * const zoneId = getZoneId('saas.group')
109
+ * // 'abc123...'
110
+ * ```
111
+ */
112
+ export function getZoneId(tld) {
113
+ // TODO: Implement - should read from environment or config
114
+ throw new Error('Not implemented');
115
+ }
116
+ /**
117
+ * Get default route target for a TLD
118
+ *
119
+ * @param tld - The platform TLD
120
+ * @returns Default route target
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * const target = getDefaultTarget('saas.group')
125
+ * // { type: 'do', namespace: 'DigitalObject' }
126
+ * ```
127
+ */
128
+ export function getDefaultTarget(tld) {
129
+ const config = TLD_CONFIGS.get(tld);
130
+ return config?.defaultTarget ?? DEFAULT_TARGET;
131
+ }
132
+ /**
133
+ * Check if a TLD supports a specific feature
134
+ *
135
+ * @param tld - The platform TLD
136
+ * @param feature - The feature to check
137
+ * @returns True if the feature is enabled for this TLD
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * hasFeature('saas.group', 'email') // true
142
+ * hasFeature('cdn.land', 'email') // false
143
+ * ```
144
+ */
145
+ export function hasFeature(tld, feature) {
146
+ const config = TLD_CONFIGS.get(tld);
147
+ return config?.features[feature] ?? DEFAULT_FEATURES[feature];
148
+ }
149
+ /**
150
+ * Initialize TLD configurations from environment
151
+ *
152
+ * @param env - Environment bindings with zone IDs
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * // In worker entry point
157
+ * initializeTLDs(env)
158
+ * ```
159
+ */
160
+ export function initializeTLDs(env) {
161
+ // TODO: Populate TLD_CONFIGS from environment variables
162
+ // e.g., env.CF_ZONE_SAAS_GROUP -> 'saas.group' zone ID
163
+ throw new Error('Not implemented');
164
+ }
165
+ // =============================================================================
166
+ // TLD Metadata (for documentation/UI)
167
+ // =============================================================================
168
+ /**
169
+ * Human-readable descriptions for each TLD category
170
+ */
171
+ export const TLD_CATEGORY_DESCRIPTIONS = {
172
+ business: 'Primary business TLDs for headquarters and applications',
173
+ studio: 'Studio and builder TLDs for development platforms',
174
+ startup: 'Startup-focused TLDs for new ventures',
175
+ saas: 'SaaS product TLDs for software services',
176
+ infrastructure: 'Infrastructure TLDs for CDN, edge, and platform services',
177
+ };
178
+ /**
179
+ * Get a human-readable description for a TLD
180
+ *
181
+ * @param tld - The platform TLD
182
+ * @returns Description string
183
+ */
184
+ export function getTLDDescription(tld) {
185
+ const config = TLD_CONFIGS.get(tld);
186
+ return config?.description ?? `Platform TLD: ${tld}`;
187
+ }
188
+ //# sourceMappingURL=tlds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tlds.js","sourceRoot":"","sources":["../../../do/domains/tlds.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAA;AAyDrE,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,WAAW,GAAgC,IAAI,GAAG,EAAE,CAAA;AAE1D;;GAEG;AACH,MAAM,gBAAgB,GAAgB;IACpC,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,KAAK;CACtB,CAAA;AAED;;GAEG;AACH,MAAM,cAAc,GAAgB;IAClC,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,eAAe;CAC3B,CAAA;AAED,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,aAAa,CAAA;AACtB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAqB;IACrD,uCAAuC;IACvC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAQ,aAAmC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,GAAgB;IAC3C,yDAAyD;IACzD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAC,GAAgB;IACxC,2DAA2D;IAC3D,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAgB;IAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,MAAM,EAAE,aAAa,IAAI,cAAc,CAAA;AAChD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,GAAgB,EAAE,OAA0B;IACrE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAA;AAC/D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,GAA2B;IACxD,wDAAwD;IACxD,uDAAuD;IACvD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAgC;IACpE,QAAQ,EAAE,yDAAyD;IACnE,MAAM,EAAE,mDAAmD;IAC3D,OAAO,EAAE,uCAAuC;IAChD,IAAI,EAAE,yCAAyC;IAC/C,cAAc,EAAE,0DAA0D;CAC3E,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAgB;IAChD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,MAAM,EAAE,WAAW,IAAI,iBAAiB,GAAG,EAAE,CAAA;AACtD,CAAC"}