@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,678 @@
1
+ /**
2
+ * SaaS DO - Multi-Tenancy and Tenant Isolation
3
+ *
4
+ * Multi-tenant SaaS application platform with configurable tenant isolation.
5
+ * Manages subscriptions, billing, feature flags, and usage limits.
6
+ *
7
+ * Key capabilities:
8
+ * - Multi-tenant architecture with isolation levels
9
+ * - Subscription and billing management
10
+ * - Feature flags per plan
11
+ * - Usage tracking and rate limiting
12
+ * - Tenant provisioning and lifecycle
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const saas: SaaSDO = {
17
+ * $id: 'https://crm.headless.ly',
18
+ * $type: 'SaaS',
19
+ * $context: 'https://headless.ly',
20
+ * $version: 1,
21
+ * $createdAt: Date.now(),
22
+ * $updatedAt: Date.now(),
23
+ * name: 'Headless CRM',
24
+ * tenantIsolation: 'Database',
25
+ * plans: ['free', 'pro', 'enterprise']
26
+ * }
27
+ * ```
28
+ */
29
+ import type { DigitalObjectIdentity, DigitalObjectRef } from './identity';
30
+ import type { CollectionMethods } from './collections';
31
+ /**
32
+ * Tenant isolation level
33
+ *
34
+ * - `Database`: Each tenant gets its own database (highest isolation)
35
+ * - `Schema`: Each tenant gets its own schema in shared database
36
+ * - `Row`: All tenants share tables with row-level filtering
37
+ * - `Hybrid`: Mix of isolation levels based on tenant tier
38
+ */
39
+ export type TenantIsolationLevel = 'Database' | 'Schema' | 'Row' | 'Hybrid';
40
+ /**
41
+ * SaaS DO configuration extending base identity
42
+ */
43
+ export interface SaaSDO extends DigitalObjectIdentity {
44
+ /** Always 'SaaS' for this DO type */
45
+ $type: 'SaaS';
46
+ /** Parent Startup or Business DO reference */
47
+ $context: DigitalObjectRef;
48
+ /** SaaS product name */
49
+ name: string;
50
+ /** Product description */
51
+ description?: string;
52
+ /** Logo URL */
53
+ logo?: string;
54
+ /** Primary domain */
55
+ domain?: string;
56
+ /** Tenant isolation level */
57
+ tenantIsolation: TenantIsolationLevel;
58
+ /** Available plan IDs */
59
+ plans: string[];
60
+ /** SaaS settings */
61
+ settings?: SaaSSettings;
62
+ /** SaaS metrics */
63
+ metrics?: SaaSMetrics;
64
+ }
65
+ /**
66
+ * SaaS settings
67
+ */
68
+ export interface SaaSSettings {
69
+ /** Default plan for new tenants */
70
+ defaultPlan?: string;
71
+ /** Allow self-service signup */
72
+ selfServiceSignup?: boolean;
73
+ /** Require approval for new tenants */
74
+ requireApproval?: boolean;
75
+ /** Trial period in days */
76
+ trialDays?: number;
77
+ /** Default billing currency */
78
+ currency?: string;
79
+ /** Billing provider */
80
+ billingProvider?: 'Stripe' | 'Paddle' | 'Chargebee' | 'Custom';
81
+ /** Default rate limit tier */
82
+ defaultRateLimitTier?: string;
83
+ /** Enable usage-based billing */
84
+ usageBasedBilling?: boolean;
85
+ /** Custom domain support */
86
+ customDomainSupport?: boolean;
87
+ /** SSO support */
88
+ ssoSupport?: boolean;
89
+ }
90
+ /**
91
+ * SaaS metrics
92
+ */
93
+ export interface SaaSMetrics {
94
+ /** Total tenants */
95
+ totalTenants: number;
96
+ /** Active tenants (last 30 days) */
97
+ activeTenants: number;
98
+ /** Monthly Recurring Revenue */
99
+ mrr: number;
100
+ /** Annual Recurring Revenue */
101
+ arr: number;
102
+ /** Average Revenue Per User */
103
+ arpu: number;
104
+ /** Churn rate (percentage) */
105
+ churnRate: number;
106
+ /** Net Revenue Retention */
107
+ nrr: number;
108
+ /** Last updated */
109
+ updatedAt: number;
110
+ }
111
+ /**
112
+ * Tenant status
113
+ */
114
+ export type TenantStatus = 'Pending' | 'Provisioning' | 'Trial' | 'Active' | 'PastDue' | 'Suspended' | 'Cancelled' | 'Churned';
115
+ /**
116
+ * Tenant definition (stored in SaaS DO, references Tenant DO)
117
+ */
118
+ export interface Tenant {
119
+ /** Tenant ID */
120
+ id: string;
121
+ /** Tenant name */
122
+ name: string;
123
+ /** Tenant slug (URL-friendly) */
124
+ slug: string;
125
+ /** Reference to Tenant DO */
126
+ $ref?: DigitalObjectRef;
127
+ /** Current status */
128
+ status: TenantStatus;
129
+ /** Current plan ID */
130
+ planId: string;
131
+ /** Subscription ID (from billing provider) */
132
+ subscriptionId?: string;
133
+ /** Owner user ID */
134
+ ownerId: string;
135
+ /** Owner email */
136
+ ownerEmail: string;
137
+ /** Tenant settings */
138
+ settings?: TenantSettings;
139
+ /** Custom domain (if enabled) */
140
+ customDomain?: string;
141
+ /** Trial end date */
142
+ trialEndsAt?: number;
143
+ /** Billing cycle anchor */
144
+ billingCycleAnchor?: number;
145
+ /** Created timestamp */
146
+ createdAt: number;
147
+ /** Updated timestamp */
148
+ updatedAt: number;
149
+ }
150
+ /**
151
+ * Tenant settings
152
+ */
153
+ export interface TenantSettings {
154
+ /** Timezone */
155
+ timezone?: string;
156
+ /** Locale */
157
+ locale?: string;
158
+ /** Date format */
159
+ dateFormat?: string;
160
+ /** SSO configuration */
161
+ sso?: {
162
+ enabled: boolean;
163
+ provider?: 'Okta' | 'AzureAD' | 'Google' | 'Custom';
164
+ config?: Record<string, unknown>;
165
+ };
166
+ /** Custom branding */
167
+ branding?: {
168
+ logo?: string;
169
+ primaryColor?: string;
170
+ accentColor?: string;
171
+ };
172
+ }
173
+ /**
174
+ * Subscription plan
175
+ */
176
+ export interface Plan {
177
+ /** Plan ID */
178
+ id: string;
179
+ /** Plan name */
180
+ name: string;
181
+ /** Plan description */
182
+ description?: string;
183
+ /** Price per billing period */
184
+ price: number;
185
+ /** Billing period */
186
+ billingPeriod: 'Monthly' | 'Yearly' | 'Usage';
187
+ /** Currency */
188
+ currency: string;
189
+ /** Feature IDs included */
190
+ features: string[];
191
+ /** Limits for this plan */
192
+ limits: PlanLimits;
193
+ /** Is this the default plan */
194
+ isDefault?: boolean;
195
+ /** Is this a trial plan */
196
+ isTrial?: boolean;
197
+ /** Sort order */
198
+ sortOrder?: number;
199
+ /** Active status */
200
+ active: boolean;
201
+ }
202
+ /**
203
+ * Plan limits
204
+ */
205
+ export interface PlanLimits {
206
+ /** Maximum users */
207
+ maxUsers?: number;
208
+ /** Maximum storage (bytes) */
209
+ maxStorage?: number;
210
+ /** Maximum API calls per month */
211
+ maxApiCalls?: number;
212
+ /** Maximum records */
213
+ maxRecords?: number;
214
+ /** Rate limit (requests per minute) */
215
+ rateLimit?: number;
216
+ /** Custom limits */
217
+ custom?: Record<string, number>;
218
+ }
219
+ /**
220
+ * Feature flag
221
+ */
222
+ export interface Feature {
223
+ /** Feature ID */
224
+ id: string;
225
+ /** Feature name */
226
+ name: string;
227
+ /** Feature description */
228
+ description?: string;
229
+ /** Feature type */
230
+ type: 'Boolean' | 'Numeric' | 'String' | 'Json';
231
+ /** Default value */
232
+ defaultValue: unknown;
233
+ /** Plan-specific overrides */
234
+ planOverrides?: Record<string, unknown>;
235
+ /** Active status */
236
+ active: boolean;
237
+ }
238
+ /**
239
+ * Subscription record
240
+ */
241
+ export interface Subscription {
242
+ /** Subscription ID */
243
+ id: string;
244
+ /** Tenant ID */
245
+ tenantId: string;
246
+ /** Plan ID */
247
+ planId: string;
248
+ /** Status */
249
+ status: 'Active' | 'PastDue' | 'Cancelled' | 'Paused';
250
+ /** External subscription ID (from billing provider) */
251
+ externalId?: string;
252
+ /** Current period start */
253
+ currentPeriodStart: number;
254
+ /** Current period end */
255
+ currentPeriodEnd: number;
256
+ /** Cancel at period end */
257
+ cancelAtPeriodEnd?: boolean;
258
+ /** Cancelled timestamp */
259
+ cancelledAt?: number;
260
+ /** Created timestamp */
261
+ createdAt: number;
262
+ /** Updated timestamp */
263
+ updatedAt: number;
264
+ }
265
+ /**
266
+ * Invoice record
267
+ */
268
+ export interface Invoice {
269
+ /** Invoice ID */
270
+ id: string;
271
+ /** Tenant ID */
272
+ tenantId: string;
273
+ /** Subscription ID */
274
+ subscriptionId: string;
275
+ /** Invoice number */
276
+ invoiceNumber: string;
277
+ /** Status */
278
+ status: 'Draft' | 'Open' | 'Paid' | 'Void' | 'Uncollectible';
279
+ /** Total amount */
280
+ amount: number;
281
+ /** Currency */
282
+ currency: string;
283
+ /** Line items */
284
+ lineItems: InvoiceLineItem[];
285
+ /** Due date */
286
+ dueAt: number;
287
+ /** Paid timestamp */
288
+ paidAt?: number;
289
+ /** External invoice ID */
290
+ externalId?: string;
291
+ /** Invoice URL */
292
+ invoiceUrl?: string;
293
+ /** Created timestamp */
294
+ createdAt: number;
295
+ }
296
+ /**
297
+ * Invoice line item
298
+ */
299
+ export interface InvoiceLineItem {
300
+ /** Description */
301
+ description: string;
302
+ /** Quantity */
303
+ quantity: number;
304
+ /** Unit price */
305
+ unitPrice: number;
306
+ /** Total amount */
307
+ amount: number;
308
+ /** Period start */
309
+ periodStart?: number;
310
+ /** Period end */
311
+ periodEnd?: number;
312
+ }
313
+ /**
314
+ * Usage record
315
+ */
316
+ export interface UsageRecord {
317
+ /** Record ID */
318
+ id: string;
319
+ /** Tenant ID */
320
+ tenantId: string;
321
+ /** Usage metric name */
322
+ metric: string;
323
+ /** Usage value */
324
+ value: number;
325
+ /** Period start */
326
+ periodStart: number;
327
+ /** Period end */
328
+ periodEnd: number;
329
+ /** Breakdown by dimension */
330
+ breakdown?: Record<string, number>;
331
+ /** Created timestamp */
332
+ createdAt: number;
333
+ }
334
+ /**
335
+ * Rate limit configuration
336
+ */
337
+ export interface RateLimitConfig {
338
+ /** Config ID */
339
+ id: string;
340
+ /** Name */
341
+ name: string;
342
+ /** Requests per window */
343
+ limit: number;
344
+ /** Window size in seconds */
345
+ windowSeconds: number;
346
+ /** Apply to these plans */
347
+ planIds?: string[];
348
+ /** Apply to these endpoints */
349
+ endpoints?: string[];
350
+ /** Burst allowance */
351
+ burstLimit?: number;
352
+ /** Active status */
353
+ active: boolean;
354
+ }
355
+ /**
356
+ * Rate limit status for a tenant
357
+ */
358
+ export interface RateLimitStatus {
359
+ /** Tenant ID */
360
+ tenantId: string;
361
+ /** Limit applied */
362
+ limit: number;
363
+ /** Remaining requests */
364
+ remaining: number;
365
+ /** Window reset timestamp */
366
+ resetAt: number;
367
+ /** Is currently limited */
368
+ limited: boolean;
369
+ }
370
+ /**
371
+ * SaaS DO collections
372
+ */
373
+ export interface SaaSCollections {
374
+ /** Tenants */
375
+ tenants: CollectionMethods<Tenant>;
376
+ /** Subscription plans */
377
+ plans: CollectionMethods<Plan>;
378
+ /** Feature flags */
379
+ features: CollectionMethods<Feature>;
380
+ /** Subscriptions */
381
+ subscriptions: CollectionMethods<Subscription>;
382
+ /** Invoices */
383
+ invoices: CollectionMethods<Invoice>;
384
+ /** Usage records */
385
+ usage: CollectionMethods<UsageRecord>;
386
+ /** Rate limit configs */
387
+ rateLimits: CollectionMethods<RateLimitConfig>;
388
+ }
389
+ /**
390
+ * Tenant creation options
391
+ */
392
+ export interface CreateTenantOptions {
393
+ /** Tenant name */
394
+ name: string;
395
+ /** Tenant slug */
396
+ slug: string;
397
+ /** Owner email */
398
+ ownerEmail: string;
399
+ /** Initial plan */
400
+ planId?: string;
401
+ /** Start trial */
402
+ startTrial?: boolean;
403
+ /** Provision Tenant DO */
404
+ provisionDO?: boolean;
405
+ /** Initial settings */
406
+ settings?: TenantSettings;
407
+ }
408
+ /**
409
+ * Tenant provisioning result
410
+ */
411
+ export interface TenantProvisionResult {
412
+ /** Tenant record */
413
+ tenant: Tenant;
414
+ /** Tenant DO reference (if provisioned) */
415
+ tenantDORef?: DigitalObjectRef;
416
+ /** Provisioning status */
417
+ status: 'Completed' | 'Pending' | 'Failed';
418
+ /** Error message (if failed) */
419
+ error?: string;
420
+ }
421
+ /**
422
+ * Usage metering options
423
+ */
424
+ export interface MeterUsageOptions {
425
+ /** Tenant ID */
426
+ tenantId: string;
427
+ /** Metric name */
428
+ metric: string;
429
+ /** Usage value */
430
+ value: number;
431
+ /** Idempotency key */
432
+ idempotencyKey?: string;
433
+ /** Dimensions for breakdown */
434
+ dimensions?: Record<string, string>;
435
+ }
436
+ /**
437
+ * Feature check result
438
+ */
439
+ export interface FeatureCheckResult {
440
+ /** Feature ID */
441
+ featureId: string;
442
+ /** Is enabled */
443
+ enabled: boolean;
444
+ /** Feature value */
445
+ value: unknown;
446
+ /** Reason if disabled */
447
+ reason?: 'PlanLimit' | 'Disabled' | 'NotFound';
448
+ }
449
+ /**
450
+ * SaaS DO RPC methods
451
+ */
452
+ export interface SaaSRPCMethods {
453
+ /**
454
+ * Create new tenant
455
+ */
456
+ 'saas.tenants.create': (options: CreateTenantOptions) => Promise<TenantProvisionResult>;
457
+ /**
458
+ * Provision tenant resources
459
+ */
460
+ 'saas.tenants.provision': (tenantId: string) => Promise<TenantProvisionResult>;
461
+ /**
462
+ * Get tenant by ID
463
+ */
464
+ 'saas.tenants.get': (tenantId: string) => Promise<Tenant | null>;
465
+ /**
466
+ * Get tenant by slug
467
+ */
468
+ 'saas.tenants.getBySlug': (slug: string) => Promise<Tenant | null>;
469
+ /**
470
+ * Update tenant
471
+ */
472
+ 'saas.tenants.update': (tenantId: string, data: Partial<Tenant>) => Promise<Tenant>;
473
+ /**
474
+ * Suspend tenant
475
+ */
476
+ 'saas.tenants.suspend': (tenantId: string, reason?: string) => Promise<Tenant>;
477
+ /**
478
+ * Reactivate tenant
479
+ */
480
+ 'saas.tenants.reactivate': (tenantId: string) => Promise<Tenant>;
481
+ /**
482
+ * Delete tenant (and associated Tenant DO)
483
+ */
484
+ 'saas.tenants.delete': (tenantId: string) => Promise<void>;
485
+ /**
486
+ * Verify tenant isolation
487
+ */
488
+ 'saas.tenants.isolate': (tenantId: string) => Promise<{
489
+ isolated: boolean;
490
+ issues?: string[];
491
+ }>;
492
+ /**
493
+ * Record usage for billing
494
+ */
495
+ 'saas.billing.meter': (options: MeterUsageOptions) => Promise<UsageRecord>;
496
+ /**
497
+ * Get usage for tenant
498
+ */
499
+ 'saas.billing.usage': (tenantId: string, options?: {
500
+ metric?: string;
501
+ startDate?: number;
502
+ endDate?: number;
503
+ }) => Promise<UsageRecord[]>;
504
+ /**
505
+ * Generate invoice
506
+ */
507
+ 'saas.billing.invoice': (tenantId: string, periodEnd?: number) => Promise<Invoice>;
508
+ /**
509
+ * Get upcoming invoice
510
+ */
511
+ 'saas.billing.upcoming': (tenantId: string) => Promise<Invoice>;
512
+ /**
513
+ * Change subscription plan
514
+ */
515
+ 'saas.billing.changePlan': (tenantId: string, newPlanId: string, options?: {
516
+ prorate?: boolean;
517
+ immediate?: boolean;
518
+ }) => Promise<Subscription>;
519
+ /**
520
+ * Cancel subscription
521
+ */
522
+ 'saas.billing.cancel': (tenantId: string, options?: {
523
+ immediate?: boolean;
524
+ reason?: string;
525
+ }) => Promise<Subscription>;
526
+ /**
527
+ * Check feature access for tenant
528
+ */
529
+ 'saas.features.check': (tenantId: string, featureId: string) => Promise<FeatureCheckResult>;
530
+ /**
531
+ * Check multiple features
532
+ */
533
+ 'saas.features.checkAll': (tenantId: string, featureIds: string[]) => Promise<Record<string, FeatureCheckResult>>;
534
+ /**
535
+ * Get all features for tenant's plan
536
+ */
537
+ 'saas.features.list': (tenantId: string) => Promise<Array<{
538
+ feature: Feature;
539
+ enabled: boolean;
540
+ value: unknown;
541
+ }>>;
542
+ /**
543
+ * Check rate limit status
544
+ */
545
+ 'saas.limits.check': (tenantId: string, endpoint?: string) => Promise<RateLimitStatus>;
546
+ /**
547
+ * Consume rate limit
548
+ */
549
+ 'saas.limits.consume': (tenantId: string, count?: number, endpoint?: string) => Promise<RateLimitStatus>;
550
+ /**
551
+ * Reset rate limit (admin)
552
+ */
553
+ 'saas.limits.reset': (tenantId: string) => Promise<void>;
554
+ /**
555
+ * Check plan limits
556
+ */
557
+ 'saas.limits.plan': (tenantId: string) => Promise<{
558
+ limits: PlanLimits;
559
+ usage: Record<string, number>;
560
+ remaining: Record<string, number>;
561
+ }>;
562
+ /**
563
+ * Get SaaS metrics
564
+ */
565
+ 'saas.metrics.get': () => Promise<SaaSMetrics>;
566
+ /**
567
+ * Get metrics breakdown
568
+ */
569
+ 'saas.metrics.breakdown': (options?: {
570
+ metric?: keyof SaaSMetrics;
571
+ groupBy?: 'Plan' | 'Status' | 'Period';
572
+ }) => Promise<Record<string, number>>;
573
+ }
574
+ /**
575
+ * SaaS CDC event types
576
+ */
577
+ export type SaaSCDCEvent = {
578
+ type: 'SaaS.Tenant.created';
579
+ payload: {
580
+ tenantId: string;
581
+ name: string;
582
+ planId: string;
583
+ };
584
+ } | {
585
+ type: 'SaaS.Tenant.provisioned';
586
+ payload: {
587
+ tenantId: string;
588
+ tenantDORef?: DigitalObjectRef;
589
+ };
590
+ } | {
591
+ type: 'SaaS.Tenant.updated';
592
+ payload: {
593
+ tenantId: string;
594
+ changes: string[];
595
+ };
596
+ } | {
597
+ type: 'SaaS.Tenant.suspended';
598
+ payload: {
599
+ tenantId: string;
600
+ reason?: string;
601
+ };
602
+ } | {
603
+ type: 'SaaS.Tenant.reactivated';
604
+ payload: {
605
+ tenantId: string;
606
+ };
607
+ } | {
608
+ type: 'SaaS.Tenant.deleted';
609
+ payload: {
610
+ tenantId: string;
611
+ };
612
+ } | {
613
+ type: 'SaaS.Subscription.created';
614
+ payload: {
615
+ subscriptionId: string;
616
+ tenantId: string;
617
+ planId: string;
618
+ };
619
+ } | {
620
+ type: 'SaaS.Subscription.changed';
621
+ payload: {
622
+ subscriptionId: string;
623
+ fromPlan: string;
624
+ toPlan: string;
625
+ };
626
+ } | {
627
+ type: 'SaaS.Subscription.cancelled';
628
+ payload: {
629
+ subscriptionId: string;
630
+ tenantId: string;
631
+ };
632
+ } | {
633
+ type: 'SaaS.Invoice.created';
634
+ payload: {
635
+ invoiceId: string;
636
+ tenantId: string;
637
+ amount: number;
638
+ };
639
+ } | {
640
+ type: 'SaaS.Invoice.paid';
641
+ payload: {
642
+ invoiceId: string;
643
+ tenantId: string;
644
+ amount: number;
645
+ };
646
+ } | {
647
+ type: 'SaaS.Usage.recorded';
648
+ payload: {
649
+ tenantId: string;
650
+ metric: string;
651
+ value: number;
652
+ };
653
+ } | {
654
+ type: 'SaaS.Limit.exceeded';
655
+ payload: {
656
+ tenantId: string;
657
+ limitType: string;
658
+ current: number;
659
+ limit: number;
660
+ };
661
+ };
662
+ /**
663
+ * Check if entity is a SaaSDO
664
+ */
665
+ export declare function isSaaSDO(obj: unknown): obj is SaaSDO;
666
+ /**
667
+ * Check if tenant is active
668
+ */
669
+ export declare function isTenantActive(tenant: Tenant): boolean;
670
+ /**
671
+ * Check if tenant is billable
672
+ */
673
+ export declare function isTenantBillable(tenant: Tenant): boolean;
674
+ /**
675
+ * Check if feature is enabled for tenant
676
+ */
677
+ export declare function isFeatureEnabled(result: FeatureCheckResult): boolean;
678
+ //# sourceMappingURL=saas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saas.d.ts","sourceRoot":"","sources":["../../types/saas.ts"],"names":[],"mappings":"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"}